# HG changeset patch # User robcast # Date 1296725415 -3600 # Node ID 95e6dc1b34ecee3004260d2a0aa4fec29690323b # Parent 05665cc70a5ff744f303d4e615cfaae525c80b2c get reference works now in embedded. url configurable or taken from scaler url. diff -r 05665cc70a5f -r 95e6dc1b34ec client/digitallibrary/jquery/jquery.digilib.js --- a/client/digitallibrary/jquery/jquery.digilib.js Wed Feb 02 22:28:36 2011 +0100 +++ b/client/digitallibrary/jquery/jquery.digilib.js Thu Feb 03 10:30:15 2011 +0100 @@ -183,6 +183,8 @@ 'logoUrl' : '../img/digilib-logo-text1.png', // homepage url (behind logo) 'homeUrl' : 'http://digilib.berlios.de', + // base URL to digilib viewer (for reference URLs) + 'digilibBaseUrl' : null, // base URL to Scaler servlet 'scalerBaseUrl' : null, // list of Scaler parameters @@ -315,7 +317,7 @@ $elem.data('digilib', data); } unpackParams(data); - // check if browser knows background-size + // check if browser knows *background-size for (var bs in {'':1, '-moz-':1, '-webkit-':1, '-o-':1}) { if ($elem.css(bs+'background-size')) { data.hasBgSize = true; @@ -323,6 +325,22 @@ break; } } + // check digilib base URL + if (elemSettings.digilibBaseUrl == null) { + if (isFullscreen) { + // take current host + var url = window.location.toString(); + var pos = url.indexOf('?'); + elemSettings.digilibBaseUrl = url.substring(0, pos); + } else { + var url = elemSettings.scalerBaseUrl; + if (url) { + // build it from scaler URL + var bp = url.indexOf('/servlet/Scaler'); + elemSettings.digilibBaseUrl = url.substring(0, bp) + '/digilib.jsp'; + } + } + } // create HTML structure for scaler setupScalerDiv(data); // add buttons @@ -547,12 +565,7 @@ // presents a reference url (returns value if noprompt) reference : function (data, noprompt) { var settings = data.settings; - var url; - if (settings.interactionMode === 'fullscreen') { - url = getDigilibUrl(data); - } else { - url = getScalerUrl(data); - } + var url = getDigilibUrl(data); if (noprompt == null) { window.prompt("URL reference to the current view", url); } @@ -663,11 +676,7 @@ packParams(data); var settings = data.settings; var queryString = getParamString(settings, settings.digilibParamNames, defaults); - var url = window.location.toString(); - var pos = url.indexOf('?'); - var baseUrl = url.substring(0, pos); - var newurl = baseUrl + '?' + queryString; - return newurl; + return settings.digilibBaseUrl + '?' + queryString; }; // processes some parameters into objects and stuff