Mercurial > hg > digilib-old
comparison webapp/src/main/webapp/jquery/jquery.digilib.js @ 1011:5f35e97d8ae3
oops, worked on wrong version
author | hertzhaft |
---|---|
date | Sat, 18 Feb 2012 10:00:26 +0100 |
parents | ba9d90589ee8 |
children | dc09bccf8357 |
comparison
equal
deleted
inserted
replaced
1010:ba9d90589ee8 | 1011:5f35e97d8ae3 |
---|---|
36 | 36 |
37 (function($) { | 37 (function($) { |
38 | 38 |
39 var defaults = { | 39 var defaults = { |
40 // version of this script | 40 // version of this script |
41 'version' : 'jquery.digilib.js 2.1.4b1', | 41 'version' : 'jquery.digilib.js 2.1.5b2', |
42 // logo url | 42 // logo url |
43 'logoUrl' : 'img/digilib-logo-text1.png', | 43 'logoUrl' : 'img/digilib-logo-text1.png', |
44 // homepage url (behind logo) | 44 // homepage url (behind logo) |
45 'homeUrl' : 'http://digilib.berlios.de', | 45 'homeUrl' : 'http://digilib.berlios.de', |
46 // base URL to digilib (e.g. 'http://digilib.mpiwg-berlin.mpg.de/digitallibrary') | 46 // base URL to digilib (e.g. 'http://digilib.mpiwg-berlin.mpg.de/digitallibrary') |
106 var EPSILON = 0.0001; | 106 var EPSILON = 0.0001; |
107 // list of buttons | 107 // list of buttons |
108 var buttons = {}; | 108 var buttons = {}; |
109 | 109 |
110 var actions = { | 110 var actions = { |
111 | 111 |
112 /** init: digilib initialization | 112 /** init: digilib initialization |
113 * | 113 * |
114 * @param options | 114 * @param options |
115 * @returns | 115 * @returns |
116 */ | 116 */ |
339 zoomFull : function (data, mode) { | 339 zoomFull : function (data, mode) { |
340 data.zoomArea = FULL_AREA.copy(); | 340 data.zoomArea = FULL_AREA.copy(); |
341 setFitMode(data, mode); | 341 setFitMode(data, mode); |
342 // zoom full only works in screen mode | 342 // zoom full only works in screen mode |
343 setScaleMode(data, 'screen'); | 343 setScaleMode(data, 'screen'); |
344 // bird's eye off for full zoom | |
345 data.settings.isBirdDivVisible = false; | 344 data.settings.isBirdDivVisible = false; |
346 redisplay(data); | 345 redisplay(data); |
347 }, | 346 }, |
348 | 347 |
349 /** mirror the image | 348 /** mirror the image |
450 */ | 449 */ |
451 reference : function (data, noprompt) { | 450 reference : function (data, noprompt) { |
452 var url = getDigilibUrl(data); | 451 var url = getDigilibUrl(data); |
453 if (noprompt == null) { | 452 if (noprompt == null) { |
454 window.prompt("URL reference to the current view", url); | 453 window.prompt("URL reference to the current view", url); |
454 // return nothing so we can use is in javascript: url without reload | |
455 return; | |
455 } | 456 } |
456 return url; | 457 return url; |
457 }, | 458 }, |
458 | 459 |
460 /** | |
461 * Returns URL to the full digilib.html with the current parameters. | |
462 * Redirects immediately with mode=open. | |
463 * | |
464 * @param data | |
465 * @param mode | |
466 */ | |
467 digilibUrl : function (data, mode) { | |
468 var url = getDigilibUrl(data, '/jquery/digilib.html'); | |
469 if (mode === 'open') { | |
470 // redirect | |
471 window.location = url; | |
472 } else if (mode === 'open_new') { | |
473 // open new window | |
474 window.open(url); | |
475 return; | |
476 } | |
477 return url; | |
478 }, | |
479 | |
480 | |
459 /** set image quality | 481 /** set image quality |
460 * | 482 * |
461 * @param data | 483 * @param data |
462 * @param qual | 484 * @param qual |
463 */ | 485 */ |
611 var params = getParamString(bgSettings, settings.previewImgParamNames, defaults); | 633 var params = getParamString(bgSettings, settings.previewImgParamNames, defaults); |
612 var url = settings.scalerBaseUrl + '?' + params; | 634 var url = settings.scalerBaseUrl + '?' + params; |
613 return url; | 635 return url; |
614 }; | 636 }; |
615 | 637 |
616 /** returns URL and query string for current digilib | 638 /** |
617 * | 639 * returns URL and query string for current digilib. |
618 */ | 640 * if digilibPage != null returns URL to page in digilib installation with digilib parameters, |
619 var getDigilibUrl = function (data) { | 641 * otherwise using current URL and parameters. |
642 * | |
643 */ | |
644 var getDigilibUrl = function (data, digilibPage) { | |
620 packParams(data); | 645 packParams(data); |
621 var settings = data.settings; | 646 var settings = data.settings; |
622 var paramList = settings.additionalParamNames.concat(settings.digilibParamNames); | 647 var paramList = settings.digilibParamNames; |
623 if (settings.suppressParamNames != null) { | 648 if (digilibPage != null) { |
624 // eliminate suppressed parameters from list | 649 var baseUrl = data.settings.digilibBaseUrl + digilibPage; |
625 paramList = $.map(paramList, function(e, idx) { | 650 } else { |
626 if ($.inArray(e, settings.suppressParamNames) >= 0) { | 651 paramList = settings.additionalParamNames.concat(settings.digilibParamNames); |
627 return null; | 652 if (settings.suppressParamNames != null) { |
628 } else { | 653 // eliminate suppressed parameters from list |
629 return e; | 654 paramList = $.map(paramList, function(e, idx) { |
630 } | 655 if ($.inArray(e, settings.suppressParamNames) >= 0) { |
631 }); | 656 return null; |
657 } else { | |
658 return e; | |
659 } | |
660 }); | |
661 } | |
662 // take url from current location | |
663 var baseUrl = window.location.href; | |
664 var pos = baseUrl.indexOf('?'); | |
665 if (pos > -1) { | |
666 baseUrl = baseUrl.substring(0, pos); | |
667 } | |
632 } | 668 } |
633 var queryString = getParamString(settings, paramList, defaults); | 669 var queryString = getParamString(settings, paramList, defaults); |
634 // take url from current location | 670 return baseUrl + '?' + queryString; |
635 var url = window.location.href; | |
636 var pos = url.indexOf('?'); | |
637 if (pos > -1) { | |
638 url = url.substring(0, pos); | |
639 } | |
640 return url + '?' + queryString; | |
641 }; | 671 }; |
642 | 672 |
643 /** loads image information from digilib server via HTTP | 673 /** loads image information from digilib server via HTTP |
644 * | 674 * |
645 */ | 675 */ |