comparison client/digitallibrary/jquery/jquery.digilib.js @ 711:eab17859be79 jquery

improved button positioning
author robcast
date Sun, 30 Jan 2011 16:37:05 +0100
parents d533bdf0e64e
children 823f0050f7eb c1fa722c570e
comparison
equal deleted inserted replaced
710:d533bdf0e64e 711:eab17859be79
729 }; 729 };
730 // visible button sets 730 // visible button sets
731 if (opts.buttons != null) { 731 if (opts.buttons != null) {
732 settings.visibleButtonSets = opts.buttons; 732 settings.visibleButtonSets = opts.buttons;
733 }; 733 };
734 } 734 };
735 735
736 // clear digilib data for reset 736 // clear digilib data for reset
737 var resetData = function (data) { 737 var resetData = function (data) {
738 if (data.zoomArea) delete data.zoomArea; 738 if (data.zoomArea) delete data.zoomArea;
739 if (data.marks) delete data.marks; 739 if (data.marks) delete data.marks;
949 return isVisible; 949 return isVisible;
950 }; 950 };
951 951
952 // display more (or less) button sets 952 // display more (or less) button sets
953 var showButtons = function (data, more, setIdx, animated) { 953 var showButtons = function (data, more, setIdx, animated) {
954 var atime = animated ? 'fast': 0;
954 if (more) { 955 if (more) {
955 // add set 956 // add set
956 var $otherSets = data.$elem.find('div.buttons:visible'); 957 var $otherSets = data.$elem.find('div.buttons:visible');
957 var $set; 958 var $set;
958 if (data.$buttonSets && data.$buttonSets[setIdx]) { 959 if (data.$buttonSets && data.$buttonSets[setIdx]) {
962 $set = createButtons(data, setIdx); 963 $set = createButtons(data, setIdx);
963 }; 964 };
964 if ($set == null) return false; 965 if ($set == null) return false;
965 var btnWidth = $set.width(); 966 var btnWidth = $set.width();
966 // move remaining sets left and show new set 967 // move remaining sets left and show new set
967 if (animated) { 968 if ($otherSets.length > 0) {
968 $otherSets.animate({left : '-='+btnWidth+'px'}, 'fast', 969 $otherSets.animate({right : '+='+btnWidth+'px'}, atime,
969 function () {$set.show();}); 970 function () {$set.show();});
970 } else { 971 } else {
971 var oldpos = $otherSets.position();
972 if (oldpos) {
973 $otherSets.css({left : oldpos.left-btnWidth+'px'});
974 };
975 $set.show(); 972 $set.show();
976 }; 973 }
977 } else { 974 } else {
978 // remove set 975 // remove set
979 var $set = data.$buttonSets[setIdx]; 976 var $set = data.$buttonSets[setIdx];
980 if ($set == null) return false; 977 if ($set == null) return false;
981 var btnWidth = $set.width(); 978 var btnWidth = $set.width();
982 // hide last set 979 // hide last set
983 $set.hide(); 980 $set.hide();
984 // take remaining sets and move right 981 // take remaining sets and move right
985 var $otherSets = data.$elem.find('div.buttons:visible'); 982 var $otherSets = data.$elem.find('div.buttons:visible');
986 if (animated) { 983 $otherSets.animate({right : '-='+btnWidth+'px'}, atime);
987 $otherSets.animate({left : '+='+btnWidth+'px'}, 'fast'); 984 }
988 } else {
989 $otherSets.css({left : '+='+btnWidth+'px'});
990 };
991 };
992 return true; 985 return true;
993 }; 986 };
994 987
995 // create Transform from area and $img 988 // create Transform from area and $img
996 var getImgTrafo = function ($img, area, rot, hmir, vmir) { 989 var getImgTrafo = function ($img, area, rot, hmir, vmir) {
1317 'cursor' : 'default' 1310 'cursor' : 'default'
1318 }); 1311 });
1319 $(document).unbind("mousemove.digilib", dragMove); 1312 $(document).unbind("mousemove.digilib", dragMove);
1320 $(document).unbind("mouseup.digilib", dragEnd); 1313 $(document).unbind("mouseup.digilib", dragEnd);
1321 // calculate relative offset 1314 // calculate relative offset
1322 if (dx == 0 && dy == 0) return false // no movement 1315 if (dx == 0 && dy == 0) return false; // no movement
1323 // reload with scaler image showing the new ausschnitt 1316 // reload with scaler image showing the new ausschnitt
1324 // digilib.moveBy(x, y); 1317 // digilib.moveBy(x, y);
1325 var pos = geom.position(-dx, -dy); 1318 var pos = geom.position(-dx, -dy);
1326 var newPos = data.imgTrafo.invtransform(pos); 1319 var newPos = data.imgTrafo.invtransform(pos);
1327 var newArea = data.zoomArea.setPt1(newPos); 1320 var newArea = data.zoomArea.setPt1(newPos);