# 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 = $('