config to state in control view
This commit is contained in:
@@ -48,7 +48,6 @@ module.exports = {
|
|||||||
showGcodeMessage: false,
|
showGcodeMessage: false,
|
||||||
showNoGcodeMessage: false,
|
showNoGcodeMessage: false,
|
||||||
macrosLoading: false,
|
macrosLoading: false,
|
||||||
showFileDuplicate: false,
|
|
||||||
show_gcodes: false,
|
show_gcodes: false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@@ -209,24 +208,26 @@ module.exports = {
|
|||||||
return Math.min(1, p);
|
return Math.min(1, p);
|
||||||
},
|
},
|
||||||
gcode_files: function () {
|
gcode_files: function () {
|
||||||
if (!this.state.folder || this.state.folder == "") {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
let files = [];
|
let files = [];
|
||||||
if (this.state.folder == "default") {
|
if (!this.state.folder || this.state.folder == "") {
|
||||||
files = this.config.gcode_list.filter(item => item.type == "file" && this.state.files.includes(item.name));
|
return files;
|
||||||
files = files.map(item => item.name);
|
|
||||||
return files.sort();
|
|
||||||
}
|
}
|
||||||
files = this.config.gcode_list
|
if (this.state.folder == "default") {
|
||||||
|
files = this.state.gcode_list
|
||||||
|
.filter(item => item.type == "file")
|
||||||
|
.map(item => item.name)
|
||||||
|
.sort();
|
||||||
|
return files;
|
||||||
|
}
|
||||||
|
files = this.state.gcode_list
|
||||||
.find(item => item.name == this.state.folder)
|
.find(item => item.name == this.state.folder)
|
||||||
.files.filter(item => this.state.files.includes(item.file_name))
|
.files.map(item => item.file_name)
|
||||||
.map(item => item.file_name);
|
.sort();
|
||||||
return files.sort();
|
return files;
|
||||||
},
|
},
|
||||||
gcode_folders: function () {
|
gcode_folders: function () {
|
||||||
let folders = [];
|
let folders = [];
|
||||||
for (let item of this.config.gcode_list) {
|
for (let item of this.state.gcode_list) {
|
||||||
if (item.type == "folder") {
|
if (item.type == "folder") {
|
||||||
folders.push(item.name);
|
folders.push(item.name);
|
||||||
}
|
}
|
||||||
@@ -408,10 +409,7 @@ module.exports = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const file = files[0];
|
const file = files[0];
|
||||||
if (this.state.files.includes(file.name) && !this.config.macros_list.find(item => item.file_name == file.name)) {
|
|
||||||
this.showFileDuplicate = true;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
const extension = file.name.split(".").pop();
|
const extension = file.name.split(".").pop();
|
||||||
switch (extension.toLowerCase()) {
|
switch (extension.toLowerCase()) {
|
||||||
case "nc":
|
case "nc":
|
||||||
@@ -425,13 +423,15 @@ module.exports = {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const isAlreadyPresent = this.config.non_macros_list.find(element => element.file_name == file.name);
|
const isAlreadyPresent = this.state.non_macros_list.find(element => element.file_name == file.name);
|
||||||
if (!isAlreadyPresent) {
|
if (!isAlreadyPresent) {
|
||||||
|
this.config.non_macros_list = [...this.state.non_macros_list];
|
||||||
this.config.non_macros_list.push({ file_name: file.name });
|
this.config.non_macros_list.push({ file_name: file.name });
|
||||||
}
|
}
|
||||||
|
this.config.gcode_list = [...this.state.gcode_list];
|
||||||
if (
|
if (
|
||||||
this.state.folder == "default" &&
|
this.state.folder == "default" &&
|
||||||
!this.config.gcode_list.find(item => item.name == file.name && item.type == "file")
|
!this.state.gcode_list.find(item => item.name == file.name && item.type == "file")
|
||||||
) {
|
) {
|
||||||
this.config.gcode_list.push({ name: file.name, type: "file", files: [] });
|
this.config.gcode_list.push({ name: file.name, type: "file", files: [] });
|
||||||
} else {
|
} else {
|
||||||
@@ -474,9 +474,10 @@ module.exports = {
|
|||||||
create_new_folder: async function () {
|
create_new_folder: async function () {
|
||||||
const folder_name = this.folder_name.trim();
|
const folder_name = this.folder_name.trim();
|
||||||
if (folder_name != "") {
|
if (folder_name != "") {
|
||||||
if (this.config.gcode_list.find(item => item.type == "folder" && item.name == folder_name)) {
|
if (this.state.gcode_list.find(item => item.type == "folder" && item.name == folder_name)) {
|
||||||
alert("Folder with the same name already exists!");
|
alert("Folder with the same name already exists!");
|
||||||
} else {
|
} else {
|
||||||
|
this.config.gcode_list = [...this.state.gcode_list];
|
||||||
this.config.gcode_list.push({
|
this.config.gcode_list.push({
|
||||||
name: folder_name,
|
name: folder_name,
|
||||||
type: "folder",
|
type: "folder",
|
||||||
@@ -504,14 +505,6 @@ module.exports = {
|
|||||||
const folderName = files[0].webkitRelativePath.split("/")[0];
|
const folderName = files[0].webkitRelativePath.split("/")[0];
|
||||||
|
|
||||||
for (let file of files) {
|
for (let file of files) {
|
||||||
if (
|
|
||||||
this.state.files.includes(file.name) &&
|
|
||||||
!this.config.macros_list.find(item => item.file_name == file.name)
|
|
||||||
) {
|
|
||||||
this.showFileDuplicate = true;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const reader = new FileReader();
|
const reader = new FileReader();
|
||||||
reader.onload = async () => {
|
reader.onload = async () => {
|
||||||
const gcode = reader.result;
|
const gcode = reader.result;
|
||||||
@@ -531,11 +524,13 @@ module.exports = {
|
|||||||
|
|
||||||
await this.upload_gcode(file.name, gcode);
|
await this.upload_gcode(file.name, gcode);
|
||||||
|
|
||||||
const isAlreadyPresent = this.config.non_macros_list.find(element => element.file_name == file.name);
|
const isAlreadyPresent = this.state.non_macros_list.find(element => element.file_name == file.name);
|
||||||
if (!isAlreadyPresent) {
|
if (!isAlreadyPresent) {
|
||||||
|
this.config.non_macros_list = [...this.state.non_macros_list];
|
||||||
this.config.non_macros_list.push({ file_name: file.name });
|
this.config.non_macros_list.push({ file_name: file.name });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.config.gcode_list = [...this.state.gcode_list];
|
||||||
const folder = this.config.gcode_list.find(item => item.type == "folder" && item.name == folderName);
|
const folder = this.config.gcode_list.find(item => item.type == "folder" && item.name == folderName);
|
||||||
if (folder) {
|
if (folder) {
|
||||||
folder.files.push({ file_name: file.name });
|
folder.files.push({ file_name: file.name });
|
||||||
@@ -565,8 +560,10 @@ module.exports = {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.config.non_macros_list = [...this.state.non_macros_list];
|
||||||
this.config.non_macros_list = this.config.non_macros_list.filter(item => item.file_name != this.state.selected);
|
this.config.non_macros_list = this.config.non_macros_list.filter(item => item.file_name != this.state.selected);
|
||||||
|
|
||||||
|
this.config.gcode_list = [...this.state.gcode_list];
|
||||||
if (this.state.folder == "default") {
|
if (this.state.folder == "default") {
|
||||||
this.config.gcode_list = this.config.gcode_list.filter(
|
this.config.gcode_list = this.config.gcode_list.filter(
|
||||||
item => (item.type == "file" || item.type == "folder") && item.name != this.state.selected,
|
item => (item.type == "file" || item.type == "folder") && item.name != this.state.selected,
|
||||||
@@ -577,7 +574,7 @@ module.exports = {
|
|||||||
);
|
);
|
||||||
file_to_delete.files = file_to_delete.files.filter(item => item.file_name != this.state.selected);
|
file_to_delete.files = file_to_delete.files.filter(item => item.file_name != this.state.selected);
|
||||||
}
|
}
|
||||||
if (!this.config.macros_list.find(item => item.file_name == this.state.selected)) {
|
if (!this.state.macros_list.find(item => item.file_name == this.state.selected)) {
|
||||||
api.delete(`file/${this.state.selected}`);
|
api.delete(`file/${this.state.selected}`);
|
||||||
}
|
}
|
||||||
this.save_config(this.config);
|
this.save_config(this.config);
|
||||||
@@ -590,7 +587,7 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
delete_all_except_macros: async function () {
|
delete_all_except_macros: async function () {
|
||||||
const macrosList = this.config.macros_list.map(item => item.file_name).toString();
|
const macrosList = this.state.macros_list.map(item => item.file_name).toString();
|
||||||
api.delete(`file/EgZjaHJvbWUqCggBEAAYsQMYgAQyBggAEEUYOTIKCAE${macrosList}`);
|
api.delete(`file/EgZjaHJvbWUqCggBEAAYsQMYgAQyBggAEEUYOTIKCAE${macrosList}`);
|
||||||
this.config.non_macros_list = [];
|
this.config.non_macros_list = [];
|
||||||
this.state.folder = "default";
|
this.state.folder = "default";
|
||||||
@@ -601,11 +598,10 @@ module.exports = {
|
|||||||
|
|
||||||
delete_folder: async function () {
|
delete_folder: async function () {
|
||||||
if (this.state.folder && this.state.folder != "default") {
|
if (this.state.folder && this.state.folder != "default") {
|
||||||
console.log("595");
|
this.config.gcode_list = [...this.state.gcode_list];
|
||||||
const files_to_move = this.config.gcode_list.find(
|
const files_to_move = this.config.gcode_list.find(
|
||||||
item => item.type == "folder" && item.name == this.state.folder,
|
item => item.type == "folder" && item.name == this.state.folder,
|
||||||
);
|
);
|
||||||
console.log(files_to_move);
|
|
||||||
if (files_to_move) {
|
if (files_to_move) {
|
||||||
files_to_move.files.forEach(item => {
|
files_to_move.files.forEach(item => {
|
||||||
this.config.gcode_list.push({
|
this.config.gcode_list.push({
|
||||||
@@ -634,6 +630,7 @@ module.exports = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (this.state.folder != "default") {
|
if (this.state.folder != "default") {
|
||||||
|
this.config.gcode_list = [...this.state.gcode_list];
|
||||||
const selected_folder = this.config.gcode_list.find(
|
const selected_folder = this.config.gcode_list.find(
|
||||||
item => item.type == "folder" && item.name == this.state.folder,
|
item => item.type == "folder" && item.name == this.state.folder,
|
||||||
).files;
|
).files;
|
||||||
@@ -765,16 +762,16 @@ module.exports = {
|
|||||||
SvelteComponents.showDialog("Probe", { probeType });
|
SvelteComponents.showDialog("Probe", { probeType });
|
||||||
},
|
},
|
||||||
run_macro: function (id) {
|
run_macro: function (id) {
|
||||||
if (this.config.macros[id].file_name == "default") {
|
if (this.state.macros[id].file_name == "default") {
|
||||||
this.showNoGcodeMessage = true;
|
this.showNoGcodeMessage = true;
|
||||||
} else {
|
} else {
|
||||||
if (this.config.macros[id].file_name != this.state.selected) {
|
if (this.state.macros[id].file_name != this.state.selected) {
|
||||||
this.state.selected = this.config.macros[id].file_name; //TODO :get file
|
this.state.selected = this.state.macros[id].file_name;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
this.load();
|
this.load();
|
||||||
console.log("selected", this.state);
|
console.log("selected", this.state);
|
||||||
if (this.config.macros[id].alert == true) {
|
if (this.state.macros[id].alert == true) {
|
||||||
this.macrosLoading = true;
|
this.macrosLoading = true;
|
||||||
} else {
|
} else {
|
||||||
setImmediate(() => this.start_pause());
|
setImmediate(() => this.start_pause());
|
||||||
|
|||||||
Reference in New Issue
Block a user