diff --git a/src/js/control-view.js b/src/js/control-view.js index d38ac9b..e382350 100644 --- a/src/js/control-view.js +++ b/src/js/control-view.js @@ -545,7 +545,11 @@ module.exports = { } try { this.load(); - this.macrosLoading = true; + if (this.config.macros[id].alert) { + this.macrosLoading = true; + } else { + setImmediate(() => this.start_pause()); + } } catch (error) { console.warn("Error running program: ", error); } diff --git a/src/js/macros.js b/src/js/macros.js index df6b4d3..ffd87a1 100644 --- a/src/js/macros.js +++ b/src/js/macros.js @@ -19,6 +19,7 @@ module.exports = { addMacros: false, maxLimitReached: false, macrosName: "", + macrosAlert: true, fileName: "default", newGcode: "", }; @@ -51,12 +52,6 @@ module.exports = { macrosList: function () { return this.config.macros.map(item => item.name); }, - getMacrosColor: function () { - return this.config.macros[this.tab - 1]["color"]; - }, - getMacrosName: function () { - return this.config.macros[this.tab - 1]["name"]; - }, initial_tab: function () { return this.tab == 0; }, @@ -76,6 +71,11 @@ module.exports = { this.$dispatch("macros-edited"); } }, + editedAlert: function (event) { + if (this.tab != 0 && this.config.macros[this.tab - 1].alert != event.target.value) { + this.$dispatch("macros-edited"); + } + }, editedName: function (event) { if (this.tab != 0 && this.config.macros[this.tab - 1].name != event.target.value) { this.$dispatch("macros-edited"); @@ -201,8 +201,9 @@ module.exports = { const macrosList = macros.map(item => item.name); var macrosName = document.getElementById("macros-name").value; var macrosColor = document.getElementById("macros-color").value; + var macrosAlert = document.getElementById("macros-alert").value; const formattedFilename = macrosName - .replace(/\\/g, "_") + .replace(/\\/g, "_") .replace(/\//g, "_") .replace(/#/g, "-") .replace(/\?/g, "-"); @@ -219,9 +220,10 @@ module.exports = { this.uploadGCode(file_name, file); - this.config.macros[this.tab - 1].name = formattedFilename; + this.config.macros[this.tab - 1].name = macrosName; this.config.macros[this.tab - 1].color = macrosColor; this.config.macros[this.tab - 1].file_name = file_name; + this.config.macros[this.tab - 1].alert = macrosAlert; this.confirmSave = false; try { await api.put("config/save", this.config); @@ -262,6 +264,7 @@ module.exports = { if (this.tab == 0 || this.tab > this.config.macros.length) { document.getElementById("macros-name").value = ""; document.getElementById("macros-color").value = "#ffffff"; + document.getElementById("macros-alert").value = true; this.fileName = "default"; this.tab = "0"; this.newGcode = ""; @@ -269,6 +272,7 @@ module.exports = { const defaultValue = this.config.macros[this.tab - 1]; document.getElementById("macros-name").value = defaultValue.name; document.getElementById("macros-color").value = defaultValue.color; + document.getElementById("macros-alert").value = defaultValue.alert; this.fileName = defaultValue.file_name; this.loadMacrosGcode(); } @@ -280,41 +284,49 @@ module.exports = { name: "Macros 1", color: "#dedede", file_name: "default", + alert: true, }, { name: "Macros 2", color: "#dedede", file_name: "default", + alert: true, }, { name: "Macros 3", color: "#dedede", file_name: "default", + alert: true, }, { name: "Macros 4", color: "#dedede", file_name: "default", + alert: true, }, { name: "Macros 5", color: "#dedede", file_name: "default", + alert: true, }, { name: "Macros 6", color: "#dedede", file_name: "default", + alert: true, }, { name: "Macros 7", color: "#dedede", file_name: "default", + alert: true, }, { name: "Macros 8", color: "#dedede", file_name: "default", + alert: true, }, ]; this.delete_all_macros(); @@ -339,6 +351,7 @@ module.exports = { name: `Macros ${length + 1}`, color: "#dedede", file_name: "default", + alert: true, }; this.config.macros.push(newMacros); this.addMacros = false; @@ -366,18 +379,5 @@ module.exports = { } this.deleteSelected = false; }, - loadMacrosSettings: function () { - if (this.tab == 0) { - document.getElementById("macros-name").value = ""; - document.getElementById("macros-color").value = "#fff"; - } else { - const macros = this.config.macros[this.tab - 1]; - document.getElementById("macros-name").value = macros.name; - document.getElementById("macros-color").value = macros.color; - } - this.newGcode = ""; - this.filename = "default"; - this.edited = false; - }, }, }; diff --git a/src/pug/templates/macros.pug b/src/pug/templates/macros.pug index 9456c8a..384c9ca 100644 --- a/src/pug/templates/macros.pug +++ b/src/pug/templates/macros.pug @@ -82,6 +82,9 @@ script#macros-template(type="text/x-template") .input-container input.input-color(type="color",id="macros-color",value="#ffffff",@change="editedColor") input.input-name(type="text",minlength='1',maxlength='15',id="macros-name" ,v-model="macrosName",@keypress="editedName") + div + input.input-alert(type="checkbox",id="macros-alert" v-model="macrosAlert",@change="editedAlert") + label Would you like an alert when running this macro? p.title Macros G-Code .flex-row-container select(id="gcode-select",title="Select previously uploaded GCode programs.",selected diff --git a/src/resources/config-template.json b/src/resources/config-template.json index ade6f2b..54ae0f1 100644 --- a/src/resources/config-template.json +++ b/src/resources/config-template.json @@ -539,42 +539,50 @@ { "name": "Macros 1", "color": "#dedede", - "file_name": "default" + "file_name": "default", + "alert": true }, { "name": "Macros 2", "color": "#dedede", - "file_name": "default" + "file_name": "default", + "alert": true }, { "name": "Macros 3", "color": "#dedede", - "file_name": "default" + "file_name": "default", + "alert": true }, { "name": "Macros 4", "color": "#dedede", - "file_name": "default" + "file_name": "default", + "alert": true }, { "name": "Macros 5", "color": "#dedede", - "file_name": "default" + "file_name": "default", + "alert": true }, { "name": "Macros 6", "color": "#dedede", - "file_name": "default" + "file_name": "default", + "alert": true }, { "name": "Macros 7", "color": "#dedede", - "file_name": "default" + "file_name": "default", + "alert": true }, { "name": "Macros 8", "color": "#dedede", - "file_name": "default" + "file_name": "default", + "alert": true } ], "template": { @@ -589,6 +597,10 @@ "file_name": { "type": "string", "default": "default" + }, + "alert": { + "type": "bool", + "default": true } } },