Mercurial > hg > digilib
comparison webapp/src/main/webapp/jquery/jquery.digilib.sliders.js @ 1061:8437372976a9
button for resetting sliders to default value
author | hertzhaft |
---|---|
date | Mon, 23 Apr 2012 23:08:03 +0200 |
parents | 46e5e640de47 |
children | 109055299cc8 |
comparison
equal
deleted
inserted
replaced
1060:46e5e640de47 | 1061:8437372976a9 |
---|---|
1 /** | 1 /** |
2 digilib sliders plugin | 2 digilib sliders plugin |
3 */ | 3 */ |
4 | 4 |
5 // TODO: add a "default" button that resets slider to the default value | 5 // TODO: |
6 // (not to the current URL param) | 6 // IE sets rgb contrast sliders initially to 0.4 instead of 0 - ??? |
7 | 7 |
8 (function($) { | 8 (function($) { |
9 // plugin object with digilib data | 9 // plugin object with digilib data |
10 var digilib = null; | 10 var digilib = null; |
11 // the functions made available by digilib | 11 // the functions made available by digilib |
19 rot : { | 19 rot : { |
20 label : "Rotation angle", | 20 label : "Rotation angle", |
21 tooltip : "rotate image", | 21 tooltip : "rotate image", |
22 icon : "rotate.png", | 22 icon : "rotate.png", |
23 preview : false, | 23 preview : false, |
24 'min' : 0, | 24 min : 0, |
25 'max' : 360, | 25 max : 360, |
26 'step' : 0.1, | 26 step : 0.1, |
27 'start' : 90 | 27 start : 90 |
28 }, | 28 }, |
29 brgt : { | 29 brgt : { |
30 label : "Brightness", | 30 label : "Brightness", |
31 tooltip : "set numeric value to be added", | 31 tooltip : "set numeric value to be added", |
32 icon : "brightness.png", | 32 icon : "brightness.png", |
33 preview : true, | 33 preview : true, |
34 'min' : -255, | 34 min : -255, |
35 'max' : 255, | 35 max : 255, |
36 'step' : 10, | 36 step : 10, |
37 'start' : 0 | 37 start : 0 |
38 }, | 38 }, |
39 cont : { | 39 cont : { |
40 label : "Contrast", | 40 label : "Contrast", |
41 tooltip : "set numeric value to be multiplied", | 41 tooltip : "set numeric value to be multiplied", |
42 icon : "contrast.png", | 42 icon : "contrast.png", |
43 preview : true, | 43 preview : true, |
44 'min' : -4, | 44 min : -4, |
45 'max' : 4, | 45 max : 4, |
46 'step' : 0.01, | 46 step : 0.1, |
47 'start' : 0 | 47 start : 0 |
48 } | 48 } |
49 }; | 49 }; |
50 | 50 |
51 var primaryColors = ['r', 'g', 'b']; | 51 var primaryColors = ['r', 'g', 'b']; |
52 var colorVals = { | 52 var colorVals = { |
214 var html = '\ | 214 var html = '\ |
215 <div id="'+cssPrefix+'slider" class="'+cls+'">\ | 215 <div id="'+cssPrefix+'slider" class="'+cls+'">\ |
216 <form class="'+cls+'">\ | 216 <form class="'+cls+'">\ |
217 <input class="'+cls+'cancel" type="button" value="Cancel"/>\ | 217 <input class="'+cls+'cancel" type="button" value="Cancel"/>\ |
218 <input class="'+cls+'reset" type="button" value="Reset"/>\ | 218 <input class="'+cls+'reset" type="button" value="Reset"/>\ |
219 <input class="'+cls+'default" type="button" value="Default"/>\ | |
219 <input type="submit" name="sub" value="Ok"/>\ | 220 <input type="submit" name="sub" value="Ok"/>\ |
220 </form>\ | 221 </form>\ |
221 </div>'; | 222 </div>'; |
222 $div = $(html).appendTo($elem); | 223 $div = $(html).appendTo($elem); |
223 var $form = $div.find('form'); | 224 var $form = $div.find('form'); |
231 // handle reset | 232 // handle reset |
232 $form.find('.'+cls+'reset').on('click', function () { | 233 $form.find('.'+cls+'reset').on('click', function () { |
233 var sliders = $form.find('div.'+tiny); | 234 var sliders = $form.find('div.'+tiny); |
234 sliders.each(function () { | 235 sliders.each(function () { |
235 var reset = $(this).data('reset'); | 236 var reset = $(this).data('reset'); |
237 reset(); | |
238 }); | |
239 }); | |
240 // handle default | |
241 $form.find('.'+cls+'default').on('click', function () { | |
242 var sliders = $form.find('div.'+tiny); | |
243 sliders.each(function () { | |
244 var reset = $(this).data('default'); | |
236 reset(); | 245 reset(); |
237 }); | 246 }); |
238 }); | 247 }); |
239 // handle cancel | 248 // handle cancel |
240 $form.find('.'+cls+'cancel').on('click', function () { | 249 $form.find('.'+cls+'cancel').on('click', function () { |
296 }; | 305 }; |
297 var reset = function () { | 306 var reset = function () { |
298 $text.val(startvalue); | 307 $text.val(startvalue); |
299 textChange(); | 308 textChange(); |
300 }; | 309 }; |
310 var resetdefault = function () { | |
311 $text.val(opts.start); | |
312 textChange(); | |
313 }; | |
301 // connect slider and input | 314 // connect slider and input |
302 $range.on('change', rangeChange); | 315 $range.on('change', rangeChange); |
303 $text.on('change', textChange); | 316 $text.on('change', textChange); |
304 $slider.data({ | 317 $slider.data({ |
305 '$text' : $text, | 318 '$text' : $text, |
306 '$range' : $range, | 319 '$range' : $range, |
307 'reset' : reset, | 320 'reset' : reset, |
321 'default' : resetdefault, | |
308 'update' : null | 322 'update' : null |
309 }); | 323 }); |
310 return $slider; | 324 return $slider; |
311 }; | 325 }; |
312 | 326 |