OXIESEC PANEL
- Current Dir:
/
/
home
/
cubot
/
docroot
/
showcase
/
js
/
D3
/
plugins
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
08/14/2022 11:05:22 AM
rwxr-xr-x
📄
Radar.js
8.86 KB
08/14/2022 11:05:21 AM
rw-r--r--
📄
bar.js
17.59 KB
08/14/2022 11:05:19 AM
rw-r--r--
📄
bullet.css
422 bytes
08/14/2022 11:05:19 AM
rw-r--r--
📄
bullet.js
10.65 KB
08/14/2022 11:05:20 AM
rw-r--r--
📄
calendar.js
16.63 KB
08/14/2022 11:05:19 AM
rw-r--r--
📄
calender.css
541 bytes
08/14/2022 11:05:20 AM
rw-r--r--
📄
combo.js
16.74 KB
08/14/2022 11:05:20 AM
rw-r--r--
📄
combo_2.js
17.91 KB
08/14/2022 11:05:19 AM
rw-r--r--
📄
combo_wip.js
16.61 KB
08/14/2022 11:05:18 AM
rw-r--r--
📄
commonFunc.js
25.28 KB
08/14/2022 11:05:20 AM
rw-r--r--
📄
customChart.js
577 bytes
08/14/2022 11:05:20 AM
rw-r--r--
📄
d3Charts.css
2.88 KB
08/14/2022 11:05:19 AM
rw-r--r--
📄
donut.js
5.67 KB
08/14/2022 11:05:19 AM
rw-r--r--
📄
filledAreaPercent.js
17.95 KB
08/14/2022 11:05:19 AM
rw-r--r--
📄
funnel.js
6.03 KB
08/14/2022 11:05:20 AM
rw-r--r--
📄
funnel.js_previous_o4aug17
5.86 KB
08/14/2022 11:05:20 AM
rw-r--r--
📄
gauged.js
15.3 KB
08/14/2022 11:05:20 AM
rw-r--r--
📄
groupbar.js
13.18 KB
08/14/2022 11:05:19 AM
rw-r--r--
📄
groupbar_23Aug2019.js
10.85 KB
08/14/2022 11:05:18 AM
rw-r--r--
📄
heatmap.js
9.77 KB
08/14/2022 11:05:20 AM
rw-r--r--
📄
html2canvas.min.js
161.47 KB
08/14/2022 11:05:19 AM
rw-r--r--
📄
makeJson.js
1.64 KB
08/14/2022 11:05:19 AM
rw-r--r--
📄
makeJsonmulti.js
3.75 KB
08/14/2022 11:05:18 AM
rw-r--r--
📄
multiLine.js
17.24 KB
08/14/2022 11:05:20 AM
rw-r--r--
📄
multipleDonut.js
5.29 KB
08/14/2022 11:05:19 AM
rw-r--r--
📄
pie.js
4.52 KB
08/14/2022 11:05:20 AM
rw-r--r--
📄
radar.js
6.49 KB
08/14/2022 11:05:19 AM
rw-r--r--
📄
saveSvgAsPng.js
14.62 KB
08/14/2022 11:05:21 AM
rw-r--r--
📄
stackedAreaDate.js
17.56 KB
08/14/2022 11:05:20 AM
rw-r--r--
📄
stackedAreaDate_bkup23Nov2020.js
17.56 KB
08/14/2022 11:05:20 AM
rw-r--r--
📄
stackedbar.js
10.72 KB
08/14/2022 11:05:20 AM
rw-r--r--
📄
stackedbar_bkup21Apr2020.js
10.72 KB
08/14/2022 11:05:20 AM
rw-r--r--
📄
stock.js
13.6 KB
08/14/2022 11:05:19 AM
rw-r--r--
📄
sun.js
7.59 KB
08/14/2022 11:05:20 AM
rw-r--r--
📄
sunburst.js
7.13 KB
08/14/2022 11:05:19 AM
rw-r--r--
📄
tableChart.js
11.54 KB
08/14/2022 11:05:21 AM
rw-r--r--
📄
tableChart_07Jan2020.js
6.7 KB
08/14/2022 11:05:19 AM
rw-r--r--
📄
tree.js
7.34 KB
08/14/2022 11:05:19 AM
rw-r--r--
📄
waterfall.js
9.17 KB
08/14/2022 11:05:21 AM
rw-r--r--
📄
zoomTree.js
7.59 KB
08/14/2022 11:05:19 AM
rw-r--r--
Editing: tableChart.js
Close
/*function resolveComputeMeasureDT(ReportData, ndims, Measures,colsPersEachMeasureDict,measNamesArray,layout){ var startIndex = 1; if(ReportData.length == 1) startIndex = 0; if(layout != "Normal"){ for(var i=0; Measures && i<Measures.length; i++){ if(Measures[i].formula && Measures[i].formula != "NA"){ for(var k=0;k<i;k++){ startIndex+=colsPersEachMeasureDict[measNamesArray[k]] } var column = Measures[i].formula; column = column.replace(/c.size\[/g,"ReportData[j][ndims+"); for(var j=startIndex+ndims; j<colsPersEachMeasureDict[measNamesArray[i]]+startIndex+ndims; j++){ eval(column); } } } } }*/ function resolveComputeMeasureDT(ReportData, ndims, Measures, layout){ var startIndex = 1; if(ReportData.length == 1) startIndex = 0; var tempMeas = ''; /* if(layout == 'CrossTab'){ tempMeas = JSON.parse(JSON.stringify(Measures)); var colsPerEachMeasure = (ReportData[0].length-ndims)/Measures.length; //Assuming in CrossTab ColsPerEach measure will be same for(var i=0; i<ReportData[0].length-ndims; i++){ tempMeas.push(Measures[i/colsPerEachMeasure]); } }else{ tempMeas = Measures; } */ for(var i=0; Measures && i<Measures.length; i++){ if(Measures[i].formula && Measures[i].formula != "NA"){ var column = Measures[i].formula; column = column.replace(/c.size\[/g,"ReportData[j][ndims+"); for(var j=startIndex; j<ReportData.length; j++){ eval(column); } } } } function getTotals(ReportData, ndims){ var totalArray=new Array(); var total=0; for(var i=ndims; i<ReportData[0].length; i++){ total=0; for(var j=1; j<ReportData.length; j++) total+=parseFloat(ReportData[j][i]); totalArray[i]=total; } return totalArray; } function drawTableChart(ReportData, divId, Title, Width, Height, ndims, nmeas, measFormats, ReportObj, toolTip) { var dispObj = ReportObj.dispObj; var layout = ReportObj.layout, colsPersEachMeasureDict = {}; if(ReportObj.isComputedReport) layout = 'Normal'; var measNamesArray = ReportObj.getmeasures(); if(layout != 'Normal'){ for(var i =0; i<ReportData[0].length; i++){ for(var j=0;j<measNamesArray.length;j++){ if(!(measNamesArray[j] in colsPersEachMeasureDict)){ colsPersEachMeasureDict[measNamesArray[j]] = 0; } if(ReportData[0][i].includes(measNamesArray[j])){ colsPersEachMeasureDict[measNamesArray[j]]++; } } } var initialMeasFormats = ReportObj.getformats(); var finalMeasFormats = []; for(var i=0; i < Object.keys(colsPersEachMeasureDict).length; i++){ for(var j=0; j< colsPersEachMeasureDict[Object.keys(colsPersEachMeasureDict)[i]]; j++){ finalMeasFormats.push(initialMeasFormats[i]); } finalMeasFormats.push(initialMeasFormats[i]); //For Row Total } measFormats = finalMeasFormats; } resolveComputeMeasureDT(ReportData, ndims, dispObj.RD.General.Measures, layout); var totalArray=new Array(); // if(layout == 'Normal'){ var itemList = createItemList(sessionid); var measIds = ReportObj.getmeasureIds(); if(layout == 'CrossTab'){ var newMeasIdArr = []; for(var i=0;i<measIds.length;i++){ var colsPerMeasure = colsPersEachMeasureDict[measNamesArray[i]]; for(j=0;j<colsPerMeasure;j++){ newMeasIdArr.push(measIds[i]) } } measIds = newMeasIdArr; } for(var i=ndims; i<ReportData[0].length; i++){ var meas = itemList.getItemById(measIds[i-ndims]); var aggFunc = meas.AggFunction; if(meas.Description && meas.Description.includes('[avg]')) aggFunc = 'avg'; var total=0; for(var j=1; j<ReportData.length; j++) total+=parseFloat(ReportData[j][i]); if(aggFunc == 'avg') totalArray[i] = total/(ReportData.length-1); else totalArray[i] = total; } totalArray = [totalArray]; resolveComputeMeasureDT(totalArray, ndims, dispObj.RD.General.Measures); totalArray = totalArray[0]; // } var showHideDict = {}; var displayAsDict = {}; if(dispObj.RD.Measures){ for(var i=0; i<dispObj.RD.Measures.length; i++){ var name = dispObj.RD.Measures[i].measName; if(layout == 'Normal'){ if(dispObj.RD.Measures[i].displayAs) name = dispObj.RD.Measures[i].displayAs; }else{ if(dispObj.RD.Measures[i].displayAs) displayAsDict[name] = dispObj.RD.Measures[i].displayAs; } showHideDict[name] = dispObj.RD.Measures[i].showMe; } } /*for(var key in showHideDict){ if(!showHideDict[key]){ if(layout == 'Normal'){ var hideIndex = ReportData[0].indexOf(key); ReportData.map(function(val){return val.splice(hideIndex, 1);}); totalArray.splice(hideIndex, 1); measFormats.splice(hideIndex,1); }else{ for(var i=0;i<ReportData[0].length;i++){ if(ReportData[0][i].includes(key)){ var hideIndex = i; ReportData.map(function(val){return val.splice(hideIndex, 1);}); totalArray.splice(hideIndex, 1); measFormats.splice(hideIndex-ndims,1); i--; } } } } }*/ if(layout == "CrossTab"){ for(var j=0;j<ReportData.length+1;j++){ var k; var prevPushIndex = ndims; for(var i=0;i<measNamesArray.length;i++){ var meas = itemList.getItemById(ReportObj.measureIds[i]); var aggFunc = meas.AggFunction; if(meas.Description && meas.Description.includes('[avg]')) aggFunc = 'avg'; var colSum = 0; for(var p=0; p<i; p++) colSum += colsPersEachMeasureDict[measNamesArray[p]]; var pushIndex = ndims + colSum + colsPersEachMeasureDict[measNamesArray[i]]+i; if(j == 0) ReportData[j].splice(pushIndex, 0, "Total~_"+ ReportObj.measures[i]); else if(j==ReportData.length){ var sum = 0; for(k = prevPushIndex;k < pushIndex;k++){ sum += +totalArray[k] } if(aggFunc == 'avg') sum = sum/colsPersEachMeasureDict[measNamesArray[i]]; prevPushIndex = k + 1; totalArray.splice(pushIndex, 0, sum); } else{ var sum = 0; for(k = prevPushIndex;k < pushIndex;k++){ sum += +ReportData[j][k] } if(aggFunc == 'avg') sum = sum/colsPersEachMeasureDict[measNamesArray[i]]; prevPushIndex = k + 1; ReportData[j].splice(pushIndex, 0, sum); } } } } for(var key in showHideDict){ if(!showHideDict[key]){ if(layout == 'Normal'){ var hideIndex = ReportData[0].indexOf(key); ReportData.map(function(val){return val.splice(hideIndex, 1);}); totalArray.splice(hideIndex, 1); measFormats.splice(hideIndex,1); }else{ for(var i=0;i<ReportData[0].length;i++){ if(ReportData[0][i].includes(key)){ var hideIndex = i; ReportData.map(function(val){return val.splice(hideIndex, 1);}); totalArray.splice(hideIndex, 1); measFormats.splice(hideIndex,1); i--; } } } } } console.log(ReportData[0]); var watch= new stopWatch(); var TableId="T"+Math.random().toString().replace('.',''); var sortCol=0, ascDesc='asc', columnTitles=new Array(); var htmlstr='<div class=myChart style="height:'+Height+'px;width:unset;overflow:auto"><div style="width: 100%; text-align: center;" title="'+toolTip+'">'+Title+'</div>'; htmlstr+='<table cellpadding="0" cellspacing="0" border="0" class="display" id="'+TableId+'">'; htmlstr+='<thead><tr>'; for(i=0; i<ReportData[0].length; i++){ if(String(ReportData[0][i]).toUpperCase() == "YEAR"){ sortCol=i; ascDesc='desc'; } colName=String(ReportData[0][i]).toUpperCase(); columnTitles[i]={}; if( colName == 'MONTH'){ columnTitles[i]["sType"]="Month"; } else if(colName == 'WEEK'){ columnTitles[i]["sType"]="Week"; } else if(colName == 'DAY'){ columnTitles[i]["sType"]="Weekdays"; } else if(colName == 'FIN. MONTH'){ columnTitles[i]["sType"]="FMonth"; } else if(i>=ndims){ columnTitles[i]["sType"]="numeric"; } /*columnTitles[i]["sTitle"]=ReportData[0][i]; if(i<ndims) columnTitles[i]["sClass"]="left"; else columnTitles[i]["sClass"]="right"; */ if(layout == 'CrossTab'){ if(i<ndims){ var measArr = ReportObj.getmeasures(); if(i == ndims-1){ htmlstr+='<th rowspan="2">'+ReportData[0][i]+'</th>'; for(var j=0;j<measArr.length;j++){ if(measArr[j] in showHideDict && !showHideDict[measArr[j]]) continue; htmlstr+='<th colspan="'+(colsPersEachMeasureDict[measArr[j]]+1)+'">'; if(measArr[j] in displayAsDict) htmlstr+=displayAsDict[measArr[j]]; else htmlstr+=measArr[j]; htmlstr+='</th>'; } htmlstr+='</tr><tr>'; }else{ htmlstr+='<th rowspan="2">'+ReportData[0][i]+'</th>'; } }else{ var colNameValue = ReportData[0][i].replace("~_", " "); var measName = ReportData[0][i].split("~_")[1]; colNameValue = colNameValue.replace(measName,""); htmlstr+='<th>'+colNameValue+'</th>'; } }else{ htmlstr+='<th align='+(i<ndims?"\'left\'":"\'right\'")+'>'+ReportData[0][i]+'</th>'; } } htmlstr+='</tr></thead>'; htmlstr+='<tbody>'; var formats=new Array(), k=0; for(i=0; i<measFormats.length; i++) formats[i]=getFormat(measFormats[i]); for(i=0; i<ReportData.length-1; i++){ htmlstr+='<tr>'; for(j=0; j<ReportData[i].length; j++){ if(j<ndims){ lf="left"; val=ReportData[i+1][j]; k=0; } else{ lf="right"; if(typeof measFormats[k] == "undefined") measFormats[k]="cup2"; //val=formatMoney(ReportData[i+1][j], formats[k].prefix, formats[k].suffix, formats[k].prec,formats[k].dec,formats[k].Gsym); val=formatData(ReportData[i+1][j], measFormats[k], (dispObj.getpointTooltip()=='A'?0:1)); k++; } htmlstr+='<td align="'+lf+'" data-order="'+ReportData[i+1][j]+'">'+val+'</td>'; } htmlstr+='</tr>'; } htmlstr+='</tbody>'; htmlstr+='<tfoot><tr>'; htmlstr+='<th><b>Grand Total</b></th>'; for(j=1; j<ndims; j++) htmlstr+='<th></th>'; for ( j=ndims, k=0; j<totalArray.length; j++,k++){ //htmlstr+='<th align="right"><b>'+formatMoney(totalArray[j], formats[k].prefix, formats[k].suffix, formats[k].prec,formats[k].dec,formats[k].Gsym)+'</b></th>'; htmlstr+='<th align="right"><b>'+formatData(totalArray[j], measFormats[k], (dispObj.getpointTooltip()=='A'?0:1))+'</b></th>'; } htmlstr+='</tr></tfoot>'; htmlstr+='</table></div>'; $('#'+divId).html(htmlstr); $('#'+TableId).dataTable({ // "aoColumns":columnTitles, "bJQueryUI": true, "sPaginationType": "full_numbers", "aaSorting": [], "iDisplayLength":25 }); watch.stop(); writeLog(INFO, sessionid, new logContext("Charting", "TABLE", divId, "PERFORMANCE","HighCharts", '', watch.stTime, watch.endTime)); }