From c937ee735e5bc83da7e3d4483df8979260ae4abb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Sage?= Date: Sat, 26 Mar 2016 00:26:14 +0100 Subject: [PATCH 1/2] always display all the decimals of the slider's value Add test --- src/scripts/components/slider.js | 2 +- test/spec/components/slider.js | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/scripts/components/slider.js b/src/scripts/components/slider.js index b80d6ab..d15ad6b 100644 --- a/src/scripts/components/slider.js +++ b/src/scripts/components/slider.js @@ -25,7 +25,7 @@ module.exports = { * @return {void} */ function setValueDisplay() { - var value = self.get(); + var value = self.get().toFixed(self.precision); $value.set('value', value); $valuePad.set('innerHTML', value); } diff --git a/test/spec/components/slider.js b/test/spec/components/slider.js index 9026f5c..e060517 100644 --- a/test/spec/components/slider.js +++ b/test/spec/components/slider.js @@ -65,4 +65,31 @@ describe('component - slider', function() { assert.strictEqual(sliderItem.precision, 2); }); + + it('always displays decimal when precision is less than 1', function() { + var clayConfig = fixture.clayConfig([{ + type: 'slider', + step: 0.05 + }]); + var sliderItem = clayConfig.getItemsByType('slider')[0]; + var $valueDisplay = sliderItem.$element.select('.value'); + var $valueDisplayPad = sliderItem.$element.select('.value-pad'); + var $slider = sliderItem.$element.select('.slider'); + + assert.strictEqual($valueDisplay.get('value'), '50.00'); + assert.strictEqual($valueDisplayPad.get('innerHTML'), '50.00'); + assert.strictEqual($slider.get('value'), '50'); + sliderItem.set(75); + assert.strictEqual($valueDisplay.get('value'), '75.00'); + assert.strictEqual($valueDisplayPad.get('innerHTML'), '75.00'); + assert.strictEqual($slider.get('value'), '75'); + sliderItem.set(33.25); + assert.strictEqual($valueDisplay.get('value'), '33.25'); + assert.strictEqual($valueDisplayPad.get('innerHTML'), '33.25'); + assert.strictEqual($slider.get('value'), '33.25'); + sliderItem.set(17.1); + assert.strictEqual($valueDisplay.get('value'), '17.10'); + assert.strictEqual($valueDisplayPad.get('innerHTML'), '17.10'); + assert.strictEqual($slider.get('value'), '17.1'); + }); }); From 80eb1506d8c1dbc7c0c00c3b528e016f891443e9 Mon Sep 17 00:00:00 2001 From: Ish Ot Jr Date: Sun, 3 Apr 2016 12:14:41 -0400 Subject: [PATCH 2/2] :memo: Update README to include required appinfo.json changes --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8b24725..6f69991 100755 --- a/README.md +++ b/README.md @@ -20,7 +20,8 @@ Clay will eventually be built into the Pebble SDK. However, while it is still in var clayConfig = require('config.json'); var clay = new Clay(clayConfig); ``` -6. Next is the fun part - creating your config page. Edit your `config.js` file to build a layout of elements as described in the sections below. +6. Add `configurable` to the `capabilities` array in your `appinfo.json`. +7. Next is the fun part - creating your config page. Edit your `config.js` file to build a layout of elements as described in the sections below. # Getting Started (CloudPebble)