comparison client/digitallibrary/jquery/jquery.digilib.js @ 744:95e6dc1b34ec jquery

get reference works now in embedded. url configurable or taken from scaler url.
author robcast
date Thu, 03 Feb 2011 10:30:15 +0100
parents 05665cc70a5f
children ad483c008159
comparison
equal deleted inserted replaced
743:05665cc70a5f 744:95e6dc1b34ec
181 'version' : 'jquery.digilib.js 0.9', 181 'version' : 'jquery.digilib.js 0.9',
182 // logo url 182 // logo url
183 'logoUrl' : '../img/digilib-logo-text1.png', 183 'logoUrl' : '../img/digilib-logo-text1.png',
184 // homepage url (behind logo) 184 // homepage url (behind logo)
185 'homeUrl' : 'http://digilib.berlios.de', 185 'homeUrl' : 'http://digilib.berlios.de',
186 // base URL to digilib viewer (for reference URLs)
187 'digilibBaseUrl' : null,
186 // base URL to Scaler servlet 188 // base URL to Scaler servlet
187 'scalerBaseUrl' : null, 189 'scalerBaseUrl' : null,
188 // list of Scaler parameters 190 // list of Scaler parameters
189 'scalerParamNames' : ['fn','pn','dw','dh','ww','wh','wx','wy','ws','mo', 191 'scalerParamNames' : ['fn','pn','dw','dh','ww','wh','wx','wy','ws','mo',
190 'rot','cont','brgt','rgbm','rgba','ddpi','ddpix','ddpiy'], 192 'rot','cont','brgt','rgbm','rgba','ddpi','ddpix','ddpiy'],
313 }; 315 };
314 // store in data element 316 // store in data element
315 $elem.data('digilib', data); 317 $elem.data('digilib', data);
316 } 318 }
317 unpackParams(data); 319 unpackParams(data);
318 // check if browser knows background-size 320 // check if browser knows *background-size
319 for (var bs in {'':1, '-moz-':1, '-webkit-':1, '-o-':1}) { 321 for (var bs in {'':1, '-moz-':1, '-webkit-':1, '-o-':1}) {
320 if ($elem.css(bs+'background-size')) { 322 if ($elem.css(bs+'background-size')) {
321 data.hasBgSize = true; 323 data.hasBgSize = true;
322 data.bgSizeName = bs+'background-size'; 324 data.bgSizeName = bs+'background-size';
323 break; 325 break;
326 }
327 }
328 // check digilib base URL
329 if (elemSettings.digilibBaseUrl == null) {
330 if (isFullscreen) {
331 // take current host
332 var url = window.location.toString();
333 var pos = url.indexOf('?');
334 elemSettings.digilibBaseUrl = url.substring(0, pos);
335 } else {
336 var url = elemSettings.scalerBaseUrl;
337 if (url) {
338 // build it from scaler URL
339 var bp = url.indexOf('/servlet/Scaler');
340 elemSettings.digilibBaseUrl = url.substring(0, bp) + '/digilib.jsp';
341 }
324 } 342 }
325 } 343 }
326 // create HTML structure for scaler 344 // create HTML structure for scaler
327 setupScalerDiv(data); 345 setupScalerDiv(data);
328 // add buttons 346 // add buttons
545 }, 563 },
546 564
547 // presents a reference url (returns value if noprompt) 565 // presents a reference url (returns value if noprompt)
548 reference : function (data, noprompt) { 566 reference : function (data, noprompt) {
549 var settings = data.settings; 567 var settings = data.settings;
550 var url; 568 var url = getDigilibUrl(data);
551 if (settings.interactionMode === 'fullscreen') {
552 url = getDigilibUrl(data);
553 } else {
554 url = getScalerUrl(data);
555 }
556 if (noprompt == null) { 569 if (noprompt == null) {
557 window.prompt("URL reference to the current view", url); 570 window.prompt("URL reference to the current view", url);
558 } 571 }
559 return url; 572 return url;
560 }, 573 },
661 // returns URL and query string for current digilib 674 // returns URL and query string for current digilib
662 var getDigilibUrl = function (data) { 675 var getDigilibUrl = function (data) {
663 packParams(data); 676 packParams(data);
664 var settings = data.settings; 677 var settings = data.settings;
665 var queryString = getParamString(settings, settings.digilibParamNames, defaults); 678 var queryString = getParamString(settings, settings.digilibParamNames, defaults);
666 var url = window.location.toString(); 679 return settings.digilibBaseUrl + '?' + queryString;
667 var pos = url.indexOf('?');
668 var baseUrl = url.substring(0, pos);
669 var newurl = baseUrl + '?' + queryString;
670 return newurl;
671 }; 680 };
672 681
673 // processes some parameters into objects and stuff 682 // processes some parameters into objects and stuff
674 var unpackParams = function (data) { 683 var unpackParams = function (data) {
675 var settings = data.settings; 684 var settings = data.settings;