changeset 1071:9e06a7bf2303

button for resetting sliders to default value
author hertzhaft
date Mon, 23 Apr 2012 23:08:03 +0200
parents 27ee06879f14
children b0a18f8af7bf
files webapp/src/main/webapp/jquery/jquery.digilib.sliders.js
diffstat 1 files changed, 28 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/webapp/src/main/webapp/jquery/jquery.digilib.sliders.js	Mon Apr 23 09:31:57 2012 +0200
+++ b/webapp/src/main/webapp/jquery/jquery.digilib.sliders.js	Mon Apr 23 23:08:03 2012 +0200
@@ -2,8 +2,8 @@
 digilib sliders plugin
  */
 
-// TODO: add a "default" button that resets slider to the default value
-// (not to the current URL param)
+// TODO:
+// IE sets rgb contrast sliders initially to 0.4 instead of 0 - ???
 
 (function($) {
     // plugin object with digilib data
@@ -21,30 +21,30 @@
             tooltip : "rotate image",
             icon : "rotate.png",
             preview : false,
-            'min' : 0,
-            'max' : 360,
-            'step' : 0.1,
-            'start' : 90
+            min : 0,
+            max : 360,
+            step : 0.1,
+            start : 90
             },
         brgt : {
             label : "Brightness",
             tooltip : "set numeric value to be added",
             icon : "brightness.png",
             preview : true,
-            'min' : -255,
-            'max' : 255,
-            'step' : 10,
-            'start' : 0
+            min : -255,
+            max : 255,
+            step : 10,
+            start : 0
             },
         cont : {
             label : "Contrast",
             tooltip : "set numeric value to be multiplied",
             icon : "contrast.png",
             preview : true,
-            'min' : -4,
-            'max' : 4,
-            'step' : 0.01,
-            'start' : 0
+            min : -4,
+            max : 4,
+            step : 0.1,
+            start : 0
         }
     };
 
@@ -216,6 +216,7 @@
                 <form class="'+cls+'">\
                     <input class="'+cls+'cancel" type="button" value="Cancel"/>\
                     <input class="'+cls+'reset" type="button" value="Reset"/>\
+                    <input class="'+cls+'default" type="button" value="Default"/>\
                     <input type="submit" name="sub" value="Ok"/>\
                 </form>\
             </div>';
@@ -236,6 +237,14 @@
                 reset();
                 });
         });
+        // handle default
+        $form.find('.'+cls+'default').on('click', function () {
+            var sliders = $form.find('div.'+tiny);
+            sliders.each(function () {
+                var reset = $(this).data('default');
+                reset();
+                });
+        });
         // handle cancel
         $form.find('.'+cls+'cancel').on('click', function () {
             fn.withdraw($div);
@@ -298,6 +307,10 @@
             $text.val(startvalue);
             textChange();
         };
+        var resetdefault = function () {
+            $text.val(opts.start);
+            textChange();
+        };
         // connect slider and input
         $range.on('change', rangeChange); 
         $text.on('change', textChange);
@@ -305,6 +318,7 @@
             '$text' : $text,
             '$range' : $range,
             'reset' : reset,
+            'default' : resetdefault,
             'update' : null
         });
         return $slider;