diff client/digitallibrary/jquery/jquery.digilib.js @ 735:790a7673bef0 jquery

improved some embedded buttons; fixed reset function
author hertzhaft
date Wed, 02 Feb 2011 00:24:22 +0100
parents 25f2898696a2
children 54928116a7b2
line wrap: on
line diff
--- a/client/digitallibrary/jquery/jquery.digilib.js	Tue Feb 01 19:30:59 2011 +0100
+++ b/client/digitallibrary/jquery/jquery.digilib.js	Wed Feb 02 00:24:22 2011 +0100
@@ -232,7 +232,7 @@
                 }
         },
         // number of visible button groups
-        'visibleButtonSets' : 1,    
+        'visibleButtonSets' : 1,
         // is birdView shown?
         'isBirdDivVisible' : false,
         // dimensions of bird's eye div
@@ -252,7 +252,7 @@
     // affine geometry classes
     var geom = dlGeometry();
 
-    var MAX_ZOOMAREA = geom.rectangle(0, 0, 1, 1);
+    var FULL_AREA = geom.rectangle(0, 0, 1, 1);
 
     var actions = {
         // init: digilib initialization
@@ -326,7 +326,7 @@
                     }
                 // about window creation - TODO: could be deferred? restrict to only one item?
                 setupAboutDiv(data);
-                // TODO: the actual moving code
+                // drag zoom area around in scaler div 
                 setupZoomDrag(data);
             });
         },
@@ -382,7 +382,7 @@
                 }
             // reset mk and others(?)
             data.marks = [];
-            data.zoomArea = MAX_ZOOMAREA;
+            data.zoomArea = FULL_AREA;
             // then reload
             redisplay(data);
         },
@@ -399,7 +399,7 @@
 
         // zoom out to full page
         zoomFull : function (data, mode) {
-            data.zoomArea = MAX_ZOOMAREA;
+            data.zoomArea = FULL_AREA;
             if (mode === 'width') {
                 data.dlOpts.fitwidth = 1;
                 delete data.dlOpts.fitheight;
@@ -514,24 +514,21 @@
             var settings = data.settings;
             var paramNames = settings.digilibParamNames;
             var params = data.queryParams;
-            // resets zoomArea, marks, scalerflags
-            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 || ''; // no default defined
-                settings.pn = params.pn || defaults.pn;
-            // embedded: restore original parameters 
-            } else {
-                $.extend(settings, params);
-                }
-            // TODO: should we really reset all user preferences here?
+            settings.fn = params.fn || ''; // no default defined
+            settings.pn = params.pn || defaults.pn;
+            settings.dw = params.dw;
+            settings.dh = params.dh;
             settings.isBirdDivVisible = false;
             settings.visibleButtonSets = 1;
+            // resets zoomArea, marks, scalerflags
+            data.zoomArea = FULL_AREA;
+            data.marks = [];
+            data.scalerFlags = {};
             delete data.dlOpts.fitwidth;
             delete data.dlOpts.fitheight;
             redisplay(data);
@@ -786,14 +783,6 @@
             }
     };
 
-    // clear digilib data for reset
-    var resetData = function (data) {
-        // TODO: we should reset instead of delete
-        if (data.zoomArea) delete data.zoomArea;
-        if (data.marks) delete data.marks;
-        if (data.scalerFlags) delete data.scalerFlags;
-    };
-
     // (re)load the img from a new scaler URL
     var redisplay = function (data) {
         var settings = data.settings; 
@@ -1128,7 +1117,7 @@
             var $img = $(this);
             console.debug("birdimg loaded! this=", this, " data=", data);
             // create Transform from current area and picsize
-            data.birdTrafo = getImgTrafo($img, MAX_ZOOMAREA);
+            data.birdTrafo = getImgTrafo($img, FULL_AREA);
             // display red indicator around zoomarea
             renderBirdArea(data);
             // enable click and drag
@@ -1167,7 +1156,7 @@
             $birdZoom.show();
         }
         // position may have changed
-        data.birdTrafo = getImgTrafo(data.$birdImg, MAX_ZOOMAREA);
+        data.birdTrafo = getImgTrafo(data.$birdImg, FULL_AREA);
         var indRect = data.birdTrafo.transform(zoomArea);
         var coords = {
             left : indRect.x-2, // acount for frame width
@@ -1200,7 +1189,7 @@
         // and recenter
         newarea.x -= 0.5 * (newarea.width - area.width);
         newarea.y -= 0.5 * (newarea.height - area.height);
-        newarea = MAX_ZOOMAREA.fit(newarea);
+        newarea = FULL_AREA.fit(newarea);
         data.zoomArea = newarea;
         redisplay(data);
     };
@@ -1321,7 +1310,7 @@
         var birdZoomStartDrag = function(evt) {
             startPos = geom.position(evt);
             // position may have changed
-            data.birdTrafo = getImgTrafo($birdImg, MAX_ZOOMAREA);
+            data.birdTrafo = getImgTrafo($birdImg, FULL_AREA);
             birdImgRect = geom.rectangle($birdImg);
             birdZoomRect = geom.rectangle($birdZoom);
             $document.bind("mousemove.dlBirdMove", birdZoomMove);
@@ -1330,7 +1319,7 @@
             $birdZoom.bind("mouseup.dlBirdMove", birdZoomEndDrag);
             return false;
         };
-        
+
         // clear old handler
         $document.unbind(".dlBirdMove");
         $birdImg.unbind(".dlBirdMove");
@@ -1397,11 +1386,11 @@
             za.addPosition(delta);
             // transform back
             var newArea = data.imgTrafo.invtransform(za);
-            data.zoomArea = MAX_ZOOMAREA.fit(newArea);
+            data.zoomArea = FULL_AREA.fit(newArea);
             redisplay(data);
             return false;
             };
-            
+
         // clear old handler
         $document.unbind(".dlZoomDrag");
         $scaler.unbind(".dlBirdMove");