From c6b89646a8816b68f90660628ad609fa0280203f Mon Sep 17 00:00:00 2001 From: sanjayk03-dev Date: Thu, 30 May 2024 22:06:02 +0530 Subject: [PATCH] multiple delete option --- src/js/control-view.js | 34 ++++++++++++++++++++---------- src/pug/templates/control-view.pug | 14 ++++++------ 2 files changed, 29 insertions(+), 19 deletions(-) diff --git a/src/js/control-view.js b/src/js/control-view.js index 7ab4729..4a5de60 100644 --- a/src/js/control-view.js +++ b/src/js/control-view.js @@ -624,20 +624,31 @@ module.exports = { return; } - console.log(this.selected_items_to_delete); + this.update_config(); + console.log("files deleted: ", this.selected_items_to_delete); - // this.update_config(); + this.config.non_macros_list = this.config.non_macros_list.filter( + item => !this.selected_items_to_delete.includes(item.file_name), + ); + const folder_to_update = this.config.gcode_list.find( + item => item.name == this.state.folder && item.type == "folder", + ); + folder_to_update.files = folder_to_update.files.filter( + item => !this.selected_items_to_delete.includes(item.file_name), + ); - // this.config.non_macros_list = this.config.non_macros_list.filter(item => item.file_name != this.state.selected); - // const file_to_delete = this.config.gcode_list.find( - // 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); + let files_to_delete = [...this.selected_items_to_delete].filter(item => !this.state.macros_list.includes(item)); - // if (!this.state.macros_list.find(item => item.file_name == this.state.selected)) { - // api.delete(`file/${this.state.selected}`); - // } - // this.save_config(this.config); + await api.delete(`file/DINCAIQABiDARixAxiABDIHCAMQABiABDIHCAQQABiABDIH${files_to_delete.toString()}`); + console.log(this.config.non_macros_list, this.config.gcode_list); + + this.save_config(this.config); + this.selected_items_to_delete = []; + this.deleteGCode = false; + }, + + cancel_delete: function () { + this.selected_items_to_delete = []; this.deleteGCode = false; }, @@ -661,6 +672,7 @@ module.exports = { this.save_config(this.config); this.state.folder = "default"; + this.selected_items_to_delete = []; this.deleteGCode = false; }, diff --git a/src/pug/templates/control-view.pug b/src/pug/templates/control-view.pug index c85e198..74b3600 100644 --- a/src/pug/templates/control-view.pug +++ b/src/pug/templates/control-view.pug @@ -324,15 +324,13 @@ script#control-view-template(type="text/x-template") h3(slot="header") Delete G-Code? div(slot="body") p Select files to delete: - ul - li(v-for="item in gcode_files" :key="item") - input(type="checkbox" :value="item" v-model="selected_items_to_delete") - | {{ item }} + input(v-for="item in gcode_files" :key="item", type="checkbox" :value="item" v-model="selected_items_to_delete") + | {{ item }} div(slot="footer") - button.pure-button(@click="deleteGCode = false") Cancel - //- button.pure-button.button-error(@click="delete_all_except_macros") - //- .fa.fa-trash - //- |  All + button.pure-button(@click="cancel_delete") Cancel + button.pure-button.button-error(@click="delete_all_except_macros") + .fa.fa-trash + |  All button.pure-button.button-success(@click="delete_current") .fa.fa-trash |  Selected