refactored state

This commit is contained in:
sanjayk03-dev
2024-04-09 10:36:44 +05:30
parent 32b6a8a9e1
commit 4d424976a3

View File

@@ -212,17 +212,17 @@ module.exports = {
if (!this.state.folder || this.state.folder == "") { if (!this.state.folder || this.state.folder == "") {
return []; return [];
} }
if (this.state.folder == "default") { // if (this.state.folder == "default") {
const files = this.state.gcode_list // const files = this.state.gcode_list
.filter(item => item.type == "file" && this.state.includes(item.name)) // .filter(item => item.type == "file" && this.state.files.includes(item.name))
.map(item => item.name) // .map(item => item.name)
.sort(); // .sort();
return files; // return files;
} // }
const folder = this.state.gcode_list.find(item => item.name == this.state.folder); const folder = this.state.gcode_list.find(item => item.name == this.state.folder);
if (folder) { if (folder) {
return folder.files return this.state.gcode_list.files
.filter(item => this.state.includes(item.file_name)) .filter(item => this.state.files.includes(item.file_name))
.map(item => item.file_name) .map(item => item.file_name)
.sort(); .sort();
} else { } else {
@@ -230,13 +230,7 @@ module.exports = {
} }
}, },
gcode_folders: function () { gcode_folders: function () {
let folders = []; return this.state.gcode_list.map(item => item.name).sort();
for (let item of this.state.gcode_list) {
if (item.type == "folder") {
folders.push(item.name);
}
}
return folders.sort();
}, },
}, },
@@ -443,18 +437,18 @@ module.exports = {
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]; this.config.gcode_list = [...this.state.gcode_list];
if ( // if (
this.state.folder == "default" && // this.state.folder == "default" &&
!this.state.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 {
const folder_to_add = this.config.gcode_list.find( const folder_to_add = this.config.gcode_list.find(
item => item.type == "folder" && item.name == this.state.folder, item => item.type == "folder" && item.name == this.state.folder,
); );
if (!folder_to_add.files.find(item => item.file_name == file.name)) { if (!folder_to_add.files.find(item => item.file_name == file.name)) {
folder_to_add.files.push({ file_name: file.name }); folder_to_add.files.push({ file_name: file.name });
} // }
} }
this.save_config(this.config); this.save_config(this.config);
@@ -584,16 +578,16 @@ module.exports = {
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]; 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,
); // );
} else { // } else {
const file_to_delete = this.config.gcode_list.find( const file_to_delete = this.config.gcode_list.find(
item => item.name == this.state.folder && item.type == "folder", item => item.name == this.state.folder && item.type == "folder",
); );
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.state.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}`);
} }
@@ -611,15 +605,15 @@ module.exports = {
api.delete(`file/EgZjaHJvbWUqCggBEAAYsQMYgAQyBggAEEUYOTIKCAE${macrosList}`); api.delete(`file/EgZjaHJvbWUqCggBEAAYsQMYgAQyBggAEEUYOTIKCAE${macrosList}`);
this.config.non_macros_list = []; this.config.non_macros_list = [];
this.config.gcode_list = [...this.state.gcode_list]; 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(item => item.type != "file"); // this.config.gcode_list = this.config.gcode_list.filter(item => item.type != "file");
} else { // } else {
this.config.gcode_list this.config.gcode_list
.filter(item => item.type == "folder") .filter(item => item.type == "folder")
.forEach(item => { .forEach(item => {
item.files = []; item.files = [];
}); });
} // }
this.save_config(this.config); this.save_config(this.config);
this.deleteGCode = false; this.deleteGCode = false;
}, },
@@ -631,19 +625,22 @@ module.exports = {
item => item.type == "folder" && item.name == this.state.folder, item => item.type == "folder" && item.name == this.state.folder,
); );
if (files_to_move) { if (files_to_move) {
files_to_move.files.forEach(item => { const default_folder = this.config.gcode_list.find(item => item.name == "default");
this.config.gcode_list.push({ default_folder.files = [...default_folder.files, ...files_to_move.files].sort();
name: item.file_name, this.config.gcode_list = this.config.gcode_list.filter(item => item.name != this.state.folder);
type: "file", // files_to_move.files.forEach(item => {
files: [], // this.config.gcode_list.push({
}); // name: item.file_name,
}); // type: "file",
this.config.gcode_list = this.config.gcode_list.filter(item => { // files: [],
if (item.type == "folder" && item.name == this.state.folder) { // });
return false; // });
} // this.config.gcode_list = this.config.gcode_list.filter(item => {
return true; // if (item.type == "folder" && item.name == this.state.folder) {
}); // return false;
// }
// return true;
// });
this.save_config(this.config); this.save_config(this.config);
} }
} }
@@ -659,21 +656,34 @@ module.exports = {
this.config.gcode_list = [...this.state.gcode_list]; this.config.gcode_list = [...this.state.gcode_list];
this.config.non_macros_list = [...this.state.non_macros_list]; this.config.non_macros_list = [...this.state.non_macros_list];
if (this.state.folder != "default") { 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; if (!selected_folder) {
if (selected_folder) { return;
var files_to_delete = selected_folder.map(item => item.file_name);
this.config.gcode_list = this.config.gcode_list.filter(item => item.name != this.state.folder);
}
} else {
const selected_folder = this.config.gcode_list.filter(item => item.type == "file");
if (selected_folder) {
var files_to_delete = selected_folder.map(item => item.name);
this.config.gcode_list = this.config.gcode_list.filter(item => item.type != "file");
}
} }
var files_to_delete = selected_folder.files.map(item => item.file_name);
if (selected_folder.name != "default") {
this.config.gcode_list = this.config.gcode_list.filter(item => item.name != this.state.folder);
} else {
selected_folder.files = [];
}
// if (this.state.folder != "default") {
// const selected_folder = this.config.gcode_list.find(
// item => item.type == "folder" && item.name == this.state.folder,
// ).files;
// if (selected_folder) {
// var files_to_delete = selected_folder.map(item => item.file_name);
// this.config.gcode_list = this.config.gcode_list.filter(item => item.name != this.state.folder);
// }
// } else {
// const selected_folder = this.config.gcode_list.filter(item => item.type == "file");
// if (selected_folder) {
// var files_to_delete = selected_folder.map(item => item.name);
// this.config.gcode_list = this.config.gcode_list.filter(item => item.type != "file");
// }
// }
await api.delete(`file/DINCAIQABiDARixAxiABDIHCAMQABiABDIHCAQQABiABDIH${files_to_delete.toString()}`); await api.delete(`file/DINCAIQABiDARixAxiABDIHCAMQABiABDIHCAQQABiABDIH${files_to_delete.toString()}`);
this.config.non_macros_list = this.config.non_macros_list.filter( this.config.non_macros_list = this.config.non_macros_list.filter(