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);