diff options
Diffstat (limited to 'addons/base_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_pdf.js')
| -rw-r--r-- | addons/base_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_pdf.js | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/addons/base_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_pdf.js b/addons/base_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_pdf.js index c9a6a5352c6..d8c34cffda4 100644 --- a/addons/base_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_pdf.js +++ b/addons/base_calendar/static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_pdf.js @@ -1,9 +1,14 @@ -/*
-dhtmlxScheduler v.2.3
-
+/* This software is allowed to use under GPL or you need to obtain Commercial or Enterise License
-to use it in not GPL project. Please contact sales@dhtmlx.com for details
-
-(c) DHTMLX Ltd.
-*/
-scheduler.toPDF=function(C,J,P,L){var I=0;var H=0;var F=false;if(J=="fullcolor"){F=true;J="color"}J=J||"color";function M(T){T=parseFloat(T);if(isNaN(T)){return"auto"}return 100*T/I}function Q(T){T=parseFloat(T);if(isNaN(T)){return"auto"}return 100*T/H}function O(U){var T="";for(var V=0;V<U.length;V++){T+="\n<column><![CDATA["+U[V].innerHTML+"]]></column>"}I=U[0].offsetWidth;return T}function G(V,W){var T=parseInt(V.style.left);for(var U=0;U<scheduler._cols.length;U++){T-=scheduler._cols[U];if(T<0){return U}}return W}function N(U,W){var V=parseInt(U.style.top);for(var T=0;T<scheduler._colsS.heights.length;T++){if(scheduler._colsS.heights[T]>V){return T}}return W}function A(W){var U="";var X=W.firstChild.rows;for(var V=0;V<X.length;V++){var Y=[];for(var T=0;T<X[V].cells.length;T++){Y.push(X[V].cells[T].firstChild.innerHTML)}U+="\n<row height='"+W.firstChild.rows[V].cells[0].offsetHeight+"'><![CDATA["+Y.join("|")+"]]></row>";H=W.firstChild.rows[0].cells[0].offsetHeight}return U}function S(X){var U="<data profile='"+X+"'";if(P){U+=" header='"+P+"'"}if(L){U+=" footer='"+L+"'"}U+=">";U+="<scale mode='"+scheduler._mode+"' today='"+scheduler._els.dhx_cal_date[0].innerHTML+"'>";if(scheduler._mode=="agenda"){var T=scheduler._els.dhx_cal_header[0].childNodes[0].childNodes;U+="<column>"+T[0].innerHTML+"</column><column>"+T[1].innerHTML+"</column>"}else{if(scheduler._mode=="year"){var T=scheduler._els.dhx_cal_data[0].childNodes;for(var V=0;V<T.length;V++){U+="<month label='"+T[V].childNodes[0].innerHTML+"'>";U+=O(T[V].childNodes[1].childNodes);U+=A(T[V].childNodes[2]);U+="</month>"}}else{U+="<x>";var T=scheduler._els.dhx_cal_header[0].childNodes;U+=O(T);U+="</x>";var W=scheduler._els.dhx_cal_data[0];if(W.firstChild.tagName=="TABLE"){U+=A(W)}else{W=W.childNodes[W.childNodes.length-1];while(W.className.indexOf("dhx_scale_holder")==-1){W=W.previousSibling}W=W.childNodes;U+="<y>";for(var V=0;V<W.length;V++){U+="\n<row><![CDATA["+W[V].innerHTML+"]]></row>"}U+="</y>";H=W[0].offsetHeight}}}U+="</scale>";return U}function E(U,T){return(window.getComputedStyle?(window.getComputedStyle(U,null)[T]):(U.currentStyle?U.currentStyle[T]:null))||""}function B(){var b="";var j=scheduler._rendered;if(scheduler._mode=="agenda"){for(var Z=0;Z<j.length;Z++){b+="<event><head>"+j[Z].childNodes[0].innerHTML+"</head><body>"+j[Z].childNodes[2].innerHTML+"</body></event>"}}else{if(scheduler._mode=="year"){var j=scheduler.get_visible_events();for(var Z=0;Z<j.length;Z++){var f=j[Z].start_date;if(f.valueOf()<scheduler._min_date.valueOf()){f=scheduler._min_date}while(f<j[Z].end_date){var U=f.getMonth()+12*(f.getFullYear()-scheduler._min_date.getFullYear())-scheduler.week_starts._month;var g=scheduler.week_starts[U]+f.getDate()-1;b+="<event day='"+(g%7)+"' week='"+Math.floor(g/7)+"' month='"+U+"'></event>";scheduler._mark_year_date(f);f=scheduler.date.add(f,1,"day");if(f.valueOf()>=scheduler._max_date.valueOf()){break}}}}else{for(var Z=0;Z<j.length;Z++){var X=M(j[Z].style.left);var V=Q(j[Z].style.top);var e=M(j[Z].style.width);var a=Q(j[Z].style.height);var Y=j[Z].className.split(" ")[0].replace("dhx_cal_","");var c=scheduler.getEvent(j[Z].getAttribute("event_id"));var g=c._sday;var T=c._sweek;if(scheduler._mode!="month"){if(parseInt(j[Z].style.left)<=26){X=2;e+=M(j[Z].style.left)-1}if(j[Z].parentNode==scheduler._els.dhx_cal_data[0]){continue}X+=M(j[Z].parentNode.style.left);X-=M(51)}else{a=parseInt(j[Z].offsetHeight);V=parseInt(j[Z].style.top)-22;g=G(j[Z],g);T=N(j[Z],T)}b+="\n<event week='"+T+"' day='"+g+"' type='"+Y+"' x='"+X+"' y='"+V+"' width='"+e+"' height='"+a+"'>";if(Y=="event"){b+="<header><![CDATA["+j[Z].childNodes[1].innerHTML+"]]></header>";var W=F?E(j[Z].childNodes[2],"color"):"";var h=F?E(j[Z].childNodes[2],"backgroundColor"):"";b+="<body backgroundColor='"+h+"' color='"+W+"'><![CDATA["+j[Z].childNodes[2].innerHTML+"]]></body>"}else{var W=F?E(j[Z],"color"):"";var h=F?E(j[Z],"backgroundColor"):"";b+="<body backgroundColor='"+h+"' color='"+W+"'><![CDATA["+j[Z].innerHTML+"]]></body>"}b+="</event>"}}}return b}function K(){var T="</data>";return T}var D=(new Date()).valueOf();var R=document.createElement("div");R.style.display="none";document.body.appendChild(R);R.innerHTML='<form id="'+D+'" method="post" target="_blank" action="'+C+'" accept-charset="utf-8" enctype="text/html"><input type="hidden" name="mycoolxmlbody"/> </form>';document.getElementById(D).firstChild.value=S(J).replace("\u2013","-")+B()+K();document.getElementById(D).submit();R.parentNode.removeChild(R);grid=null};
\ No newline at end of file +to use it in not GPL project. Please contact sales@dhtmlx.com for details +*/ +scheduler.toPDF=function(x,f,m,n){function g(c){return c.replace(html_regexp,"")}function j(c){c=parseFloat(c);return isNaN(c)?"auto":100*c/(o+1)}function t(c){c=parseFloat(c);return isNaN(c)?"auto":100*c/k}function q(c){var a="";if(scheduler.matrix&&scheduler.matrix[scheduler._mode])c=c[0].childNodes;for(var b=0;b<c.length;b++)a+="\n<column><![CDATA["+g(c[b].innerHTML)+"]]\></column>";o=c[0].offsetWidth;return a}function y(c,a){for(var b=parseInt(c.style.left),d=0;d<scheduler._cols.length;d++)if(b-= +scheduler._cols[d],b<0)return d;return a}function z(c,a){for(var b=parseInt(c.style.top),d=0;d<scheduler._colsS.heights.length;d++)if(scheduler._colsS.heights[d]>b)return d;return a}function w(c){for(var a="",b=c.firstChild.rows,d=0;d<b.length;d++){for(var e=[],h=0;h<b[d].cells.length;h++)e.push(b[d].cells[h].firstChild.innerHTML);a+="\n<row height='"+c.firstChild.rows[d].cells[0].offsetHeight+"'><![CDATA["+g(e.join("|"))+"]]\></row>";k=c.firstChild.rows[0].cells[0].offsetHeight}return a}function A(c){var a= +"<data profile='"+c+"'";m&&(a+=" header='"+m+"'");n&&(a+=" footer='"+n+"'");a+=">";a+="<scale mode='"+scheduler._mode+"' today='"+scheduler._els.dhx_cal_date[0].innerHTML+"'>";if(scheduler._mode=="agenda"){var b=scheduler._els.dhx_cal_header[0].childNodes[0].childNodes;a+="<column>"+g(b[0].innerHTML)+"</column><column>"+g(b[1].innerHTML)+"</column>"}else if(scheduler._mode=="year")for(var b=scheduler._els.dhx_cal_data[0].childNodes,d=0;d<b.length;d++)a+="<month label='"+g(b[d].childNodes[0].innerHTML)+ +"'>",a+=q(b[d].childNodes[1].childNodes),a+=w(b[d].childNodes[2]),a+="</month>";else{a+="<x>";b=scheduler._els.dhx_cal_header[0].childNodes;a+=q(b);a+="</x>";var e=scheduler._els.dhx_cal_data[0];if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){a+="<y>";for(d=0;d<e.firstChild.rows.length;d++)a+="<row><![CDATA["+e.firstChild.rows[d].cells[0].innerHTML+"]]\></row>";a+="</y>";k=e.firstChild.rows[0].cells[0].offsetHeight}else if(e.firstChild.tagName=="TABLE")a+=w(e);else{for(e=e.childNodes[e.childNodes.length- +1];e.className.indexOf("dhx_scale_holder")==-1;)e=e.previousSibling;e=e.childNodes;a+="<y>";for(d=0;d<e.length;d++)a+="\n<row><![CDATA["+g(e[d].innerHTML)+"]]\></row>";a+="</y>";k=e[0].offsetHeight}}a+="</scale>";return a}function r(c,a){return(window.getComputedStyle?window.getComputedStyle(c,null)[a]:c.currentStyle?c.currentStyle[a]:null)||""}function B(){var c="",a=scheduler._rendered;if(scheduler._mode=="agenda")for(var b=0;b<a.length;b++)c+="<event><head>"+g(a[b].childNodes[0].innerHTML)+"</head><body>"+ +g(a[b].childNodes[2].innerHTML)+"</body></event>";else if(scheduler._mode=="year"){a=scheduler.get_visible_events();for(b=0;b<a.length;b++){var d=a[b].start_date;if(d.valueOf()<scheduler._min_date.valueOf())d=scheduler._min_date;for(;d<a[b].end_date;){var e=d.getMonth()+12*(d.getFullYear()-scheduler._min_date.getFullYear())-scheduler.week_starts._month,h=scheduler.week_starts[e]+d.getDate()-1;c+="<event day='"+h%7+"' week='"+Math.floor(h/7)+"' month='"+e+"'></event>";d=scheduler.date.add(d,1,"day"); +if(d.valueOf()>=scheduler._max_date.valueOf())break}}}else for(b=0;b<a.length;b++){var f=j(a[b].style.left),i=j(a[b].style.width),l=t(a[b].style.top),m=t(a[b].style.height),n=a[b].className.split(" ")[0].replace("dhx_cal_",""),o=scheduler.getEvent(a[b].getAttribute("event_id")),h=o._sday,s=o._sweek;if(scheduler._mode!="month"){if(scheduler.matrix&&scheduler.matrix[scheduler._mode])h=0,s=a[b].parentNode.parentNode.parentNode.rowIndex,i+=j(10);else{i+=j(i*20/100);f-=j(20-f*20/100);if(a[b].parentNode== +scheduler._els.dhx_cal_data[0])continue;f+=j(a[b].parentNode.style.left);f-=j(51)}if(scheduler._mode=="timeline"){var q=k;k=180;l=t(a[b].style.top);k=q}}else m=parseInt(a[b].offsetHeight),l=parseInt(a[b].style.top)-22,h=y(a[b],h),s=z(a[b],s);c+="\n<event week='"+s+"' day='"+h+"' type='"+n+"' x='"+f+"' y='"+l+"' width='"+i+"' height='"+m+"'>";if(n=="event"){c+="<header><![CDATA["+g(a[b].childNodes[1].innerHTML)+"]]\></header>";var u=p?r(a[b].childNodes[2],"color"):"",v=p?r(a[b].childNodes[2],"backgroundColor"): +"";c+="<body backgroundColor='"+v+"' color='"+u+"'><![CDATA["+g(a[b].childNodes[2].innerHTML)+"]]\></body>"}else u=p?r(a[b],"color"):"",v=p?r(a[b],"backgroundColor"):"",c+="<body backgroundColor='"+v+"' color='"+u+"'><![CDATA["+g(a[b].innerHTML)+"]]\></body>";c+="</event>"}return c}function C(){var c="</data>";return c}var o=0,k=0,p=!1;f=="fullcolor"&&(p=!0,f="color");f=f||"color";html_regexp=RegExp("<[^>]*>","g");var l=(new Date).valueOf(),i=document.createElement("div");i.style.display="none";document.body.appendChild(i); +i.innerHTML='<form id="'+l+'" method="post" target="_blank" action="'+x+'" accept-charset="utf-8" enctype="application/x-www-form-urlencoded"><input type="hidden" name="mycoolxmlbody"/> </form>';document.getElementById(l).firstChild.value=A(f).replace("\u2013","-")+B()+C();document.getElementById(l).submit();i.parentNode.removeChild(i);grid=null}; |
