aboutsummaryrefslogtreecommitdiffstats
path: root/admin/themes/default/js/doubleSlider.js
diff options
context:
space:
mode:
Diffstat (limited to 'admin/themes/default/js/doubleSlider.js')
-rw-r--r--admin/themes/default/js/doubleSlider.js27
1 files changed, 23 insertions, 4 deletions
diff --git a/admin/themes/default/js/doubleSlider.js b/admin/themes/default/js/doubleSlider.js
index 490331feb..c03c3d52f 100644
--- a/admin/themes/default/js/doubleSlider.js
+++ b/admin/themes/default/js/doubleSlider.js
@@ -20,14 +20,33 @@ $.fn.pwgDoubleSlider = function(options) {
));
}
+ function findClosest(array, value) {
+ var closest = null, index = -1;
+ $.each(array, function(i, v){
+ if (closest == null || Math.abs(v - value) < Math.abs(closest - value)) {
+ closest = v;
+ index = i;
+ }
+ });
+ return index;
+ }
+
+ var values = [
+ options.values.indexOf(options.selected.min),
+ options.values.indexOf(options.selected.max)
+ ];
+ if (values[0] == -1) {
+ values[0] = findClosest(options.values, options.selected.min);
+ }
+ if (values[1] == -1) {
+ values[1] = findClosest(options.values, options.selected.max);
+ }
+
var slider = this.find('.slider-slider').slider({
range: true,
min: 0,
max: options.values.length - 1,
- values: [
- options.values.indexOf(options.selected.min),
- options.values.indexOf(options.selected.max)
- ],
+ values: values,
slide: onChange,
change: onChange
});