Mercurial > hg > digilib
comparison client/digitallibrary/jquery/jquery.digilib.js @ 681:0583d0a38de5 jquery
reset button plus action
author | hertzhaft |
---|---|
date | Wed, 26 Jan 2011 22:34:26 +0100 |
parents | d18b4170182f |
children | 2493d64eae64 |
comparison
equal
deleted
inserted
replaced
680:d18b4170182f | 681:0583d0a38de5 |
---|---|
87 onclick : "showAboutDiv", | 87 onclick : "showAboutDiv", |
88 tooltip : "about Digilib", | 88 tooltip : "about Digilib", |
89 img : "help.png" | 89 img : "help.png" |
90 }, | 90 }, |
91 reset : { | 91 reset : { |
92 onclick : "javascript:resetImage()", | 92 onclick : "reset", |
93 tooltip : "reset image", | 93 tooltip : "reset image", |
94 img : "reset.png" | 94 img : "reset.png" |
95 }, | 95 }, |
96 mark : { | 96 mark : { |
97 onclick : "setMark", | 97 onclick : "setMark", |
206 'buttonSettings' : { | 206 'buttonSettings' : { |
207 'fullscreen' : { | 207 'fullscreen' : { |
208 // path to button images (must end with a slash) | 208 // path to button images (must end with a slash) |
209 'imagePath' : 'img/fullscreen/', | 209 'imagePath' : 'img/fullscreen/', |
210 //'standardSet' : ["reference","zoomin","zoomout","zoomarea","zoomfull","pagewidth","back","fwd","page","bird","SEP","help","reset","options"], | 210 //'standardSet' : ["reference","zoomin","zoomout","zoomarea","zoomfull","pagewidth","back","fwd","page","bird","SEP","help","reset","options"], |
211 'standardSet' : ["reference","zoomin","zoomout","zoomarea","zoomfull","pagewidth","mark","delmark","hmir","vmir","back","fwd","page","rot","brgt","cont","rgb","quality","size","calibrationx","scale","bird","help","options"], | 211 'standardSet' : ["reference","zoomin","zoomout","zoomarea","zoomfull","pagewidth","mark","delmark","hmir","vmir","back","fwd","page","rot","brgt","cont","rgb","quality","size","calibrationx","scale","bird","help","reset","options"], |
212 'specialSet' : ["mark","delmark","hmir","vmir","rot","brgt","cont","rgb","quality","size","calibrationx","scale","SEP","options"], | 212 'specialSet' : ["mark","delmark","hmir","vmir","rot","brgt","cont","rgb","quality","size","calibrationx","scale","options"], |
213 'buttonSets' : ['standardSet', 'specialSet'] | 213 'buttonSets' : ['standardSet', 'specialSet'] |
214 }, | 214 }, |
215 'embedded' : { | 215 'embedded' : { |
216 'imagePath' : 'img/embedded/16/', | 216 'imagePath' : 'img/embedded/16/', |
217 'standardSet' : ["reference","zoomin","zoomout","zoomarea","zoomfull","hmir","vmir","back","fwd","page","rot","brgt","cont","rgb","quality","size","scale","bird","help","options"], | 217 'standardSet' : ["reference","zoomin","zoomout","zoomarea","zoomfull","hmir","vmir","back","fwd","page","rot","brgt","cont","rgb","quality","size","scale","bird","help","reset","options"], |
218 'specialSet' : ["mark","delmark","hmir","vmir","rot","brgt","cont","rgb","quality","size","calibrationx","scale","SEP","options"], | 218 'specialSet' : ["mark","delmark","hmir","vmir","rot","brgt","cont","rgb","quality","size","calibrationx","scale","options"], |
219 'buttonSets' : ['standardSet', 'specialSet'] | 219 'buttonSets' : ['standardSet', 'specialSet'] |
220 } | 220 } |
221 }, | 221 }, |
222 // button groups | 222 // button groups |
223 // is birdView shown? | 223 // is birdView shown? |
263 } | 263 } |
264 } | 264 } |
265 return this.each(function() { | 265 return this.each(function() { |
266 var $elem = $(this); | 266 var $elem = $(this); |
267 var data = $elem.data('digilib'); | 267 var data = $elem.data('digilib'); |
268 var elemSettings; | 268 var params, elemSettings; |
269 // if the plugin hasn't been initialized yet | 269 // if the plugin hasn't been initialized yet |
270 if (!data) { | 270 if (!data) { |
271 // merge query parameters | 271 // merge query parameters |
272 if (isFullscreen) { | 272 if (isFullscreen) { |
273 elemSettings = $.extend({}, settings, queryParams); | 273 params = queryParams; |
274 } else { | 274 } else { |
275 elemSettings = $.extend({}, settings, parseImgParams($elem)); | 275 params = parseImgParams($elem); |
276 } | 276 }; |
277 // store $(this) element in the settings | 277 // store $(this) element in the settings |
278 elemSettings = $.extend({}, settings, params); | |
278 data = { | 279 data = { |
279 $elem : $elem, | 280 $elem : $elem, |
280 settings : elemSettings, | 281 settings : elemSettings, |
281 queryParams : queryParams | 282 queryParams : params |
282 }; | 283 }; |
283 // store in data element | 284 // store in data element |
284 $elem.data('digilib', data); | 285 $elem.data('digilib', data); |
285 } | 286 } |
286 unpackParams(data); | 287 unpackParams(data); |
436 var cont = data.settings.cont; | 437 var cont = data.settings.cont; |
437 if (factor == null) { | 438 if (factor == null) { |
438 factor = window.prompt("Contrast (-8, 8)", cont); | 439 factor = window.prompt("Contrast (-8, 8)", cont); |
439 } | 440 } |
440 data.settings.cont = factor; | 441 data.settings.cont = factor; |
442 redisplay(data); | |
443 }, | |
444 | |
445 reset : function (data) { | |
446 var settings = data.settings; | |
447 var paramNames = settings.digilibParamNames; | |
448 var params = data.queryParams; | |
449 resetData(data); | |
450 // delete all digilib parameters | |
451 for (var i = 0; i < paramNames.length; i++) { | |
452 var paramName = paramNames[i]; | |
453 delete settings[paramName]; | |
454 }; | |
455 // fullscreen: restore only fn/pn parameters | |
456 if (settings.interactionMode === 'fullscreen') { | |
457 settings['fn'] = params.fn; | |
458 settings['pn'] = params.pn; | |
459 // embedded: restore original parameters | |
460 } else { | |
461 $.extend(settings, params); | |
462 }; | |
441 redisplay(data); | 463 redisplay(data); |
442 } | 464 } |
443 }; | 465 }; |
444 | 466 |
445 // returns parameters from page url | 467 // returns parameters from page url |
597 } | 619 } |
598 mo += f; | 620 mo += f; |
599 } | 621 } |
600 settings.mo = mo; | 622 settings.mo = mo; |
601 } | 623 } |
602 // digilib option birdview | 624 // digilib option birdview TODO: replace with cookie |
603 if (settings.isBirdDivVisible) { | 625 //if (settings.isBirdDivVisible) { |
604 data.dlOpts.birdview = 1; | 626 // data.dlOpts.birdview = 1; |
605 } else { | 627 //} else { |
606 delete data.dlOpts.birdview; | 628 // delete data.dlOpts.birdview; |
607 } | 629 //} |
630 | |
608 // digilib options | 631 // digilib options |
609 if (data.dlOpts) { | 632 if (data.dlOpts) { |
610 var clop = ''; | 633 var clop = ''; |
611 for (var o in data.dlOpts) { | 634 for (var o in data.dlOpts) { |
612 if (clop) { | 635 if (clop) { |
614 } | 637 } |
615 clop += o; | 638 clop += o; |
616 } | 639 } |
617 settings.clop = clop; | 640 settings.clop = clop; |
618 } | 641 } |
642 }; | |
643 | |
644 // clear digilib data for reset | |
645 var resetData = function (data) { | |
646 if (data.zoomArea) delete data.zoomArea; | |
647 if (data.marks) delete data.marks; | |
648 if (data.scalerFlags) delete data.scalerFlags; | |
649 if (data.dlOpts) delete data.dlOpts; | |
619 }; | 650 }; |
620 | 651 |
621 // (re)load the img from a new scaler URL | 652 // (re)load the img from a new scaler URL |
622 var redisplay = function (data) { | 653 var redisplay = function (data) { |
623 var settings = data.settings; | 654 var settings = data.settings; |
1140 return actions.init.apply(this, arguments); | 1171 return actions.init.apply(this, arguments); |
1141 } else { | 1172 } else { |
1142 $.error( 'action ' + action + ' does not exist on jQuery.digilib' ); | 1173 $.error( 'action ' + action + ' does not exist on jQuery.digilib' ); |
1143 } | 1174 } |
1144 }; | 1175 }; |
1145 | 1176 |
1146 })(jQuery); | 1177 })(jQuery); |