Mercurial > hg > digilib-old
annotate webapp/src/main/webapp/jquery/jquery.digilib.sliders.js @ 1060:d9abeaa44c49
better region info
author | hertzhaft |
---|---|
date | Sat, 31 Mar 2012 19:56:53 +0200 |
parents | c7fd2f239953 |
children | 4f5c5c578aa4 |
rev | line source |
---|---|
1022 | 1 /** |
2 digilib sliders plugin | |
3 */ | |
4 // TODO: | |
5 // - steps | |
6 // - additional input element for numeric value | |
7 | |
8 (function($) { | |
9 // plugin object with digilib data | |
10 var digilib = null; | |
11 // the functions made available by digilib | |
12 var fn = null; | |
13 // affine geometry plugin | |
14 var geom = null; | |
15 | |
1057 | 16 var defaults = {}; |
1022 | 17 |
1042
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
18 var sliderOptions = { |
1022 | 19 rot : { |
20 label : "Rotation angle", | |
21 tooltip : "rotate image", | |
22 icon : "rotate.png", | |
23 'min' : 0, | |
24 'max' : 360, | |
1043 | 25 'step' : 0.1, |
1022 | 26 'start' : 90 |
27 }, | |
28 brgt : { | |
29 label : "Brightness", | |
30 tooltip : "set numeric value to be added", | |
31 icon : "brightness.png", | |
32 'min' : -255, | |
33 'max' : 255, | |
1043 | 34 'step' : 10, |
1022 | 35 'start' : 0 |
36 }, | |
37 cont : { | |
38 label : "Contrast", | |
39 tooltip : "set numeric value to be multiplied", | |
40 icon : "contrast.png", | |
41 'min' : -4, | |
42 'max' : 4, | |
1043 | 43 'step' : 0.01, |
1022 | 44 'start' : 0 |
1057 | 45 } |
1022 | 46 }; |
47 | |
1058
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
48 var primaryColors = ['r', 'g', 'b']; |
1057 | 49 var rgb = { |
50 r : { | |
51 label : "red", | |
1058
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
52 color : "#800000", |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
53 a : 0, |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
54 m : 0 |
1057 | 55 }, |
56 g : { | |
57 label : "green", | |
1058
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
58 color : "#008000", |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
59 a : 0, |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
60 m : 0 |
1057 | 61 }, |
62 b : { | |
63 label : "blue", | |
1058
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
64 color : "#000080", |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
65 a : 0, |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
66 m : 0 |
1057 | 67 } |
68 } | |
1022 | 69 var actions = { |
1038 | 70 // shows brightness slider |
1042
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
71 tinySliderBrgt : function (data) { |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
72 var callback = function(val) { |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
73 digilib.actions.brightness(data, val); |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
74 }; |
1057 | 75 singleSlider(data, 'brgt', callback); |
1042
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
76 }, |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
77 |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
78 // shows contrast slider |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
79 tinySliderCont : function (data) { |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
80 var callback = function(val) { |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
81 digilib.actions.contrast(data, val, true); |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
82 }; |
1057 | 83 singleSlider(data, 'cont', callback); |
1042
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
84 }, |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
85 |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
86 // shows rotate slider |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
87 tinySliderRot : function (data) { |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
88 var callback = function(val) { |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
89 digilib.actions.rotate(data, val); |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
90 }; |
1057 | 91 singleSlider(data, 'rot', callback); |
92 }, | |
1022 | 93 |
1057 | 94 // shows RGB sliders |
95 tinySliderRGB : function (data) { | |
96 var callback = function(m, a) { | |
97 digilib.actions.setRGB(data, m, a); | |
98 }; | |
99 rgbSlider(data, callback); | |
100 } | |
1022 | 101 }; |
102 | |
1045 | 103 // assign button actions to sliders (rotate, brightness, contrast) |
104 var setButtonActions = function () { | |
105 if (fn.setButtonAction == null) { | |
106 console.debug('sliders: could not assign button actions. Maybe jquery.digilib.buttons.js was not loaded?'); | |
1022 | 107 return; |
108 } | |
1045 | 109 console.debug('sliders: assign new button actions. digilib:', digilib); |
110 fn.setButtonAction('brgt', 'tinySliderBrgt'); | |
111 fn.setButtonAction('cont', 'tinySliderCont'); | |
112 fn.setButtonAction('rot', 'tinySliderRot'); | |
1058
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
113 fn.setButtonAction('rgb', 'tinySliderRGB'); |
1022 | 114 }; |
115 | |
116 // plugin installation called by digilib on plugin object. | |
117 var install = function (plugin) { | |
118 digilib = plugin; | |
119 console.debug('installing sliders plugin. digilib:', digilib); | |
120 fn = digilib.fn; | |
121 // import geometry classes | |
122 geom = fn.geometry; | |
123 // add defaults, actions, buttons | |
124 $.extend(true, digilib.defaults, defaults); // make deep copy | |
125 $.extend(digilib.actions, actions); | |
1038 | 126 setButtonActions(digilib.buttons); |
1022 | 127 // export functions |
128 }; | |
129 | |
130 // plugin initialization | |
131 var init = function (data) { | |
132 console.debug('initialising sliders plugin. data:', data); | |
1058
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
133 var $data = $(data); |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
134 $data.bind('update', handleUpdate); |
1022 | 135 }; |
136 | |
1058
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
137 // get rgba/rgbm params (color brightness/contrast) |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
138 var handleUpdate = function (evt) { |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
139 console.debug("sliders: handleUpdate"); |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
140 var data = this; |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
141 setStartValues(data, 'a'); |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
142 setStartValues(data, 'm'); |
1059
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
143 var sliderSelector = '#'+ data.settings.cssPrefix + 'slider'; |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
144 fn.centerOnScreen(data, fn.find(data, sliderSelector)); |
1058
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
145 }; |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
146 |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
147 // set m/a start values for sliders |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
148 var setStartValues = function (data, code) { |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
149 var colorparts = data.settings['rgb'+code]; |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
150 if (colorparts == null) return; |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
151 var values = colorparts.split("/"); |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
152 rgb.r[code] = values[0] || 0; |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
153 rgb.g[code] = values[1] || 0; |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
154 rgb.b[code] = values[2] || 0; |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
155 }; |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
156 |
1057 | 157 /** creates a div with a form, setup events and callback |
1022 | 158 */ |
1057 | 159 var setupFormDiv = function (data, $content, cssSuffix, callback) { |
160 var cssPrefix = data.settings.cssPrefix; | |
161 var cls = cssPrefix + cssSuffix; | |
1058
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
162 var $elem = data.$elem; |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
163 var sliderSelector = '#'+cssPrefix+'slider'; |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
164 if (fn.isOnScreen(data, sliderSelector)) return; // already onscreen |
1026 | 165 var html = '\ |
1058
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
166 <div id="'+cssPrefix+'slider" class="'+cls+'">\ |
1057 | 167 <form class="'+cls+'">\ |
168 <input class="'+cls+'cancel" type="button" value="Cancel"/>\ | |
169 <input type="submit" name="sub" value="Ok"/>\ | |
1042
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
170 </form>\ |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
171 </div>'; |
1058
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
172 $div = $(html).appendTo($elem); |
1057 | 173 var $form = $div.find('form'); |
174 $form.prepend($content); | |
175 // handle submit | |
176 $form.on('submit', function () { | |
177 callback(); | |
178 fn.withdraw($div); | |
179 return false; | |
180 }); | |
181 // handle cancel | |
182 $form.find('.'+cls+'cancel').on('click', function () { | |
183 fn.withdraw($div); | |
184 }); | |
185 // show div | |
186 $div.fadeIn(); | |
1042
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
187 // fix non-HTML5 slider |
1057 | 188 var tiny = cssPrefix + 'tinyslider'; |
189 var $range = $form.find('input.'+tiny+'range'); | |
1042
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
190 var HTML5 = $range.prop('type') === 'range'; |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
191 if (!HTML5) { |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
192 console.debug('fix input type=range'); |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
193 $range.range({change: function (val) { |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
194 $range.trigger('change'); |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
195 }}); |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
196 } |
1057 | 197 fn.centerOnScreen(data, $div); |
198 return $div; | |
199 }; | |
200 | |
201 /** creates a TinyRangeSlider | |
202 */ | |
203 var tinySlider = function (data, paramname, startval) { | |
204 var $elem = data.$elem; | |
205 var opts = sliderOptions[paramname]; | |
206 var param = startval || data.settings[paramname] || opts.start; | |
207 var cssPrefix = data.settings.cssPrefix; | |
208 var cls = cssPrefix + 'tinyslider'; | |
209 var html = '\ | |
210 <div class="'+cls+'frame">\ | |
211 <span>'+opts.label+'</span>\ | |
212 <input type="range" class="'+cls+'range" name="'+paramname+'" step="'+opts.step+'" min="'+opts.min+'" max="'+opts.max+'" value="'+param+'"/>\ | |
213 <input type="text" class="'+cls+'text" name="'+paramname+'" size="4" value="'+param+'"/>\ | |
214 </div>'; | |
215 var $slider = $(html); | |
216 var $range = $slider.find('input.'+cls+'range'); | |
217 var $text = $slider.find('input.'+cls+'text'); | |
218 $slider.data({'$text' : $text, '$range' : $range}); | |
1042
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
219 // connect slider and input |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
220 $range.on('change', function () { |
1058
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
221 // crop floating point imprecision |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
222 var val = parseFloat($range.val()).toFixed(4); |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
223 $text.val(parseFloat(val)); |
1042
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
224 }); |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
225 $text.on('change', function () { |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
226 var val = $text.val(); |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
227 $range.val(val); |
1057 | 228 // val doesn't change the slider handle position in Tinyrange |
229 // can't use a jQuery "valHook" here because input type is reported as "text" (???) | |
230 var HTML5 = $range.prop('type') === 'range'; | |
1044 | 231 if (!HTML5) { |
232 $range.range('set', val); | |
233 } | |
1042
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
234 }); |
1057 | 235 return $slider; |
236 }; | |
237 | |
238 /** creates a single TinyRangeSlider for param "paramname", | |
239 the new value is passed to the "callback" function. | |
240 */ | |
241 var singleSlider = function (data, paramname, callback) { | |
242 var $slider = tinySlider(data, paramname); | |
243 var getValue = function () { | |
244 var val = $slider.data('$text').val(); | |
245 callback(val); | |
246 }; | |
247 setupFormDiv(data, $slider, 'singleslider', getValue); | |
248 }; | |
249 | |
250 /** creates a compound RGB slider | |
251 the new values are passed to the "callback" function. | |
252 */ | |
253 var rgbSlider = function (data, callback) { | |
1059
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
254 var css = data.settings.cssPrefix; |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
255 var cls = css + 'rgbslider'; |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
256 var html = '\ |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
257 <div>\ |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
258 <table class="'+cls+'" />\ |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
259 <div class="'+cls+'grey">\ |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
260 <span/><span/><span/><span/><span/><span/><span/><span/><span/>\ |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
261 </div>\ |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
262 <div class="'+cls+'indicator">\ |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
263 <span/><span/><span/><span/><span/><span/><span/><span/><span/>\ |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
264 </div>\ |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
265 </div>'; |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
266 var $div = $(html); |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
267 var $table = $div.find('table'); |
1058
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
268 var setupTableRow = function(index, value) { |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
269 var color = rgb[value]; |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
270 // start values are set in "handleSetup" |
1059
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
271 var $tr = $('<tr/>').appendTo($table); |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
272 var html = '\ |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
273 <td class="'+css+'color '+css+value+'">\ |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
274 <div>'+color.label+'</div>\ |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
275 </td>'; |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
276 $(html).appendTo($tr); |
1058
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
277 var $brgt = tinySlider(data, 'brgt', color.a); |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
278 var $cont = tinySlider(data, 'cont', color.m); |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
279 $table.data(value+'a', $brgt.data('$text')); |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
280 $table.data(value+'m', $cont.data('$text')); |
1059
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
281 $('<td class="'+css+'rgb"/>').append($brgt).appendTo($tr); |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
282 $('<td class="'+css+'rgb"/>').append($cont).appendTo($tr); |
1057 | 283 } |
1058
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
284 $.each(primaryColors, setupTableRow); |
1060 | 285 var setGreyValue = function (index) { |
1059
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
286 var val = index * 32; |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
287 $(this).css('background-color', 'rgb('+val+','+val+','+val+')'); |
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
288 }; |
1060 | 289 $div.find('div.'+cls+'grey span').each(setGreyValue); |
290 $div.find('div.'+cls+'indicator span').each(setGreyValue); | |
1058
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
291 var getValues = function () { |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
292 // get values from sliders |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
293 var input = $table.data(); |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
294 var rgba = input['ra'].val() + '/' + input['ga'].val() + '/' + input['ba'].val(); |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
295 var rgbm = input['rm'].val() + '/' + input['gm'].val() + '/' + input['bm'].val(); |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1057
diff
changeset
|
296 callback(rgbm, rgba); |
1057 | 297 }; |
1059
c7fd2f239953
rgb slider: color labels, first step to color indicator
hertzhaft
parents:
1058
diff
changeset
|
298 setupFormDiv(data, $div, 'rgbslider', getValues); |
1042
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
299 }; |
2c5a48a624c5
TinyRange sliders now work for brgt,cont,rot (not perfect)
hertzhaft
parents:
1039
diff
changeset
|
300 |
1022 | 301 // plugin object with name and init |
302 // shared objects filled by digilib on registration | |
303 var plugin = { | |
304 name : 'sliders', | |
305 install : install, | |
306 init : init, | |
307 buttons : {}, | |
308 actions : {}, | |
309 fn : {}, | |
310 plugins : {} | |
311 }; | |
312 | |
313 if ($.fn.digilib == null) { | |
314 $.error("jquery.digilib.sliders must be loaded after jquery.digilib!"); | |
315 } else { | |
316 $.fn.digilib('plugin', plugin); | |
317 } | |
318 })(jQuery); |