Mercurial > hg > digilib-old
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, |