changeset 1006:c9c9621eb1e6

CLOSED - # 24: action "digilibUrl" for getting a full digilib url https://it-dev.mpiwg-berlin.mpg.de/tracs/digilib/ticket/24
author robcast
date Tue, 14 Feb 2012 18:36:12 +0100
parents a5a27bc99eef
children 15ebafae854a 3bac9932df01
files webapp/src/main/webapp/jquery/jquery.digilib.js
diffstat 1 files changed, 28 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/webapp/src/main/webapp/jquery/jquery.digilib.js	Tue Feb 14 10:17:01 2012 +0100
+++ b/webapp/src/main/webapp/jquery/jquery.digilib.js	Tue Feb 14 18:36:12 2012 +0100
@@ -38,7 +38,7 @@
 
     var defaults = {
         // version of this script
-        'version' : 'jquery.digilib.js 2.1.4b1',
+        'version' : 'jquery.digilib.js 2.1.5b1',
         // logo url
         'logoUrl' : 'img/digilib-logo-text1.png',
         // homepage url (behind logo)
@@ -456,6 +456,24 @@
             return url;
         },
 
+        /** 
+         * Returns URL to the full digilib.html with the current parameters.
+         * Redirects immediately with mode=open.
+         * 
+         * @param data
+         * @param mode
+         */
+        digilibUrl : function (data, mode) {
+            var baseUrl = data.settings.digilibBaseUrl + '/jquery/digilib.html';
+            var url = getDigilibUrl(data, baseUrl);
+            if (mode === 'open') {
+                // redirect
+                window.location = url;
+            }
+            return url;
+        },
+        
+        
         /** set image quality
          * 
          * @param data
@@ -616,7 +634,7 @@
     /** returns URL and query string for current digilib
      * 
      */
-    var getDigilibUrl = function (data) {
+    var getDigilibUrl = function (data, baseUrl) {
         packParams(data);
         var settings = data.settings;
         var paramList = settings.additionalParamNames.concat(settings.digilibParamNames);
@@ -631,13 +649,15 @@
         	});
         }
         var queryString = getParamString(settings, paramList, defaults);
-        // take url from current location
-        var url = window.location.href;
-        var pos = url.indexOf('?');
-        if (pos > -1) {
-        	url = url.substring(0, pos);
+        if (baseUrl == null) {
+            // take url from current location
+            baseUrl = window.location.href;
+            var pos = baseUrl.indexOf('?');
+            if (pos > -1) {
+                baseUrl = baseUrl.substring(0, pos);
+            }
         }
-        return url + '?' + queryString;
+        return baseUrl + '?' + queryString;
     };
 
     /** loads image information from digilib server via HTTP