Mercurial > hg > digilib-old
changeset 1011:5f35e97d8ae3
oops, worked on wrong version
author | hertzhaft |
---|---|
date | Sat, 18 Feb 2012 10:00:26 +0100 |
parents | ba9d90589ee8 |
children | dc09bccf8357 |
files | webapp/src/main/webapp/jquery/jquery.digilib.js |
diffstat | 1 files changed, 52 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- a/webapp/src/main/webapp/jquery/jquery.digilib.js Sat Feb 18 09:54:12 2012 +0100 +++ b/webapp/src/main/webapp/jquery/jquery.digilib.js Sat Feb 18 10:00:26 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.5b2', // logo url 'logoUrl' : 'img/digilib-logo-text1.png', // homepage url (behind logo) @@ -108,7 +108,7 @@ var buttons = {}; var actions = { - + /** init: digilib initialization * * @param options @@ -341,7 +341,6 @@ setFitMode(data, mode); // zoom full only works in screen mode setScaleMode(data, 'screen'); - // bird's eye off for full zoom data.settings.isBirdDivVisible = false; redisplay(data); }, @@ -452,10 +451,33 @@ var url = getDigilibUrl(data); if (noprompt == null) { window.prompt("URL reference to the current view", url); + // return nothing so we can use is in javascript: url without reload + return; } 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 url = getDigilibUrl(data, '/jquery/digilib.html'); + if (mode === 'open') { + // redirect + window.location = url; + } else if (mode === 'open_new') { + // open new window + window.open(url); + return; + } + return url; + }, + + /** set image quality * * @param data @@ -613,31 +635,39 @@ return url; }; - /** returns URL and query string for current digilib + /** + * returns URL and query string for current digilib. + * if digilibPage != null returns URL to page in digilib installation with digilib parameters, + * otherwise using current URL and parameters. * */ - var getDigilibUrl = function (data) { + var getDigilibUrl = function (data, digilibPage) { packParams(data); var settings = data.settings; - var paramList = settings.additionalParamNames.concat(settings.digilibParamNames); - if (settings.suppressParamNames != null) { - // eliminate suppressed parameters from list - paramList = $.map(paramList, function(e, idx) { - if ($.inArray(e, settings.suppressParamNames) >= 0) { - return null; - } else { - return e; - } - }); + var paramList = settings.digilibParamNames; + if (digilibPage != null) { + var baseUrl = data.settings.digilibBaseUrl + digilibPage; + } else { + paramList = settings.additionalParamNames.concat(settings.digilibParamNames); + if (settings.suppressParamNames != null) { + // eliminate suppressed parameters from list + paramList = $.map(paramList, function(e, idx) { + if ($.inArray(e, settings.suppressParamNames) >= 0) { + return null; + } else { + return e; + } + }); + } + // take url from current location + var baseUrl = window.location.href; + var pos = baseUrl.indexOf('?'); + if (pos > -1) { + baseUrl = baseUrl.substring(0, pos); + } } 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); - } - return url + '?' + queryString; + return baseUrl + '?' + queryString; }; /** loads image information from digilib server via HTTP