diff client/digitallibrary/jquery/jquery.digilib.regions.js @ 848:77248c6d2a5f jquery

fix missing buttons
author hertzhaft
date Sun, 06 Mar 2011 13:16:27 +0100
parents 9fa078dcb493
children 47a6b93bde43
line wrap: on
line diff
--- a/client/digitallibrary/jquery/jquery.digilib.regions.js	Sun Mar 06 12:58:09 2011 +0100
+++ b/client/digitallibrary/jquery/jquery.digilib.regions.js	Sun Mar 06 13:16:27 2011 +0100
@@ -377,10 +377,11 @@
     // event handler, sets buttons and shows regions
     var handleUpdate = function (evt) {
         data = this;
-        fn.highlightButtons(data, 'regions' , data.settings.isRegionVisible);
-        fn.highlightButtons(data, 'regionhtml' , data.settings.showRegionHTML);
+        var settings = data.settings;
+        fn.highlightButtons(data, 'regions' , settings.isRegionVisible);
+        fn.highlightButtons(data, 'regionhtml' , settings.showRegionHTML);
         showRegionDivs(data);
-        console.debug("regions: handleUpdate", data.settings.rg);
+        console.debug("regions: handleUpdate", settings.rg);
     };
 
     // event handler, redisplays regions (e.g. in a new position)
@@ -420,27 +421,29 @@
         var $html = $('<div class="keep regionHTML"/>');
         $elem.append($html);
         data.$htmlDiv = $html;
+        // install event handler
+        var $data = $(data);
+        $data.bind('setup', handleSetup);
+        $data.bind('update', handleUpdate);
+        $data.bind('redisplay', handleRedisplay);
+        $data.bind('dragZoom', handleDragZoom);
+        var settings = data.settings;
+        var hasRegionContent = settings.includeRegionContent;
         // no URL-defined regions, no buttons when regions are predefined in HTML
-        var hasRegionContent = data.settings.includeRegionContent;
         if (!hasRegionContent) {
+            var mode = settings.interactionMode;
             // add "rg" to digilibParamNames
-            data.settings.digilibParamNames.push('rg');
+            settings.digilibParamNames.push('rg');
             // additional buttons
-            var buttonSettings = data.settings.buttonSettings.fullscreen;
+            var buttonSettings = settings.buttonSettings[mode];
             // configure buttons through digilib "regionSet" option
-            var buttonSet = data.settings.regionSet || regionSet; 
+            var buttonSet = settings.regionSet || regionSet; 
             // set regionSet to [] or '' for no buttons (when showing regions only)
             if (buttonSet.length && buttonSet.length > 0) {
                 buttonSettings['regionSet'] = buttonSet;
                 buttonSettings.buttonSets.push('regionSet');
             }
         }
-        // install event handler
-        var $data = $(data);
-        $data.bind('setup', handleSetup);
-        $data.bind('update', handleUpdate);
-        $data.bind('redisplay', handleRedisplay);
-        $data.bind('dragZoom', handleDragZoom);
     };
 
     // plugin object with name and install/init methods