Mercurial > hg > digilib-old
diff 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 |
line wrap: on
line diff
--- a/client/digitallibrary/jquery/jquery.digilib.js Wed Jan 26 23:25:41 2011 +0100 +++ b/client/digitallibrary/jquery/jquery.digilib.js Wed Jan 26 23:43:39 2011 +0100 @@ -34,7 +34,7 @@ (function($) { var buttons = { reference : { - onclick : "javascript:getRefWin()", + onclick : "reference", tooltip : "get a reference URL", img : "reference.png" }, @@ -89,7 +89,7 @@ img : "help.png" }, reset : { - onclick : "javascript:resetImage()", + onclick : "reset", tooltip : "reset image", img : "reset.png" }, @@ -212,15 +212,14 @@ 'fullscreen' : { // path to button images (must end with a slash) 'imagePath' : 'img/fullscreen/', - //'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"], 'standardSet' : ["reference","zoomin","zoomout","zoomarea","zoomfull","pagewidth","back","fwd","page","bird","SEP","help","reset","moreoptions"], 'specialSet' : ["mark","delmark","hmir","vmir","rot","brgt","cont","rgb","quality","size","calibrationx","scale","SEP","lessoptions"], 'buttonSets' : ['standardSet', 'specialSet'] }, 'embedded' : { 'imagePath' : 'img/embedded/16/', - 'standardSet' : ["reference","zoomin","zoomout","zoomarea","zoomfull","hmir","vmir","back","fwd","page","rot","brgt","cont","rgb","quality","size","scale","bird","help","options"], - 'specialSet' : ["mark","delmark","hmir","vmir","rot","brgt","cont","rgb","quality","size","calibrationx","scale","SEP","options"], + 'standardSet' : ["reference","zoomin","zoomout","zoomarea","zoomfull","hmir","vmir","back","fwd","page","rot","brgt","cont","rgb","quality","size","scale","bird","help","reset","options"], + 'specialSet' : ["mark","delmark","hmir","vmir","rot","brgt","cont","rgb","quality","size","calibrationx","scale","options"], 'buttonSets' : ['standardSet', 'specialSet'] } }, @@ -270,20 +269,21 @@ return this.each(function() { var $elem = $(this); var data = $elem.data('digilib'); - var elemSettings; + var params, elemSettings; // if the plugin hasn't been initialized yet if (!data) { // merge query parameters if (isFullscreen) { - elemSettings = $.extend({}, settings, queryParams); + params = queryParams; } else { - elemSettings = $.extend({}, settings, parseImgParams($elem)); - } + params = parseImgParams($elem); + }; // store $(this) element in the settings + elemSettings = $.extend({}, settings, params); data = { $elem : $elem, settings : elemSettings, - queryParams : queryParams + queryParams : params }; // store in data element $elem.data('digilib', data); @@ -478,6 +478,38 @@ function () {$newSet.show();}); data.visibleButtonSets += 1; } + }, + + reset : function (data) { + var settings = data.settings; + var paramNames = settings.digilibParamNames; + var params = data.queryParams; + resetData(data); + // delete all digilib parameters + for (var i = 0; i < paramNames.length; i++) { + var paramName = paramNames[i]; + delete settings[paramName]; + }; + // fullscreen: restore only fn/pn parameters + if (settings.interactionMode === 'fullscreen') { + settings['fn'] = params.fn; + settings['pn'] = params.pn; + // embedded: restore original parameters + } else { + $.extend(settings, params); + }; + redisplay(data); + }, + + reference : function (data) { + var settings = data.settings; + var url; + if (settings.interactionMode === 'fullscreen') { + url = getDigilibUrl(data); + } else { + url = getScalerUrl(data); + }; + window.prompt("URL reference to the current view", url); } }; @@ -638,12 +670,13 @@ } settings.mo = mo; } - // digilib option birdview - if (settings.isBirdDivVisible) { - data.dlOpts.birdview = 1; - } else { - delete data.dlOpts.birdview; - } + // digilib option birdview TODO: replace with cookie + //if (settings.isBirdDivVisible) { + // data.dlOpts.birdview = 1; + //} else { + // delete data.dlOpts.birdview; + //} + // digilib options if (data.dlOpts) { var clop = ''; @@ -657,6 +690,14 @@ } }; + // clear digilib data for reset + var resetData = function (data) { + if (data.zoomArea) delete data.zoomArea; + if (data.marks) delete data.marks; + if (data.scalerFlags) delete data.scalerFlags; + if (data.dlOpts) delete data.dlOpts; + }; + // (re)load the img from a new scaler URL var redisplay = function (data) { var settings = data.settings;