Mercurial > hg > digilib
comparison client/digitallibrary/jquery/jquery.digilib.js @ 737:f527959baa3e 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 | a3381aff9f12 |
| children | bd283b2cdbbc |
comparison
equal
deleted
inserted
replaced
| 736:a3381aff9f12 | 737:f527959baa3e |
|---|---|
| 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; |
