Index: Format order.xsl =================================================================== diff -u -r221 -r250 --- Format order.xsl (.../Format order.xsl) (revision 221) +++ Format order.xsl (.../Format order.xsl) (revision 250) @@ -20,89 +20,251 @@ + + + + + + + function ScaledHeight(NWidth) { + if (!NWidth) { return(0); } + return (NWidth * height / width); + } + + function ScaledWidth(NHeight) { + if (!NHeight) { return(0); } + return (NHeight * width / height); + } + + function GetMaximalSize(objToSize, maxX, maxY) { + var newX,newY + var limitcoord + var objNewSize + limitcoord = 'Y'; + newY = maxY; + newX = ScaledWidth (newY); + if (newX > maxX) { + newX = maxX; + newY = ScaledHeight (newX); + limitcoord = 'X'; + } + return ( {X:newX,Y:newY} ); + } + + function SetObjectSize(objSizeMe, NWidth, NHeight) { + if (!objSizeMe) { return; } + objSizeMe.style.width = Math.ceil(NWidth) + "px"; + objSizeMe.style.height = Math.ceil(NHeight) + "px"; + return; + } + + function SetMaximalSize(objToSize, maxX, maxY) { + var objNSize + objNSize = GetMaximalSize (objToSize, maxX, maxY); + SetObjectSize (objToSize, objNSize.X, objNSize.Y); + return; + } + + function ResizeObject (NrObj) { + var PageSize = {X:650,Y:950}; + var MinScale = 0.333; + // = 1/3 (pt/mm) + var svgObject = document.getElementById("groupDRAW"+NrObj); + width = svgObject.getAttribute("width"); + height = svgObject.getAttribute("height"); + if (!svgObject) { return; } + var svgDiv = svgObject.parentElement; + var text = document.getElementById("DRAWTEXT"+NrObj); + + var maxWidth = PageSize.X - eval("DATATABLE"+NrObj).offsetLeft; + var maxHeight = PageSize.Y - 10 - eval("DATATABLE"+NrObj).offsetHeight - text.offsetHeight; + + if ((maxHeight/height < MinScale) && (eval("DATATABLE"+NrObj).offsetHeight > PageSize.Y * 0.25)) { + maxHeight = PageSize.Y - 10; + eval("DRAWTABLE"+NrObj).style.pageBreakBefore="always"; + } + else { + eval("DRAWTABLE"+NrObj).style.pageBreakBefore=""; + } + SetMaximalSize (svgDiv, maxWidth, maxHeight); + RemoveAttributesFromSvg(NrObj); + + // in firefox moet de svg tag gerefreshed worden anders wordt deze niet gescaled hiervoor wordt feature detection gebruikt + if (typeof InstallTrigger !== 'undefined') { + ResetSvgForFirefox(NrObj); + } + return; + } + + function RemoveAttributesFromSvg(NrObj) { + var svgObject = document.getElementById("groupDRAW"+NrObj); + svgObject.removeAttribute("x"); + svgObject.removeAttribute("y"); + svgObject.removeAttribute("style"); + svgObject.setAttribute("width", "100%"); + svgObject.setAttribute("height", "100%"); + } + + + + function ResetSvgForFirefox(NrObj) { + console.log("dit is firefox"); + var svgObject = document.getElementById("groupDRAW"+NrObj); + var svgDiv = svgObject.parentElement; + var SvgInnerHTML = svgDiv.innerHTML; + svgObject.innerHTML = ""; + svgObject.innerHTML = SvgInnerHTML; + } + + function alterIDs() { + var draws = document.getElementsByTagName("svg"); + var draw; + var current = 1; + if (draws!=null) { + for(draw of draws){ + if(draw.getAttribute("id") == "groupDRAW") { + draw.setAttribute("id", "groupDRAW"+current); + current = current + 1; + } + } + } + var texts = document.getElementsByTagName("text"); + var text + current = 1; + if (texts!=null) { + for(text of texts){ + text.setAttribute("id", "DRAWTEXT"+current); + current = current +1; + } + } + } + + function Initialize () { + alterIDs(); + for (i=1; i<=; i++) + { + ResizeObject(i) + } + } + + + + - + @@ -231,6 +393,7 @@ +
@@ -474,10 +637,33 @@
:
+ + +DRAWTABLE + + + +
+ +
+ +
+
+ +
+ +
+
+
+
+ + + DRAWTABLE +

@@ -487,6 +673,7 @@
+