# HG changeset patch # User hertzhaft # Date 1298422162 -3600 # Node ID b4b7c1618c194b83eae1d37092e9c17a2049b5f2 # Parent 29de310ed4f3f63c97b98b70dcb133f68b6cd226 refactored packParams(); new 'keep' marker class diff -r 29de310ed4f3 -r b4b7c1618c19 client/digitallibrary/jquery/jquery.digilib.js --- a/client/digitallibrary/jquery/jquery.digilib.js Mon Feb 21 18:37:44 2011 +0100 +++ b/client/digitallibrary/jquery/jquery.digilib.js Wed Feb 23 01:49:22 2011 +0100 @@ -774,40 +774,50 @@ retrieveOptions(data); }; + // put area into parameters + var packArea = function (settings, area) { + if (!area) return; + // zoom area + settings.wx = cropFloat(area.x); + settings.wy = cropFloat(area.y); + settings.ww = cropFloat(area.width); + settings.wh = cropFloat(area.height); + }; + + // put marks into parameters + var packMarks = function (settings, marks) { + if (!marks) return; + settings.mk = ''; + for (var i = 0; i < marks.length; i++) { + if (i) { + settings.mk += ','; + } + settings.mk += + cropFloatStr(marks[i].x) + '/' + + cropFloatStr(marks[i].y); + } + }; + + // pack scaler flags into parameters + var packScalerFlags = function (settings, flags) { + if (!flags) return; + var mo = ''; + for (var f in flags) { + if (mo) { + mo += ','; + } + mo += f; + } + settings.mo = mo; + }; + // put objects back into parameters var packParams = function (data) { var settings = data.settings; - // zoom area - if (data.zoomArea) { - settings.wx = cropFloat(data.zoomArea.x); - settings.wy = cropFloat(data.zoomArea.y); - settings.ww = cropFloat(data.zoomArea.width); - settings.wh = cropFloat(data.zoomArea.height); - } - // marks - if (data.marks) { - settings.mk = ''; - for (var i = 0; i < data.marks.length; i++) { - if (i) { - settings.mk += ','; - } - settings.mk += - cropFloatStr(data.marks[i].x) + '/' + - cropFloatStr(data.marks[i].y); - } - } - // Scaler flags - if (data.scalerFlags) { - var mo = ''; - for (var f in data.scalerFlags) { - if (mo) { - mo += ','; - } - mo += f; - } - settings.mo = mo; - } - // user interface options + packArea(settings, data.zoomArea); + packMarks(settings, data.marks); + packScalerFlags(settings, data.scalerFlags); + // store user interface options in cookie storeOptions(data); }; @@ -961,8 +971,8 @@ $img = $(''); } } - // create new inner html, keep buttons - $elem.contents(":not(div.buttons)").remove(); + // create new inner html, keeping buttons and content marked with "keep" class + $elem.contents(":not(.keep)").remove(); var $scaler = $('
'); // scaler should be the first child element? $elem.prepend($scaler); @@ -987,7 +997,8 @@ // no buttons here return; } - var $buttonsDiv = $('
'); + // button divs are marked with class "keep" + var $buttonsDiv = $('
'); var buttonNames = buttonSettings[buttonGroup]; for (var i = 0; i < buttonNames.length; i++) { var buttonName = buttonNames[i]; @@ -1588,6 +1599,9 @@ getDigilibUrl : getDigilibUrl, unpackParams : unpackParams, packParams : packParams, + packArea : packArea, + packMarks : packMarks, + packScalerFlags : packScalerFlags, storeOptions : storeOptions, redisplay : redisplay, updateDisplay : updateDisplay,