Mercurial > hg > digilib-old
comparison client/digitallibrary/jquery/jquery.digilib.js @ 691:fe2bb8f926be jquery
merge
with f5f2b262be07f41fa6c8d2f60332b198eaa2d603
author | robcast |
---|---|
date | Wed, 26 Jan 2011 23:43:39 +0100 |
parents | 7c8d5bfc5243 f5f2b262be07 |
children | ab8054bba8d3 |
comparison
equal
deleted
inserted
replaced
690:7c8d5bfc5243 | 691:fe2bb8f926be |
---|---|
32 } | 32 } |
33 | 33 |
34 (function($) { | 34 (function($) { |
35 var buttons = { | 35 var buttons = { |
36 reference : { | 36 reference : { |
37 onclick : "javascript:getRefWin()", | 37 onclick : "reference", |
38 tooltip : "get a reference URL", | 38 tooltip : "get a reference URL", |
39 img : "reference.png" | 39 img : "reference.png" |
40 }, | 40 }, |
41 zoomin : { | 41 zoomin : { |
42 onclick : ["zoomBy", 1.4], | 42 onclick : ["zoomBy", 1.4], |
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", |
210 // defaults for digilib buttons | 210 // defaults for digilib buttons |
211 'buttonSettings' : { | 211 'buttonSettings' : { |
212 'fullscreen' : { | 212 'fullscreen' : { |
213 // path to button images (must end with a slash) | 213 // path to button images (must end with a slash) |
214 'imagePath' : 'img/fullscreen/', | 214 'imagePath' : 'img/fullscreen/', |
215 //'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"], | |
216 'standardSet' : ["reference","zoomin","zoomout","zoomarea","zoomfull","pagewidth","back","fwd","page","bird","SEP","help","reset","moreoptions"], | 215 'standardSet' : ["reference","zoomin","zoomout","zoomarea","zoomfull","pagewidth","back","fwd","page","bird","SEP","help","reset","moreoptions"], |
217 'specialSet' : ["mark","delmark","hmir","vmir","rot","brgt","cont","rgb","quality","size","calibrationx","scale","SEP","lessoptions"], | 216 'specialSet' : ["mark","delmark","hmir","vmir","rot","brgt","cont","rgb","quality","size","calibrationx","scale","SEP","lessoptions"], |
218 'buttonSets' : ['standardSet', 'specialSet'] | 217 'buttonSets' : ['standardSet', 'specialSet'] |
219 }, | 218 }, |
220 'embedded' : { | 219 'embedded' : { |
221 'imagePath' : 'img/embedded/16/', | 220 'imagePath' : 'img/embedded/16/', |
222 'standardSet' : ["reference","zoomin","zoomout","zoomarea","zoomfull","hmir","vmir","back","fwd","page","rot","brgt","cont","rgb","quality","size","scale","bird","help","options"], | 221 'standardSet' : ["reference","zoomin","zoomout","zoomarea","zoomfull","hmir","vmir","back","fwd","page","rot","brgt","cont","rgb","quality","size","scale","bird","help","reset","options"], |
223 'specialSet' : ["mark","delmark","hmir","vmir","rot","brgt","cont","rgb","quality","size","calibrationx","scale","SEP","options"], | 222 'specialSet' : ["mark","delmark","hmir","vmir","rot","brgt","cont","rgb","quality","size","calibrationx","scale","options"], |
224 'buttonSets' : ['standardSet', 'specialSet'] | 223 'buttonSets' : ['standardSet', 'specialSet'] |
225 } | 224 } |
226 }, | 225 }, |
227 // button groups | 226 // button groups |
228 // is birdView shown? | 227 // is birdView shown? |
268 } | 267 } |
269 } | 268 } |
270 return this.each(function() { | 269 return this.each(function() { |
271 var $elem = $(this); | 270 var $elem = $(this); |
272 var data = $elem.data('digilib'); | 271 var data = $elem.data('digilib'); |
273 var elemSettings; | 272 var params, elemSettings; |
274 // if the plugin hasn't been initialized yet | 273 // if the plugin hasn't been initialized yet |
275 if (!data) { | 274 if (!data) { |
276 // merge query parameters | 275 // merge query parameters |
277 if (isFullscreen) { | 276 if (isFullscreen) { |
278 elemSettings = $.extend({}, settings, queryParams); | 277 params = queryParams; |
279 } else { | 278 } else { |
280 elemSettings = $.extend({}, settings, parseImgParams($elem)); | 279 params = parseImgParams($elem); |
281 } | 280 }; |
282 // store $(this) element in the settings | 281 // store $(this) element in the settings |
282 elemSettings = $.extend({}, settings, params); | |
283 data = { | 283 data = { |
284 $elem : $elem, | 284 $elem : $elem, |
285 settings : elemSettings, | 285 settings : elemSettings, |
286 queryParams : queryParams | 286 queryParams : params |
287 }; | 287 }; |
288 // store in data element | 288 // store in data element |
289 $elem.data('digilib', data); | 289 $elem.data('digilib', data); |
290 } | 290 } |
291 unpackParams(data); | 291 unpackParams(data); |
476 // move remaining sets left and show new set | 476 // move remaining sets left and show new set |
477 $oldSets.animate({left : '-='+btnWidth+'px'}, | 477 $oldSets.animate({left : '-='+btnWidth+'px'}, |
478 function () {$newSet.show();}); | 478 function () {$newSet.show();}); |
479 data.visibleButtonSets += 1; | 479 data.visibleButtonSets += 1; |
480 } | 480 } |
481 }, | |
482 | |
483 reset : function (data) { | |
484 var settings = data.settings; | |
485 var paramNames = settings.digilibParamNames; | |
486 var params = data.queryParams; | |
487 resetData(data); | |
488 // delete all digilib parameters | |
489 for (var i = 0; i < paramNames.length; i++) { | |
490 var paramName = paramNames[i]; | |
491 delete settings[paramName]; | |
492 }; | |
493 // fullscreen: restore only fn/pn parameters | |
494 if (settings.interactionMode === 'fullscreen') { | |
495 settings['fn'] = params.fn; | |
496 settings['pn'] = params.pn; | |
497 // embedded: restore original parameters | |
498 } else { | |
499 $.extend(settings, params); | |
500 }; | |
501 redisplay(data); | |
502 }, | |
503 | |
504 reference : function (data) { | |
505 var settings = data.settings; | |
506 var url; | |
507 if (settings.interactionMode === 'fullscreen') { | |
508 url = getDigilibUrl(data); | |
509 } else { | |
510 url = getScalerUrl(data); | |
511 }; | |
512 window.prompt("URL reference to the current view", url); | |
481 } | 513 } |
482 }; | 514 }; |
483 | 515 |
484 // returns parameters from page url | 516 // returns parameters from page url |
485 var parseQueryParams = function() { | 517 var parseQueryParams = function() { |
636 } | 668 } |
637 mo += f; | 669 mo += f; |
638 } | 670 } |
639 settings.mo = mo; | 671 settings.mo = mo; |
640 } | 672 } |
641 // digilib option birdview | 673 // digilib option birdview TODO: replace with cookie |
642 if (settings.isBirdDivVisible) { | 674 //if (settings.isBirdDivVisible) { |
643 data.dlOpts.birdview = 1; | 675 // data.dlOpts.birdview = 1; |
644 } else { | 676 //} else { |
645 delete data.dlOpts.birdview; | 677 // delete data.dlOpts.birdview; |
646 } | 678 //} |
679 | |
647 // digilib options | 680 // digilib options |
648 if (data.dlOpts) { | 681 if (data.dlOpts) { |
649 var clop = ''; | 682 var clop = ''; |
650 for (var o in data.dlOpts) { | 683 for (var o in data.dlOpts) { |
651 if (clop) { | 684 if (clop) { |
653 } | 686 } |
654 clop += o; | 687 clop += o; |
655 } | 688 } |
656 settings.clop = clop; | 689 settings.clop = clop; |
657 } | 690 } |
691 }; | |
692 | |
693 // clear digilib data for reset | |
694 var resetData = function (data) { | |
695 if (data.zoomArea) delete data.zoomArea; | |
696 if (data.marks) delete data.marks; | |
697 if (data.scalerFlags) delete data.scalerFlags; | |
698 if (data.dlOpts) delete data.dlOpts; | |
658 }; | 699 }; |
659 | 700 |
660 // (re)load the img from a new scaler URL | 701 // (re)load the img from a new scaler URL |
661 var redisplay = function (data) { | 702 var redisplay = function (data) { |
662 var settings = data.settings; | 703 var settings = data.settings; |