Mercurial > hg > digilib-old
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; |