From ab7a6e5bc06be68bea2e2ba6a4d022259fa23f3c Mon Sep 17 00:00:00 2001 From: saifullah-N Date: Tue, 3 Jan 2023 19:47:30 +0530 Subject: [PATCH] z-slider first commit --- src/js/admin-general-view.js | 81 ++++++++++++++++++------ src/pug/templates/admin-general-view.pug | 17 ++++- 2 files changed, 76 insertions(+), 22 deletions(-) diff --git a/src/js/admin-general-view.js b/src/js/admin-general-view.js index bbc5791..583a7da 100644 --- a/src/js/admin-general-view.js +++ b/src/js/admin-general-view.js @@ -13,15 +13,31 @@ const variant_defaults = { journeyman_x50: require("../resources/onefinity_journeyman_x50_defaults.json") }; +const z_slider_defaults = { + "Z-16 Original":{ + "travel-per-rev": 4, + "max-accel": 3, + "max-soft-limit": -133 + }, + "Z-20 Heavy Duty":{ + "Z-16 Original":{ + "travel-per-rev": 10, + "max-accel": 7, + "max-soft-limit": -160 + } +} +} module.exports = { template: "#admin-general-view-template", props: [ "config", "state" ], data: function() { return { - confirmReset: false, - autoCheckUpgrade: true, - reset_variant: "" + confirmReset: false, + autoCheckUpgrade: true, + reset_variant: "", + z_slider: "", + z_slider_variant:" ", }; }, @@ -62,6 +78,8 @@ module.exports = { title: "Success", message: "Configuration restored" }); + this.confirmReset= false + this.z_slider=true } catch (error) { console.error("Restore failed:", error); alert("Restore failed"); @@ -70,28 +88,49 @@ module.exports = { fileReader.readAsText(files[0]); }, - - reset: async function() { + + next: async function() { const config = merge( {}, config_defaults, variant_defaults[this.reset_variant] - ); - - try { - await api.put("config/save", config); - this.confirmReset = false; - this.$dispatch("update"); - SvelteComponents.showDialog("Message", { - title: "Success", - message: "Configuration restored" - }); - } catch (error) { - console.error("Restore failed:", error); - alert("Restore failed"); - } - }, - + ); + + try { + await api.put("config/save", config); + this.confirmReset = false; + this.$dispatch("update"); + SvelteComponents.showDialog("Message", { + title: "Success", + message: "Configuration restored" + }); + } catch (error) { + console.error("Restore failed:", error); + alert("Restore failed"); + } + }, + + set_z_slider: async function(){ + const z_variant = merge( + {}, + config_defaults.motors[3], + z_slider_defaults[this.z_slider_variant], + ); + const config = config_defaults; + config.motors[3] = z_variant; + try { + await api.put("config/save", config); + this.confirmReset = false; + this.$dispatch("update"); + SvelteComponents.showDialog("Message", { + title: "Success", + message: "Configuration restored", + }); + } catch (error) { + console.error("Z slider failed:", error); + alert("failed to set Z slider configuration "); + } + }, check: function() { this.$dispatch("check"); }, diff --git a/src/pug/templates/admin-general-view.pug b/src/pug/templates/admin-general-view.pug index c0a22ab..0a0f4a8 100644 --- a/src/pug/templates/admin-general-view.pug +++ b/src/pug/templates/admin-general-view.pug @@ -38,7 +38,22 @@ script#admin-general-view-template(type="text/x-template") label(for="tab4", title="Journeyman X-50") Journeyman X-50 div(slot="footer") button.pure-button(@click="confirmReset = false") Cancel - button.pure-button.pure-button-primary(@click="reset") Reset + button.pure-button.pure-button-primary(@click="next") next + + message(:show.sync="z_slider") + h3(slot="header") Pick your Z Slider Type + p(slot="body") Non-network configuration changes will be lost. + p(slot="body") Select defaults to restore: + p.reset-variants(slot="body") + input#tab1(type="radio", name="z_slider_variant" @click="reset_variant = 'Z-16 Original'") + label(for="tab1", title="Z-16 Original") Z-16 Original + + input#tab2(type="radio", name="z_slider_variant" @click="reset_variant = 'Z-20 Heavy Duty'") + label(for="tab2", title="Z-20 Heavy Duty") Z-20 Heavy Duty + + div(slot="footer") + button.pure-button(@click="z_slider = false") Cancel + button.pure-button.pure-button-primary(@click="set_z_slider") set z slider h2 Debugging a(href="/api/log", target="_blank")