delete folder

This commit is contained in:
sanjayk03-dev
2024-03-28 17:14:54 +05:30
parent 3f0bf4090a
commit 751d9df698
2 changed files with 91 additions and 22 deletions

View File

@@ -43,6 +43,7 @@ module.exports = {
ask_home: true,
folder_name: "",
edited: false,
confirmDelete: false,
create_folder: false,
showGcodeMessage: false,
showNoGcodeMessage: false,
@@ -451,13 +452,12 @@ module.exports = {
fileArray.shift();
const newFileList = new DataTransfer().files;
fileArray.forEach(file => newFileList.add(file));
fileArray.forEach(file => newFileList.push(file));
return newFileList;
},
create_new_folder: async function () {
console.log(this.folder_name);
if (
this.folder_name.trim() != "" &&
!this.config.gcode_list.find(item => item.type == "folder" && item.name == this.folder_name)
@@ -468,6 +468,8 @@ module.exports = {
files: [],
});
this.edited = false;
this.create_folder = false;
this.folder_name = "";
try {
await api.put("config/save", this.config);
this.state.folder = this.folder_name;
@@ -589,6 +591,62 @@ module.exports = {
this.deleteGCode = false;
},
delete_folder: async function () {
if (!this.state.folder) {
const files_to_move = this.config.gcode_list.find(
item => item.type == "folder" && item.name == this.state.folder,
);
if (!files_to_move) {
files_to_move.files.forEach(item => {
this.config.gcode_list.push({
name: item.file_name,
type: "file",
files: [],
});
});
this.config.gcode_list = this.config.gcode_list.filter(item => {
if (item.type == "folder" && item.name == this.state.folder) {
return false;
}
return true;
});
try {
await api.put("config/save", this.config);
this.$dispatch("update");
} catch (error) {
console.error("Restore Failed: ", error);
alert("Restore failed");
}
}
}
this.confirmDelete = false;
},
delete_folder_and_files: async function () {
if (!this.state.folder) {
const selected_folder = this.config.gcode_list.find(
item => (item.type = "folder" && item.name == this.state.folder),
);
if (!selected_folder) {
const files_to_delete = selected_folder.files.map(item => item.file_name).toString();
api.delete(`file/EgZjaHJvbWUqCggBEAAYsQMYgAQyBggAEEUYOTIKCAE${files_to_delete}`);
this.config.gcode_list = this.config.gcode_list.filter(item => {
if (item.type == "folder" && item.name == this.state.folder) {
return false;
}
return true;
});
try {
await api.put("config/save", this.config);
this.$dispatch("update");
} catch (error) {
console.error("Restore Failed: ", error);
alert("Restore failed");
}
}
}
this.confirmDelete = false;
},
home: function (axis) {
this.ask_home = false;