Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(183)

Side by Side Diff: polymer_0.5.4/bower_components/chartnewjs/ChartNew.js

Issue 895523005: Added Polymer 0.5.4 (Closed) Base URL: https://chromium.googlesource.com/infra/third_party/npm_modules.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* ² 1 /*
2 * ChartNew.js 2 * ChartNew.js
3 * 3 *
4 * Vancoppenolle Francois - January 2014 4 * Vancoppenolle Francois - January 2014
5 * francois.vancoppenolle@favomo.be 5 * francois.vancoppenolle@favomo.be
6 * 6 *
7 * Source location : http:\\www.favomo.be\graphjs 7 * Source location : http:\\www.favomo.be\graphjs
8 * GitHub community : https://github.com/FVANCOP/ChartNew.js 8 * GitHub community : https://github.com/FVANCOP/ChartNew.js
9 * 9 *
10 * This file is originally an adaptation of the chart.js source developped by Ni ck Downie (2013) 10 * This file is originally an adaptation of the chart.js source developped by Ni ck Downie (2013)
11 * https://github.com/nnnick/Chart.js. But since june 2014, Nick puts a new vers ion with a 11 * https://github.com/nnnick/Chart.js. But since june 2014, Nick puts a new vers ion with a
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 } 211 }
212 return window[fctName](parameter); 212 return window[fctName](parameter);
213 } 213 }
214 return; 214 return;
215 }; 215 };
216 216
217 function isNumber(n) { 217 function isNumber(n) {
218 return !isNaN(parseFloat(n)) && isFinite(n); 218 return !isNaN(parseFloat(n)) && isFinite(n);
219 }; 219 };
220 220
221 function tmplbis(str, data) { 221 function tmplbis(str, data,config) {
222 » newstr=str;
223 » if(newstr.substr(0,config.templatesOpenTag.length)==config.templatesOpen Tag)newstr="<%="+newstr.substr(config.templatesOpenTag.length,newstr.length-conf ig.templatesOpenTag.length);
224 » if(newstr.substr(newstr.length-config.templatesCloseTag.length,config.te mplatesCloseTag.length)==config.templatesCloseTag)newstr=newstr.substr(0,newstr. length-config.templatesCloseTag.length)+"%>";
225 » return tmplter(newstr,data);
226 }
227
228 function tmplter(str, data) {
222 var mathFunctionList = ["mean", "varianz", "stddev", "cv", "median"]; 229 var mathFunctionList = ["mean", "varianz", "stddev", "cv", "median"];
223 var regexMath = new RegExp('<%=((?:(?:.*?)\\W)??)((?:' + mathFunctionLis t.join('|') + ')(?:Dif)?)\\(([0-9]*?)\\)(.*?)%>', 'g'); 230 var regexMath = new RegExp('<%=((?:(?:.*?)\\W)??)((?:' + mathFunctionLis t.join('|') + ')(?:Dif)?)\\(([0-9]*?)\\)(.*?)%>', 'g');
224 while (regexMath.test(str)) { 231 while (regexMath.test(str)) {
225 str = str.replace(regexMath, function($0, $1, $2, $3, $4) { 232 str = str.replace(regexMath, function($0, $1, $2, $3, $4) {
226 if ($3) { 233 if ($3) {
227 var rndFac = $3; 234 var rndFac = $3;
228 } else { 235 } else {
229 var rndFac = 2; 236 var rndFac = 2;
230 } 237 }
231 var value = addParameters2Function(data, $2, "mathFuncti ons"); 238 var value = addParameters2Function(data, $2, "mathFuncti ons");
232 if (isNumber(value)) { 239 if (isNumber(value)) {
233 return '<%=' + $1 + '' + Math.round(Math.pow(10, rndFac) * value) / Math.pow(10, rndFac) + '' + $4 + '%>'; 240 return '<%=' + $1 + '' + Math.round(Math.pow(10, rndFac) * value) / Math.pow(10, rndFac) + '' + $4 + '%>';
234 } 241 }
235 return '<%= %>'; 242 return '<%= %>';
236 }); 243 });
237 } 244 }
238 // Figure out if we're getting a template, or if we need to 245 // Figure out if we're getting a template, or if we need to
239 // load the template - and be sure to cache the result. 246 // load the template - and be sure to cache the result.
240 // first check if it's can be an id 247 // first check if it's can be an id
241 var fn = /^[A-Za-z][-A-Za-z0-9_:.]*$/.test(str) ? cachebis[str] = cacheb is[str] || 248 var fn = /^[A-Za-z][-A-Za-z0-9_:.]*$/.test(str) ? cachebis[str] = cacheb is[str] ||
242 » » tmplbis(document.getElementById(str).innerHTML) : 249 » » tmplter(document.getElementById(str).innerHTML) :
243 // Generate a reusable function that will serve as a template 250 // Generate a reusable function that will serve as a template
244 // generator (and which will be cached). 251 // generator (and which will be cached).
245 new Function("obj", 252 new Function("obj",
246 "var p=[],print=function(){p.push.apply(p,arguments);};" + 253 "var p=[],print=function(){p.push.apply(p,arguments);};" +
247 // Introduce the data as local variables using with(){} 254 // Introduce the data as local variables using with(){}
248 "with(obj){p.push('" + 255 "with(obj){p.push('" +
249 // Convert the template into pure JavaScript 256 // Convert the template into pure JavaScript
250 str 257 str
251 .replace(/[\r\n]/g, "\\n") 258 .replace(/[\r\n]/g, "\\n")
252 .replace(/[\t]/g, " ") 259 .replace(/[\t]/g, " ")
(...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after
726 if (canvas_pos.y < myStatData.midPosY) angle = - angle; 733 if (canvas_pos.y < myStatData.midPosY) angle = - angle;
727 angle = (((angle + 2 * Math.PI) % (2 * Math.PI) ) + 2* Math.PI) % (2* Math.PI) ; 734 angle = (((angle + 2 * Math.PI) % (2 * Math.PI) ) + 2* Math.PI) % (2* Math.PI) ;
728 myStatData.startAngle=(((myStatData.startAngle + 2 * Math.PI) % (2 * Math.PI)) + 2* Math.PI) % (2* Math.PI); 735 myStatData.startAngle=(((myStatData.startAngle + 2 * Math.PI) % (2 * Math.PI)) + 2* Math.PI) % (2* Math.PI);
729 myStatData.endAngle=(((myStatData.endAngle + 2 * Math.PI) % (2 * Math.PI)) + 2* Math.PI) % (2* Math.PI); 736 myStatData.endAngle=(((myStatData.endAngle + 2 * Math.PI) % (2 * Math.PI)) + 2* Math.PI) % (2* Math.PI);
730 if(myStatData.endAngle<myStatData.startAngle)myS tatData.endAngle+=2 * Math.PI; 737 if(myStatData.endAngle<myStatData.startAngle)myS tatData.endAngle+=2 * Math.PI;
731 if ((angle > myStatData.startAngle && angle < my StatData.endAngle) || (angle > myStatData.startAngle - 2 * Math.PI && angle < my StatData.endAngle - 2 * Math.PI) || (angle > myStatData.startAngle + 2 * Math.PI && angle < myStatData.endAngle + 2 * Math.PI)) { 738 if ((angle > myStatData.startAngle && angle < my StatData.endAngle) || (angle > myStatData.startAngle - 2 * Math.PI && angle < my StatData.endAngle - 2 * Math.PI) || (angle > myStatData.startAngle + 2 * Math.PI && angle < myStatData.endAngle + 2 * Math.PI)) {
732 myStatData.graphPosX = canvas_pos.x; 739 myStatData.graphPosX = canvas_pos.x;
733 myStatData.graphPosY = canvas_pos.y; 740 myStatData.graphPosY = canvas_pos.y;
734 onData = true; 741 onData = true;
735 if (action == "annotate") { 742 if (action == "annotate") {
736 » » » » » » dispString = tmplbis(setOptionVa lue("ANNOTATELABEL",ctx,data,jsGraphAnnotate[ctx.ChartNewId][i][3],undefined,con fig.annotateLabel,jsGraphAnnotate[ctx.ChartNewId][i][12],-1,{otherVal:true}), my StatData); 743 » » » » » » dispString = tmplbis(setOptionVa lue("ANNOTATELABEL",ctx,data,jsGraphAnnotate[ctx.ChartNewId][i][3],undefined,con fig.annotateLabel,jsGraphAnnotate[ctx.ChartNewId][i][12],-1,{otherVal:true}), my StatData,config);
737 annotateDIV.innerHTML = dispStri ng; 744 annotateDIV.innerHTML = dispStri ng;
738 show = true; 745 show = true;
739 } else { 746 } else {
740 funct(event, ctx, config, data, myStatData ); 747 funct(event, ctx, config, data, myStatData );
741 } 748 }
742 if (action == "annotate") { 749 if (action == "annotate") {
743 x = bw.ns4 || bw.ns5 ? event.pag eX : event.x; 750 x = bw.ns4 || bw.ns5 ? event.pag eX : event.x;
744 y = bw.ns4 || bw.ns5 ? event.pag eY : event.y; 751 y = bw.ns4 || bw.ns5 ? event.pag eY : event.y;
745 if (bw.ie4 || bw.ie5) y = y + ev al(scrolled); 752 if (bw.ie4 || bw.ie5) y = y + ev al(scrolled);
746 oCursor.moveIt(x + fromLeft, y + fromTop); 753 oCursor.moveIt(x + fromLeft, y + fromTop);
747 } 754 }
748 } 755 }
749 } 756 }
750 } else if (jsGraphAnnotate[ctx.ChartNewId][i][0] == "RECT") { 757 } else if (jsGraphAnnotate[ctx.ChartNewId][i][0] == "RECT") {
751 myStatData=jsGraphAnnotate[ctx.ChartNewId][i][3][jsGraph Annotate[ctx.ChartNewId][i][1]][jsGraphAnnotate[ctx.ChartNewId][i][2]]; 758 myStatData=jsGraphAnnotate[ctx.ChartNewId][i][3][jsGraph Annotate[ctx.ChartNewId][i][1]][jsGraphAnnotate[ctx.ChartNewId][i][2]];
752 759
753 if (canvas_pos.x > Math.min(myStatData.xPosLeft,myStatDa ta.xPosRight) && canvas_pos.x < Math.max(myStatData.xPosLeft,myStatData.xPosRigh t) && canvas_pos.y < Math.max(myStatData.yPosBottom,myStatData.yPosTop) && canva s_pos.y > Math.min(myStatData.yPosBottom,myStatData.yPosTop)) { 760 if (canvas_pos.x > Math.min(myStatData.xPosLeft,myStatDa ta.xPosRight) && canvas_pos.x < Math.max(myStatData.xPosLeft,myStatData.xPosRigh t) && canvas_pos.y < Math.max(myStatData.yPosBottom,myStatData.yPosTop) && canva s_pos.y > Math.min(myStatData.yPosBottom,myStatData.yPosTop)) {
754 myStatData.graphPosX = canvas_pos.x; 761 myStatData.graphPosX = canvas_pos.x;
755 myStatData.graphPosY = canvas_pos.y; 762 myStatData.graphPosY = canvas_pos.y;
756 onData = true; 763 onData = true;
757 if (action == "annotate") { 764 if (action == "annotate") {
758 » » » » » dispString = tmplbis(setOptionValue("ANN OTATELABEL",ctx,data,jsGraphAnnotate[ctx.ChartNewId][i][3],undefined,config.anno tateLabel,jsGraphAnnotate[ctx.ChartNewId][i][1],jsGraphAnnotate[ctx.ChartNewId][ i][2],{otherVal:true}), myStatData); 765 » » » » » dispString = tmplbis(setOptionValue("ANN OTATELABEL",ctx,data,jsGraphAnnotate[ctx.ChartNewId][i][3],undefined,config.anno tateLabel,jsGraphAnnotate[ctx.ChartNewId][i][1],jsGraphAnnotate[ctx.ChartNewId][ i][2],{otherVal:true}), myStatData,config);
759 annotateDIV.innerHTML = dispString; 766 annotateDIV.innerHTML = dispString;
760 show = true; 767 show = true;
761 } else { 768 } else {
762 funct(event, ctx, config, data, myStatDa ta ); 769 funct(event, ctx, config, data, myStatDa ta );
763 } 770 }
764 if (action == "annotate") { 771 if (action == "annotate") {
765 x = bw.ns4 || bw.ns5 ? event.pageX : eve nt.x; 772 x = bw.ns4 || bw.ns5 ? event.pageX : eve nt.x;
766 y = bw.ns4 || bw.ns5 ? event.pageY : eve nt.y; 773 y = bw.ns4 || bw.ns5 ? event.pageY : eve nt.y;
767 if (bw.ie4 || bw.ie5) y = y + eval(scrol led); 774 if (bw.ie4 || bw.ie5) y = y + eval(scrol led);
768 oCursor.moveIt(x + fromLeft, y + fromTop ); 775 oCursor.moveIt(x + fromLeft, y + fromTop );
(...skipping 20 matching lines...) Expand all
789 } 796 }
790 797
791 } else { 798 } else {
792 distance = Math.sqrt((canvas_pos.x - myStatData. posX) * (canvas_pos.x - myStatData.posX) + (canvas_pos.y - myStatData.posY) * (c anvas_pos.y - myStatData.posY)); 799 distance = Math.sqrt((canvas_pos.x - myStatData. posX) * (canvas_pos.x - myStatData.posX) + (canvas_pos.y - myStatData.posY) * (c anvas_pos.y - myStatData.posY));
793 } 800 }
794 if (distance < config.pointHitDetectionRadius) { 801 if (distance < config.pointHitDetectionRadius) {
795 myStatData.graphPosX = canvas_pos.x; 802 myStatData.graphPosX = canvas_pos.x;
796 myStatData.graphPosY = canvas_pos.y; 803 myStatData.graphPosY = canvas_pos.y;
797 onData = true; 804 onData = true;
798 if (action == "annotate") { 805 if (action == "annotate") {
799 » » » » » dispString = tmplbis(setOptionValue("ANN OTATELABEL",ctx,data,jsGraphAnnotate[ctx.ChartNewId][i][3],undefined,config.anno tateLabel,jsGraphAnnotate[ctx.ChartNewId][i][1],jsGraphAnnotate[ctx.ChartNewId][ i][2],{otherVal:true}), myStatData); 806 » » » » » dispString = tmplbis(setOptionValue("ANN OTATELABEL",ctx,data,jsGraphAnnotate[ctx.ChartNewId][i][3],undefined,config.anno tateLabel,jsGraphAnnotate[ctx.ChartNewId][i][1],jsGraphAnnotate[ctx.ChartNewId][ i][2],{otherVal:true}), myStatData,config);
800 annotateDIV.innerHTML = dispString; 807 annotateDIV.innerHTML = dispString;
801 show = true; 808 show = true;
802 } else { 809 } else {
803 funct(event, ctx, config, data, myStatDa ta); 810 funct(event, ctx, config, data, myStatDa ta);
804 } 811 }
805 if (action == "annotate") { 812 if (action == "annotate") {
806 x = bw.ns4 || bw.ns5 ? event.pageX : eve nt.x; 813 x = bw.ns4 || bw.ns5 ? event.pageX : eve nt.x;
807 y = bw.ns4 || bw.ns5 ? event.pageY : eve nt.y; 814 y = bw.ns4 || bw.ns5 ? event.pageY : eve nt.y;
808 if (bw.ie4 || bw.ie5) y = y + eval(scrol led); 815 if (bw.ie4 || bw.ie5) y = y + eval(scrol led);
809 oCursor.moveIt(x + fromLeft, y + fromTop ); 816 oCursor.moveIt(x + fromLeft, y + fromTop );
(...skipping 791 matching lines...) Expand 10 before | Expand all | Expand 10 after
1601 crossImagePosY: [0], 1608 crossImagePosY: [0],
1602 crossImageAngle: [0], 1609 crossImageAngle: [0],
1603 spaceTop: 0, 1610 spaceTop: 0,
1604 spaceBottom: 0, 1611 spaceBottom: 0,
1605 spaceRight: 0, 1612 spaceRight: 0,
1606 spaceLeft: 0, 1613 spaceLeft: 0,
1607 decimalSeparator: ".", 1614 decimalSeparator: ".",
1608 thousandSeparator: "", 1615 thousandSeparator: "",
1609 roundNumber: "none", 1616 roundNumber: "none",
1610 roundPct: -1, 1617 roundPct: -1,
1618 templatesOpenTag : "<%=",
1619 templatesCloseTag : "%>",
1611 fmtV1: "none", 1620 fmtV1: "none",
1612 fmtV2: "none", 1621 fmtV2: "none",
1613 fmtV3: "none", 1622 fmtV3: "none",
1614 fmtV4: "none", 1623 fmtV4: "none",
1615 fmtV5: "none", 1624 fmtV5: "none",
1616 fmtV6: "none", 1625 fmtV6: "none",
1626 fmtV6T: "none",
1617 fmtV7: "none", 1627 fmtV7: "none",
1618 fmtV8: "none", 1628 fmtV8: "none",
1629 fmtV8T: "none",
1619 fmtV9: "none", 1630 fmtV9: "none",
1620 fmtV10: "none", 1631 fmtV10: "none",
1621 fmtV11: "none", 1632 fmtV11: "none",
1622 fmtV12: "none", 1633 fmtV12: "none",
1623 fmtV13: "none", 1634 fmtV13: "none",
1624 fmtXLabel: "none", 1635 fmtXLabel: "none",
1625 fmtYLabel: "none", 1636 fmtYLabel: "none",
1626 fmtYLabel2: "none", 1637 fmtYLabel2: "none",
1627 fmtLegend: "none", 1638 fmtLegend: "none",
1628 animationStartValue: 0, 1639 animationStartValue: 0,
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
1838 } else ctx.textAlign = setOption Value("INGRAPHDATAALIGN",ctx,data,statData,undefined,config.inGraphDataAlign,i,- 1,{nullValue: true }); 1849 } else ctx.textAlign = setOption Value("INGRAPHDATAALIGN",ctx,data,statData,undefined,config.inGraphDataAlign,i,- 1,{nullValue: true });
1839 if (setOptionValue("INGRAPHDATAV ALIGN",ctx,data,statData,undefined,config.inGraphDataVAlign,i,-1,{nullValue : tr ue} ) == "off-center") { 1850 if (setOptionValue("INGRAPHDATAV ALIGN",ctx,data,statData,undefined,config.inGraphDataVAlign,i,-1,{nullValue : tr ue} ) == "off-center") {
1840 if ((posAngle + 2 * Math .PI) % (2 * Math.PI) > Math.PI) ctx.textBaseline = "top"; 1851 if ((posAngle + 2 * Math .PI) % (2 * Math.PI) > Math.PI) ctx.textBaseline = "top";
1841 else ctx.textBaseline = "bottom"; 1852 else ctx.textBaseline = "bottom";
1842 } else if (setOptionValue("INGRA PHDATAVALIGN",ctx,data,statData,undefined,config.inGraphDataVAlign,i,-1,{nullVal ue : true} ) == "to-center") { 1853 } else if (setOptionValue("INGRA PHDATAVALIGN",ctx,data,statData,undefined,config.inGraphDataVAlign,i,-1,{nullVal ue : true} ) == "to-center") {
1843 if ((posAngle + 2 * Math .PI) % (2 * Math.PI) > Math.PI) ctx.textBaseline = "bottom"; 1854 if ((posAngle + 2 * Math .PI) % (2 * Math.PI) > Math.PI) ctx.textBaseline = "bottom";
1844 else ctx.textBaseline = "top"; 1855 else ctx.textBaseline = "top";
1845 } else ctx.textBaseline = setOpt ionValue("INGRAPHDATAVALIGN",ctx,data,statData,undefined,config.inGraphDataVAlig n,i,-1,{nullValue : true} ); 1856 } else ctx.textBaseline = setOpt ionValue("INGRAPHDATAVALIGN",ctx,data,statData,undefined,config.inGraphDataVAlig n,i,-1,{nullValue : true} );
1846 ctx.font = setOptionValue("INGRA PHDATAFONTSTYLE",ctx,data,statData,undefined,config.inGraphDataFontStyle,i,-1,{n ullValue : true} ) + ' ' + setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statDat a,undefined,config.inGraphDataFontSize,i,-1,{nullValue : true} ) + 'px ' + setOp tionValue("INGRAPHDATAFONTFAMILY",ctx,data,statData,undefined,config.inGraphData FontFamily,i,-1,{nullValue : true} ); 1857 ctx.font = setOptionValue("INGRA PHDATAFONTSTYLE",ctx,data,statData,undefined,config.inGraphDataFontStyle,i,-1,{n ullValue : true} ) + ' ' + setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statDat a,undefined,config.inGraphDataFontSize,i,-1,{nullValue : true} ) + 'px ' + setOp tionValue("INGRAPHDATAFONTFAMILY",ctx,data,statData,undefined,config.inGraphData FontFamily,i,-1,{nullValue : true} );
1847 ctx.fillStyle = setOptionValue(" INGRAPHDATAFONTCOLOR",ctx,data,statData,undefined,config.inGraphDataFontColor,i, -1,{nullValue : true} ); 1858 ctx.fillStyle = setOptionValue(" INGRAPHDATAFONTCOLOR",ctx,data,statData,undefined,config.inGraphDataFontColor,i, -1,{nullValue : true} );
1848 » » » » » » var dispString = tmplbis(setOpti onValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphDataTmpl,i,- 1,{nullValue : true} ), statData[i]); 1859 » » » » » » var dispString = tmplbis(setOpti onValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphDataTmpl,i,- 1,{nullValue : true} ), statData[i],config);
1849 ctx.translate(midPosX + labelRad ius * Math.cos(posAngle), midPosY - labelRadius * Math.sin(posAngle)); 1860 ctx.translate(midPosX + labelRad ius * Math.cos(posAngle), midPosY - labelRadius * Math.sin(posAngle));
1850 if (setOptionValue("INGRAPHDATAR OTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{nullValue : tr ue} ) == "inRadiusAxis") ctx.rotate(2 * Math.PI - posAngle); 1861 if (setOptionValue("INGRAPHDATAR OTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{nullValue : tr ue} ) == "inRadiusAxis") ctx.rotate(2 * Math.PI - posAngle);
1851 else if (setOptionValue("INGRAPH DATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{nullValue : true} ) == "inRadiusAxisRotateLabels") { 1862 else if (setOptionValue("INGRAPH DATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{nullValue : true} ) == "inRadiusAxisRotateLabels") {
1852 if ((posAngle + 2 * Math .PI) % (2 * Math.PI) > Math.PI / 2 && (posAngle + 2 * Math.PI) % (2 * Math.PI) < 3 * Math.PI / 2) ctx.rotate(3 * Math.PI - posAngle); 1863 if ((posAngle + 2 * Math .PI) % (2 * Math.PI) > Math.PI / 2 && (posAngle + 2 * Math.PI) % (2 * Math.PI) < 3 * Math.PI / 2) ctx.rotate(3 * Math.PI - posAngle);
1853 else ctx.rotate(2 * Math .PI - posAngle); 1864 else ctx.rotate(2 * Math .PI - posAngle);
1854 } else ctx.rotate(setOptionValue ("INGRAPHDATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{ nullValue : true} ) * (Math.PI / 180)); 1865 } else ctx.rotate(setOptionValue ("INGRAPHDATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{ nullValue : true} ) * (Math.PI / 180));
1855 ctx.fillTextMultiLine(dispString , 0, 0, ctx.textBaseline, setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statData ,undefined,config.inGraphDataFontSize,i,-1,{nullValue : true} ), true); 1866 ctx.fillTextMultiLine(dispString , 0, 0, ctx.textBaseline, setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statData ,undefined,config.inGraphDataFontSize,i,-1,{nullValue : true} ), true);
1856 ctx.restore(); 1867 ctx.restore();
1857 } 1868 }
1858 } 1869 }
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
2052 if(statData[i][j].calcul ated_offset>0) { 2063 if(statData[i][j].calcul ated_offset>0) {
2053 ctx.translate(mi dPosX + statData[i][j].offsetX * (radiusPrt/statData[i][j].calculated_offset), m idPosY - statData[i][j].offsetY * (radiusPrt/statData[i][j].calculated_offset)); 2064 ctx.translate(mi dPosX + statData[i][j].offsetX * (radiusPrt/statData[i][j].calculated_offset), m idPosY - statData[i][j].offsetY * (radiusPrt/statData[i][j].calculated_offset));
2054 } else { 2065 } else {
2055 ctx.translate(mi dPosX, midPosY); 2066 ctx.translate(mi dPosX, midPosY);
2056 } 2067 }
2057 if (setOptionValue("INGR APHDATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{nullVa lue : true} ) == "inRadiusAxis") ctx.rotate(j * rotationDegree); 2068 if (setOptionValue("INGR APHDATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{nullVa lue : true} ) == "inRadiusAxis") ctx.rotate(j * rotationDegree);
2058 else if (setOptionValue( "INGRAPHDATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{n ullValue : true} ) == "inRadiusAxisRotateLabels") { 2069 else if (setOptionValue( "INGRAPHDATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{n ullValue : true} ) == "inRadiusAxisRotateLabels") {
2059 if ((j * rotatio nDegree + 2 * Math.PI) % (2 * Math.PI) > Math.PI / 2 && (j * rotationDegree + 2 * Math.PI) % (2 * Math.PI) < 3 * Math.PI / 2) ctx.rotate(3 * Math.PI + j * rotat ionDegree); 2070 if ((j * rotatio nDegree + 2 * Math.PI) % (2 * Math.PI) > Math.PI / 2 && (j * rotationDegree + 2 * Math.PI) % (2 * Math.PI) < 3 * Math.PI / 2) ctx.rotate(3 * Math.PI + j * rotat ionDegree);
2060 else ctx.rotate( 2 * Math.PI + j * rotationDegree); 2071 else ctx.rotate( 2 * Math.PI + j * rotationDegree);
2061 } else ctx.rotate(setOpt ionValue("INGRAPHDATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotat e,i,-1,{nullValue : true} ) * (Math.PI / 180)); 2072 } else ctx.rotate(setOpt ionValue("INGRAPHDATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotat e,i,-1,{nullValue : true} ) * (Math.PI / 180));
2062 » » » » » » » var dispString = tmplbis (setOptionValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphData Tmpl,i,-1,{nullValue : true} ), statData[i][j]); 2073 » » » » » » » var dispString = tmplbis (setOptionValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphData Tmpl,i,-1,{nullValue : true} ), statData[i][j],config);
2063 ctx.fillTextMultiLine(di spString, 0, 0, ctx.textBaseline, setOptionValue("INGRAPHDATAFONTSIZE",ctx,data, statData,undefined,config.inGraphDataFontSize,i,-1,{nullValue : true} ),true); 2074 ctx.fillTextMultiLine(di spString, 0, 0, ctx.textBaseline, setOptionValue("INGRAPHDATAFONTSIZE",ctx,data, statData,undefined,config.inGraphDataFontSize,i,-1,{nullValue : true} ),true);
2064 ctx.restore(); 2075 ctx.restore();
2065 } 2076 }
2066 } 2077 }
2067 } 2078 }
2068 } 2079 }
2069 if(msr.legendMsr.dispLegend)drawLegend(msr.legendMsr,dat a,config,ctx,"Radar"); 2080 if(msr.legendMsr.dispLegend)drawLegend(msr.legendMsr,dat a,config,ctx,"Radar");
2070 }; 2081 };
2071 2082
2072 function drawScale() { 2083 function drawScale() {
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
2321 } else ctx.textAlign = setOption Value("INGRAPHDATAALIGN",ctx,data,statData,undefined,config.inGraphDataAlign,i,- 1,{nullValue: true }); 2332 } else ctx.textAlign = setOption Value("INGRAPHDATAALIGN",ctx,data,statData,undefined,config.inGraphDataAlign,i,- 1,{nullValue: true });
2322 if (setOptionValue("INGRAPHDATAV ALIGN",ctx,data,statData,undefined,config.inGraphDataVAlign,i,-1,{nullValue : tr ue} ) == "off-center") { 2333 if (setOptionValue("INGRAPHDATAV ALIGN",ctx,data,statData,undefined,config.inGraphDataVAlign,i,-1,{nullValue : tr ue} ) == "off-center") {
2323 if ((posAngle + 2 * Math .PI) % (2 * Math.PI) > Math.PI) ctx.textBaseline = "top"; 2334 if ((posAngle + 2 * Math .PI) % (2 * Math.PI) > Math.PI) ctx.textBaseline = "top";
2324 else ctx.textBaseline = "bottom"; 2335 else ctx.textBaseline = "bottom";
2325 } else if (setOptionValue("INGRA PHDATAVALIGN",ctx,data,statData,undefined,config.inGraphDataVAlign,i,-1,{nullVal ue : true} ) == "to-center") { 2336 } else if (setOptionValue("INGRA PHDATAVALIGN",ctx,data,statData,undefined,config.inGraphDataVAlign,i,-1,{nullVal ue : true} ) == "to-center") {
2326 if ((posAngle + 2 * Math .PI) % (2 * Math.PI) > Math.PI) ctx.textBaseline = "bottom"; 2337 if ((posAngle + 2 * Math .PI) % (2 * Math.PI) > Math.PI) ctx.textBaseline = "bottom";
2327 else ctx.textBaseline = "top"; 2338 else ctx.textBaseline = "top";
2328 } else ctx.textBaseline = setOpt ionValue("INGRAPHDATAVALIGN",ctx,data,statData,undefined,config.inGraphDataVAlig n,i,-1,{nullValue : true} ); 2339 } else ctx.textBaseline = setOpt ionValue("INGRAPHDATAVALIGN",ctx,data,statData,undefined,config.inGraphDataVAlig n,i,-1,{nullValue : true} );
2329 ctx.font = setOptionValue("INGRA PHDATAFONTSTYLE",ctx,data,statData,undefined,config.inGraphDataFontStyle,i,-1,{n ullValue : true} ) + ' ' + setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statDat a,undefined,config.inGraphDataFontSize,i,-1,{nullValue : true} ) + 'px ' + setOp tionValue("INGRAPHDATAFONTFAMILY",ctx,data,statData,undefined,config.inGraphData FontFamily,i,-1,{nullValue : true} ); 2340 ctx.font = setOptionValue("INGRA PHDATAFONTSTYLE",ctx,data,statData,undefined,config.inGraphDataFontStyle,i,-1,{n ullValue : true} ) + ' ' + setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statDat a,undefined,config.inGraphDataFontSize,i,-1,{nullValue : true} ) + 'px ' + setOp tionValue("INGRAPHDATAFONTFAMILY",ctx,data,statData,undefined,config.inGraphData FontFamily,i,-1,{nullValue : true} );
2330 ctx.fillStyle = setOptionValue(" INGRAPHDATAFONTCOLOR",ctx,data,statData,undefined,config.inGraphDataFontColor,i, -1,{nullValue : true} ); 2341 ctx.fillStyle = setOptionValue(" INGRAPHDATAFONTCOLOR",ctx,data,statData,undefined,config.inGraphDataFontColor,i, -1,{nullValue : true} );
2331 » » » » » » var dispString = tmplbis(setOpti onValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphDataTmpl,i,- 1,{nullValue : true} ), statData[i]); 2342 » » » » » » var dispString = tmplbis(setOpti onValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphDataTmpl,i,- 1,{nullValue : true} ), statData[i],config);
2332 ctx.translate(midPieX + labelRad ius * Math.cos(posAngle), midPieY - labelRadius * Math.sin(posAngle)); 2343 ctx.translate(midPieX + labelRad ius * Math.cos(posAngle), midPieY - labelRadius * Math.sin(posAngle));
2333 if (setOptionValue("INGRAPHDATAR OTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{nullValue : tr ue} ) == "inRadiusAxis") ctx.rotate(2 * Math.PI - posAngle); 2344 if (setOptionValue("INGRAPHDATAR OTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{nullValue : tr ue} ) == "inRadiusAxis") ctx.rotate(2 * Math.PI - posAngle);
2334 else if (setOptionValue("INGRAPH DATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{nullValue : true} ) == "inRadiusAxisRotateLabels") { 2345 else if (setOptionValue("INGRAPH DATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{nullValue : true} ) == "inRadiusAxisRotateLabels") {
2335 if ((posAngle + 2 * Math .PI) % (2 * Math.PI) > Math.PI / 2 && (posAngle + 2 * Math.PI) % (2 * Math.PI) < 3 * Math.PI / 2) ctx.rotate(3 * Math.PI - posAngle); 2346 if ((posAngle + 2 * Math .PI) % (2 * Math.PI) > Math.PI / 2 && (posAngle + 2 * Math.PI) % (2 * Math.PI) < 3 * Math.PI / 2) ctx.rotate(3 * Math.PI - posAngle);
2336 else ctx.rotate(2 * Math .PI - posAngle); 2347 else ctx.rotate(2 * Math .PI - posAngle);
2337 } else ctx.rotate(setOptionValue ("INGRAPHDATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{ nullValue : true} ) * (Math.PI / 180)); 2348 } else ctx.rotate(setOptionValue ("INGRAPHDATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{ nullValue : true} ) * (Math.PI / 180));
2338 ctx.fillTextMultiLine(dispString , 0, 0, ctx.textBaseline, setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statData ,undefined,config.inGraphDataFontSize,i,-1,{nullValue : true} ),true); 2349 ctx.fillTextMultiLine(dispString , 0, 0, ctx.textBaseline, setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statData ,undefined,config.inGraphDataFontSize,i,-1,{nullValue : true} ),true);
2339 ctx.restore(); 2350 ctx.restore();
2340 } 2351 }
2341 } 2352 }
(...skipping 10 matching lines...) Expand all
2352 if (isBooleanOptionTrue(undefined,config.inGraphDataShow ) && setOptionValue("INGRAPHDATARADIUSPOSITION",ctx,data,statData,undefined,conf ig.inGraphDataRadiusPosition,0,-1,{nullValue : true} ) == 3 && setOptionValue("I NGRAPHDATAALIGN",ctx,data,statData,undefined,config.inGraphDataAlign,0,-1,{nullV alue: true }) == "off-center" && setOptionValue("INGRAPHDATAROTATE",ctx,data,st atData,undefined,config.inGraphDataRotate,0,-1,{nullValue : true} ) == 0) { 2363 if (isBooleanOptionTrue(undefined,config.inGraphDataShow ) && setOptionValue("INGRAPHDATARADIUSPOSITION",ctx,data,statData,undefined,conf ig.inGraphDataRadiusPosition,0,-1,{nullValue : true} ) == 3 && setOptionValue("I NGRAPHDATAALIGN",ctx,data,statData,undefined,config.inGraphDataAlign,0,-1,{nullV alue: true }) == "off-center" && setOptionValue("INGRAPHDATAROTATE",ctx,data,st atData,undefined,config.inGraphDataRotate,0,-1,{nullValue : true} ) == 0) {
2353 pieRadius = Min([msr.availableHeight / 2, msr.av ailableWidth / 2]) - setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statData,unde fined,config.inGraphDataFontSize,0,-1,{nullValue : true} ) - setOptionValue("ING RAPHDATAPADDINGRADIUS",ctx,data,statData,undefined,config.inGraphDataPaddingRadi us,0,-1,{nullValue: true} ) - 5; 2364 pieRadius = Min([msr.availableHeight / 2, msr.av ailableWidth / 2]) - setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statData,unde fined,config.inGraphDataFontSize,0,-1,{nullValue : true} ) - setOptionValue("ING RAPHDATAPADDINGRADIUS",ctx,data,statData,undefined,config.inGraphDataPaddingRadi us,0,-1,{nullValue: true} ) - 5;
2354 var realCumulativeAngle = ((config.startAngle * (Math.PI / 180) + 2 * Math.PI) % (2*Math.PI) + 2*Math.PI) % (2*Math.PI); 2365 var realCumulativeAngle = ((config.startAngle * (Math.PI / 180) + 2 * Math.PI) % (2*Math.PI) + 2*Math.PI) % (2*Math.PI);
2355 for (var i = 0; i < data.length; i++) { 2366 for (var i = 0; i < data.length; i++) {
2356 if (!(typeof(data[i].value) == 'undefine d') && 1*data[i].value>=0) { 2367 if (!(typeof(data[i].value) == 'undefine d') && 1*data[i].value>=0) {
2357 ctx.font = setOptionValue("INGRA PHDATAFONTSTYLE",ctx,data,statData,undefined,config.inGraphDataFontStyle,i,-1,{n ullValue : true} ) + ' ' + setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statDat a,undefined,config.inGraphDataFontSize,0,-1,{nullValue : true} ) + 'px ' + setOp tionValue("INGRAPHDATAFONTFAMILY",ctx,data,statData,undefined,config.inGraphData FontFamily,i,-1,{nullValue : true} ); 2368 ctx.font = setOptionValue("INGRA PHDATAFONTSTYLE",ctx,data,statData,undefined,config.inGraphDataFontStyle,i,-1,{n ullValue : true} ) + ' ' + setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statDat a,undefined,config.inGraphDataFontSize,0,-1,{nullValue : true} ) + 'px ' + setOp tionValue("INGRAPHDATAFONTFAMILY",ctx,data,statData,undefined,config.inGraphData FontFamily,i,-1,{nullValue : true} );
2358 if (setOptionValue("INGRAPHDATAA NGLEPOSITION",ctx,data,statData,undefined,config.inGraphDataAnglePosition,i,-1,{ nullValue : true} ) == 1) posAngle = realCumulativeAngle + setOptionValue("INGRA PHDATAPADDINANGLE",ctx,data,statData,undefined,config.inGraphDataPaddingAngle,i, -1,{nullValue: true }) * (Math.PI / 180); 2369 if (setOptionValue("INGRAPHDATAA NGLEPOSITION",ctx,data,statData,undefined,config.inGraphDataAnglePosition,i,-1,{ nullValue : true} ) == 1) posAngle = realCumulativeAngle + setOptionValue("INGRA PHDATAPADDINANGLE",ctx,data,statData,undefined,config.inGraphDataPaddingAngle,i, -1,{nullValue: true }) * (Math.PI / 180);
2359 else if (setOptionValue("INGRAPH DATAANGLEPOSITION",ctx,data,statData,undefined,config.inGraphDataAnglePosition,i ,-1,{nullValue : true} ) == 2) posAngle = realCumulativeAngle - statData[i].segm entAngle / 2 + setOptionValue("INGRAPHDATAPADDINANGLE",ctx,data,statData,undefin ed,config.inGraphDataPaddingAngle,i,-1,{nullValue: true }) * (Math.PI / 180); 2370 else if (setOptionValue("INGRAPH DATAANGLEPOSITION",ctx,data,statData,undefined,config.inGraphDataAnglePosition,i ,-1,{nullValue : true} ) == 2) posAngle = realCumulativeAngle - statData[i].segm entAngle / 2 + setOptionValue("INGRAPHDATAPADDINANGLE",ctx,data,statData,undefin ed,config.inGraphDataPaddingAngle,i,-1,{nullValue: true }) * (Math.PI / 180);
2360 else if (setOptionValue("INGRAPH DATAANGLEPOSITION",ctx,data,statData,undefined,config.inGraphDataAnglePosition,i ,-1,{nullValue : true} ) == 3) posAngle = realCumulativeAngle - statData[i].segm entAngle + setOptionValue("INGRAPHDATAPADDINANGLE",ctx,data,statData,undefined,c onfig.inGraphDataPaddingAngle,i,-1,{nullValue: true }) * (Math.PI / 180); 2371 else if (setOptionValue("INGRAPH DATAANGLEPOSITION",ctx,data,statData,undefined,config.inGraphDataAnglePosition,i ,-1,{nullValue : true} ) == 3) posAngle = realCumulativeAngle - statData[i].segm entAngle + setOptionValue("INGRAPHDATAPADDINANGLE",ctx,data,statData,undefined,c onfig.inGraphDataPaddingAngle,i,-1,{nullValue: true }) * (Math.PI / 180);
2361 realCumulativeAngle -= statData[ i].segmentAngle; 2372 realCumulativeAngle -= statData[ i].segmentAngle;
2362 » » » » » » var dispString = tmplbis(setOpti onValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphDataTmpl,i,- 1,{nullValue : true} ), statData[i]); 2373 » » » » » » var dispString = tmplbis(setOpti onValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphDataTmpl,i,- 1,{nullValue : true} ), statData[i],config);
2363 var textMeasurement = ctx.measur eText(dispString).width; 2374 var textMeasurement = ctx.measur eText(dispString).width;
2364 var MaxRadiusX = Math.abs((msr.a vailableWidth / 2 - textMeasurement) / Math.cos(posAngle)) - setOptionValue("ING RAPHDATAPADDINGRADIUS",ctx,data,statData,undefined,config.inGraphDataPaddingRadi us,i,-1,{nullValue: true} ) - 5; 2375 var MaxRadiusX = Math.abs((msr.a vailableWidth / 2 - textMeasurement) / Math.cos(posAngle)) - setOptionValue("ING RAPHDATAPADDINGRADIUS",ctx,data,statData,undefined,config.inGraphDataPaddingRadi us,i,-1,{nullValue: true} ) - 5;
2365 if (MaxRadiusX < pieRadius) pieR adius = MaxRadiusX; 2376 if (MaxRadiusX < pieRadius) pieR adius = MaxRadiusX;
2366 } 2377 }
2367 } 2378 }
2368 } 2379 }
2369 pieRadius = pieRadius * config.radiusScale; 2380 pieRadius = pieRadius * config.radiusScale;
2370 }; 2381 };
2371 }; 2382 };
2372 var Doughnut = function(data, config, ctx) { 2383 var Doughnut = function(data, config, ctx) {
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
2459 } else ctx.textAlign = setOption Value("INGRAPHDATAALIGN",ctx,data,statData,undefined,config.inGraphDataAlign,i,- 1,{nullValue: true }); 2470 } else ctx.textAlign = setOption Value("INGRAPHDATAALIGN",ctx,data,statData,undefined,config.inGraphDataAlign,i,- 1,{nullValue: true });
2460 if (setOptionValue("INGRAPHDATAV ALIGN",ctx,data,statData,undefined,config.inGraphDataVAlign,i,-1,{nullValue : tr ue} ) == "off-center") { 2471 if (setOptionValue("INGRAPHDATAV ALIGN",ctx,data,statData,undefined,config.inGraphDataVAlign,i,-1,{nullValue : tr ue} ) == "off-center") {
2461 if ((posAngle + 2 * Math .PI) % (2 * Math.PI) > Math.PI) ctx.textBaseline = "top"; 2472 if ((posAngle + 2 * Math .PI) % (2 * Math.PI) > Math.PI) ctx.textBaseline = "top";
2462 else ctx.textBaseline = "bottom"; 2473 else ctx.textBaseline = "bottom";
2463 } else if (setOptionValue("INGRA PHDATAVALIGN",ctx,data,statData,undefined,config.inGraphDataVAlign,i,-1,{nullVal ue : true} ) == "to-center") { 2474 } else if (setOptionValue("INGRA PHDATAVALIGN",ctx,data,statData,undefined,config.inGraphDataVAlign,i,-1,{nullVal ue : true} ) == "to-center") {
2464 if ((posAngle + 2 * Math .PI) % (2 * Math.PI) > Math.PI) ctx.textBaseline = "bottom"; 2475 if ((posAngle + 2 * Math .PI) % (2 * Math.PI) > Math.PI) ctx.textBaseline = "bottom";
2465 else ctx.textBaseline = "top"; 2476 else ctx.textBaseline = "top";
2466 } else ctx.textBaseline = setOpt ionValue("INGRAPHDATAVALIGN",ctx,data,statData,undefined,config.inGraphDataVAlig n,i,-1,{nullValue : true} ); 2477 } else ctx.textBaseline = setOpt ionValue("INGRAPHDATAVALIGN",ctx,data,statData,undefined,config.inGraphDataVAlig n,i,-1,{nullValue : true} );
2467 ctx.font = setOptionValue("INGRA PHDATAFONTSTYLE",ctx,data,statData,undefined,config.inGraphDataFontStyle,i,-1,{n ullValue : true} ) + ' ' + setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statDat a,undefined,config.inGraphDataFontSize,i,-1,{nullValue : true} ) + 'px ' + setOp tionValue("INGRAPHDATAFONTFAMILY",ctx,data,statData,undefined,config.inGraphData FontFamily,i,-1,{nullValue : true} ); 2478 ctx.font = setOptionValue("INGRA PHDATAFONTSTYLE",ctx,data,statData,undefined,config.inGraphDataFontStyle,i,-1,{n ullValue : true} ) + ' ' + setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statDat a,undefined,config.inGraphDataFontSize,i,-1,{nullValue : true} ) + 'px ' + setOp tionValue("INGRAPHDATAFONTFAMILY",ctx,data,statData,undefined,config.inGraphData FontFamily,i,-1,{nullValue : true} );
2468 ctx.fillStyle = setOptionValue(" INGRAPHDATAFONTCOLOR",ctx,data,statData,undefined,config.inGraphDataFontColor,i, -1,{nullValue : true} ); 2479 ctx.fillStyle = setOptionValue(" INGRAPHDATAFONTCOLOR",ctx,data,statData,undefined,config.inGraphDataFontColor,i, -1,{nullValue : true} );
2469 » » » » » » var dispString = tmplbis(setOpti onValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphDataTmpl,i,- 1,{nullValue : true} ), statData[i]); 2480 » » » » » » var dispString = tmplbis(setOpti onValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphDataTmpl,i,- 1,{nullValue : true} ), statData[i],config);
2470 ctx.translate(midPieX + labelRad ius * Math.cos(posAngle), midPieY - labelRadius * Math.sin(posAngle)); 2481 ctx.translate(midPieX + labelRad ius * Math.cos(posAngle), midPieY - labelRadius * Math.sin(posAngle));
2471 if (setOptionValue("INGRAPHDATAR OTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{nullValue : tr ue} ) == "inRadiusAxis") ctx.rotate(2 * Math.PI - posAngle); 2482 if (setOptionValue("INGRAPHDATAR OTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{nullValue : tr ue} ) == "inRadiusAxis") ctx.rotate(2 * Math.PI - posAngle);
2472 else if (setOptionValue("INGRAPH DATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{nullValue : true} ) == "inRadiusAxisRotateLabels") { 2483 else if (setOptionValue("INGRAPH DATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{nullValue : true} ) == "inRadiusAxisRotateLabels") {
2473 if ((posAngle + 2 * Math .PI) % (2 * Math.PI) > Math.PI / 2 && (posAngle + 2 * Math.PI) % (2 * Math.PI) < 3 * Math.PI / 2) ctx.rotate(3 * Math.PI - posAngle); 2484 if ((posAngle + 2 * Math .PI) % (2 * Math.PI) > Math.PI / 2 && (posAngle + 2 * Math.PI) % (2 * Math.PI) < 3 * Math.PI / 2) ctx.rotate(3 * Math.PI - posAngle);
2474 else ctx.rotate(2 * Math .PI - posAngle); 2485 else ctx.rotate(2 * Math .PI - posAngle);
2475 } else ctx.rotate(setOptionValue ("INGRAPHDATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{ nullValue : true} ) * (Math.PI / 180)); 2486 } else ctx.rotate(setOptionValue ("INGRAPHDATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,-1,{ nullValue : true} ) * (Math.PI / 180));
2476 ctx.fillTextMultiLine(dispString , 0, 0, ctx.textBaseline, setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statData ,undefined,config.inGraphDataFontSize,i,-1,{nullValue : true} ),true); 2487 ctx.fillTextMultiLine(dispString , 0, 0, ctx.textBaseline, setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statData ,undefined,config.inGraphDataFontSize,i,-1,{nullValue : true} ),true);
2477 ctx.restore(); 2488 ctx.restore();
2478 } 2489 }
2479 } 2490 }
(...skipping 10 matching lines...) Expand all
2490 doughnutRadius = Min([msr.availableHeight / 2, m sr.availableWidth / 2]) - setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statData ,undefined,config.inGraphDataFontSize,0,-1,{nullValue : true} ) - setOptionValue ("INGRAPHDATAPADDINGRADIUS",ctx,data,statData,undefined,config.inGraphDataPaddin gRadius,0,-1,{nullValue: true} ) - 5; 2501 doughnutRadius = Min([msr.availableHeight / 2, m sr.availableWidth / 2]) - setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statData ,undefined,config.inGraphDataFontSize,0,-1,{nullValue : true} ) - setOptionValue ("INGRAPHDATAPADDINGRADIUS",ctx,data,statData,undefined,config.inGraphDataPaddin gRadius,0,-1,{nullValue: true} ) - 5;
2491 var realCumulativeAngle = (((config.startAngle * (Math.PI / 180) + 2 * Math.PI) % (2 * Math.PI)) + 2* Math.PI) % (2* Math.PI) ; 2502 var realCumulativeAngle = (((config.startAngle * (Math.PI / 180) + 2 * Math.PI) % (2 * Math.PI)) + 2* Math.PI) % (2* Math.PI) ;
2492 var posAngle; 2503 var posAngle;
2493 for (var i = 0; i < data.length; i++) { 2504 for (var i = 0; i < data.length; i++) {
2494 if (!(typeof(data[i].value) == 'undefine d') && 1*data[i].value>=0) { 2505 if (!(typeof(data[i].value) == 'undefine d') && 1*data[i].value>=0) {
2495 ctx.font = setOptionValue("INGRA PHDATAFONTSTYLE",ctx,data,statData,undefined,config.inGraphDataFontStyle,i,-1,{n ullValue : true} ) + ' ' + setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statDat a,undefined,config.inGraphDataFontSize,i,-1,{nullValue : true} ) + 'px ' + setOp tionValue("INGRAPHDATAFONTFAMILY",ctx,data,statData,undefined,config.inGraphData FontFamily,i,-1,{nullValue : true} ); 2506 ctx.font = setOptionValue("INGRA PHDATAFONTSTYLE",ctx,data,statData,undefined,config.inGraphDataFontStyle,i,-1,{n ullValue : true} ) + ' ' + setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statDat a,undefined,config.inGraphDataFontSize,i,-1,{nullValue : true} ) + 'px ' + setOp tionValue("INGRAPHDATAFONTFAMILY",ctx,data,statData,undefined,config.inGraphData FontFamily,i,-1,{nullValue : true} );
2496 if (setOptionValue("INGRAPHDATAA NGLEPOSITION",ctx,data,statData,undefined,config.inGraphDataAnglePosition,i,-1,{ nullValue : true} ) == 1) posAngle = realCumulativeAngle + setOptionValue("INGRA PHDATAPADDINANGLE",ctx,data,statData,undefined,config.inGraphDataPaddingAngle,i, -1,{nullValue: true }) * (Math.PI / 180); 2507 if (setOptionValue("INGRAPHDATAA NGLEPOSITION",ctx,data,statData,undefined,config.inGraphDataAnglePosition,i,-1,{ nullValue : true} ) == 1) posAngle = realCumulativeAngle + setOptionValue("INGRA PHDATAPADDINANGLE",ctx,data,statData,undefined,config.inGraphDataPaddingAngle,i, -1,{nullValue: true }) * (Math.PI / 180);
2497 else if (setOptionValue("INGRAPH DATAANGLEPOSITION",ctx,data,statData,undefined,config.inGraphDataAnglePosition,i ,-1,{nullValue : true} ) == 2) posAngle = realCumulativeAngle - statData[i].segm entAngle / 2 + setOptionValue("INGRAPHDATAPADDINANGLE",ctx,data,statData,undefin ed,config.inGraphDataPaddingAngle,i,-1,{nullValue: true }) * (Math.PI / 180); 2508 else if (setOptionValue("INGRAPH DATAANGLEPOSITION",ctx,data,statData,undefined,config.inGraphDataAnglePosition,i ,-1,{nullValue : true} ) == 2) posAngle = realCumulativeAngle - statData[i].segm entAngle / 2 + setOptionValue("INGRAPHDATAPADDINANGLE",ctx,data,statData,undefin ed,config.inGraphDataPaddingAngle,i,-1,{nullValue: true }) * (Math.PI / 180);
2498 else if (setOptionValue("INGRAPH DATAANGLEPOSITION",ctx,data,statData,undefined,config.inGraphDataAnglePosition,i ,-1,{nullValue : true} ) == 3) posAngle = realCumulativeAngle - statData[i].segm entAngle + setOptionValue("INGRAPHDATAPADDINANGLE",ctx,data,statData,undefined,c onfig.inGraphDataPaddingAngle,i,-1,{nullValue: true }) * (Math.PI / 180); 2509 else if (setOptionValue("INGRAPH DATAANGLEPOSITION",ctx,data,statData,undefined,config.inGraphDataAnglePosition,i ,-1,{nullValue : true} ) == 3) posAngle = realCumulativeAngle - statData[i].segm entAngle + setOptionValue("INGRAPHDATAPADDINANGLE",ctx,data,statData,undefined,c onfig.inGraphDataPaddingAngle,i,-1,{nullValue: true }) * (Math.PI / 180);
2499 realCumulativeAngle -= statData[ i].segmentAngle; 2510 realCumulativeAngle -= statData[ i].segmentAngle;
2500 » » » » » » var dispString = tmplbis(setOpti onValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphDataTmpl,i,- 1,{nullValue : true} ), statData[i]); 2511 » » » » » » var dispString = tmplbis(setOpti onValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphDataTmpl,i,- 1,{nullValue : true} ), statData[i],config);
2501 var textMeasurement = ctx.measur eText(dispString).width; 2512 var textMeasurement = ctx.measur eText(dispString).width;
2502 var MaxRadiusX = Math.abs((msr.a vailableWidth / 2 - textMeasurement) / Math.cos(posAngle)) - setOptionValue("ING RAPHDATAPADDINGRADIUS",ctx,data,statData,undefined,config.inGraphDataPaddingRadi us,i,-1,{nullValue: true} ) - 5; 2513 var MaxRadiusX = Math.abs((msr.a vailableWidth / 2 - textMeasurement) / Math.cos(posAngle)) - setOptionValue("ING RAPHDATAPADDINGRADIUS",ctx,data,statData,undefined,config.inGraphDataPaddingRadi us,i,-1,{nullValue: true} ) - 5;
2503 if (MaxRadiusX < doughnutRadius) doughnutRadius = MaxRadiusX; 2514 if (MaxRadiusX < doughnutRadius) doughnutRadius = MaxRadiusX;
2504 } 2515 }
2505 } 2516 }
2506 } 2517 }
2507 doughnutRadius = doughnutRadius * config.radiusScale; 2518 doughnutRadius = doughnutRadius * config.radiusScale;
2508 }; 2519 };
2509 }; 2520 };
2510 var Line = function(data, config, ctx) { 2521 var Line = function(data, config, ctx) {
(...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after
2898 calculatedScale = { 2909 calculatedScale = {
2899 steps: scaleSteps, 2910 steps: scaleSteps,
2900 stepValue: scaleStepWidth, 2911 stepValue: scaleStepWidth,
2901 graphMin: scaleStartValue, 2912 graphMin: scaleStartValue,
2902 labels: [] 2913 labels: []
2903 } 2914 }
2904 for (var i = 0; i <= calculatedScale.steps; i++) { 2915 for (var i = 0; i <= calculatedScale.steps; i++) {
2905 if (labelTemplateString) { 2916 if (labelTemplateString) {
2906 calculatedScale.labels.push(tmpl (labelTemplateString, { 2917 calculatedScale.labels.push(tmpl (labelTemplateString, {
2907 value: fmtChartJS(config , 1 * ((scaleStartValue + (scaleStepWidth * i)).toFixed(getDecimalPlaces(scaleSt epWidth))), config.fmtYLabel) 2918 value: fmtChartJS(config , 1 * ((scaleStartValue + (scaleStepWidth * i)).toFixed(getDecimalPlaces(scaleSt epWidth))), config.fmtYLabel)
2908 » » » » » » })); 2919 » » » » » » },config));
2909 } 2920 }
2910 } 2921 }
2911 msr = setMeasures(data, config, ctx, height, wid th, calculatedScale.labels, null, true, false, true, true, true, "StackedBar"); 2922 msr = setMeasures(data, config, ctx, height, wid th, calculatedScale.labels, null, true, false, true, true, true, "StackedBar");
2912 } 2923 }
2913 2924
2914 var prevHeight=msr.availableHeight; 2925 var prevHeight=msr.availableHeight;
2915 2926
2916 msr.availableHeight = msr.availableHeight - config.scale TickSizeBottom - config.scaleTickSizeTop; 2927 msr.availableHeight = msr.availableHeight - config.scale TickSizeBottom - config.scaleTickSizeTop;
2917 msr.availableWidth = msr.availableWidth - config.scaleTi ckSizeLeft - config.scaleTickSizeRight; 2928 msr.availableWidth = msr.availableWidth - config.scaleTi ckSizeLeft - config.scaleTickSizeRight;
2918 scaleHop = Math.floor(msr.availableHeight / calculatedSc ale.steps); 2929 scaleHop = Math.floor(msr.availableHeight / calculatedSc ale.steps);
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
2981 if (typeof(data.datasets[i].data [j]) == 'undefined') continue; 2992 if (typeof(data.datasets[i].data [j]) == 'undefined') continue;
2982 if(setOptionValue("ANNOTATEDISPL AY",ctx,data,statData,undefined,config.annotateDisplay,i,j,{nullValue : true})) { 2993 if(setOptionValue("ANNOTATEDISPL AY",ctx,data,statData,undefined,config.annotateDisplay,i,j,{nullValue : true})) {
2983 jsGraphAnnotate[ctx.Char tNewId][jsGraphAnnotate[ctx.ChartNewId].length] = ["RECT", i, j, statData]; 2994 jsGraphAnnotate[ctx.Char tNewId][jsGraphAnnotate[ctx.ChartNewId].length] = ["RECT", i, j, statData];
2984 } 2995 }
2985 if(setOptionValue("INGRAPHDATASH OW",ctx,data,statData,undefined,config.inGraphDataShow,i,j,{nullValue : true})) { 2996 if(setOptionValue("INGRAPHDATASH OW",ctx,data,statData,undefined,config.inGraphDataShow,i,j,{nullValue : true})) {
2986 ctx.save(); 2997 ctx.save();
2987 ctx.textAlign = setOptio nValue("INGRAPHDATAALIGN",ctx,data,statData,undefined,config.inGraphDataAlign,i, j,{nullValue: true }); 2998 ctx.textAlign = setOptio nValue("INGRAPHDATAALIGN",ctx,data,statData,undefined,config.inGraphDataAlign,i, j,{nullValue: true });
2988 ctx.textBaseline = setOp tionValue("INGRAPHDATAVALIGN",ctx,data,statData,undefined,config.inGraphDataVAli gn,i,j,{nullValue : true} ); 2999 ctx.textBaseline = setOp tionValue("INGRAPHDATAVALIGN",ctx,data,statData,undefined,config.inGraphDataVAli gn,i,j,{nullValue : true} );
2989 ctx.font = setOptionValu e("INGRAPHDATAFONTSTYLE",ctx,data,statData,undefined,config.inGraphDataFontStyle ,i,j,{nullValue : true} ) + ' ' + setOptionValue("INGRAPHDATAFONTSIZE",ctx,data, statData,undefined,config.inGraphDataFontSize,i,j,{nullValue : true} ) + 'px ' + setOptionValue("INGRAPHDATAFONTFAMILY",ctx,data,statData,undefined,config.inGra phDataFontFamily,i,j,{nullValue : true} ); 3000 ctx.font = setOptionValu e("INGRAPHDATAFONTSTYLE",ctx,data,statData,undefined,config.inGraphDataFontStyle ,i,j,{nullValue : true} ) + ' ' + setOptionValue("INGRAPHDATAFONTSIZE",ctx,data, statData,undefined,config.inGraphDataFontSize,i,j,{nullValue : true} ) + 'px ' + setOptionValue("INGRAPHDATAFONTFAMILY",ctx,data,statData,undefined,config.inGra phDataFontFamily,i,j,{nullValue : true} );
2990 ctx.fillStyle = setOptio nValue("INGRAPHDATAFONTCOLOR",ctx,data,statData,undefined,config.inGraphDataFont Color,i,j,{nullValue : true} ); 3001 ctx.fillStyle = setOptio nValue("INGRAPHDATAFONTCOLOR",ctx,data,statData,undefined,config.inGraphDataFont Color,i,j,{nullValue : true} );
2991 » » » » » » » var dispString = tmplbis (setOptionValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphData Tmpl,i,j,{nullValue : true} ), statData[i][j]); 3002 » » » » » » » var dispString = tmplbis (setOptionValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphData Tmpl,i,j,{nullValue : true} ), statData[i][j],config);
2992 ctx.beginPath(); 3003 ctx.beginPath();
2993 ctx.beginPath(); 3004 ctx.beginPath();
2994 yPos = 0; 3005 yPos = 0;
2995 xPos = 0; 3006 xPos = 0;
2996 if (setOptionValue("INGR APHDATAXPOSITION",ctx,data,statData,undefined,config.inGraphDataXPosition,i,j,{n ullValue : true} ) == 1) { 3007 if (setOptionValue("INGR APHDATAXPOSITION",ctx,data,statData,undefined,config.inGraphDataXPosition,i,j,{n ullValue : true} ) == 1) {
2997 xPos = statData[ i][j].xPosLeft + setOptionValue("INGRAPHDATAPADDINGX",ctx,data,statData,undefine d,config.inGraphDataPaddingX,i,j,{nullValue : true} ); 3008 xPos = statData[ i][j].xPosLeft + setOptionValue("INGRAPHDATAPADDINGX",ctx,data,statData,undefine d,config.inGraphDataPaddingX,i,j,{nullValue : true} );
2998 } else if (setOptionValu e("INGRAPHDATAXPOSITION",ctx,data,statData,undefined,config.inGraphDataXPosition ,i,j,{nullValue : true} ) == 2) { 3009 } else if (setOptionValu e("INGRAPHDATAXPOSITION",ctx,data,statData,undefined,config.inGraphDataXPosition ,i,j,{nullValue : true} ) == 2) {
2999 xPos = statData[ i][j].xPosLeft + barWidth / 2 + setOptionValue("INGRAPHDATAPADDINGX",ctx,data,st atData,undefined,config.inGraphDataPaddingX,i,j,{nullValue : true} ); 3010 xPos = statData[ i][j].xPosLeft + barWidth / 2 + setOptionValue("INGRAPHDATAPADDINGX",ctx,data,st atData,undefined,config.inGraphDataPaddingX,i,j,{nullValue : true} );
3000 } else if (setOptionValu e("INGRAPHDATAXPOSITION",ctx,data,statData,undefined,config.inGraphDataXPosition ,i,j,{nullValue : true} ) == 3) { 3011 } else if (setOptionValu e("INGRAPHDATAXPOSITION",ctx,data,statData,undefined,config.inGraphDataXPosition ,i,j,{nullValue : true} ) == 3) {
3001 xPos = statData[ i][j].xPosLeft+ barWidth + setOptionValue("INGRAPHDATAPADDINGX",ctx,data,statDat a,undefined,config.inGraphDataPaddingX,i,j,{nullValue : true} ); 3012 xPos = statData[ i][j].xPosLeft+ barWidth + setOptionValue("INGRAPHDATAPADDINGX",ctx,data,statDat a,undefined,config.inGraphDataPaddingX,i,j,{nullValue : true} );
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
3236 calculatedScale = { 3247 calculatedScale = {
3237 steps: scaleSteps, 3248 steps: scaleSteps,
3238 stepValue: scaleStepWidth, 3249 stepValue: scaleStepWidth,
3239 graphMin: scaleStartValue, 3250 graphMin: scaleStartValue,
3240 labels: [] 3251 labels: []
3241 } 3252 }
3242 for (var i = 0; i <= calculatedScale.steps; i++) { 3253 for (var i = 0; i <= calculatedScale.steps; i++) {
3243 if (labelTemplateString) { 3254 if (labelTemplateString) {
3244 calculatedScale.labels.push(tmpl (labelTemplateString, { 3255 calculatedScale.labels.push(tmpl (labelTemplateString, {
3245 value: fmtChartJS(config , 1 * ((scaleStartValue + (scaleStepWidth * i)).toFixed(getDecimalPlaces(scaleSt epWidth))), config.fmtYLabel) 3256 value: fmtChartJS(config , 1 * ((scaleStartValue + (scaleStepWidth * i)).toFixed(getDecimalPlaces(scaleSt epWidth))), config.fmtYLabel)
3246 » » » » » » })); 3257 » » » » » » },config));
3247 } 3258 }
3248 } 3259 }
3249 msr = setMeasures(data, config, ctx, height, wid th, calculatedScale.labels, null, true, true, true, true, true, "HorizontalStack edBar"); 3260 msr = setMeasures(data, config, ctx, height, wid th, calculatedScale.labels, null, true, true, true, true, true, "HorizontalStack edBar");
3250 } 3261 }
3251 msr.availableHeight = msr.availableHeight - config.scale TickSizeBottom - config.scaleTickSizeTop; 3262 msr.availableHeight = msr.availableHeight - config.scale TickSizeBottom - config.scaleTickSizeTop;
3252 msr.availableWidth = msr.availableWidth - config.scaleTi ckSizeLeft - config.scaleTickSizeRight; 3263 msr.availableWidth = msr.availableWidth - config.scaleTi ckSizeLeft - config.scaleTickSizeRight;
3253 scaleHop = Math.floor(msr.availableHeight / data.labels. length); 3264 scaleHop = Math.floor(msr.availableHeight / data.labels. length);
3254 valueHop = Math.floor(msr.availableWidth / (calculatedSc ale.steps)); 3265 valueHop = Math.floor(msr.availableWidth / (calculatedSc ale.steps));
3255 if (valueHop == 0 || config.fullWidthGraph) valueHop = ( msr.availableWidth / (calculatedScale.steps)); 3266 if (valueHop == 0 || config.fullWidthGraph) valueHop = ( msr.availableWidth / (calculatedScale.steps));
3256 msr.clrwidth = msr.clrwidth - (msr.availableWidth - (cal culatedScale.steps * valueHop)); 3267 msr.clrwidth = msr.clrwidth - (msr.availableWidth - (cal culatedScale.steps * valueHop));
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
3324 if ((typeof(data.datasets[i].dat a[j]) == 'undefined')) continue; 3335 if ((typeof(data.datasets[i].dat a[j]) == 'undefined')) continue;
3325 if (setOptionValue("ANNOTATEDISP LAY",ctx,data,statData,undefined,config.annotateDisplay,i,j,{nullValue : true})) { 3336 if (setOptionValue("ANNOTATEDISP LAY",ctx,data,statData,undefined,config.annotateDisplay,i,j,{nullValue : true})) {
3326 jsGraphAnnotate[ctx.Char tNewId][jsGraphAnnotate[ctx.ChartNewId].length] = ["RECT", i ,j, statData]; 3337 jsGraphAnnotate[ctx.Char tNewId][jsGraphAnnotate[ctx.ChartNewId].length] = ["RECT", i ,j, statData];
3327 } 3338 }
3328 if(setOptionValue("INGRAPHDATASH OW",ctx,data,statData,undefined,config.inGraphDataShow,i,j,{nullValue : true})) { 3339 if(setOptionValue("INGRAPHDATASH OW",ctx,data,statData,undefined,config.inGraphDataShow,i,j,{nullValue : true})) {
3329 ctx.save(); 3340 ctx.save();
3330 ctx.textAlign = setOptio nValue("INGRAPHDATAALIGN",ctx,data,statData,undefined,config.inGraphDataAlign,i, j,{nullValue: true }); 3341 ctx.textAlign = setOptio nValue("INGRAPHDATAALIGN",ctx,data,statData,undefined,config.inGraphDataAlign,i, j,{nullValue: true });
3331 ctx.textBaseline = setOp tionValue("INGRAPHDATAVALIGN",ctx,data,statData,undefined,config.inGraphDataVAli gn,i,j,{nullValue : true} ); 3342 ctx.textBaseline = setOp tionValue("INGRAPHDATAVALIGN",ctx,data,statData,undefined,config.inGraphDataVAli gn,i,j,{nullValue : true} );
3332 ctx.font = setOptionValu e("INGRAPHDATAFONTSTYLE",ctx,data,statData,undefined,config.inGraphDataFontStyle ,i,j,{nullValue : true} ) + ' ' + setOptionValue("INGRAPHDATAFONTSIZE",ctx,data, statData,undefined,config.inGraphDataFontSize,i,j,{nullValue : true} ) + 'px ' + setOptionValue("INGRAPHDATAFONTFAMILY",ctx,data,statData,undefined,config.inGra phDataFontFamily,i,j,{nullValue : true} ); 3343 ctx.font = setOptionValu e("INGRAPHDATAFONTSTYLE",ctx,data,statData,undefined,config.inGraphDataFontStyle ,i,j,{nullValue : true} ) + ' ' + setOptionValue("INGRAPHDATAFONTSIZE",ctx,data, statData,undefined,config.inGraphDataFontSize,i,j,{nullValue : true} ) + 'px ' + setOptionValue("INGRAPHDATAFONTFAMILY",ctx,data,statData,undefined,config.inGra phDataFontFamily,i,j,{nullValue : true} );
3333 ctx.fillStyle = setOptio nValue("INGRAPHDATAFONTCOLOR",ctx,data,statData,undefined,config.inGraphDataFont Color,i,j,{nullValue : true} ); 3344 ctx.fillStyle = setOptio nValue("INGRAPHDATAFONTCOLOR",ctx,data,statData,undefined,config.inGraphDataFont Color,i,j,{nullValue : true} );
3334 » » » » » » » var dispString = tmplbis (setOptionValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphData Tmpl,i,j,{nullValue : true} ),statData[i][j]); 3345 » » » » » » » var dispString = tmplbis (setOptionValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphData Tmpl,i,j,{nullValue : true} ),statData[i][j],config);
3335 ctx.beginPath(); 3346 ctx.beginPath();
3336 yPos = 0; 3347 yPos = 0;
3337 xPos = 0; 3348 xPos = 0;
3338 if (setOptionValue("INGR APHDATAXPOSITION",ctx,data,statData,undefined,config.inGraphDataXPosition,i,j,{n ullValue : true} ) == 1) { 3349 if (setOptionValue("INGR APHDATAXPOSITION",ctx,data,statData,undefined,config.inGraphDataXPosition,i,j,{n ullValue : true} ) == 1) {
3339 xPos = statData[ i][j].xPosLeft + setOptionValue("INGRAPHDATAPADDINGX",ctx,data,statData,undefine d,config.inGraphDataPaddingX,i,j,{nullValue : true} ); 3350 xPos = statData[ i][j].xPosLeft + setOptionValue("INGRAPHDATAPADDINGX",ctx,data,statData,undefine d,config.inGraphDataPaddingX,i,j,{nullValue : true} );
3340 } else if (setOptionValu e("INGRAPHDATAXPOSITION",ctx,data,statData,undefined,config.inGraphDataXPosition ,i,j,{nullValue : true} ) == 2) { 3351 } else if (setOptionValu e("INGRAPHDATAXPOSITION",ctx,data,statData,undefined,config.inGraphDataXPosition ,i,j,{nullValue : true} ) == 2) {
3341 xPos = statData[ i][j].xPosLeft + (statData[i][j].xPosRight-statData[i][j].xPosLeft)/2 + setOptio nValue("INGRAPHDATAPADDINGX",ctx,data,statData,undefined,config.inGraphDataPaddi ngX,i,j,{nullValue : true} ); 3352 xPos = statData[ i][j].xPosLeft + (statData[i][j].xPosRight-statData[i][j].xPosLeft)/2 + setOptio nValue("INGRAPHDATAPADDINGX",ctx,data,statData,undefined,config.inGraphDataPaddi ngX,i,j,{nullValue : true} );
3342 } else if (setOptionValu e("INGRAPHDATAXPOSITION",ctx,data,statData,undefined,config.inGraphDataXPosition ,i,j,{nullValue : true} ) == 3) { 3353 } else if (setOptionValu e("INGRAPHDATAXPOSITION",ctx,data,statData,undefined,config.inGraphDataXPosition ,i,j,{nullValue : true} ) == 3) {
3343 xPos = statData[ i][j].xPosRight + setOptionValue("INGRAPHDATAPADDINGX",ctx,data,statData,undefin ed,config.inGraphDataPaddingX,i,j,{nullValue : true} ); 3354 xPos = statData[ i][j].xPosRight + setOptionValue("INGRAPHDATAPADDINGX",ctx,data,statData,undefin ed,config.inGraphDataPaddingX,i,j,{nullValue : true} );
3344 } 3355 }
3345 if (setOptionValue("INGR APHDATAYPOSITION",ctx,data,statData,undefined,config.inGraphDataYPosition,i,j,{n ullValue : true} ) == 1) { 3356 if (setOptionValue("INGR APHDATAYPOSITION",ctx,data,statData,undefined,config.inGraphDataYPosition,i,j,{n ullValue : true} ) == 1) {
3346 yPos = statData[ i][j].yPosBottom - setOptionValue("INGRAPHDATAPADDINGY",ctx,data,statData,undefi ned,config.inGraphDataPaddingY,i,j,{nullValue : true} ); 3357 yPos = statData[ i][j].yPosBottom - setOptionValue("INGRAPHDATAPADDINGY",ctx,data,statData,undefi ned,config.inGraphDataPaddingY,i,j,{nullValue : true} );
3347 } else if (setOptionValu e("INGRAPHDATAYPOSITION",ctx,data,statData,undefined,config.inGraphDataYPosition ,i,j,{nullValue : true} ) == 2) { 3358 } else if (setOptionValu e("INGRAPHDATAYPOSITION",ctx,data,statData,undefined,config.inGraphDataYPosition ,i,j,{nullValue : true} ) == 2) {
3348 yPos = statData[ i][j].yPosBottom - barWidth / 2 - setOptionValue("INGRAPHDATAPADDINGY",ctx,data, statData,undefined,config.inGraphDataPaddingY,i,j,{nullValue : true} ); 3359 yPos = statData[ i][j].yPosBottom - barWidth / 2 - setOptionValue("INGRAPHDATAPADDINGY",ctx,data, statData,undefined,config.inGraphDataPaddingY,i,j,{nullValue : true} );
3349 } else if (setOptionValu e("INGRAPHDATAYPOSITION",ctx,data,statData,undefined,config.inGraphDataYPosition ,i,j,{nullValue : true} ) == 3) { 3360 } else if (setOptionValu e("INGRAPHDATAYPOSITION",ctx,data,statData,undefined,config.inGraphDataYPosition ,i,j,{nullValue : true} ) == 3) {
3350 yPos = statData[ i][j].yPosTop - setOptionValue("INGRAPHDATAPADDINGY",ctx,data,statData,undefined ,config.inGraphDataPaddingY,i,j,{nullValue : true} ); 3361 yPos = statData[ i][j].yPosTop - setOptionValue("INGRAPHDATAPADDINGY",ctx,data,statData,undefined ,config.inGraphDataPaddingY,i,j,{nullValue : true} );
3351 } 3362 }
3352 » » » » » » » if(xPos<=msr.availableWi dth+msr.leftNotUsableSize) { 3363 //» » » » » » » » if(xPos<=msr.ava ilableWidth+msr.leftNotUsableSize) {
3353 ctx.translate(xP os, yPos); 3364 ctx.translate(xP os, yPos);
3354 ctx.rotate(setOp tionValue("INGRAPHDATAROTATE",ctx,data,statData,undefined,config.inGraphDataRota te,i,j,{nullValue : true} ) * (Math.PI / 180)); 3365 ctx.rotate(setOp tionValue("INGRAPHDATAROTATE",ctx,data,statData,undefined,config.inGraphDataRota te,i,j,{nullValue : true} ) * (Math.PI / 180));
3355 ctx.fillTextMult iLine(dispString, 0, 0, ctx.textBaseline, setOptionValue("INGRAPHDATAFONTSIZE",c tx,data,statData,undefined,config.inGraphDataFontSize,i,j,{nullValue : true} ),t rue); 3366 ctx.fillTextMult iLine(dispString, 0, 0, ctx.textBaseline, setOptionValue("INGRAPHDATAFONTSIZE",c tx,data,statData,undefined,config.inGraphDataFontSize,i,j,{nullValue : true} ),t rue);
3356 ctx.restore(); 3367 ctx.restore();
3357 » » » » » » » } 3368 //» » » » » » » }
3358 } 3369 }
3359 } 3370 }
3360 } 3371 }
3361 } 3372 }
3362 if(msr.legendMsr.dispLegend)drawLegend(msr.legendMsr,dat a,config,ctx,"HorizontalStackedBar"); 3373 if(msr.legendMsr.dispLegend)drawLegend(msr.legendMsr,dat a,config,ctx,"HorizontalStackedBar");
3363 }; 3374 };
3364 3375
3365 function drawScale() { 3376 function drawScale() {
3366 //X axis line 3377 //X axis line
3367 ctx.lineWidth = config.scaleLineWidth; 3378 ctx.lineWidth = config.scaleLineWidth;
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
3718 xPos = statData[ i][j].xPosLeft + barWidth + setOptionValue("INGRAPHDATAPADDINGX",ctx,data,statDa ta,undefined,config.inGraphDataPaddingX,i,j,{nullValue : true} ); 3729 xPos = statData[ i][j].xPosLeft + barWidth + setOptionValue("INGRAPHDATAPADDINGX",ctx,data,statDa ta,undefined,config.inGraphDataPaddingX,i,j,{nullValue : true} );
3719 } 3730 }
3720 if (setOptionValue("INGR APHDATAYPOSITION",ctx,data,statData,undefined,config.inGraphDataYPosition,i,j,{n ullValue : true} ) == 1) { 3731 if (setOptionValue("INGR APHDATAYPOSITION",ctx,data,statData,undefined,config.inGraphDataYPosition,i,j,{n ullValue : true} ) == 1) {
3721 yPos = statData[ i][j].yPosBottom - setOptionValue("INGRAPHDATAPADDINGY",ctx,data,statData,undefi ned,config.inGraphDataPaddingY,i,j,{nullValue : true} ); 3732 yPos = statData[ i][j].yPosBottom - setOptionValue("INGRAPHDATAPADDINGY",ctx,data,statData,undefi ned,config.inGraphDataPaddingY,i,j,{nullValue : true} );
3722 } else if (setOptionValu e("INGRAPHDATAYPOSITION",ctx,data,statData,undefined,config.inGraphDataYPosition ,i,j,{nullValue : true} ) == 2) { 3733 } else if (setOptionValu e("INGRAPHDATAYPOSITION",ctx,data,statData,undefined,config.inGraphDataYPosition ,i,j,{nullValue : true} ) == 2) {
3723 yPos = (statData [i][j].yPosBottom+statData[i][j].yPosTop)/2 - setOptionValue("INGRAPHDATAPADDING Y",ctx,data,statData,undefined,config.inGraphDataPaddingY,i,j,{nullValue : true} ); 3734 yPos = (statData [i][j].yPosBottom+statData[i][j].yPosTop)/2 - setOptionValue("INGRAPHDATAPADDING Y",ctx,data,statData,undefined,config.inGraphDataPaddingY,i,j,{nullValue : true} );
3724 } else if (setOptionValu e("INGRAPHDATAYPOSITION",ctx,data,statData,undefined,config.inGraphDataYPosition ,i,j,{nullValue : true} ) == 3) { 3735 } else if (setOptionValu e("INGRAPHDATAYPOSITION",ctx,data,statData,undefined,config.inGraphDataYPosition ,i,j,{nullValue : true} ) == 3) {
3725 yPos = statData[ i][j].yPosTop - setOptionValue("INGRAPHDATAPADDINGY",ctx,data,statData,undefined ,config.inGraphDataPaddingY,i,j,{nullValue : true} ); 3736 yPos = statData[ i][j].yPosTop - setOptionValue("INGRAPHDATAPADDINGY",ctx,data,statData,undefined ,config.inGraphDataPaddingY,i,j,{nullValue : true} );
3726 } 3737 }
3727 ctx.translate(xPos, yPos ); 3738 ctx.translate(xPos, yPos );
3728 » » » » » » » var dispString = tmplbis (setOptionValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphData Tmpl,i,j,{nullValue : true} ), statData[i][j]); 3739 » » » » » » » var dispString = tmplbis (setOptionValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphData Tmpl,i,j,{nullValue : true} ), statData[i][j],config);
3729 ctx.rotate(setOptionValu e("INGRAPHDATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,j,{ nullValue : true} ) * (Math.PI / 180)); 3740 ctx.rotate(setOptionValu e("INGRAPHDATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,j,{ nullValue : true} ) * (Math.PI / 180));
3730 ctx.fillTextMultiLine(di spString, 0, 0, ctx.textBaseline, setOptionValue("INGRAPHDATAFONTSIZE",ctx,data, statData,undefined,config.inGraphDataFontSize,i,j,{nullValue : true} ),true); 3741 ctx.fillTextMultiLine(di spString, 0, 0, ctx.textBaseline, setOptionValue("INGRAPHDATAFONTSIZE",ctx,data, statData,undefined,config.inGraphDataFontSize,i,j,{nullValue : true} ),true);
3731 ctx.restore(); 3742 ctx.restore();
3732 } 3743 }
3733 } 3744 }
3734 } 3745 }
3735 } 3746 }
3736 if (animPc >= 1 && typeof drawMath == "function") { 3747 if (animPc >= 1 && typeof drawMath == "function") {
3737 drawMath(ctx, config, data, msr, { 3748 drawMath(ctx, config, data, msr, {
3738 xAxisPosY: xAxisPosY, 3749 xAxisPosY: xAxisPosY,
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
4067 yPos = statData[ i][j].yPosTop - setOptionValue("INGRAPHDATAPADDINGY",ctx,data,statData,undefined ,config.inGraphDataPaddingY,i,j,{nullValue : true} ); 4078 yPos = statData[ i][j].yPosTop - setOptionValue("INGRAPHDATAPADDINGY",ctx,data,statData,undefined ,config.inGraphDataPaddingY,i,j,{nullValue : true} );
4068 } 4079 }
4069 if (setOptionValue("INGR APHDATAXPOSITION",ctx,data,statData,undefined,config.inGraphDataXPosition,i,j,{n ullValue : true} ) == 1) { 4080 if (setOptionValue("INGR APHDATAXPOSITION",ctx,data,statData,undefined,config.inGraphDataXPosition,i,j,{n ullValue : true} ) == 1) {
4070 xPos = statData[ i][j].xPosLeft + setOptionValue("INGRAPHDATAPADDINGX",ctx,data,statData,undefine d,config.inGraphDataPaddingX,i,j,{nullValue : true} ); 4081 xPos = statData[ i][j].xPosLeft + setOptionValue("INGRAPHDATAPADDINGX",ctx,data,statData,undefine d,config.inGraphDataPaddingX,i,j,{nullValue : true} );
4071 } else if (setOptionValu e("INGRAPHDATAXPOSITION",ctx,data,statData,undefined,config.inGraphDataXPosition ,i,j,{nullValue : true} ) == 2) { 4082 } else if (setOptionValu e("INGRAPHDATAXPOSITION",ctx,data,statData,undefined,config.inGraphDataXPosition ,i,j,{nullValue : true} ) == 2) {
4072 xPos = (statData [i][j].xPosLeft+statData[i][j].xPosRight)/2 + setOptionValue("INGRAPHDATAPADDING X",ctx,data,statData,undefined,config.inGraphDataPaddingX,i,j,{nullValue : true} ); 4083 xPos = (statData [i][j].xPosLeft+statData[i][j].xPosRight)/2 + setOptionValue("INGRAPHDATAPADDING X",ctx,data,statData,undefined,config.inGraphDataPaddingX,i,j,{nullValue : true} );
4073 } else if (setOptionValu e("INGRAPHDATAXPOSITION",ctx,data,statData,undefined,config.inGraphDataXPosition ,i,j,{nullValue : true} ) == 3) { 4084 } else if (setOptionValu e("INGRAPHDATAXPOSITION",ctx,data,statData,undefined,config.inGraphDataXPosition ,i,j,{nullValue : true} ) == 3) {
4074 xPos = statData[ i][j].xPosRight + setOptionValue("INGRAPHDATAPADDINGX",ctx,data,statData,undefin ed,config.inGraphDataPaddingX,i,j,{nullValue : true} ); 4085 xPos = statData[ i][j].xPosRight + setOptionValue("INGRAPHDATAPADDINGX",ctx,data,statData,undefin ed,config.inGraphDataPaddingX,i,j,{nullValue : true} );
4075 } 4086 }
4076 ctx.translate(xPos, yPos ); 4087 ctx.translate(xPos, yPos );
4077 » » » » » » » var dispString = tmplbis (setOptionValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphData Tmpl,i,j,{nullValue : true} ), statData[i][j]); 4088 » » » » » » » var dispString = tmplbis (setOptionValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphData Tmpl,i,j,{nullValue : true} ), statData[i][j],config);
4078 ctx.rotate(setOptionValu e("INGRAPHDATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,j,{ nullValue : true} ) * (Math.PI / 180)); 4089 ctx.rotate(setOptionValu e("INGRAPHDATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,j,{ nullValue : true} ) * (Math.PI / 180));
4079 ctx.fillTextMultiLine(di spString, 0, 0, ctx.textBaseline, setOptionValue("INGRAPHDATAFONTSIZE",ctx,data, statData,undefined,config.inGraphDataFontSize,i,j,{nullValue : true} ),true); 4090 ctx.fillTextMultiLine(di spString, 0, 0, ctx.textBaseline, setOptionValue("INGRAPHDATAFONTSIZE",ctx,data, statData,undefined,config.inGraphDataFontSize,i,j,{nullValue : true} ),true);
4080 ctx.restore(); 4091 ctx.restore();
4081 } 4092 }
4082 } 4093 }
4083 } 4094 }
4084 } 4095 }
4085 if(msr.legendMsr.dispLegend)drawLegend(msr.legendMsr,dat a,config,ctx,"HorizontalBar"); 4096 if(msr.legendMsr.dispLegend)drawLegend(msr.legendMsr,dat a,config,ctx,"HorizontalBar");
4086 }; 4097 };
4087 4098
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after
4446 } else { 4457 } else {
4447 logarithmic = config.logarithmic; 4458 logarithmic = config.logarithmic;
4448 fmtYLabel = config.fmtYLabel; 4459 fmtYLabel = config.fmtYLabel;
4449 } 4460 }
4450 if (labelTemplateString) { 4461 if (labelTemplateString) {
4451 //Fix floating point errors by setting to fixed the on t he same decimal as the stepValue. 4462 //Fix floating point errors by setting to fixed the on t he same decimal as the stepValue.
4452 if (!logarithmic) { // no logarithmic scale 4463 if (!logarithmic) { // no logarithmic scale
4453 for (var i = 0; i < numberOfSteps + 1; i++) { 4464 for (var i = 0; i < numberOfSteps + 1; i++) {
4454 labels.push(tmpl(labelTemplateString, { 4465 labels.push(tmpl(labelTemplateString, {
4455 value: fmtChartJS(config, 1 * (( graphMin + (stepValue * i)).toFixed(getDecimalPlaces(stepValue))), fmtYLabel) 4466 value: fmtChartJS(config, 1 * (( graphMin + (stepValue * i)).toFixed(getDecimalPlaces(stepValue))), fmtYLabel)
4456 » » » » » })); 4467 » » » » » },config));
4457 } 4468 }
4458 } else { // logarithmic scale 10,100,1000,... 4469 } else { // logarithmic scale 10,100,1000,...
4459 var value = graphMin; 4470 var value = graphMin;
4460 for (var i = 0; i < numberOfSteps + 1; i++) { 4471 for (var i = 0; i < numberOfSteps + 1; i++) {
4461 labels.push(tmpl(labelTemplateString, { 4472 labels.push(tmpl(labelTemplateString, {
4462 value: fmtChartJS(config, 1 * va lue.toFixed(getDecimalPlaces(value)), fmtYLabel) 4473 value: fmtChartJS(config, 1 * va lue.toFixed(getDecimalPlaces(value)), fmtYLabel)
4463 » » » » » })); 4474 » » » » » },config));
4464 value *= 10; 4475 value *= 10;
4465 } 4476 }
4466 } 4477 }
4467 } 4478 }
4468 }; 4479 };
4469 //Max value from array 4480 //Max value from array
4470 function Max(array) { 4481 function Max(array) {
4471 return Math.max.apply(Math, array); 4482 return Math.max.apply(Math, array);
4472 }; 4483 };
4473 //Min value from array 4484 //Min value from array
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
4513 for (var attrname in defaults) { 4524 for (var attrname in defaults) {
4514 returnObj[attrname] = defaults[attrname]; 4525 returnObj[attrname] = defaults[attrname];
4515 } 4526 }
4516 for (var attrname in userDefined) { 4527 for (var attrname in userDefined) {
4517 returnObj[attrname] = userDefined[attrname]; 4528 returnObj[attrname] = userDefined[attrname];
4518 } 4529 }
4519 return returnObj; 4530 return returnObj;
4520 }; 4531 };
4521 //Javascript micro templating by John Resig - source at http://ejohn.org /blog/javascript-micro-templating/ 4532 //Javascript micro templating by John Resig - source at http://ejohn.org /blog/javascript-micro-templating/
4522 var cache = {}; 4533 var cache = {};
4534
4535 function tmpl(str, data,config) {
4536 newstr=str;
4537 if(newstr.substr(0,config.templatesOpenTag.length)==config.templ atesOpenTag)newstr="<%="+newstr.substr(config.templatesOpenTag.length,newstr.len gth-config.templatesOpenTag.length);
4538 if(newstr.substr(newstr.length-config.templatesCloseTag.length,c onfig.templatesCloseTag.length)==config.templatesCloseTag)newstr=newstr.substr(0 ,newstr.length-config.templatesCloseTag.length)+"%>";
4539 return tmplpart2(newstr,data);
4540 }
4523 4541
4524 » function tmpl(str, data) { 4542 » function tmplpart2(str, data) {
4525 // Figure out if we're getting a template, or if we need to 4543 // Figure out if we're getting a template, or if we need to
4526 // load the template - and be sure to cache the result. 4544 // load the template - and be sure to cache the result.
4527 var fn = !/\W/.test(str) ? 4545 var fn = !/\W/.test(str) ?
4528 cache[str] = cache[str] || 4546 cache[str] = cache[str] ||
4529 » » » tmpl(document.getElementById(str).innerHTML) : 4547 » » » tmplpart2(document.getElementById(str).innerHTML) :
4530 // Generate a reusable function that will serve as a tem plate 4548 // Generate a reusable function that will serve as a tem plate
4531 // generator (and which will be cached). 4549 // generator (and which will be cached).
4532 new Function("obj", 4550 new Function("obj",
4533 "var p=[],print=function(){p.push.apply(p,argume nts);};" + 4551 "var p=[],print=function(){p.push.apply(p,argume nts);};" +
4534 // Introduce the data as local variables using w ith(){} 4552 // Introduce the data as local variables using w ith(){}
4535 "with(obj){p.push('" + 4553 "with(obj){p.push('" +
4536 // Convert the template into pure JavaScript 4554 // Convert the template into pure JavaScript
4537 str 4555 str
4538 .replace(/[\r\t\n]/g, " ") 4556 .replace(/[\r\t\n]/g, " ")
4539 .split("<%").join("\t") 4557 .split("<%").join("\t")
(...skipping 911 matching lines...) Expand 10 before | Expand all | Expand 10 after
5451 jsGraphAnnotate[ctx.ChartNewId][ jsGraphAnnotate[ctx.ChartNewId].length] = ["POINT", i, j, statData]; 5469 jsGraphAnnotate[ctx.ChartNewId][ jsGraphAnnotate[ctx.ChartNewId].length] = ["POINT", i, j, statData];
5452 } 5470 }
5453 if (setOptionValue("INGRAPHDATASHOW",ctx ,data,statData,undefined,config.inGraphDataShow,i,j,{nullValue : true})) { 5471 if (setOptionValue("INGRAPHDATASHOW",ctx ,data,statData,undefined,config.inGraphDataShow,i,j,{nullValue : true})) {
5454 ctx.save(); 5472 ctx.save();
5455 ctx.textAlign = setOptionValue(" INGRAPHDATAALIGN",ctx,data,statData,undefined,config.inGraphDataAlign,i,j,{nullV alue: true }); 5473 ctx.textAlign = setOptionValue(" INGRAPHDATAALIGN",ctx,data,statData,undefined,config.inGraphDataAlign,i,j,{nullV alue: true });
5456 ctx.textBaseline = setOptionValu e("INGRAPHDATAVALIGN",ctx,data,statData,undefined,config.inGraphDataVAlign,i,j,{ nullValue : true} ); 5474 ctx.textBaseline = setOptionValu e("INGRAPHDATAVALIGN",ctx,data,statData,undefined,config.inGraphDataVAlign,i,j,{ nullValue : true} );
5457 ctx.font = setOptionValue("INGRA PHDATAFONTSTYLE",ctx,data,statData,undefined,config.inGraphDataFontStyle,i,j,{nu llValue : true} ) + ' ' + setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statData ,undefined,config.inGraphDataFontSize,i,j,{nullValue : true} ) + 'px ' + setOpti onValue("INGRAPHDATAFONTFAMILY",ctx,data,statData,undefined,config.inGraphDataFo ntFamily,i,j,{nullValue : true} ); 5475 ctx.font = setOptionValue("INGRA PHDATAFONTSTYLE",ctx,data,statData,undefined,config.inGraphDataFontStyle,i,j,{nu llValue : true} ) + ' ' + setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statData ,undefined,config.inGraphDataFontSize,i,j,{nullValue : true} ) + 'px ' + setOpti onValue("INGRAPHDATAFONTFAMILY",ctx,data,statData,undefined,config.inGraphDataFo ntFamily,i,j,{nullValue : true} );
5458 ctx.fillStyle = setOptionValue(" INGRAPHDATAFONTCOLOR",ctx,data,statData,undefined,config.inGraphDataFontColor,i, j,{nullValue : true} ); 5476 ctx.fillStyle = setOptionValue(" INGRAPHDATAFONTCOLOR",ctx,data,statData,undefined,config.inGraphDataFontColor,i, j,{nullValue : true} );
5459 var paddingTextX = setOptionValu e("INGRAPHDATAPADDINGX",ctx,data,statData,undefined,config.inGraphDataPaddingX,i ,j,{nullValue : true} ), 5477 var paddingTextX = setOptionValu e("INGRAPHDATAPADDINGX",ctx,data,statData,undefined,config.inGraphDataPaddingX,i ,j,{nullValue : true} ),
5460 paddingTextY = setOption Value("INGRAPHDATAPADDINGY",ctx,data,statData,undefined,config.inGraphDataPaddin gY,i,j,{nullValue : true} ); 5478 paddingTextY = setOption Value("INGRAPHDATAPADDINGY",ctx,data,statData,undefined,config.inGraphDataPaddin gY,i,j,{nullValue : true} );
5461 » » » » » » var dispString = tmplbis(setOpti onValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphDataTmpl,i,j ,{nullValue : true} ), statData[i][j]); 5479 » » » » » » var dispString = tmplbis(setOpti onValue("INGRAPHDATATMPL",ctx,data,statData,undefined,config.inGraphDataTmpl,i,j ,{nullValue : true} ), statData[i][j],config);
5462 ctx.translate(statData[i][j].xPo s + paddingTextX, statData[i][j].yAxisPos - currentAnimPc.mainVal * statData[i][ j].yPosOffset - paddingTextY); 5480 ctx.translate(statData[i][j].xPo s + paddingTextX, statData[i][j].yAxisPos - currentAnimPc.mainVal * statData[i][ j].yPosOffset - paddingTextY);
5463 ctx.rotate(setOptionValue("INGRA PHDATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,j,{nullValu e : true} ) * (Math.PI / 180)); 5481 ctx.rotate(setOptionValue("INGRA PHDATAROTATE",ctx,data,statData,undefined,config.inGraphDataRotate,i,j,{nullValu e : true} ) * (Math.PI / 180));
5464 ctx.fillTextMultiLine(dispString , 0, 0, ctx.textBaseline, setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statData ,undefined,config.inGraphDataFontSize,i,j,{nullValue : true} ),true); 5482 ctx.fillTextMultiLine(dispString , 0, 0, ctx.textBaseline, setOptionValue("INGRAPHDATAFONTSIZE",ctx,data,statData ,undefined,config.inGraphDataFontSize,i,j,{nullValue : true} ),true);
5465 ctx.restore(); 5483 ctx.restore();
5466 } 5484 }
5467 } 5485 }
5468 } 5486 }
5469 }; 5487 };
5470 5488
5471 5489
(...skipping 545 matching lines...) Expand 10 before | Expand all | Expand 10 after
6017 lminvalue[0]=[]; 6035 lminvalue[0]=[];
6018 lminvalue[1]=[]; 6036 lminvalue[1]=[];
6019 var lgtxt,lgtxt2,tp; 6037 var lgtxt,lgtxt2,tp;
6020 var prevpos=[]; 6038 var prevpos=[];
6021 var firstNotMissingi=[]; 6039 var firstNotMissingi=[];
6022 var lastNotMissingi=[]; 6040 var lastNotMissingi=[];
6023 var firstNotMissingj=[]; 6041 var firstNotMissingj=[];
6024 var lastNotMissingj=[]; 6042 var lastNotMissingj=[];
6025 prevpos[0]=[]; 6043 prevpos[0]=[];
6026 prevpos[1]=[]; 6044 prevpos[1]=[];
6045 var grandtotal=0;
6027 for (var i = 0; i < data.datasets.length; i++) { 6046 for (var i = 0; i < data.datasets.length; i++) {
6028 // BUG when all data are missing ! 6047 // BUG when all data are missing !
6029 if (typeof data.datasets[i].xPos != "undefined" && tpdra w(ctx,data.datasets[i])=="Line") { 6048 if (typeof data.datasets[i].xPos != "undefined" && tpdra w(ctx,data.datasets[i])=="Line") {
6030 for(var j=data.datasets[i].data.length;j<data.da tasets[i].xPos.length;j++)data.datasets[i].data.push(undefined); 6049 for(var j=data.datasets[i].data.length;j<data.da tasets[i].xPos.length;j++)data.datasets[i].data.push(undefined);
6031 } else { 6050 } else {
6032 for(var j=data.datasets[i].data.length;j<data.la bels.length;j++)data.datasets[i].data.push(undefined); 6051 for(var j=data.datasets[i].data.length;j<data.la bels.length;j++)data.datasets[i].data.push(undefined);
6033 } 6052 }
6034 6053
6035 6054
6036 if(data.datasets[i].axis == 2) axis=0;else axis=1; 6055 if(data.datasets[i].axis == 2) axis=0;else axis=1;
(...skipping 10 matching lines...) Expand all
6047 firstNotMissingj[j]=-1; 6066 firstNotMissingj[j]=-1;
6048 lastNotMissingj[j]=-1; 6067 lastNotMissingj[j]=-1;
6049 totvalue[0][j] = 0; 6068 totvalue[0][j] = 0;
6050 mxvalue[0][j]=-Number.MAX_VALUE; 6069 mxvalue[0][j]=-Number.MAX_VALUE;
6051 mnvalue[0][j]=Number.MAX_VALUE; 6070 mnvalue[0][j]=Number.MAX_VALUE;
6052 totvalue[1][j] = 0; 6071 totvalue[1][j] = 0;
6053 mxvalue[1][j]=-Number.MAX_VALUE; 6072 mxvalue[1][j]=-Number.MAX_VALUE;
6054 mnvalue[1][j]=Number.MAX_VALUE; 6073 mnvalue[1][j]=Number.MAX_VALUE;
6055 } 6074 }
6056 if (!(typeof data.datasets[i].data[j] == 'undefi ned')) { 6075 if (!(typeof data.datasets[i].data[j] == 'undefi ned')) {
6076 grandtotal += 1 * data.datasets[i].data[ j];
6057 if(firstNotMissingi[i]==-1)firstNotMissi ngi[i]=j; 6077 if(firstNotMissingi[i]==-1)firstNotMissi ngi[i]=j;
6058 lastNotMissingi[i]=j; 6078 lastNotMissingi[i]=j;
6059 if(firstNotMissingj[j]==-1)firstNotMissi ngj[j]=i; 6079 if(firstNotMissingj[j]==-1)firstNotMissi ngj[j]=i;
6060 lastNotMissingj[j]=i; 6080 lastNotMissingj[j]=i;
6061 totvalue[axis][j] += 1 * data.datasets[i ].data[j]; 6081 totvalue[axis][j] += 1 * data.datasets[i ].data[j];
6062 mxvalue[axis][j] =Math.max(mxvalue[axis] [j],1 * data.datasets[i].data[j]); 6082 mxvalue[axis][j] =Math.max(mxvalue[axis] [j],1 * data.datasets[i].data[j]);
6063 mnvalue[axis][j] =Math.min(mnvalue[axis] [j],1 * data.datasets[i].data[j]); 6083 mnvalue[axis][j] =Math.min(mnvalue[axis] [j],1 * data.datasets[i].data[j]);
6064 lmaxvalue[axis][i] =Math.max(lmaxvalue[a xis][i],1 * data.datasets[i].data[j]); 6084 lmaxvalue[axis][i] =Math.max(lmaxvalue[a xis][i],1 * data.datasets[i].data[j]);
6065 lminvalue[axis][i] =Math.min(lminvalue[a xis][i],1 * data.datasets[i].data[j]); 6085 lminvalue[axis][i] =Math.min(lminvalue[a xis][i],1 * data.datasets[i].data[j]);
6066 } 6086 }
6067 } 6087 }
6068 } 6088 }
6069 6089
6070 for (var i = 0; i < data.datasets.length; i++) { 6090 for (var i = 0; i < data.datasets.length; i++) {
6071 if(data.datasets[i].axis == 2) axis=0;else axis=1; 6091 if(data.datasets[i].axis == 2) axis=0;else axis=1;
6072 if (typeof(data.datasets[i].title) == "string") lgtxt = data.datasets[i].title.trim(); 6092 if (typeof(data.datasets[i].title) == "string") lgtxt = data.datasets[i].title.trim();
6073 else lgtxt = ""; 6093 else lgtxt = "";
6074 var prevnotemptyj=-1; 6094 var prevnotemptyj=-1;
6075 var prevemptyj=-1; 6095 var prevemptyj=-1;
6076 for (var j = 0; j < data.datasets[i].data.length; j++) { 6096 for (var j = 0; j < data.datasets[i].data.length; j++) {
6077 6097
6078 if(typeof cumvalue[0][j]== "undefined"){cumvalue [0][j] = 0; prevpos[0][j]=-1;cumvalue[1][j] = 0; prevpos[1][j]=-1; } 6098 if(typeof cumvalue[0][j]== "undefined"){cumvalue [0][j] = 0; prevpos[0][j]=-1;cumvalue[1][j] = 0; prevpos[1][j]=-1; }
6079 lgtxt2 = ""; 6099 lgtxt2 = "";
6080 if (typeof data.datasets[i].xPos != "undefined") { 6100 if (typeof data.datasets[i].xPos != "undefined") {
6081 if (!(typeof data.datasets[i].xPos[j] == "undefined")) lgtxt2 = data.datasets[i].xPos[j]; 6101 if (!(typeof data.datasets[i].xPos[j] == "undefined")) lgtxt2 = data.datasets[i].xPos[j];
6082 } 6102 }
6083 if (lgtxt2 == "" && !(typeof(data.labels[j]) == "undefined")) lgtxt2 = data.labels[j]; 6103 if (lgtxt2 == "" && !(typeof(data.labels[j]) == "undefined")) lgtxt2 = data.labels[j];
6084 if (typeof lgtxt2 == "string") lgtxt2 = lgtxt2.t rim(); 6104 if (typeof lgtxt2 == "string") lgtxt2 = lgtxt2.t rim();
6085 6105
6086 » » » » if (!(typeof(data.datasets[i].data[j]) == 'undef ined')) { 6106 //» » » » if (!(typeof(data.datasets[i].data[j]) == 'undef ined') && data.datasets[i].data[j] != 0) {
6107 » » » » if (!(typeof(data.datasets[i].data[j]) == 'undef ined') ) {
6087 cumvalue[axis][j]+=1*data.datasets[i].da ta[j]; 6108 cumvalue[axis][j]+=1*data.datasets[i].da ta[j];
6088 switch(tpdraw(ctx,data.datasets[i])) { 6109 switch(tpdraw(ctx,data.datasets[i])) {
6089 case "Bar" : 6110 case "Bar" :
6090 case "StackedBar" : 6111 case "StackedBar" :
6091 case "HorizontalBar" : 6112 case "HorizontalBar" :
6092 case "HorizontalStackedBar" : 6113 case "HorizontalStackedBar" :
6093
6094 result[i][j]= { 6114 result[i][j]= {
6095 config: config, 6115 config: config,
6096 v1: fmtChartJS(c onfig, lgtxt, config.fmtV1), 6116 v1: fmtChartJS(c onfig, lgtxt, config.fmtV1),
6097 v2: fmtChartJS(c onfig, lgtxt2, config.fmtV2), 6117 v2: fmtChartJS(c onfig, lgtxt2, config.fmtV2),
6098 v3: fmtChartJS(c onfig, 1 * data.datasets[i].data[j], config.fmtV3), 6118 v3: fmtChartJS(c onfig, 1 * data.datasets[i].data[j], config.fmtV3),
6099 v4: fmtChartJS(c onfig, cumvalue[axis][j], config.fmtV4), 6119 v4: fmtChartJS(c onfig, cumvalue[axis][j], config.fmtV4),
6100 v5: fmtChartJS(c onfig, totvalue[axis][j], config.fmtV5), 6120 v5: fmtChartJS(c onfig, totvalue[axis][j], config.fmtV5),
6101 v6: roundToWithT housands(config, fmtChartJS(config, 100 * data.datasets[i].data[j] / totvalue[ax is][j], config.fmtV6), config.roundPct), 6121 v6: roundToWithT housands(config, fmtChartJS(config, 100 * data.datasets[i].data[j] / totvalue[ax is][j], config.fmtV6), config.roundPct),
6122 v6T: roundToWith Thousands(config, fmtChartJS(config, 100 * data.datasets[i].data[j] / grandtotal , config.fmtV6T), config.roundPct),
6102 v11: fmtChartJS( config, i, config.fmtV11), 6123 v11: fmtChartJS( config, i, config.fmtV11),
6103 v12: fmtChartJS( config, j, config.fmtV12), 6124 v12: fmtChartJS( config, j, config.fmtV12),
6104 lgtxt: lgtxt, 6125 lgtxt: lgtxt,
6105 lgtxt2: lgtxt2, 6126 lgtxt2: lgtxt2,
6106 datavalue: 1 * d ata.datasets[i].data[j], 6127 datavalue: 1 * d ata.datasets[i].data[j],
6107 cumvalue: cumval ue[axis][j], 6128 cumvalue: cumval ue[axis][j],
6108 totvalue: totval ue[axis][j], 6129 totvalue: totval ue[axis][j],
6109 pctvalue: 100 * data.datasets[i].data[j] / totvalue[axis][j], 6130 pctvalue: 100 * data.datasets[i].data[j] / totvalue[axis][j],
6131 pctvalueT: 100 * data.datasets[i].data[j] / grandtotal,
6110 maxvalue : mxval ue[axis][j], 6132 maxvalue : mxval ue[axis][j],
6111 minvalue : mnval ue[axis][j], 6133 minvalue : mnval ue[axis][j],
6112 lmaxvalue : lmax value[axis][i], 6134 lmaxvalue : lmax value[axis][i],
6113 lminvalue : lmin value[axis][i], 6135 lminvalue : lmin value[axis][i],
6136 grandtotal : gra ndtotal,
6114 firstNotMissing : firstNotMissingj[j], 6137 firstNotMissing : firstNotMissingj[j],
6115 lastNotMissing : lastNotMissingj[j], 6138 lastNotMissing : lastNotMissingj[j],
6116 prevNotMissing : prevnotemptyj, 6139 prevNotMissing : prevnotemptyj,
6117 prevMissing : pr evemptyj, 6140 prevMissing : pr evemptyj,
6118 nextNotMissing : -1, 6141 nextNotMissing : -1,
6119 j: j, 6142 j: j,
6120 i: i, 6143 i: i,
6121 data: data 6144 data: data
6122 }; 6145 };
6146 if(1 * data.datasets[i]. data[j]==0 && (tpdraw(ctx,data.datasets[i])=="HorizontalStackedBar" || tpdraw(ct x,data.datasets[i])=="StackedBar"))result[i][j].v3="";
6123 break; 6147 break;
6124 case "Line" : 6148 case "Line" :
6125 case "Radar" : 6149 case "Radar" :
6126 result[i][j]= { 6150 result[i][j]= {
6127 config: config, 6151 config: config,
6128 v1: fmtChartJS(c onfig, lgtxt, config.fmtV1), 6152 v1: fmtChartJS(c onfig, lgtxt, config.fmtV1),
6129 v2: fmtChartJS(c onfig, lgtxt2, config.fmtV2), 6153 v2: fmtChartJS(c onfig, lgtxt2, config.fmtV2),
6130 v3: fmtChartJS(c onfig, 1 * data.datasets[i].data[j], config.fmtV3), 6154 v3: fmtChartJS(c onfig, 1 * data.datasets[i].data[j], config.fmtV3),
6131 v5: fmtChartJS(c onfig, 1 * data.datasets[i].data[j], config.fmtV5), 6155 v5: fmtChartJS(c onfig, 1 * data.datasets[i].data[j], config.fmtV5),
6132 » » » » » » » » v6: fmtChartJS(c onfig, mxvalue[axis][j], config.fmtV7), 6156 » » » » » » » » v6: fmtChartJS(c onfig, mxvalue[axis][j], config.fmtV6),
6133 » » » » » » » » v7: fmtChartJS(c onfig, totvalue[axis][j], config.fmtV6), 6157 » » » » » » » » v7: fmtChartJS(c onfig, totvalue[axis][j], config.fmtV7),
6134 v8: roundToWithT housands(config, fmtChartJS(config, 100 * data.datasets[i].data[j] / totvalue[ax is][j], config.fmtV8), config.roundPct), 6158 v8: roundToWithT housands(config, fmtChartJS(config, 100 * data.datasets[i].data[j] / totvalue[ax is][j], config.fmtV8), config.roundPct),
6159 v8T: roundToWith Thousands(config, fmtChartJS(config, 100 * data.datasets[i].data[j] / grandtotal , config.fmtV8T), config.roundPct),
6135 v11: fmtChartJS( config, i, config.fmtV11), 6160 v11: fmtChartJS( config, i, config.fmtV11),
6136 v12: fmtChartJS( config, j, config.fmtV12), 6161 v12: fmtChartJS( config, j, config.fmtV12),
6137 lgtxt: lgtxt, 6162 lgtxt: lgtxt,
6138 lgtxt2: lgtxt2, 6163 lgtxt2: lgtxt2,
6139 datavalue: 1 * d ata.datasets[i].data[j], 6164 datavalue: 1 * d ata.datasets[i].data[j],
6140 diffnext: 1 * da ta.datasets[i].data[j], 6165 diffnext: 1 * da ta.datasets[i].data[j],
6141 pctvalue: 100 * data.datasets[i].data[j] / totvalue[axis][j], 6166 pctvalue: 100 * data.datasets[i].data[j] / totvalue[axis][j],
6167 pctvalueT: 100 * data.datasets[i].data[j] / grandtotal,
6142 totvalue : totva lue[axis][j], 6168 totvalue : totva lue[axis][j],
6143 cumvalue: cumval ue[axis][j], 6169 cumvalue: cumval ue[axis][j],
6144 maxvalue : mxval ue[axis][j], 6170 maxvalue : mxval ue[axis][j],
6145 minvalue : mnval ue[axis][j], 6171 minvalue : mnval ue[axis][j],
6146 lmaxvalue : lmax value[axis][i], 6172 lmaxvalue : lmax value[axis][i],
6147 lminvalue : lmin value[axis][i], 6173 lminvalue : lmin value[axis][i],
6148 lminvalue : lmin value[axis][i], 6174 lminvalue : lmin value[axis][i],
6175 grandtotal : gra ndtotal,
6149 firstNotMissing : firstNotMissingi[i], 6176 firstNotMissing : firstNotMissingi[i],
6150 lastNotMissing : lastNotMissingi[i], 6177 lastNotMissing : lastNotMissingi[i],
6151 prevNotMissing : prevnotemptyj, 6178 prevNotMissing : prevnotemptyj,
6152 prevMissing : pr evemptyj, 6179 prevMissing : pr evemptyj,
6153 nextNotMissing : -1, 6180 nextNotMissing : -1,
6154 j: j, 6181 j: j,
6155 i: i, 6182 i: i,
6156 data: data 6183 data: data
6157 }; 6184 };
6158 if(prevpos[axis][j]>=0){ 6185 if(prevpos[axis][j]>=0){
(...skipping 22 matching lines...) Expand all
6181 case "HorizontalBar" : 6208 case "HorizontalBar" :
6182 case "HorizontalStackedBar" : 6209 case "HorizontalStackedBar" :
6183 result[i][j] ={ 6210 result[i][j] ={
6184 v1:lgtxt, 6211 v1:lgtxt,
6185 lmaxvalue : lmax value[axis][i], 6212 lmaxvalue : lmax value[axis][i],
6186 lminvalue : lmin value[axis][i], 6213 lminvalue : lmin value[axis][i],
6187 firstNotMissing : firstNotMissingj[j], 6214 firstNotMissing : firstNotMissingj[j],
6188 lastNotMissing : lastNotMissingj[j], 6215 lastNotMissing : lastNotMissingj[j],
6189 prevNotMissing : prevnotemptyj, 6216 prevNotMissing : prevnotemptyj,
6190 prevMissing : pr evemptyj, 6217 prevMissing : pr evemptyj,
6218 grandtotal : gra ndtotal,
6191 }; 6219 };
6192 break; 6220 break;
6193 case "Line" : 6221 case "Line" :
6194 case "Radar" : 6222 case "Radar" :
6195 result[i][j] ={ 6223 result[i][j] ={
6196 v1:lgtxt, 6224 v1:lgtxt,
6197 lmaxvalue : lmax value[axis][i], 6225 lmaxvalue : lmax value[axis][i],
6198 lminvalue : lmin value[axis][i], 6226 lminvalue : lmin value[axis][i],
6199 firstNotMissing : firstNotMissingi[i], 6227 firstNotMissing : firstNotMissingi[i],
6200 lastNotMissing : lastNotMissingi[i], 6228 lastNotMissing : lastNotMissingi[i],
6201 prevNotMissing : prevnotemptyj, 6229 prevNotMissing : prevnotemptyj,
6202 prevMissing : pr evemptyj, 6230 prevMissing : pr evemptyj,
6231 grandtotal : gra ndtotal,
6203 }; 6232 };
6204 break; 6233 break;
6205 } 6234 }
6206 } 6235 }
6207 } 6236 }
6208 } 6237 }
6209 break; 6238 break;
6210 default: 6239 default:
6211 break; 6240 break;
6212 } 6241 }
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
6413 statData[i][j].v9=statData[i][j] .xPosRight; 6442 statData[i][j].v9=statData[i][j] .xPosRight;
6414 statData[i][j].v10=statData[i][j ].yPosTop; 6443 statData[i][j].v10=statData[i][j ].yPosTop;
6415 } 6444 }
6416 break; 6445 break;
6417 case "HorizontalStackedBar" : 6446 case "HorizontalStackedBar" :
6418 for (var j = 0; j < data.datasets[i].dat a.length; j++) { 6447 for (var j = 0; j < data.datasets[i].dat a.length; j++) {
6419 if (i == 0) { 6448 if (i == 0) {
6420 tempp[j]=0; 6449 tempp[j]=0;
6421 tempn[j]=0; 6450 tempn[j]=0;
6422 } 6451 }
6423 » » » » » » if ((typeof(data.datasets[i].dat a[j]) == 'undefined') || 1*data.datasets[i].data[j] == 0 ) continue; 6452 » » » » » » if (typeof(data.datasets[i].data [j]) == 'undefined') continue;
6453 //» » » » » » if ((typeof(data.datasets[i].dat a[j]) == 'undefined') || 1*data.datasets[i].data[j] == 0 ) continue;
6424 6454
6425 statData[i][j].xPosLeft= otherva rs.yAxisPosX + config.barValueSpacing + othervars.valueHop * j; 6455 statData[i][j].xPosLeft= otherva rs.yAxisPosX + config.barValueSpacing + othervars.valueHop * j;
6426 if (1*data.datasets[i].data[j]<0 ) { 6456 if (1*data.datasets[i].data[j]<0 ) {
6427 statData[i][j].leftval=t empn[j]; 6457 statData[i][j].leftval=t empn[j];
6428 statData[i][j].rightval= tempn[j]+1*data.datasets[i].data[j] ; 6458 statData[i][j].rightval= tempn[j]+1*data.datasets[i].data[j] ;
6429 tempn[j]=tempn[j]+1*data .datasets[i].data[j] ; 6459 tempn[j]=tempn[j]+1*data .datasets[i].data[j] ;
6430 } else { 6460 } else {
6431 statData[i][j].leftval=t empp[j]; 6461 statData[i][j].leftval=t empp[j];
6432 statData[i][j].rightval= tempp[j]+1*data.datasets[i].data[j] ; 6462 statData[i][j].rightval= tempp[j]+1*data.datasets[i].data[j] ;
6433 tempp[j]=tempp[j]+1*data .datasets[i].data[j] ; 6463 tempp[j]=tempp[j]+1*data .datasets[i].data[j] ;
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
6543 else if(typeof optionvar == "object") { 6573 else if(typeof optionvar == "object") {
6544 for(var j=0;j<optionvar.length;j++) if (optionvar[j])ret urn true; 6574 for(var j=0;j<optionvar.length;j++) if (optionvar[j])ret urn true;
6545 return false; 6575 return false;
6546 } else return optionvar; 6576 } else return optionvar;
6547 }; 6577 };
6548 6578
6549 function setOptionValue(reference,ctx,data,statData,optionvar,defaultvalue,posi, posj,othervars) { 6579 function setOptionValue(reference,ctx,data,statData,optionvar,defaultvalue,posi, posj,othervars) {
6550 6580
6551 if(typeof optionvar == "undefined") { 6581 if(typeof optionvar == "undefined") {
6552 if(typeof defaultvalue=="function") return defaultvalue(referenc e,ctx,data,statData,posi,posj,othervars); 6582 if(typeof defaultvalue=="function") return defaultvalue(referenc e,ctx,data,statData,posi,posj,othervars);
6553 » » else if(typeof defaultvalue == "object") return defaultvalue[Mat h.min(defaultvalue.length-1,Math.max(0,posi))]; 6583 » » else if(typeof defaultvalue == "object") {
6584 » » » if(posj==-1)return defaultvalue[Math.min(defaultvalue.le ngth-1,Math.max(0,posi))];
6585 » » » else return defaultvalue[Math.min(defaultvalue.length-1, Math.max(0,posj))];
6586 » » }
6554 else return defaultvalue; 6587 else return defaultvalue;
6555 } 6588 }
6556 if(typeof optionvar=="function") return optionvar(reference,ctx,data,sta tData,posi,posj,othervars); 6589 if(typeof optionvar=="function") return optionvar(reference,ctx,data,sta tData,posi,posj,othervars);
6557 » else if(typeof optionvar == "object") return optionvar[Math.min(optionva r.length-1,Math.max(0,posi))]; 6590 » else if(typeof optionvar == "object") {
6591 » » if (posj==-1)return optionvar[Math.min(optionvar.length-1,Math.m ax(0,posi))];
6592 » » else return optionvar[Math.min(optionvar.length-1,Math.max(0,pos j))];
6593 » }
6558 else return optionvar; 6594 else return optionvar;
6559 }; 6595 };
6560 6596
6561 function tpdraw(ctx,dataval) { 6597 function tpdraw(ctx,dataval) {
6562 switch(ctx.tpchart) { 6598 switch(ctx.tpchart) {
6563 case "Bar" : 6599 case "Bar" :
6564 if (dataval.type=="Line") { tp="Line";} 6600 if (dataval.type=="Line") { tp="Line";}
6565 else {tp=ctx.tpchart;} 6601 else {tp=ctx.tpchart;}
6566 break; 6602 break;
6567 default : 6603 default :
6568 tp=ctx.tpchart; 6604 tp=ctx.tpchart;
6569 break; 6605 break;
6570 } 6606 }
6571 return tp; 6607 return tp;
6572 }; 6608 };
6573 6609
6574 6610
OLDNEW
« no previous file with comments | « polymer_0.5.4/bower_components/chartnewjs/Add-ins/stats.js ('k') | polymer_0.5.4/bower_components/chartnewjs/LICENSE » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698