comparison client/digitallibrary/jquery/jquery.digilib.js @ 676:d1605eb99d74 jquery

merge with 6c869c851c9a350b3717397879cc13b3a838d7b0
author robcast
date Tue, 25 Jan 2011 22:28:48 +0100
parents ca37fb4b1e72 6c869c851c9a
children 0233e39305d3
comparison
equal deleted inserted replaced
675:ca37fb4b1e72 676:d1605eb99d74
202 }, 202 },
203 // button groups 203 // button groups
204 // is birdView shown? 204 // is birdView shown?
205 'isBirdDivVisible' : false, 205 'isBirdDivVisible' : false,
206 // dimensions of bird's eye div 206 // dimensions of bird's eye div
207 'birdDivOptions' : {'dw' : 200, 'dh' : 200}, 207 'birdDivWidth' : 200,
208 'birdDivHeight' : 200,
208 // style of the zoom area indicator in the bird's eye div 209 // style of the zoom area indicator in the bird's eye div
209 'birdIndicatorStyle' : {'border' : '2px solid #ff0000' }, 210 'birdIndicatorStyle' : {'border' : '2px solid #ff0000' },
210 // style of zoom area "rubber band" 211 // style of zoom area "rubber band"
211 'zoomrectStyle' : {'border' : '2px solid #ff0000' }, 212 'zoomrectStyle' : {'border' : '2px solid #ff0000' },
212 // is the "about" window shown? 213 // is the "about" window shown?
720 var setupBirdDiv = function (data) { 721 var setupBirdDiv = function (data) {
721 var $elem = data.$elem; 722 var $elem = data.$elem;
722 var settings = data.settings; 723 var settings = data.settings;
723 // use only the relevant parameters 724 // use only the relevant parameters
724 var keys = ['fn','pn','dw','dh']; 725 var keys = ['fn','pn','dw','dh'];
725 var birdSettings = $.extend({}, settings, settings.birdDivOptions); 726 var birdDivOptions = {
727 dw : settings.birdDivWidth,
728 dh : settings.birdDivHeight
729 };
730 var birdSettings = $.extend({}, settings, birdDivOptions);
726 var birdUrl = settings.scalerBaseUrl + '?' + getParamString(birdSettings, keys); 731 var birdUrl = settings.scalerBaseUrl + '?' + getParamString(birdSettings, keys);
727 // the bird's eye div 732 // the bird's eye div
728 var $birdDiv = $('<div class="birdview" style="display:none"/>'); 733 var $birdDiv = $('<div class="birdview" style="display:none"/>');
729 // the detail indicator frame 734 // the detail indicator frame
730 var $birdzoomDiv = $('<div class="birdzoom" style="display:none; position:absolute; background-color:transparent;"/>'); 735 var $birdzoomDiv = $('<div class="birdzoom" style="display:none; position:absolute; background-color:transparent;"/>');
867 } 872 }
868 } 873 }
869 }; 874 };
870 875
871 var renderBirdArea = function (data) { 876 var renderBirdArea = function (data) {
872 var $ind = data.$birdDiv.find('div.birdzoom'); 877 var $birdzoom = data.$birdDiv.find('div.birdzoom');
873 var zoomArea = data.zoomArea; 878 var zoomArea = data.zoomArea;
874 var indRect = data.birdTrafo.transform(zoomArea); 879 var indRect = data.birdTrafo.transform(zoomArea);
875 var coords = { 880 var coords = {
876 left : indRect.x-2, // acount for frame width 881 left : indRect.x-2, // acount for frame width
877 top : indRect.y-2, 882 top : indRect.y-2,
879 height: indRect.height 884 height: indRect.height
880 }; 885 };
881 var normalSize = isFullArea(zoomArea); 886 var normalSize = isFullArea(zoomArea);
882 if (data.settings.interactionMode === 'fullscreen') { 887 if (data.settings.interactionMode === 'fullscreen') {
883 // no animation for fullscreen 888 // no animation for fullscreen
884 if (normalSize) return $ind.hide(); 889 if (normalSize) return $birdzoom.hide();
885 $ind.width(coords.width); 890 $birdzoom.width(coords.width);
886 $ind.height(coords.height); 891 $birdzoom.height(coords.height);
887 $ind.offset(coords); 892 $birdzoom.offset(coords);
888 $ind.show(); 893 $birdzoom.show();
889 return; 894 return;
890 }; 895 };
891 // nice animation for embedded mode :-) 896 // nice animation for embedded mode :-)
892 var makeCompleteFunction = function($ind, normalSize) { 897 var makeCompleteFunction = function($birdzoom, normalSize) {
893 return function() { 898 return function() {
894 if (normalSize) $ind.hide(); 899 if (normalSize) $birdzoom.hide();
895 }; 900 };
896 }; 901 };
897 var opts = { 902 var opts = {
898 'complete' : makeCompleteFunction($ind, normalSize) 903 'complete' : makeCompleteFunction($birdzoom, normalSize)
899 }; 904 };
900 if (!normalSize && $ind.css('display') === 'none') $ind.show(); 905 if (!normalSize && $birdzoom.css('display') === 'none') $birdzoom.show();
901 $ind.animate(coords, opts); 906 $birdzoom.animate(coords, opts);
902 }; 907 };
903 908
904 // zooms by the given factor 909 // zooms by the given factor
905 var zoomBy = function(data, factor) { 910 var zoomBy = function(data, factor) {
906 var area = data.zoomArea; 911 var area = data.zoomArea;