From f4a514cb671df9e67fe8c71f116ba19db191d1c1 Mon Sep 17 00:00:00 2001 From: Stefan Dej Date: Wed, 12 Aug 2020 22:33:20 +0200 Subject: [PATCH] bugfix: machine limits auto extend Signed-off-by: Stefan Dej --- .../panels/Settings/LimitsPanel.vue | 2 +- src/inputs/ToolSlider.vue | 40 ++++++++++++++----- 2 files changed, 31 insertions(+), 11 deletions(-) diff --git a/src/components/panels/Settings/LimitsPanel.vue b/src/components/panels/Settings/LimitsPanel.vue index 3353ed8c..6a097d53 100644 --- a/src/components/panels/Settings/LimitsPanel.vue +++ b/src/components/panels/Settings/LimitsPanel.vue @@ -10,7 +10,7 @@ - + diff --git a/src/inputs/ToolSlider.vue b/src/inputs/ToolSlider.vue index e5fb389e..b56bf366 100644 --- a/src/inputs/ToolSlider.vue +++ b/src/inputs/ToolSlider.vue @@ -5,7 +5,7 @@ @@ -16,7 +16,7 @@ data: function() { return { value: this.target * this.multi, - variableMax: 0, + variableMax: this.max, } }, props: { @@ -79,11 +79,31 @@ this.value++; this.sendCmd(); }, + checkExpand() { + window.console.log("checkExpand: "+this.attributeName); + window.console.log(this.value); + window.console.log(this.variableMax); + window.console.log(this.extenderSteps); + + if (this.value > 0) { + if (this.value > this.variableMax) { + let tmpMulti = Math.ceil((this.value - this.variableMax) / this.extenderSteps); + this.variableMax += tmpMulti * this.extenderSteps; + } else if (this.value > (this.variableMax - this.extenderSteps)) { + this.variableMax += this.extenderSteps; + } + } + } }, watch: { target: function() { this.value = this.target * this.multi; }, + value: function() { + setTimeout(() => { + this.checkExpand(); + }, 1000); + } /*value: function() { if (this.value > 0) { if (this.value > (this.variableMax - this.extenderSteps) && this.value < (this.variableMax + this.extenderSteps)) this.variableMax += this.extenderSteps; @@ -94,13 +114,13 @@ } }*/ }, - /*created: function() { - /!*window.console.log("Test"); - window.console.log(this.target+' * '+this.multi); - this.value = this.target * this.multi;*!/ - window.console.log(this.target+' * '+this.multi); - this.variableMax = (this.value / this.extenderSteps + 1).toFixed(0) * this.extenderSteps; - if (this.variableMax < this.max) this.variableMax = this.max; - }*/ + created: function() { + if (this.value > this.variableMax) { + let tmpMulti = Math.ceil((this.value - this.variableMax) / this.extenderSteps); + this.variableMax += tmpMulti * this.extenderSteps; + + if (this.variableMax === this.value) this.variableMax += this.extenderSteps; + } + } } \ No newline at end of file