Skip to content

Commit 0e00c05

Browse files
committed
Merge pull request seiyria#53 from thisispaul/master
Updating bootstrap slider to v4.8
2 parents a4b3db2 + f56f1eb commit 0e00c05

File tree

5 files changed

+300
-290
lines changed

5 files changed

+300
-290
lines changed

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
# bower #
22
#########
3-
bower_components
3+
bower_components
4+
5+
# jetbrains #
6+
#############
7+
.idea

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"tests"
2323
],
2424
"dependencies": {
25-
"seiyria-bootstrap-slider": "~3.1.0",
25+
"seiyria-bootstrap-slider": "~v4.8",
2626
"angular": "~1.2.16"
2727
}
2828
}

slider.js

Lines changed: 56 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ angular.module('ui.bootstrap-slider', [])
1111
step: "=",
1212
value: "=",
1313
ngModel: '=',
14-
range:'=',
14+
range: '=',
1515
sliderid: '=',
16-
formater: '&',
16+
formatter: '&',
1717
onStartSlide: '&',
1818
onStopSlide: '&',
1919
onSlide: '&'
@@ -29,12 +29,15 @@ angular.module('ui.bootstrap-slider', [])
2929
function setOption(key, value, defaultValue) {
3030
options[key] = value || defaultValue;
3131
}
32+
3233
function setFloatOption(key, value, defaultValue) {
3334
options[key] = value ? parseFloat(value) : defaultValue;
3435
}
36+
3537
function setBooleanOption(key, value, defaultValue) {
3638
options[key] = value ? value + '' === 'true' : defaultValue;
3739
}
40+
3841
function getArrayOrValue(value) {
3942
return (angular.isString(value) && value.indexOf("[") === 0) ? angular.fromJson(value) : value;
4043
}
@@ -59,21 +62,21 @@ angular.module('ui.bootstrap-slider', [])
5962
setBooleanOption('reversed', attrs.reversed, false);
6063

6164
setBooleanOption('range', $scope.range, false);
62-
if( options.range ) {
63-
if( angular.isArray($scope.value) ) {
65+
if (options.range) {
66+
if (angular.isArray($scope.value)) {
6467
options.value = $scope.value;
6568
}
6669
else if (angular.isString($scope.value)) {
6770
options.value = getArrayOrValue($scope.value);
68-
if(!angular.isArray(options.value)) {
71+
if (!angular.isArray(options.value)) {
6972
var value = parseFloat($scope.value);
70-
if( isNaN(value) ) value = 5;
73+
if (isNaN(value)) value = 5;
7174

72-
if( value < $scope.min ) {
75+
if (value < $scope.min) {
7376
value = $scope.min;
7477
options.value = [value, options.max];
7578
}
76-
else if( value > $scope.max ) {
79+
else if (value > $scope.max) {
7780
value = $scope.max;
7881
options.value = [options.min, value];
7982
}
@@ -91,96 +94,96 @@ angular.module('ui.bootstrap-slider', [])
9194
setFloatOption('value', $scope.value, 5);
9295
}
9396

94-
if ($scope.formater) options.formater = $scope.$eval($scope.formater);
97+
if ($scope.formatter) options.formatter = $scope.$eval($scope.formatter);
98+
99+
var slider = $(element).find(".slider-input").eq(0);
95100

96-
var slider = $(element).find( ".slider-input" ).eq( 0 );
97-
98101
// check if slider jQuery plugin exists
99-
if( $.fn.slider ) {
102+
if ($.fn.slider) {
100103
// adding methods to jQuery slider plugin prototype
101-
$.fn.slider.Constructor.prototype.disable = function () {
104+
$.fn.slider.constructor.prototype.disable = function () {
102105
this.picker.off();
103106
};
104-
$.fn.slider.Constructor.prototype.enable = function () {
107+
$.fn.slider.constructor.prototype.enable = function () {
105108
this.picker.on();
106109
};
107110

108111
// destroy previous slider to reset all options
109-
slider.slider( options );
110-
slider.slider( 'destroy' );
111-
slider.slider( options );
112+
slider.slider(options);
113+
slider.slider('destroy');
114+
slider.slider(options);
112115

113116
// everything that needs slider element
114-
var updateEvent = getArrayOrValue( attrs.updateevent );
115-
if ( angular.isString( updateEvent ) ) {
117+
var updateEvent = getArrayOrValue(attrs.updateevent);
118+
if (angular.isString(updateEvent)) {
116119
// if only single event name in string
117120
updateEvent = [updateEvent];
118121
}
119122
else {
120123
// default to slide event
121124
updateEvent = ['slide'];
122125
}
123-
angular.forEach( updateEvent, function ( sliderEvent ) {
124-
slider.on( sliderEvent, function ( ev ) {
125-
ngModelCtrl.$setViewValue( ev.value );
126-
$timeout( function () {
126+
angular.forEach(updateEvent, function (sliderEvent) {
127+
slider.on(sliderEvent, function (ev) {
128+
ngModelCtrl.$setViewValue(ev.value);
129+
$timeout(function () {
127130
$scope.$apply();
128-
} );
129-
} );
130-
} );
131-
slider.on( 'change', function ( ev ) {
132-
ngModelCtrl.$setViewValue( ev.value.newValue );
133-
$timeout( function () {
131+
});
132+
});
133+
});
134+
slider.on('change', function (ev) {
135+
ngModelCtrl.$setViewValue(ev.value.newValue);
136+
$timeout(function () {
134137
$scope.$apply();
135-
} );
136-
} );
138+
});
139+
});
137140

138141
// Event listeners
139142
var sliderEvents = {
140143
slideStart: 'onStartSlide',
141144
slide: 'onSlide',
142145
slideStop: 'onStopSlide'
143146
};
144-
angular.forEach( sliderEvents, function ( sliderEventAttr, sliderEvent ) {
145-
slider.on( sliderEvent, function ( ev ) {
147+
angular.forEach(sliderEvents, function (sliderEventAttr, sliderEvent) {
148+
slider.on(sliderEvent, function (ev) {
146149

147-
if ( $scope[sliderEventAttr] ) {
148-
var invoker = $parse( attrs[sliderEventAttr] );
149-
invoker( $scope.$parent, {$event: ev, value: ev.value} );
150+
if ($scope[sliderEventAttr]) {
151+
var invoker = $parse(attrs[sliderEventAttr]);
152+
invoker($scope.$parent, {$event: ev, value: ev.value});
150153

151-
$timeout( function () {
154+
$timeout(function () {
152155
$scope.$apply();
153-
} );
156+
});
154157
}
155-
} );
156-
} );
158+
});
159+
});
157160

158161
// deregister ngDisabled watcher to prevent memory leaks
159-
if ( angular.isFunction( ngDisabledDeregisterFn ) ) {
162+
if (angular.isFunction(ngDisabledDeregisterFn)) {
160163
ngDisabledDeregisterFn();
161164
ngDisabledDeregisterFn = null;
162165
}
163-
if ( angular.isDefined( attrs.ngDisabled ) ) {
164-
ngDisabledDeregisterFn = $scope.$watch( attrs.ngDisabled, function ( value ) {
165-
if ( value ) {
166-
slider.slider( 'disable' );
166+
if (angular.isDefined(attrs.ngDisabled)) {
167+
ngDisabledDeregisterFn = $scope.$watch(attrs.ngDisabled, function (value) {
168+
if (value) {
169+
slider.slider('disable');
167170
}
168171
else {
169-
slider.slider( 'enable' );
172+
slider.slider('enable');
170173
}
171-
} );
174+
});
172175
}
173176
// deregister ngModel watcher to prevent memory leaks
174-
if ( angular.isFunction( ngModelDeregisterFn ) ) ngModelDeregisterFn();
175-
ngModelDeregisterFn = $scope.$watch( 'ngModel', function ( value ) {
176-
slider.slider( 'setValue', value );
177-
} );
177+
if (angular.isFunction(ngModelDeregisterFn)) ngModelDeregisterFn();
178+
ngModelDeregisterFn = $scope.$watch('ngModel', function (value) {
179+
slider.slider('setValue', value);
180+
});
178181
}
179182
}
180183

181184
var watchers = ['min', 'max', 'step', 'range'];
182-
angular.forEach(watchers, function(prop) {
183-
$scope.$watch(prop, function(){
185+
angular.forEach(watchers, function (prop) {
186+
$scope.$watch(prop, function () {
184187
initSlider();
185188
});
186189
});

0 commit comments

Comments
 (0)