fixing upload folder, upload file, logging for delete func
This commit is contained in:
@@ -385,6 +385,12 @@ module.exports = {
|
|||||||
utils.clickFileInput("gcode-folder-input");
|
utils.clickFileInput("gcode-folder-input");
|
||||||
},
|
},
|
||||||
|
|
||||||
|
edited_folder_name: function (event) {
|
||||||
|
if (event.target.value.trim() != "") {
|
||||||
|
this.$dispatch("folder_name_edited");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
upload_file: async function (e) {
|
upload_file: async function (e) {
|
||||||
const files = e.target.files || e.dataTransfer.files;
|
const files = e.target.files || e.dataTransfer.files;
|
||||||
if (!files.length) {
|
if (!files.length) {
|
||||||
@@ -415,12 +421,12 @@ module.exports = {
|
|||||||
) {
|
) {
|
||||||
this.config.gcode_list.push({ name: file.name, type: "file", files: [] });
|
this.config.gcode_list.push({ name: file.name, type: "file", files: [] });
|
||||||
} else if (!this.state.folder || this.state.folder == "") {
|
} else if (!this.state.folder || this.state.folder == "") {
|
||||||
|
this.config.gcode_list.push({ name: file.name, type: "file", files: [] });
|
||||||
|
} 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,
|
||||||
);
|
);
|
||||||
folder_to_add.files.push({ file_name: file.name });
|
folder_to_add.files.push({ file_name: file.name });
|
||||||
} else {
|
|
||||||
this.config.gcode_list.push({ name: file.name, type: "file", files: [] });
|
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
await api.put("config/save", this.config);
|
await api.put("config/save", this.config);
|
||||||
@@ -439,12 +445,6 @@ module.exports = {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
edited_folder_name: function (event) {
|
|
||||||
if (event.target.value.trim() != "") {
|
|
||||||
this.$dispatch("folder_name_edited");
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
modify_files: function (fileList) {
|
modify_files: function (fileList) {
|
||||||
const fileArray = Array.from(fileList);
|
const fileArray = Array.from(fileList);
|
||||||
fileArray.shift();
|
fileArray.shift();
|
||||||
@@ -465,6 +465,7 @@ module.exports = {
|
|||||||
type: "folder",
|
type: "folder",
|
||||||
files: [],
|
files: [],
|
||||||
});
|
});
|
||||||
|
this.state.folder = this.folder_name;
|
||||||
this.edited = false;
|
this.edited = false;
|
||||||
this.create_folder = false;
|
this.create_folder = false;
|
||||||
this.folder_name = "";
|
this.folder_name = "";
|
||||||
@@ -486,58 +487,57 @@ module.exports = {
|
|||||||
}
|
}
|
||||||
const folderName = files[0].webkitRelativePath.split("/")[0];
|
const folderName = files[0].webkitRelativePath.split("/")[0];
|
||||||
console.log(files);
|
console.log(files);
|
||||||
for (let file of files) {
|
const file = files[0];
|
||||||
console.log(file.name);
|
console.log(file.name);
|
||||||
const extension = file.name.split(".").pop();
|
const extension = file.name.split(".").pop();
|
||||||
switch (extension.toLowerCase()) {
|
switch (extension.toLowerCase()) {
|
||||||
case "nc":
|
case "nc":
|
||||||
case "ngc":
|
case "ngc":
|
||||||
case "gcode":
|
case "gcode":
|
||||||
case "gc":
|
case "gc":
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
alert(`Unsupported file type: ${extension}`);
|
alert(`Unsupported file type: ${extension}`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const isAlreadyPresent = this.config.non_macros_list.find(element => element.file_name == file.name);
|
const isAlreadyPresent = this.config.non_macros_list.find(element => element.file_name == file.name);
|
||||||
if (!isAlreadyPresent) {
|
if (!isAlreadyPresent) {
|
||||||
this.config.non_macros_list.push({ file_name: file.name });
|
this.config.non_macros_list.push({ file_name: file.name });
|
||||||
}
|
}
|
||||||
|
|
||||||
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 });
|
||||||
} else {
|
} else {
|
||||||
this.config.gcode_list.push({
|
this.config.gcode_list.push({
|
||||||
name: folderName,
|
name: folderName,
|
||||||
type: "folder",
|
type: "folder",
|
||||||
files: [
|
files: [
|
||||||
{
|
{
|
||||||
file_name: file.name,
|
file_name: file.name,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
});
|
|
||||||
}
|
|
||||||
SvelteComponents.showDialog("Upload", {
|
|
||||||
file,
|
|
||||||
onComplete: () => {
|
|
||||||
this.last_file_time = undefined; // Force reload
|
|
||||||
this.$broadcast("gcode-reload", file.name);
|
|
||||||
const remaining_files = this.modify_files(files);
|
|
||||||
const updated_event = { ...e };
|
|
||||||
if (updated_event.target) {
|
|
||||||
updated_event.target.files = remaining_files;
|
|
||||||
} else if (updated_event.dataTransfer) {
|
|
||||||
updated_event.dataTransfer.files = remaining_files;
|
|
||||||
} else {
|
|
||||||
updated_event["target"] = { files: remaining_files };
|
|
||||||
}
|
|
||||||
this.upload_folder(updated_event);
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
SvelteComponents.showDialog("Upload", {
|
||||||
|
file,
|
||||||
|
onComplete: () => {
|
||||||
|
this.last_file_time = undefined; // Force reload
|
||||||
|
this.$broadcast("gcode-reload", file.name);
|
||||||
|
const remaining_files = this.modify_files(files);
|
||||||
|
const updated_event = { ...e };
|
||||||
|
if (updated_event.target) {
|
||||||
|
updated_event.target.files = remaining_files;
|
||||||
|
} else if (updated_event.dataTransfer) {
|
||||||
|
updated_event.dataTransfer.files = remaining_files;
|
||||||
|
} else {
|
||||||
|
updated_event["target"] = { files: remaining_files };
|
||||||
|
}
|
||||||
|
this.upload_folder(updated_event);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await api.put("config/save", this.config);
|
await api.put("config/save", this.config);
|
||||||
@@ -591,9 +591,11 @@ module.exports = {
|
|||||||
|
|
||||||
delete_folder: async function () {
|
delete_folder: async function () {
|
||||||
if (!this.state.folder) {
|
if (!this.state.folder) {
|
||||||
|
console.log("595");
|
||||||
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({
|
||||||
@@ -608,6 +610,7 @@ module.exports = {
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
console.log(this.config.gcode_list);
|
||||||
try {
|
try {
|
||||||
await api.put("config/save", this.config);
|
await api.put("config/save", this.config);
|
||||||
this.$dispatch("update");
|
this.$dispatch("update");
|
||||||
@@ -624,15 +627,18 @@ module.exports = {
|
|||||||
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),
|
||||||
);
|
);
|
||||||
|
console.log(selected_folder);
|
||||||
if (!selected_folder) {
|
if (!selected_folder) {
|
||||||
const files_to_delete = selected_folder.files.map(item => item.file_name).toString();
|
const files_to_delete = selected_folder.files.map(item => item.file_name).toString();
|
||||||
api.delete(`file/EgZjaHJvbWUqCggBEAAYsQMYgAQyBggAEEUYOTIKCAE${files_to_delete}`);
|
console.log(files_to_delete);
|
||||||
|
await api.delete(`file/EgZjaHJvbWUqCggBEAAYsQMYgAQyBggAEEUYOTIKCAE${files_to_delete}`);
|
||||||
this.config.gcode_list = this.config.gcode_list.filter(item => {
|
this.config.gcode_list = this.config.gcode_list.filter(item => {
|
||||||
if (item.type == "folder" && item.name == this.state.folder) {
|
if (item.type == "folder" && item.name == this.state.folder) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
console.log(this.config.gcode_list);
|
||||||
try {
|
try {
|
||||||
await api.put("config/save", this.config);
|
await api.put("config/save", this.config);
|
||||||
this.$dispatch("update");
|
this.$dispatch("update");
|
||||||
|
|||||||
@@ -319,7 +319,7 @@ script#control-view-template(type="text/x-template")
|
|||||||
|
|
||||||
div(slot="footer")
|
div(slot="footer")
|
||||||
button.pure-button(@click="create_folder=false") Cancel
|
button.pure-button(@click="create_folder=false") Cancel
|
||||||
button.pure-button.button-error(@click="create_new_folder",:disabled="!edited")
|
button.pure-button.button-success(@click="create_new_folder",:disabled="!edited")
|
||||||
| Create
|
| Create
|
||||||
|
|
||||||
select(title="Select previously uploaded GCode folder.",
|
select(title="Select previously uploaded GCode folder.",
|
||||||
@@ -339,8 +339,8 @@ script#control-view-template(type="text/x-template")
|
|||||||
|
|
||||||
div(slot="footer")
|
div(slot="footer")
|
||||||
button.pure-button(@click="confirmDelete=false") Cancel
|
button.pure-button(@click="confirmDelete=false") Cancel
|
||||||
button.pure-button.pure-button-primary(@click="delete_folder") Folder only
|
button.pure-button.button-error(@click="delete_folder") Folder only
|
||||||
button.pure-button.pure-button-primary(@click="delete_folder_and_files") Folder and files
|
button.pure-button.button-success(@click="delete_folder_and_files") Folder and files
|
||||||
|
|
||||||
button.pure-button(title="Delete a folder.", @click="confirmDelete=true",
|
button.pure-button(title="Delete a folder.", @click="confirmDelete=true",
|
||||||
:disabled="!is_ready")
|
:disabled="!is_ready")
|
||||||
|
|||||||
Reference in New Issue
Block a user