comparison client/digitallibrary/jquery/jquery.digilib.js @ 822:637e8b601763 jquery

refactored packParams(); new 'keep' marker class
author hertzhaft
date Wed, 23 Feb 2011 01:49:22 +0100
parents 40591c00ef41
children a0ae2d86bcf4
comparison
equal deleted inserted replaced
818:eff74cfaaf97 822:637e8b601763
772 data.scalerFlags = flags; 772 data.scalerFlags = flags;
773 data.scaleMode = getScaleMode(data); 773 data.scaleMode = getScaleMode(data);
774 retrieveOptions(data); 774 retrieveOptions(data);
775 }; 775 };
776 776
777 // put area into parameters
778 var packArea = function (settings, area) {
779 if (!area) return;
780 // zoom area
781 settings.wx = cropFloat(area.x);
782 settings.wy = cropFloat(area.y);
783 settings.ww = cropFloat(area.width);
784 settings.wh = cropFloat(area.height);
785 };
786
787 // put marks into parameters
788 var packMarks = function (settings, marks) {
789 if (!marks) return;
790 settings.mk = '';
791 for (var i = 0; i < marks.length; i++) {
792 if (i) {
793 settings.mk += ',';
794 }
795 settings.mk +=
796 cropFloatStr(marks[i].x) + '/' +
797 cropFloatStr(marks[i].y);
798 }
799 };
800
801 // pack scaler flags into parameters
802 var packScalerFlags = function (settings, flags) {
803 if (!flags) return;
804 var mo = '';
805 for (var f in flags) {
806 if (mo) {
807 mo += ',';
808 }
809 mo += f;
810 }
811 settings.mo = mo;
812 };
813
777 // put objects back into parameters 814 // put objects back into parameters
778 var packParams = function (data) { 815 var packParams = function (data) {
779 var settings = data.settings; 816 var settings = data.settings;
780 // zoom area 817 packArea(settings, data.zoomArea);
781 if (data.zoomArea) { 818 packMarks(settings, data.marks);
782 settings.wx = cropFloat(data.zoomArea.x); 819 packScalerFlags(settings, data.scalerFlags);
783 settings.wy = cropFloat(data.zoomArea.y); 820 // store user interface options in cookie
784 settings.ww = cropFloat(data.zoomArea.width);
785 settings.wh = cropFloat(data.zoomArea.height);
786 }
787 // marks
788 if (data.marks) {
789 settings.mk = '';
790 for (var i = 0; i < data.marks.length; i++) {
791 if (i) {
792 settings.mk += ',';
793 }
794 settings.mk +=
795 cropFloatStr(data.marks[i].x) + '/' +
796 cropFloatStr(data.marks[i].y);
797 }
798 }
799 // Scaler flags
800 if (data.scalerFlags) {
801 var mo = '';
802 for (var f in data.scalerFlags) {
803 if (mo) {
804 mo += ',';
805 }
806 mo += f;
807 }
808 settings.mo = mo;
809 }
810 // user interface options
811 storeOptions(data); 821 storeOptions(data);
812 }; 822 };
813 823
814 var storeOptions = function (data) { 824 var storeOptions = function (data) {
815 // save digilib options in cookie 825 // save digilib options in cookie
959 } 969 }
960 } else { 970 } else {
961 $img = $('<img/>'); 971 $img = $('<img/>');
962 } 972 }
963 } 973 }
964 // create new inner html, keep buttons 974 // create new inner html, keeping buttons and content marked with "keep" class
965 $elem.contents(":not(div.buttons)").remove(); 975 $elem.contents(":not(.keep)").remove();
966 var $scaler = $('<div class="scaler"/>'); 976 var $scaler = $('<div class="scaler"/>');
967 // scaler should be the first child element? 977 // scaler should be the first child element?
968 $elem.prepend($scaler); 978 $elem.prepend($scaler);
969 $scaler.append($img); 979 $scaler.append($img);
970 $img.addClass('pic'); 980 $img.addClass('pic');
985 var buttonGroup = buttonSettings.buttonSets[buttonSetIdx]; 995 var buttonGroup = buttonSettings.buttonSets[buttonSetIdx];
986 if (buttonGroup == null) { 996 if (buttonGroup == null) {
987 // no buttons here 997 // no buttons here
988 return; 998 return;
989 } 999 }
990 var $buttonsDiv = $('<div class="buttons"/>'); 1000 // button divs are marked with class "keep"
1001 var $buttonsDiv = $('<div class="keep buttons"/>');
991 var buttonNames = buttonSettings[buttonGroup]; 1002 var buttonNames = buttonSettings[buttonGroup];
992 for (var i = 0; i < buttonNames.length; i++) { 1003 for (var i = 0; i < buttonNames.length; i++) {
993 var buttonName = buttonNames[i]; 1004 var buttonName = buttonNames[i];
994 var buttonConfig = settings.buttons[buttonName]; 1005 var buttonConfig = settings.buttons[buttonName];
995 // construct the button html 1006 // construct the button html
1586 getScalerUrl : getScalerUrl, 1597 getScalerUrl : getScalerUrl,
1587 getParamString : getParamString, 1598 getParamString : getParamString,
1588 getDigilibUrl : getDigilibUrl, 1599 getDigilibUrl : getDigilibUrl,
1589 unpackParams : unpackParams, 1600 unpackParams : unpackParams,
1590 packParams : packParams, 1601 packParams : packParams,
1602 packArea : packArea,
1603 packMarks : packMarks,
1604 packScalerFlags : packScalerFlags,
1591 storeOptions : storeOptions, 1605 storeOptions : storeOptions,
1592 redisplay : redisplay, 1606 redisplay : redisplay,
1593 updateDisplay : updateDisplay, 1607 updateDisplay : updateDisplay,
1594 highlightButtons : highlightButtons, 1608 highlightButtons : highlightButtons,
1595 showDiv : showDiv, 1609 showDiv : showDiv,