From 95ad694184551417a54bc820bc5c3cd9ffe35a96 Mon Sep 17 00:00:00 2001 From: sanjayk03-dev Date: Sat, 30 Dec 2023 05:29:52 +0530 Subject: [PATCH] testing macros state --- src/js/app.js | 1 + src/js/control-view.js | 24 ++++++++++++++++++++++++ src/js/macros.js | 10 ++++++++++ src/pug/templates/control-view.pug | 5 +++++ src/pug/templates/macros.pug | 17 ++++++++--------- src/stylus/style.styl | 3 +++ 6 files changed, 51 insertions(+), 9 deletions(-) diff --git a/src/js/app.js b/src/js/app.js index 58e1679..961ae2c 100644 --- a/src/js/app.js +++ b/src/js/app.js @@ -114,6 +114,7 @@ module.exports = new Vue({ full_version: "", ip: "<>", wifiName: "not connected", + macros:[] }, state: { messages: [], diff --git a/src/js/control-view.js b/src/js/control-view.js index bd1257d..e4c3b36 100644 --- a/src/js/control-view.js +++ b/src/js/control-view.js @@ -201,6 +201,12 @@ module.exports = { const p = this.plan_time / this.toolpath.time; return Math.min(1, p); + }, + isMacrosPresent: function(){ + if(this.config.macros!=undefined){ + return this.config.macros.length!=0; + } + return false; } }, @@ -493,6 +499,24 @@ module.exports = { showProbeDialog: function(probeType) { SvelteComponents.showDialog("Probe", { probeType }); + }, + + runMacros: function(id){ + if(id==null || id == undefined ){ + console.log("id null/undefined"); + return; + } + if(this.config.macros!=undefined && this.config.macros.length!=0){ + this.config.macros.find(el=>{ + if(el.id==id){ + console.log(el); + }else{ + console.log("error in finding macros"); + } + }) + }else{ + console.log("No macros found"); + } } }, diff --git a/src/js/macros.js b/src/js/macros.js index a7cc4a0..d711d7e 100644 --- a/src/js/macros.js +++ b/src/js/macros.js @@ -58,5 +58,15 @@ module.exports = { this.toolpath_progress = 0; this.load_toolpath(file, file_time); }, + saveMacros: function(){ + var macrosName = document.getElementById("macros-name").value; + var macrosColor = document.getElementById("macros-color").value; + if(this.config.macros == undefined) return; + this.config.macros.push({ + id:Math.random(), + name:macrosName, + color:macrosColor + }) + }, } } \ No newline at end of file diff --git a/src/pug/templates/control-view.pug b/src/pug/templates/control-view.pug index 6f5887d..039e5cb 100644 --- a/src/pug/templates/control-view.pug +++ b/src/pug/templates/control-view.pug @@ -207,6 +207,11 @@ script#control-view-template(type="text/x-template") label {{(progress || 0) | percent}} .bar(:style="'width:' + (progress || 0) * 100 + '%'") + .macros-buttons(v-if="isMacrosPresent") + each macros in this.config.macros + button.macros-button(title="{{macros.id}}",@click="runMacros(macros.id)", + style="height:30px;width:40px;background-color:macros.color")macros.name + .tabs input#tab1(type="radio", name="tabs",checked="" @click="tab = 'auto'") diff --git a/src/pug/templates/macros.pug b/src/pug/templates/macros.pug index 6ab4453..626bd92 100644 --- a/src/pug/templates/macros.pug +++ b/src/pug/templates/macros.pug @@ -2,19 +2,18 @@ script#macros-template(type="text/x-template") #macros h1 Macros Configuration .macros-form - .input-field - h4 Enter Macros Name - input.input-name(type="text",id="macros-name",value="e.g Macros 1 ") - .input-field - h4 Select Your Macros Color + p.title Enter Macros Name + input.input-name(type="text",id="macros-name") + p.title Select Your Macros Color input.input-color(type="color",id="macros-color",value="#ffffff") - .input-field - h3 Select/Upload G-Code - button.pure-button(title="Upload a new GCode program.", @click="open", + p.title Select/Upload G-Code + button.pure-button(title="Upload a new GCode program.", @click="open", :disabled="!is_ready",style="height:100px;width:100px;font-weight:normal") .fa.fa-folder-open - select(title="Select previously uploaded GCode programs.", + select(title="Select previously uploaded GCode programs.", v-model="state.selected", @change="load", :disabled="!is_ready", style="max-width:100%") option(v-for="file in state.files", :value="file") {{file}} + button.submit-macros(title="Save Macros",@click="saveMacros",style="height:100px;width:100px;font-weight:normal") + gcode-viewer diff --git a/src/stylus/style.styl b/src/stylus/style.styl index 7292cd7..be13ee1 100644 --- a/src/stylus/style.styl +++ b/src/stylus/style.styl @@ -611,6 +611,9 @@ span.unit margin 0 0.5em vertical-align middle + .macros-buttons + padding 40px + .path-viewer table margin 0.25em