From 02f7387822e593f49e428d77f879b4897c2ef04b Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Thu, 20 Jan 2022 14:41:45 +0100 Subject: [PATCH] Update InputNumber --- src/domain_abstract/ui/InputNumber.js | 17 +++++++---------- src/style_manager/view/PropertyNumberView.js | 6 ++---- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/src/domain_abstract/ui/InputNumber.js b/src/domain_abstract/ui/InputNumber.js index 916626249..9cd085b38 100644 --- a/src/domain_abstract/ui/InputNumber.js +++ b/src/domain_abstract/ui/InputNumber.js @@ -144,12 +144,10 @@ export default Input.extend({ * Invoked when the up arrow is clicked * */ upArrowClick() { - const model = this.model; + const { model } = this; const step = model.get('step'); let value = parseFloat(model.get('value')); - value = this.normalizeValue(value + step); - var valid = this.validateInputValue(value); - model.set('value', valid.value); + this.setValue(this.normalizeValue(value + step)); this.elementUpdated(); }, @@ -157,12 +155,10 @@ export default Input.extend({ * Invoked when the down arrow is clicked * */ downArrowClick() { - const model = this.model; + const { model } = this; const step = model.get('step'); const value = parseFloat(model.get('value')); - const val = this.normalizeValue(value - step); - var valid = this.validateInputValue(val); - model.set('value', valid.value); + this.setValue(this.normalizeValue(value - step)); this.elementUpdated(); }, @@ -193,8 +189,9 @@ export default Input.extend({ const step = model.get('step'); const data = this.current; var pos = this.normalizeValue(data.val + (data.y - ev.pageY) * step); - this.prValue = this.validateInputValue(pos).value; - model.set('value', this.prValue, { avoidStore: 1 }); + const { value, unit } = this.validateInputValue(pos); + this.prValue = value; + model.set({ value, unit }, { avoidStore: 1 }); return false; }, diff --git a/src/style_manager/view/PropertyNumberView.js b/src/style_manager/view/PropertyNumberView.js index 2fe2f7f01..df9ec19a8 100644 --- a/src/style_manager/view/PropertyNumberView.js +++ b/src/style_manager/view/PropertyNumberView.js @@ -11,10 +11,8 @@ export default class PropertyNumberView extends PropertyView { this.listenTo(model, 'change:units', this.render); } - setValue(value) { - const parsed = this.model.parseValue(value); - value = `${parsed.value}${parsed.unit}`; - this.inputInst?.setValue(value, { silent: 1 }); + setValue() { + // handled by this.inputInst } onRender() {