OXIESEC PANEL
- Current Dir:
/
/
home
/
cubot
/
docroot
/
showcase
/
js
/
jqplot
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
12/31/2022 06:53:36 AM
rwxr-xr-x
📄
charts_jqplot.js
31.92 KB
08/14/2022 11:05:15 AM
rw-r--r--
📄
jqplotAll.js
258.56 KB
08/14/2022 11:05:13 AM
rw-r--r--
📁
plugins
-
08/14/2022 11:05:15 AM
rwxr-xr-x
Editing: charts_jqplot.js
Close
var G_grid= { drawGridlines : true, drawxGridlines : true, drawyGridlines : true, gridLineColor : '#DDDDDD', gridLineWidth : 1.0, background : '#FFFFFF', drawBorder : false, borderColor : '#cccccc', borderWidth : 0.5, shadow : false, shadowAngle : 40, shadowOffset : 1, shadowWidth : 1.0, shadowDepth : 3, shadowColor : null, shadowAlpha : '0.07', renderer : $.jqplot.CanvasGridRenderer }; function setGridValues(dispObj){ if(dispObj.RD && dispObj.RD.Grid ){ G_grid.background=dispObj.getBgColor(); G_grid.drawGridlines=dispObj.getShowGridLines(); G_grid.shadow=dispObj.getShadow(); G_grid.shadowAngle=dispObj.getShadowAngle(); G_grid.shadowOffset=dispObj.getShadowOffset(); G_grid.drawBorder=dispObj.getdrawBorder(); } else{ G_grid.background='#FFFFFF'; G_grid.drawGridlines=true; G_grid.shadow=false; G_grid.shadowAngle=40; G_grid.shadowOffset=1; G_grid.drawBorder=false; } } var plot ; function plotChart(divId, data, optionsObj){ $("#"+divId).html(""); DestroyGaugePlot(); if(plot && ONEGRAPH) plot.destroy(); plot=$.jqplot(divId, data, optionsObj); /*if(ONEGRAPH) //TODO: Not showing title $("#"+divId+" .jqplot-title").attr('title', 'Arun');*/ } function multiDimensional1(a,b) { a = +a[1]; b = +b[1]; return a == b ? 0 : (a > b ? -1 : 1) } function drawFunnelChart(ReportData, divId, Title, Width, Height, ndims, nmeas, MeasFormats, Dimensions, Measures, dispObj) { var measLegend= getMeasures(ReportData,nmeas,ndims, Measures); var data = new Array(); var head=ReportData.splice(0,1); ReportData=ReportData.sort(multiDimensional1); ReportData=head.concat(ReportData); for ( var i = 1; i < (ReportData.length); i++) { dimstr=""; for (j=0;j<ndims;j++){ dimstr+=ReportData[i][j]+" "; var garray = new Array(); garray[0] = dimstr; garray[1] = Math.abs(parseFloat(ReportData[i][ndims])); data[i-1] = garray; } } var optionsObj = prepareOptionObject(dispObj, Title, ReportData,ndims, nmeas, '', '', 'F','', Dimensions, Measures, MeasFormats); plotChart(divId, [data], optionsObj); } function drawPieChart(ReportData, divId, Title, Width, Height, ndims, nmeas, MeasFormats, Dimensions, Measures, dispObj) { var measLegend= getMeasures(ReportData,nmeas,ndims, Measures); var data = new Array(); for ( var i = 1; i < (ReportData.length); i++) { dimstr=""; for (j=0;j<ndims;j++){ dimstr+=ReportData[i][j]+" "; var garray = new Array(); garray[0] = dimstr; garray[1] = Math.abs(parseFloat(ReportData[i][ndims])); data[i-1] = garray; } } var optionsObj = prepareOptionObject(dispObj, Title, ReportData,ndims, nmeas, '', '', 'P','', Dimensions, Measures, MeasFormats); plotChart(divId, [data], optionsObj); } function drawDonutChart(ReportData, divId, Title, Width, Height, ndims, nmeas, MeasFormats, Dimensions, Measures, dispObj) { var watch= new stopWatch(); var measLegend = getMeasures(ReportData,nmeas,ndims, Measures); var conctDim=new Array(); for ( var i = 1; i < (ReportData.length); i++) { dimstr=""; for (j=0;j<ndims;j++){ dimstr+=ReportData[i][j]+" "; } conctDim[i-1]=dimstr; } var data = getReportdataSeries(ReportData,ndims,0,1); var optionsObj = prepareOptionObject(dispObj, Title, ReportData,ndims, nmeas, '', '', 'D','', Dimensions, Measures, MeasFormats); plotChart(divId, data, optionsObj); watch.stop(); writeLog(INFO, sessionid, new logContext("Charting", "DONUT", divId, "PERFORMANCE","jqplotCharts", '', watch.stTime, watch.endTime)); } function drawBarChart(ReportData, divId, Title, Width, Height, ndims, nmeas, MeasFormats, Dimensions, Measures, dispObj) { var watch= new stopWatch(); var measLegend = getMeasures(ReportData,nmeas,ndims, Measures); var data = getReportdataSeries(ReportData,ndims,1,0); var yaxisval = getYaxisVal(ReportData,ndims,nmeas,'B'); var optionsObj = prepareOptionObject(dispObj, Title, ReportData,ndims, nmeas, measLegend, yaxisval, 'B','', Dimensions, Measures, MeasFormats); plotChart(divId, data, optionsObj); watch.stop(); writeLog(INFO, sessionid, new logContext("Charting", "BAR", divId, "PERFORMANCE","jqplotCharts", '', watch.stTime, watch.endTime)); } function drawLineChart(ReportData, divId, Title, Width, Height, ndims, nmeas, MeasFormats, Dimensions, Measures, dispObj) { var watch= new stopWatch(); var measLegend = getMeasures(ReportData,nmeas,ndims, Measures); var data = getReportdataSeries(ReportData,ndims,0,1); var yaxisval = getYaxisVal(ReportData,ndims,nmeas,'L'); var optionsObj = prepareOptionObject(dispObj,Title,ReportData,ndims, nmeas,measLegend,yaxisval,'L','', Dimensions, Measures, MeasFormats); plotChart(divId, data, optionsObj); watch.stop(); writeLog(INFO, sessionid, new logContext("Charting", "LINE", divId, "PERFORMANCE","jqplotCharts", '', watch.stTime, watch.endTime)); } function drawComboChart(ReportData, divId, Title, Width, Height, ndims, nmeas, MeasFormats, Dimensions, Measures, dispObj) { var watch= new stopWatch(); var measLegend = getMeasures(ReportData,nmeas,ndims, Measures, Measures); var data = getReportdataSeries(ReportData,ndims,0,1); var yaxisval = getYaxisVal(ReportData,ndims,nmeas,'C'); var optionsObj = prepareOptionObject(dispObj,Title,ReportData,ndims, nmeas,measLegend,yaxisval,'C','', Dimensions, Measures, MeasFormats); plotChart(divId, data, optionsObj); watch.stop(); writeLog(INFO, sessionid, new logContext("Charting", "COMBO", divId, "PERFORMANCE","jqplotCharts", '', watch.stTime, watch.endTime)); } var gaugePlot=new Array(); function DestroyGaugePlot(){ if(ONEGRAPH){ for(var i=0; i<gaugePlot.length; i++){ if(gaugePlot[i]) gaugePlot[i].destroy(); } } } function drawGaugeChart(ReportData, divId, Title, Width, Height, ndims, nmeas, MeasFormats,Dimensions, Measures, dispObj, MinMaxArray) { var watch= new stopWatch(); $.jqplot.config.enablePlugins = true; var optionsObj = ""; var data=0, i=0, htmlStr="", numGauge=1; if(isPhone) numGauge=2; else if(ReportData.length >= 7) numGauge=6; else numGauge=ReportData.length-1; if(numGauge == 6 || numGauge == 5){ htmlStr="<div style='height:49%;width:66%;float:left'>"; htmlStr+="<div id="+divId+"-0 style='height:100%; width:49%;float:left'></div>"; htmlStr+="<div id="+divId+"-1 style='height:100%; width:49%;float:right'></div>"; htmlStr+="</div>"; htmlStr+="<div id="+divId+"-2 style='height:49%; width:33%;float:right'></div>"; htmlStr+="<div style='height:49%;width:66%;float:left'>"; htmlStr+="<div id="+divId+"-3 style='height:100%; width:49%;float:left'></div>"; htmlStr+="<div id="+divId+"-4 style='height:100%; width:49%;float:right'></div>"; htmlStr+="</div>"; if(numGauge == 6) htmlStr+="<div id="+divId+"-5 style='height:49%; width:33%;float:right'></div>"; } else if(numGauge == 4 || numGauge == 3){ htmlStr="<div id="+divId+"-0 style='height:49%; width:49%;float:left'></div>"; htmlStr+="<div id="+divId+"-1 style='height:49%; width:49%;float:right'></div>"; htmlStr+="<div id="+divId+"-2 style='height:49%; width:49%;float:left'></div>"; if(numGauge == 4) htmlStr+="<div id="+divId+"-3 style='height:49%; width:49%;float:right'></div>"; } else if(numGauge == 2 && orientation=="landscape"){ htmlStr="<div id="+divId+"-0 style='height:99%; width:49%;float:left'></div>"; htmlStr+="<div id="+divId+"-1 style='height:99%; width:49%;float:right'></div>"; } else if(numGauge == 2 && orientation!="landscape"){ htmlStr="<div id="+divId+"-0 style='height:40%; width:100%;float:left'></div>"; htmlStr+="<div id="+divId+"-1 style='height:40%; width:100%;float:right'></div>"; } else if(numGauge == 1){ htmlStr="<div id="+divId+"-0 style='height:99%; width:100%'></div>"; } if(Title.length>1){ $("#"+divId).html("<div style='height:20px;width:100%'>"+Title+"</div>"+htmlStr); } else{ $("#"+divId).html(htmlStr); } DestroyGaugePlot(); var titleArray=new Array(); for(i=0; i<numGauge; i++){ for(j=0; j<ndims; j++){ titleArray[j]=ReportData[0][j]+'='+ReportData[i+1][j]; } optionsObj = prepareOptionObject(dispObj,titleArray.join(', '),ReportData, ndims, nmeas,'','','G', MinMaxArray, Dimensions, Measures, MeasFormats); data=[[parseFloat(Math.round(ReportData[i+1][ndims]))]]; gaugePlot[i]=$.jqplot(divId+"-"+i, data, optionsObj); } watch.stop(); writeLog(INFO, sessionid, new logContext("Charting", "GAUGE", divId, "PERFORMANCE","jqplotCharts", '', watch.stTime, watch.endTime)); } function drawColumnChart(ReportData, divId, Title, Width, Height, ndims, nmeas, MeasFormats, Dimensions, Measures, dispObj) { var watch= new stopWatch(); var measLegend = getMeasures(ReportData,nmeas,ndims, Measures); var data = getReportdataSeries(ReportData,ndims,0,1); var yaxisval = getYaxisVal(ReportData,ndims,nmeas,'N'); var optionsObj = prepareOptionObject(dispObj,Title,ReportData,ndims, nmeas,measLegend,yaxisval,'N','', Dimensions, Measures,MeasFormats); plotChart(divId, data, optionsObj); watch.stop(); writeLog(INFO, sessionid, new logContext("Charting", "GAUGE", divId, "PERFORMANCE","jqplotCharts", '', watch.stTime, watch.endTime)); } function drawStackBarChart(ReportData, divId, Title, Width, Height, ndims, nmeas, MeasFormats, Dimensions, Measures, dispObj) { var watch= new stopWatch(); var measLegend = getMeasures(ReportData,nmeas,ndims, Measures); var data = getReportdataSeries(ReportData,ndims,0,1); var yaxisval = getYaxisVal(ReportData,ndims,nmeas,'S'); var optionsObj = prepareOptionObject(dispObj,Title,ReportData,ndims, nmeas,measLegend,yaxisval,'S','', Dimensions, Measures,MeasFormats); optionsObj['stackSeries']=true; plotChart(divId, data, optionsObj); $('#'+divId+' div.jqplot-point-label').css('color','#fff') watch.stop(); writeLog(INFO, sessionid, new logContext("Charting", "Stack Bar", divId, "PERFORMANCE","jqplotCharts", '', watch.stTime, watch.endTime)); } function getYaxis(label_val, i) { var series = { label : label_val, yaxis : 'y' + (i + 1) + 'axis' }; return series; } function getXaxis(label2, i) { var series; if (i == 0) { series = { label : label2, xaxis : 'xaxis' }; } else { series = { label : label2, xaxis : 'x' + (i + 1) + 'axis' }; } return series; } function getYaxisforcombo(label2, i) { var series = { label : label2, renderer : $.jqplot.BarRenderer, yaxis : 'y' + (i + 1) + 'axis' }; return series; } function makeXtabFormats(Data, MeasFormats, Measures, Ndim){ var MeasFormatsArray=new Array(); var i = 0, j = 0, nFmt = 0; for(i=Ndim; i<Data.length; i++){ if(Data[i].indexOf(Measures[j]) >=0){ MeasFormatsArray[nFmt++]=MeasFormats[j]; } else { if(j<Measures.length-1) j++; if(Data[i].indexOf(Measures[j]) >=0){ MeasFormatsArray[nFmt++]=MeasFormats[j]; } } } return MeasFormatsArray; } function getMeasures(ReportData,nmeas,ndims, Measures){ var measLegend=new Array(); for (var m = ndims ; m < ReportData[0].length ; m++){ measLegend.push(ReportData[0][m]); } for(var i=0; i<Measures.length; i++){ for(var j=0; j<measLegend.length; j++){ if(measLegend[j].indexOf(' '+Measures[i])>1) measLegend[j]=measLegend[j].replace(' '+Measures[i],''); } } return measLegend; } function prepareOptionObjectGuage(dispObj,Title,ReportData,ndims, nmeas,measLegend,yaxisval,seriesRenderer,MinMaxArray, MeasFormats){ var count=0, Max=0, Min=0; if(ReportData.length > 6){ count = 7; } else { count = ReportData.length; } Max=MinMaxArray[0].split(",")[1]; if(Max < 1){ for(i=1;i < count; i++){ //for(var j = nmeas ; j < ReportData[0].length ; j++){ var val=parseFloat(ReportData[i][ndims]); if( val > Max) Max=val; //} } } if(MeasFormats && MeasFormats[0].charAt(1)=="t") Max= getMaxFtime(ReportData, ndims); Min = MinMaxArray[0].split(",")[0]; if(Min<1) Min=0; var redTo=Math.round((Max/10)*3); var yellowTo=Math.round((Max/10)*6); var ticks = [0, Math.round((Max/10)), Math.round((Max/10)*2), Math.round((Max/10)*3), Math.round((Max/10)*4), Math.round((Max/10)*5), Math.round((Max/10)*6),Math.round((Max/10)*7), Math.round((Max/10)*8), Math.round((Max/10)*9), Math.round((Max))]; if(MeasFormats[0].charAt(1) == "t") ticks=getYticks(ReportData, ndims, MeasFormats[0]); var optionsObj = { // title :Title , seriesDefaults: { renderer: $.jqplot.MeterGaugeRenderer, rendererOptions: { label: Title, labelPosition: 'bottom', ticks: ticks, intervals:[redTo, yellowTo, Max], intervalColors:['red', 'yellow', 'green'], shadowOffset:10, background:'white', ringColor:'#3399FF', tickColor:'#00ff00', ringWidth:4, hubRadius:8, tickSpacing:30, tickPadding:0, needleThickness:5, formatter: getFormatter(MeasFormats[0]), needlePad:4 /*shadowOffset:40, shadowDepth:8, shadowAlfa:0.07*/ }, legend: { show:dispObj.getShowLegend() }, pointLabels: { show:false } } } return optionsObj; } function prepareOptionObject(dispObj,Title,ReportData,ndims, nmeas,measLegend,yaxisval,seriesRenderer,MinMaxArray, Dimensions, Measures,MeasFormats){ var Srenderer, Series=""; var multi_axes = dispObj.getMultiAxes(); if (seriesRenderer == 'G'){ //TODO:Create one more function for Gauge optionsObj = prepareOptionObjectGuage(dispObj,Title,ReportData,ndims, nmeas,measLegend,yaxisval,seriesRenderer,MinMaxArray, MeasFormats); return optionsObj; }else if (seriesRenderer == 'L'){ Srenderer=$.jqplot.LineRenderer; rendererOptions={ showDataLabels: false,fillToZero: false}; } else if (seriesRenderer == 'N' ){ Srenderer=$.jqplot.BarRenderer; rendererOptions={barDirection: 'vertical',barMargin: 10,highlightMouseDown: true,fillToZero: true }; } else if (seriesRenderer == 'P'){ Srenderer=$.jqplot.PieRenderer; rendererOptions={ fill:true, showDataLabels: true, sliceMargin:2 }; } else if (seriesRenderer == 'D'){ Srenderer=$.jqplot.DonutRenderer; rendererOptions={ fill:true, showDataLabels: true, sliceMargin:2 }; } else if (seriesRenderer == 'C'){ Srenderer = $.jqplot.LineRenderer; rendererOptions={fillToZero: true, alignTicks: true, forceTickAt0: false}; multi_axes=true; } else if (seriesRenderer == 'B'){ Srenderer = $.jqplot.BarRenderer; rendererOptions={barDirection: 'horizontal'}; } else if (seriesRenderer == 'S'){ Srenderer = $.jqplot.BarRenderer; rendererOptions={barDirection: 'vertical'}; } else if (seriesRenderer == 'F'){ Srenderer = $.jqplot.FunnelRenderer; rendererOptions={ sectionMargin: 4, widthRatio: 0.1, dataLabels:'labelNvalue', showDataLabels: true, measFormat:MeasFormats[0] }; } setGridValues(dispObj); optionsObj = { // series : yaxisval, seriesDefaults : { renderer: Srenderer, rendererOptions:rendererOptions, pointLabels: { show: dispObj.getpointLabel(), location: 'n', edgeTolerance: -15 } }, seriesColors: dispObj.getSeriescolors() , negativeSeriesColors: dispObj.getSeriescolors() , grid: G_grid, cursor : { followMouse : true, showTooltipDataPosition : true, zoom : true, intersectionThreshold : 6, tooltipFormatString : ' x:%s, y:%s' }, title: { text: Title, show: true, textAlign:'center' }, legend:{ }, highlighter:{ tooltipAxes:'xy', bringSeriesToFront:true, useAxesFormatters : true, tooltipFadeSpeed:'slow', formatString : '%s<br>%s', tooltipLocation:seriesRenderer == 'B'?'sw':'s', measFormat:MeasFormats //showTooltip :dispObj.isShowTooltip() }, axesDefaults:{ rendererOptions: { alignTicks: true, forceTickAt0: true }, tickOptions : { mark: 'outside', showMark: dispObj.getMark(), markSize: 4, show: dispObj.getShowTicks(), showLabel:dispObj.getShowTickLabels(), formatter: $.jqplot.tickNumberFormatter, enableFontSupport : true }, showLabel:dispObj.getShowLabel() } } /******* Point Labels settings ******/ if(seriesRenderer == 'S'){ optionsObj['seriesDefaults']['pointLabels']['edgeTolerance']=-15; optionsObj['seriesDefaults']['pointLabels']['location']='s'; } else if(seriesRenderer == 'B'){ optionsObj['seriesDefaults']['pointLabels']['location']='e'; } /****Setting Legends **********/ if(dispObj.getShowLegend()){ optionsObj['legend']['show'] = true; optionsObj['legend']['renderer'] = $.jqplot.EnhancedLegendRenderer; optionsObj['legend']['showLabels'] = dispObj.getShowLabels(); optionsObj['legend']['placement'] = dispObj.getlegendPlacement(); optionsObj['legend']['location'] = dispObj.getLocation(); optionsObj['legend']['rendererOptions'] = {}; optionsObj['legend']['rendererOptions']['numberRows'] = dispObj.getNumRows(); if(seriesRenderer == 'P' || seriesRenderer == 'D' || seriesRenderer == 'F') optionsObj['legend']['labels']=getTicks(ReportData, ndims, dispObj); else optionsObj['legend']['labels']=measLegend; //Array of measure names shown right of charts } else{ optionsObj['legend']['show'] = false; } if (seriesRenderer == 'P' || seriesRenderer == 'D' || seriesRenderer == 'F'){ optionsObj['highlighter']['useAxesFormatters']=false; optionsObj['highlighter']['tooltipLocation']='e'; optionsObj['highlighter']['tooltipAxes']='xy'; optionsObj['highlighter']['formatString']='<div style="text-align:left">%s<br>%s</div>'; optionsObj['axes']= { xaxis : { label:ReportData[0].slice(0,ndims).join(',') }, yaxis : { label:ReportData[0].slice(ndims).join(':') } }; if(seriesRenderer == 'F'){ optionsObj['title']['show']=false; } else{ if(optionsObj['title']['text'].length>0){ optionsObj['title']['text']=optionsObj['title']['text']+" : "+Measures.join(',')+" by "+ Dimensions.join(' and '); } else{ optionsObj['title']['text']=Measures.join(',')+" by "+ Dimensions.join(' and '); } } } else{ var tickRender=$.jqplot.CanvasAxisTickRenderer; if(dispObj.getxFrom() != "all" && dispObj.getxPos()=='S') tickRender=$.jqplot.AxisTickRenderer; if(seriesRenderer == 'B'){ optionsObj['axes']= { xaxis : { autoscale : false, label:multi_axes?Measures[0]:Measures.join(','), //labelRenderer: $.jqplot.CanvasAxisLabelRenderer, ticks : getYticks(ReportData, ndims, MeasFormats[0]), tickOptions : { formatString: '%d', formatter:getFormatter(MeasFormats[0]) } }, yaxis : { renderer : $.jqplot.CategoryAxisRenderer, tickRenderer : tickRender, labelRenderer : $.jqplot.CanvasAxisLabelRenderer, label : Dimensions.join(','), //Put dimension name in the bottom ticks : getTicks(ReportData, ndims, dispObj), tickOptions : { } } }; optionsObj['highlighter']['tooltipAxes']='yx'; optionsObj['grid']['drawxGridlines']=true; optionsObj['grid']['drawyGridlines']=false; } else{ optionsObj['axes']= { xaxis : { renderer : $.jqplot.CategoryAxisRenderer, tickRenderer : tickRender, //labelRenderer : $.jqplot.CanvasAxisLabelRenderer, label : Dimensions.join(','), //Put dimension name in the bottom ticks : getTicks(ReportData, ndims, dispObj), tickOptions : { } }, yaxis : { autoscale : false, padMin:0, label:multi_axes?Measures[0]:Measures.join(','), labelRenderer: $.jqplot.CanvasAxisLabelRenderer, ticks : getYticks(ReportData, ndims, MeasFormats[0]), tickOptions: { formatString: '%d', formatter:getFormatter(MeasFormats[0]) } } }; optionsObj['grid']['drawxGridlines']=false; optionsObj['grid']['drawyGridlines']=true; if(multi_axes && seriesRenderer != 'S'){ //optionsObj['series'] = yaxisval; for(i=1; i<Measures.length; i++){ optionsObj['axes']['y'+(i+1)+'axis']={}; optionsObj['axes']['y'+(i+1)+'axis']['autoscale']=false; optionsObj['axes']['y'+(i+1)+'axis']['padMin']=0; optionsObj['axes']['y'+(i+1)+'axis']['labelRenderer']=$.jqplot.CanvasAxisLabelRenderer; optionsObj['axes']['y'+(i+1)+'axis']['label']=Measures[i]; optionsObj['axes']['y'+(i+1)+'axis']['ticks']=getYticks(ReportData, ndims, MeasFormats[i]); optionsObj['axes']['y'+(i+1)+'axis']['tickOptions']={ formatString: '%d', formatter:getFormatter(MeasFormats[i]) }; } var yaxis_no=0; optionsObj['series']=new Array(); for(i=0; i<measLegend.length; i++){ for(var j=0; j<Measures.length; j++) if(measLegend[i].indexOf(Measures[j].replace('%','%'))>-1){ yaxis_no=j; break; } if(yaxis_no == 0){ if(seriesRenderer == 'C') optionsObj['series'][i]={yaxis:'yaxis', renderer: $.jqplot.BarRenderer}; else optionsObj['series'][i]={yaxis:'yaxis'}; } else{ optionsObj['series'][i]={yaxis:'y'+(yaxis_no+1)+'axis'}; } } } } if(dispObj.getxPos()!='S'){ var L=ReportData.length; if(seriesRenderer == 'B'){ optionsObj['axes']['xaxis']['tickOptions']['angle']= -30; optionsObj['axes']['yaxis']['tickOptions']['angle']= 1; } else{ optionsObj['axes']['xaxis']['tickOptions']['angle']= (L<=6?-15:L<=11?-30:L<=21?-45:-60); } } } return optionsObj; } function getReportdataSeries_back(ReportData, ndims, col1, col2){ var garray="", data= new Array(); for ( var k = 0; k < (ndims); k++) { // For Dimension for ( var j = ndims; j < (ReportData[0].length); j++) { // For Value Columns data[j-ndims]= new Array(); for ( var i = 1; i < (ReportData.length); i++) { // Rows garray = new Array(); garray[col1] = ReportData[i][k]; garray[col2] = parseFloat(ReportData[i][j]); data[j-ndims][i - 1] = garray; } } } return data; } function getReportdataSeries(ReportData, ndims, col1, col2){ var data = new Array(); for ( var j = ndims; j < (ReportData[0].length); j++) { // For Value Columns garray= new Array(); for ( var i = 1; i < (ReportData.length); i++) { // Rows garray.push(parseFloat(ReportData[i][j])); } data.push(garray); } return data; } function getMaxFtime(ReportData, ndims){ var max=0, tmp=0; for(var i=1; i<ReportData.length; i++){ for(var j=ndims; j<ReportData[i].length; j++){ ReportData[i][j]=+ReportData[i][j]; if(max<ReportData[i][j]){ max=ReportData[i][j]; } } } if(max == 0) /* if max is zero, then jqplot will decide the ticks. To so return blank array :) */ return []; if(max > (86400*2)){ /* if more then 2 days */ tmp=Math.ceil(max/86400); max=tmp*86400; } else if(max > (3600*3)){ /* if more then 3 hours */ tmp=Math.ceil(max/3600); max=tmp*3600; } else if(max > 3600){ /* more then 1 hour */ tmp=Math.ceil(max/60); max=tmp*60; } return max; } function getYticks(ReportData, ndims, MeasFormat){ if(MeasFormat.charAt(1) != "t") return []; var min=0, max=0, numTicks=6, tmp=0, ticksize=0; var ticks= new Array(); for(var i=1; i<ReportData.length; i++){ for(var j=ndims; j<ReportData[i].length; j++){ ReportData[i][j]=+ReportData[i][j]; if(max<ReportData[i][j]){ max=ReportData[i][j]; } } } if(max == 0) /* if max is zero, then jqplot will decide the ticks. To so return blank array :) */ return []; if(max > (86400*2)){ /* if more then 2 days */ tmp=Math.ceil(max/86400); max=tmp*86400; ticksize=Math.ceil(max/(6*86400))*86400; } else if(max > (3600*3)){ /* if more then 3 hours */ tmp=Math.ceil(max/3600); max=tmp*3600; ticksize=Math.ceil(max/(6*3600))*3600; } else if(max > 3600){ /* more then 1 hour */ tmp=Math.ceil(max/60); max=tmp*60; ticksize=Math.ceil(max/(6*60))*60; } else{ /* if less then 1 hour */ ticksize=Math.ceil(max/6); } for(i=0; i<10; i++){ tick=ticksize*i; ticks.push(tick); if(tick>=max) return ticks; } return ticks; } function getTicks (ReportData, ndims, dispObj){ var ticks= new Array(); var xFrom=dispObj.getxFrom(); var length=dispObj.getxLength(); var xPos=dispObj.getxPos(); //if(xFrom == "all" || length<0 || (dispObj.getxPos() != "S")){ if(xFrom == "all" || length<0 ){ for ( var i = 1; i < (ReportData.length); i++) { ticks.push(ReportData[i].slice(0,ndims).join(',').replace("&", "&").replace("&", "&")); } } else{ for ( var i = 1; i < (ReportData.length); i++) { value=ReportData[i].slice(0,ndims).join(',').replace("&", "&").replace("&", "&"); if(xPos == 'S'){ if(xFrom == "first") ticks.push("<span title='"+value+"'>"+value.substr(0,length)+"</span>"); else ticks.push("<span title='"+value+"'>"+value.substr(value.length-length)+"</span>"); } else{ if(xFrom == "first") ticks.push(value.substr(0,length)); else ticks.push(value.substr(value.length-length)); } } } return ticks; } function getYaxisVal(ReportData,ndims,nmeas,chartType){ var i, j, yaxisval = new Array(); for (j = 0; j < ndims; j++) { yaxisval[j]=getXaxis(ReportData[0][j], j); } if (chartType=='C'){ for (i = 1; i <= nmeas; i++) { yaxisval[j] = getYaxisforcombo(ReportData[0][(ndims-1) + i], i); j++; } } else{ for (i = 1; i <= nmeas; i++) { yaxisval[j] = getYaxis(ReportData[0][ndims + i], i); j++; } } return yaxisval; } function getFormatter(MeasFormat){ if(MeasFormat.charAt(1) == "t") return $.jqplot.tickTimeFormatter; else return $.jqplot.tickNumberFormatter; } $.jqplot.tickTimeFormatter = function (format, val) { return formatTimeTicks(val); } ; $.jqplot.tickNumberFormatter = function (format, val) { if (typeof val == 'number') { return formatNumber(val); } else { return String(val); } }; /* Moved to ws.lib.js var format = 'cep2z-TYGY'; function formatNumber(val){ var Gsym=','; // Grouping Symbol var dec='.'; //Decimal symbol var precesion = format.indexOf("p"); var precesionVal=''; if(precesion >=0) precesionVal=format.substr(precesion + 1, 1); var prefix = format.indexOf("P"); var prefixval = ''; if(prefix>=0) prefixval = format.substr(prefix + 1, 1); var suffix = format.indexOf("S"); var suffixval = ''; if(suffix >= 0) suffixval = format.substr(suffix + 1, 1); if (format.charAt(1) == "e") { Gsym='.'; dec=','; } if(Math.abs(val)>1000000000000){ val=val/1000000000000; suffixval='T'; precesionVal=2; } else if(Math.abs(val)>1000000000){ val=val/1000000000; suffixval='B'; precesionVal=2; } else if(Math.abs(val)>1000000){ val=val/1000000; suffixval='M'; precesionVal=1; } else if(Math.abs(val)>1000){ val=val/1000; suffixval='K'; precesionVal=0; } return formatMoney(val, prefixval, suffixval, precesionVal, dec, Gsym); } */ function wetherToSetMultipleAxes(Data, ndim, nmeas, dispObj){ if(dispObj.RD && dispObj.RD.Axes){ //If User defined multiaxes, Dont use any logic else use logic for multiaxes } else{ if((Data[1][ndim]>Data[1][ndim+1] && Data[1][ndim]/Data[1][ndim+1]>10) || (Data[1][ndim+1]>Data[1][ndim] && Data[1][ndim+1]/Data[1][ndim]>10)){ if(typeof dispObj.RD.Axes == "undefined") dispObj.RD.Axes={}; dispObj.RD.Axes.MultiAxes=true; } } } function drawCharts(ReportObj, divId, gid){ var chartType=ReportObj.getgtype(); var Data=ReportObj.getdata(); var Title=ReportObj.gettitle(); var Width=ReportObj.getwidth(); var Height=ReportObj.getheight(); var Dimensions=ReportObj.getdimensions(); var Measures=ReportObj.getmeasures(); var MeasFormats=ReportObj.getformats(); var MinMaxArray=ReportObj.getminmax(); var Ndim=Dimensions.length; var Nmeas=Measures.length; var Layout=ReportObj.getlayout() //var dispObj=new displayOptions(ReportObj.dispObj); var dispObj=ReportObj.dispObj; //format = MeasFormats[0]; We were trying to set Global variable declared in ws.lib.js $.jqplot.config.enablePlugins = true; if(Layout == "CrossTab"){ Ndim=Ndim-1; Nmeas=Data[0].length-Ndim; MeasFormats = makeXtabFormats(Data[0], MeasFormats, Measures, Ndim); } var topx=-1; topx=parseInt(dispObj.getTopxValues()); //topx++; //For rest total if(topx<1) topx=ReportObj.gettopn(); if(isNaN(topx) || topx<1){ if((chartType == 'B' && Ndim>1) || chartType == "Tree") topx=Data.length; else if( chartType == "Heat") topx=90; else topx=30; } if(Data.length > topx) Data = Data.slice(0, topx+1); wetherToSetMultipleAxes(Data, Ndim, Nmeas, dispObj); var toolTip=""; //G_THEME !='classic' if(!ONEGRAPH ){ Title=""; } else{ toolTip="<"+getLabel('Title')+"> "+ReportObj.getsystitle()+" <"+getLabel('Filter')+"> "+ReportObj.getsubtitle(); } if(chartType == 'P'){ if (Nmeas >=2){ setTimeout(function(){drawDonutChart(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats, Dimensions, Measures, dispObj);},0); } else{ setTimeout(function(){drawPieChart(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats, Dimensions, Measures, dispObj);},0); } }else if (chartType == 'D' ){ setTimeout(function(){drawDonutChart(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats, Dimensions, Measures, dispObj);},0); } else if(chartType == 'B' ){ if(Ndim == 1 || ONEGRAPH){ setTimeout(function(){drawBarChart(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats, Dimensions, Measures, dispObj);},0); } else{ setTimeout(function(){drawBarChart_interactive(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats, Dimensions, Measures, dispObj);},0); } } else if(chartType == 'L'){ setTimeout(function(){drawLineChart(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats, Dimensions, Measures, dispObj);},0); } else if(chartType == 'A'){ setTimeout(function(){drawAreaChart(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats, Measures[0], Dimensions[0],dispObj);},0); } else if(chartType == 'C'){ setTimeout(function(){drawComboChart(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats, Dimensions, Measures, dispObj);},0); } else if(chartType == 'G'){ setTimeout(function(){drawGaugeChart(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats, Dimensions, Measures, dispObj, MinMaxArray);},0); } else if(chartType == 'N'){ setTimeout(function(){drawColumnChart(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats, Dimensions, Measures, dispObj);},0); } else if(chartType == 'S'){ setTimeout(function(){drawStackBarChart(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats, Dimensions, Measures, dispObj);},0); } else if(chartType == 'FUN'){ setTimeout(function(){drawFunnelChart(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats, Dimensions, Measures, dispObj);},0); } else if(chartType == 'PC' && !ONEGRAPH ){ setTimeout(function(){drawParallelCoordinateChart(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats, Dimensions, Measures, dispObj);},0); } else if(chartType == 'Cal' && !ONEGRAPH){ setTimeout(function(){drawCalendar(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats,dispObj,toolTip);},0); } else if(chartType == 'SVG'){ setTimeout(function(){drawSvgChart(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats, Dimensions, Measures, dispObj, gid);},0); } else if(chartType == 'Bullet' && !ONEGRAPH){ setTimeout(function(){drawBulletChart(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats, Dimensions, Measures, dispObj, gid);},0); } else if(chartType == 'Tree' && !ONEGRAPH){ setTimeout(function(){drawTreeChart(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats, Dimensions, Measures, dispObj, gid);},0); } else if(chartType == 'Radar' && !ONEGRAPH){ setTimeout(function(){drawRadarChart(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats,dispObj,toolTip);},0); } else if(chartType == 'Heat' && !ONEGRAPH){ setTimeout(function(){drawHeatChart(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats,dispObj,toolTip);},0); } else if(chartType == 'Stock' && !ONEGRAPH){ setTimeout(function(){drawStockChart(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats,dispObj,toolTip);},0); } else if(chartType == 'Sun' && !ONEGRAPH){ setTimeout(function(){drawSunburst(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats,dispObj,toolTip);},0); } else if(chartType == 'ZT' && !ONEGRAPH){ setTimeout(function(){drawZoomTree(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats,dispObj,toolTip);},0); } else if(chartType == 'WF' && !ONEGRAPH){ setTimeout(function(){drawWaterfallChart(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats,dispObj,toolTip);},0); } else{ setTimeout(function(){drawTableChart(Data, divId, Title, Width, Height, Ndim, Nmeas, MeasFormats,dispObj,toolTip);},0); } }