mirror of
https://github.com/pebble-dev/clay.git
synced 2026-08-29 13:26:59 -04:00
Merge branch 'master' into #52/custom-color-picker-layout
This commit is contained in:
@@ -11,5 +11,6 @@ module.exports = {
|
||||
toggle: require('./toggle'),
|
||||
radiogroup: require('./radiogroup'),
|
||||
checkboxgroup: require('./checkboxgroup'),
|
||||
button: require('./button')
|
||||
button: require('./button'),
|
||||
slider: require('./slider')
|
||||
};
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
name: 'slider',
|
||||
template: require('../../templates/components/slider.tpl'),
|
||||
style: require('../../styles/clay/components/slider.scss'),
|
||||
manipulator: 'slider',
|
||||
defaults: {
|
||||
label: '',
|
||||
description: '',
|
||||
min: 0,
|
||||
max: 100,
|
||||
step: 1,
|
||||
attributes: {}
|
||||
},
|
||||
initialize: function() {
|
||||
var self = this;
|
||||
|
||||
var $value = self.$element.select('.value');
|
||||
var $valuePad = self.$element.select('.value-pad');
|
||||
var $slider = self.$manipulatorTarget;
|
||||
|
||||
/**
|
||||
* Sets the value display
|
||||
* @return {void}
|
||||
*/
|
||||
function setValueDisplay() {
|
||||
var value = self.get();
|
||||
$value.set('value', value);
|
||||
$valuePad.set('innerHTML', value);
|
||||
}
|
||||
|
||||
var step = $slider.get('step');
|
||||
step = step.toString(10).split('.')[1];
|
||||
self.precision = step ? step.length : 0;
|
||||
|
||||
self.on('change', setValueDisplay);
|
||||
$slider.on('|input', setValueDisplay);
|
||||
setValueDisplay();
|
||||
|
||||
$value.on('|input', function() {
|
||||
$valuePad.set('innerHTML', this.get('value'));
|
||||
});
|
||||
|
||||
$value.on('|change', function() {
|
||||
self.set(this.get('value'));
|
||||
setValueDisplay();
|
||||
});
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user