@@ -11,9 +11,9 @@ angular.module('ui.bootstrap-slider', [])
11
11
step : "=" ,
12
12
value : "=" ,
13
13
ngModel : '=' ,
14
- range :'=' ,
14
+ range : '=' ,
15
15
sliderid : '=' ,
16
- formater : '&' ,
16
+ formatter : '&' ,
17
17
onStartSlide : '&' ,
18
18
onStopSlide : '&' ,
19
19
onSlide : '&'
@@ -29,12 +29,15 @@ angular.module('ui.bootstrap-slider', [])
29
29
function setOption ( key , value , defaultValue ) {
30
30
options [ key ] = value || defaultValue ;
31
31
}
32
+
32
33
function setFloatOption ( key , value , defaultValue ) {
33
34
options [ key ] = value ? parseFloat ( value ) : defaultValue ;
34
35
}
36
+
35
37
function setBooleanOption ( key , value , defaultValue ) {
36
38
options [ key ] = value ? value + '' === 'true' : defaultValue ;
37
39
}
40
+
38
41
function getArrayOrValue ( value ) {
39
42
return ( angular . isString ( value ) && value . indexOf ( "[" ) === 0 ) ? angular . fromJson ( value ) : value ;
40
43
}
@@ -59,21 +62,21 @@ angular.module('ui.bootstrap-slider', [])
59
62
setBooleanOption ( 'reversed' , attrs . reversed , false ) ;
60
63
61
64
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 ) ) {
64
67
options . value = $scope . value ;
65
68
}
66
69
else if ( angular . isString ( $scope . value ) ) {
67
70
options . value = getArrayOrValue ( $scope . value ) ;
68
- if ( ! angular . isArray ( options . value ) ) {
71
+ if ( ! angular . isArray ( options . value ) ) {
69
72
var value = parseFloat ( $scope . value ) ;
70
- if ( isNaN ( value ) ) value = 5 ;
73
+ if ( isNaN ( value ) ) value = 5 ;
71
74
72
- if ( value < $scope . min ) {
75
+ if ( value < $scope . min ) {
73
76
value = $scope . min ;
74
77
options . value = [ value , options . max ] ;
75
78
}
76
- else if ( value > $scope . max ) {
79
+ else if ( value > $scope . max ) {
77
80
value = $scope . max ;
78
81
options . value = [ options . min , value ] ;
79
82
}
@@ -91,96 +94,96 @@ angular.module('ui.bootstrap-slider', [])
91
94
setFloatOption ( 'value' , $scope . value , 5 ) ;
92
95
}
93
96
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 ) ;
95
100
96
- var slider = $ ( element ) . find ( ".slider-input" ) . eq ( 0 ) ;
97
-
98
101
// check if slider jQuery plugin exists
99
- if ( $ . fn . slider ) {
102
+ if ( $ . fn . slider ) {
100
103
// adding methods to jQuery slider plugin prototype
101
- $ . fn . slider . Constructor . prototype . disable = function ( ) {
104
+ $ . fn . slider . constructor . prototype . disable = function ( ) {
102
105
this . picker . off ( ) ;
103
106
} ;
104
- $ . fn . slider . Constructor . prototype . enable = function ( ) {
107
+ $ . fn . slider . constructor . prototype . enable = function ( ) {
105
108
this . picker . on ( ) ;
106
109
} ;
107
110
108
111
// 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 ) ;
112
115
113
116
// 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 ) ) {
116
119
// if only single event name in string
117
120
updateEvent = [ updateEvent ] ;
118
121
}
119
122
else {
120
123
// default to slide event
121
124
updateEvent = [ 'slide' ] ;
122
125
}
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 ( ) {
127
130
$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 ( ) {
134
137
$scope . $apply ( ) ;
135
- } ) ;
136
- } ) ;
138
+ } ) ;
139
+ } ) ;
137
140
138
141
// Event listeners
139
142
var sliderEvents = {
140
143
slideStart : 'onStartSlide' ,
141
144
slide : 'onSlide' ,
142
145
slideStop : 'onStopSlide'
143
146
} ;
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 ) {
146
149
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 } ) ;
150
153
151
- $timeout ( function ( ) {
154
+ $timeout ( function ( ) {
152
155
$scope . $apply ( ) ;
153
- } ) ;
156
+ } ) ;
154
157
}
155
- } ) ;
156
- } ) ;
158
+ } ) ;
159
+ } ) ;
157
160
158
161
// deregister ngDisabled watcher to prevent memory leaks
159
- if ( angular . isFunction ( ngDisabledDeregisterFn ) ) {
162
+ if ( angular . isFunction ( ngDisabledDeregisterFn ) ) {
160
163
ngDisabledDeregisterFn ( ) ;
161
164
ngDisabledDeregisterFn = null ;
162
165
}
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' ) ;
167
170
}
168
171
else {
169
- slider . slider ( 'enable' ) ;
172
+ slider . slider ( 'enable' ) ;
170
173
}
171
- } ) ;
174
+ } ) ;
172
175
}
173
176
// 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
+ } ) ;
178
181
}
179
182
}
180
183
181
184
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 ( ) {
184
187
initSlider ( ) ;
185
188
} ) ;
186
189
} ) ;
0 commit comments