From 2c420a47e3d0775259402f628c542e320df89cdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Lov=C3=A9n?= Date: Fri, 7 Sep 2018 10:52:51 +0200 Subject: [PATCH] Display value when sliding. Addresses #2 --- slider-entity-row.js | 55 +++++++++++++++++++++++++++++--------------- 1 file changed, 37 insertions(+), 18 deletions(-) diff --git a/slider-entity-row.js b/slider-entity-row.js index 99831a5..ac704e8 100644 --- a/slider-entity-row.js +++ b/slider-entity-row.js @@ -1,33 +1,51 @@ class SliderEntityRow extends Polymer.Element { static get template() { let slider = Polymer.html` - + + ` return Polymer.html` - - - - - + + ` } @@ -41,7 +59,8 @@ class SliderEntityRow extends Polymer.Element { isOn: { type: Boolean }, stateObj: { type: Object, value: null }, min: { type: Number, value: 0 }, - max: { type: Number, value: 255 }, + max: { type: Number, value: 100 }, + step: { type: Number, value: 5 }, attribute: { type: String, value: 'brightness' }, value: Number, }; @@ -81,7 +100,7 @@ class SliderEntityRow extends Polymer.Element { this.stateObj = this._config.entity in hass.states ? hass.states[this._config.entity] : null; if(this.stateObj) { if(this.stateObj.state === 'on') { - this.value = this.stateObj.attributes[this.attribute]; + this.value = this.stateObj.attributes[this.attribute]/2.55; this.isOn = true; } else { this.value = this.min; @@ -92,7 +111,7 @@ class SliderEntityRow extends Polymer.Element { } selectedValue(ev) { - const value = parseInt(this.value, 10); + const value = Math.ceil(parseInt(this.value, 10)*2.55); const param = {entity_id: this.stateObj.entity_id }; if(Number.isNaN(value)) return; if(value === 0) {