diff webapp/src/main/webapp/jquery/jquery.digilib.js @ 1058:95d28c6ad018

rgb slider now gets/sets values, plus some refactoring
author hertzhaft
date Sat, 31 Mar 2012 12:10:34 +0200
parents 86ba65b86d52
children d9abeaa44c49
line wrap: on
line diff
--- a/webapp/src/main/webapp/jquery/jquery.digilib.js	Sat Mar 31 00:41:28 2012 +0200
+++ b/webapp/src/main/webapp/jquery/jquery.digilib.js	Sat Mar 31 12:10:34 2012 +0200
@@ -38,7 +38,7 @@
 
     var defaults = {
         // version of this script
-        'version' : 'jquery.digilib.js 2.1.6a2',
+        'version' : 'jquery.digilib.js 2.1.6a3',
         // logo url
         'logoUrl' : 'img/digilib-logo-text1.png',
         // homepage url (behind logo)
@@ -266,8 +266,8 @@
             var $elem = data.$elem;
             var settings = data.settings;
             var cssPrefix = settings.cssPrefix;
-            var $about = $elem.find('#'+cssPrefix+'about');
-            if ($about.length > 0) return; // already onscreen
+            var aboutSelector = '#'+cssPrefix+'about';
+            if (isOnScreen(data, aboutSelector)) return;
             // make relative logoUrl absolute
             var logoUrl = settings.logoUrl;
             if (logoUrl.charAt(0) !== '/' && logoUrl.substring(0,3) !== 'http') {
@@ -1598,12 +1598,27 @@
     /** center an item on the visible screen rect
     */
     var centerOnScreen = function (data, $div) {
+        if ($div == null) return;
         var r = geom.rectangle($div);
         var s = fn.getFullscreenRect(data);
         r.setCenter(s.getCenter());
         r.adjustDiv($div);
     };
 
+    /** find an element in digilib $elem
+    */
+    var find = function (data, selector) {
+        var $obj = data.$elem.find(selector);
+        return ($obj.length > 0) ? $obj : null;
+    };
+
+    /** does element exist in digilib?
+    */
+    var isOnScreen = function (data, selector) {
+        var $obj = find(data, selector);
+        return ($obj != null);
+    };
+
     /** fade out and remove an item
     */
     var withdraw = function ($item) {
@@ -1665,7 +1680,9 @@
             cropFloat : cropFloat,
             cropFloatStr : cropFloatStr,
             centerOnScreen : centerOnScreen,
-            withdraw : withdraw
+            withdraw : withdraw,
+            isOnScreen : isOnScreen,
+            find : find
     };
 
     // hook digilib plugin into jquery