Mercurial > hg > digilib
diff 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 |
line wrap: on
line diff
--- a/client/digitallibrary/jquery/jquery.digilib.js Wed Jan 26 20:37:45 2011 +0100 +++ b/client/digitallibrary/jquery/jquery.digilib.js Wed Jan 26 22:34:26 2011 +0100 @@ -89,7 +89,7 @@ img : "help.png" }, reset : { - onclick : "javascript:resetImage()", + onclick : "reset", tooltip : "reset image", img : "reset.png" }, @@ -208,14 +208,14 @@ // path to button images (must end with a slash) 'imagePath' : 'img/fullscreen/', //'standardSet' : ["reference","zoomin","zoomout","zoomarea","zoomfull","pagewidth","back","fwd","page","bird","SEP","help","reset","options"], - '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"], - 'specialSet' : ["mark","delmark","hmir","vmir","rot","brgt","cont","rgb","quality","size","calibrationx","scale","SEP","options"], + '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"], + 'specialSet' : ["mark","delmark","hmir","vmir","rot","brgt","cont","rgb","quality","size","calibrationx","scale","options"], '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'] } }, @@ -265,20 +265,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); @@ -439,6 +440,27 @@ } data.settings.cont = factor; redisplay(data); + }, + + 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); } }; @@ -599,12 +621,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 = ''; @@ -618,6 +641,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; @@ -1142,5 +1173,5 @@ $.error( 'action ' + action + ' does not exist on jQuery.digilib' ); } }; - + })(jQuery); \ No newline at end of file