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: makeJsonmulti.js
Close
function makeJsonFromArrayNew(report_data, Ndim, Nmeas, measFormat, dispObj){ var jsonData={}; var rdn=rand(); console.log((new Date()).getTime()+" : Start preparing tree for "+report_data.length+" rows, "+ report_data[0].length+ " columns , rdn="+rdn); jsonData["name"]="All"; jsonData["dimName"]=report_data[0][0]; jsonData["measName"] = new Array(Nmeas); jsonData["size"] = new Array(Nmeas); jsonData["percent"]=new Array(Nmeas); jsonData["percentOfTotal"]=new Array(Nmeas); jsonData["measFormat"]=measFormat; jsonData["children"]=new Array(); var i=0,j=0; var aggFuncArr = new Array(); var measures = dispObj.RD.General.Measures; if(measures && measures.length>0){ for(i=0; measures && i<measures.length; i++){ aggFuncArr.push(measures[i].agg); } /* will handle crosstab report of one measure */ for(i=measures.length; i<Nmeas; i++){ if(report_data[0][Ndim+i].indexOf("(%)") > 0){ aggFuncArr.push("avg"); }else{ aggFuncArr.push(measures[0].agg); } } } else{ for(i=0; i<Nmeas; i++){ aggFuncArr.push("sum"); } } var total1=new Array(Nmeas); var p = new Array(); for(j=0;j<Nmeas;j++){ jsonData["measName"][j]=report_data[0][report_data[0].length-(Nmeas-j)]; total1[j]=new Array(); for(i=1;i<report_data.length;i++){ total1[j].push(parseFloat(report_data[i][Ndim+j])); } p[j]=+returnValByAggFunc(total1[j], aggFuncArr[j]).toFixed(2); jsonData["size"][j]=p[j]; jsonData["percent"][j]="100%"; jsonData["percentOfTotal"][j]="100%"; } // First record is header, So starting from 1 for(i=1;i<report_data.length;i++) appendToTreeNew(jsonData,report_data, Ndim, Nmeas, measFormat, i, p, aggFuncArr); console.log((new Date()).getTime()+" : End preparing tree, rdn="+rdn); return jsonData; } function appendToTreeNew(jsonData, report_data, Ndim, Nmeas, measFormat, n, p, aggFuncArr) { var temp=jsonData; var total2=new Array(Nmeas); for(var i=0; i<Ndim; i++){ var f1=0; var k=0; for(k=0;temp["children"] && k<temp["children"].length;k++) { if(temp["children"][k]["name"]==report_data[n][i]) { f1=1; break; } } if(f1==1) temp=temp["children"][k]; else { var ch={}; for(j=0;j<Nmeas;j++){ total2[j]=new Array(); for(var q=0;q<report_data.length;q++){ var f2=1; for(var r=0;r<=i;r++) { if(report_data[q][r]!=report_data[n][r]) f2=0; } if(f2==1){ total2[j].push(parseFloat(report_data[q][Ndim+j])); } } } ch["name"]=report_data[n][i]; ch["dimName"]=report_data[0][i]; ch["measName"] = new Array(Nmeas); ch["size"] = new Array(Nmeas); ch["percent"]=new Array(Nmeas); ch["percentOfTotal"]=new Array(Nmeas); for(j=0;j<Nmeas;j++){ var Stotal=+returnValByAggFunc(total2[j], aggFuncArr[j]); ch["percentOfTotal"][j]=((Stotal*100)/p[j]).toFixed(2)+"%"; ch["percent"][j]=((Stotal*100)/temp["size"][j]).toFixed(2)+"%"; ch["measName"][j]=report_data[0][Ndim+j]; ch["size"][j]= +Stotal.toFixed(2); } ch["measFormat"]=measFormat; if(!temp["children"]) temp["children"]=new Array(); temp["children"].push(ch); temp=ch; } } } function returnValByAggFunc(valArr, aggFunc){ var retVal=0, aggFuncLower=String(aggFunc).toLowerCase(); if(aggFuncLower == "sum" || aggFuncLower == "avg"){ for(var i=0; i<valArr.length; i++){ retVal+=+valArr[i]; } if(aggFuncLower == "avg"){ retVal=retVal/valArr.length; } } else if(aggFuncLower == "max"){ retVal=valArr[0]; for(var i=1; i<valArr.length; i++){ if(retVal<valArr[i]){ retVal=valArr[i]; } } } else if(aggFuncLower == "min"){ retVal=valArr[0]; for(var i=1; i<valArr.length; i++){ if(retVal>valArr[i]){ retVal=valArr[i]; } } } else{ for(var i=0; i<valArr.length; i++){ retVal+=+valArr[i]; } } return retVal; }