bug_fix in state

This commit is contained in:
sanjayk03-dev
2024-04-10 03:38:47 +05:30
parent b96d3ce7cb
commit 9137441f11
2 changed files with 35 additions and 23 deletions

View File

@@ -404,6 +404,13 @@ module.exports = {
} }
}, },
update_config: function () {
this.config.gcode_list = [...this.state.gcode_list];
this.config.non_macros_list = [...this.state.non_macros_list];
this.config.macros_list = [...this.state.macros_list];
this.config.macros = [...this.state.macros];
},
reset_gcode: function () { reset_gcode: function () {
this.state.selected = ""; this.state.selected = "";
this.last_file = ""; this.last_file = "";
@@ -431,13 +438,13 @@ module.exports = {
return; return;
} }
this.update_config();
const isAlreadyPresent = this.state.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];
var folder_to_add = this.config.gcode_list.find(item => item.type == "folder" && item.name == this.state.folder); var folder_to_add = this.config.gcode_list.find(item => item.type == "folder" && item.name == this.state.folder);
if (!folder_to_add) { if (!folder_to_add) {
folder_to_add = this.config.gcode_list.unshift({ folder_to_add = this.config.gcode_list.unshift({
@@ -498,7 +505,7 @@ module.exports = {
alert("Folder with the same name already exists!"); alert("Folder with the same name already exists!");
return; return;
} else { } else {
this.config.gcode_list = [...this.state.gcode_list]; this.update_config();
this.config.gcode_list.push({ this.config.gcode_list.push({
name: folder_name, name: folder_name,
type: "folder", type: "folder",
@@ -529,8 +536,7 @@ module.exports = {
this.totalFiles = files.length; this.totalFiles = files.length;
const folderName = files[0].webkitRelativePath.split("/")[0]; const folderName = files[0].webkitRelativePath.split("/")[0];
this.config.non_macros_list = [...this.state.non_macros_list]; this.update_config();
this.config.gcode_list = [...this.state.gcode_list];
for (let file of files) { for (let file of files) {
const reader = new FileReader(); const reader = new FileReader();
@@ -597,10 +603,9 @@ module.exports = {
return; return;
} }
this.config.non_macros_list = [...this.state.non_macros_list]; this.update_config();
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.non_macros_list = this.config.non_macros_list.filter(item => item.file_name != this.state.selected);
// 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,
@@ -640,8 +645,8 @@ module.exports = {
}, },
delete_folder: async function () { delete_folder: async function () {
this.update_config();
if (this.state.folder && this.state.folder != "default") { if (this.state.folder && this.state.folder != "default") {
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,
); );
@@ -661,8 +666,7 @@ module.exports = {
return; return;
} }
this.config.gcode_list = [...this.state.gcode_list]; this.update_config();
this.config.non_macros_list = [...this.state.non_macros_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,

View File

@@ -94,6 +94,14 @@ module.exports = {
}); });
}); });
}, },
update_config: function () {
this.config.gcode_list = [...this.state.gcode_list];
this.config.non_macros_list = [...this.state.non_macros_list];
this.config.macros_list = [...this.state.macros_list];
this.config.macros = [...this.state.macros];
},
load: async function () { load: async function () {
if (this.tab == 0) { if (this.tab == 0) {
return; return;
@@ -121,9 +129,8 @@ module.exports = {
} }
}, },
removeFromList: async function () { removeFromList: async function () {
this.config.macros_list = [...this.state.macros_list]; this.update_config();
this.config.macros_list = this.config.macros_list.filter(item => item.file_name != this.fileName); this.config.macros_list = this.config.macros_list.filter(item => item.file_name != this.fileName);
this.config.macros = [...this.state.macros];
this.config.macros this.config.macros
.filter(item => item.file_name == this.fileName) .filter(item => item.file_name == this.fileName)
.forEach(item => { .forEach(item => {
@@ -162,7 +169,7 @@ module.exports = {
const gcodeData = { const gcodeData = {
file_name: file.name, file_name: file.name,
}; };
this.config.macros_list = [...this.state.macros_list]; this.update_config();
if (!this.state.macros_list.some(item => item.file_name == file.name)) { if (!this.state.macros_list.some(item => item.file_name == file.name)) {
this.fileName = file.name; this.fileName = file.name;
this.config.macros_list.push(gcodeData); this.config.macros_list.push(gcodeData);
@@ -210,7 +217,7 @@ module.exports = {
const gcodeData = { const gcodeData = {
file_name: filename, file_name: filename,
}; };
this.config.macros_list = [...this.state.macros_list]; this.update_config();
if (!this.state.macros_list.some(item => item.file_name == filename)) { if (!this.state.macros_list.some(item => item.file_name == filename)) {
this.config.macros_list.push(gcodeData); this.config.macros_list.push(gcodeData);
} }
@@ -230,7 +237,8 @@ module.exports = {
this.newGcode = ""; this.newGcode = "";
} }
const macros = [...this.state.macros]; this.update_config();
macros.splice(this.tab - 1, 1); macros.splice(this.tab - 1, 1);
const macros_list = macros.map(item => item.name); const macros_list = macros.map(item => item.name);
const formattedFilename = macrosName const formattedFilename = macrosName
@@ -247,12 +255,11 @@ module.exports = {
var file = this.newGcode; var file = this.newGcode;
var file_name = var file_name =
this.fileName == "default" ? (file.trim() != "" ? formattedFilename + ".ngc" : "default") : this.fileName; this.fileName == "default" ? (file.trim() ? formattedFilename + ".ngc" : "default") : this.fileName;
if (file.trim() != "") { if (file.trim()) {
this.upload_gcode(file_name, file); this.upload_gcode(file_name, file);
} }
this.config.macros = [...this.state.macros];
this.config.macros[this.tab - 1].name = macrosName; this.config.macros[this.tab - 1].name = macrosName;
this.config.macros[this.tab - 1].color = macrosColor; this.config.macros[this.tab - 1].color = macrosColor;
this.config.macros[this.tab - 1].file_name = file_name; this.config.macros[this.tab - 1].file_name = file_name;
@@ -282,11 +289,11 @@ module.exports = {
} }
}, },
delete_current: async function () { delete_current: async function () {
this.update_config();
const filename = this.fileName; const filename = this.fileName;
if (filename == "default") { if (filename == "default") {
this.newGcode = ""; this.newGcode = "";
} else { } else {
this.config.macros = [...this.state.macros];
const macro_with_filename = this.config.macros.filter( const macro_with_filename = this.config.macros.filter(
item => item.file_name != "default" && item.file_name == filename, item => item.file_name != "default" && item.file_name == filename,
); );
@@ -300,7 +307,6 @@ module.exports = {
} }
api.delete(`file/${filename}`); api.delete(`file/${filename}`);
this.newGcode = ""; this.newGcode = "";
this.config.macros_list = [...this.state.macros_list];
this.config.macros_list = this.config.macros_list.filter(item => item.file_name !== filename); this.config.macros_list = this.config.macros_list.filter(item => item.file_name !== filename);
this.fileName = "default"; this.fileName = "default";
try { try {
@@ -396,6 +402,8 @@ module.exports = {
this.load_macro(); this.load_macro();
}, },
add_new_macro: async function () { add_new_macro: async function () {
this.update_config();
let length = this.state.macros.length; let length = this.state.macros.length;
if (length >= 20) { if (length >= 20) {
this.maxLimitReached = true; this.maxLimitReached = true;
@@ -410,7 +418,6 @@ module.exports = {
file_name: "default", file_name: "default",
alert: true, alert: true,
}; };
this.config.macros = [...this.state.macros];
this.config.macros.push(newMacros); this.config.macros.push(newMacros);
this.tab = this.state.macros.length; this.tab = this.state.macros.length;
this.load_macro(); this.load_macro();
@@ -429,7 +436,8 @@ module.exports = {
this.deleteSelected = false; this.deleteSelected = false;
return; return;
} }
this.config.macros = [...this.state.macros]; this.update_config();
this.config.macros.splice(this.tab - 1, 1); this.config.macros.splice(this.tab - 1, 1);
this.tab--; this.tab--;
this.load_macro(); this.load_macro();