OXIESEC PANEL
- Current Dir:
/
/
home
/
cubot
/
docroot
/
showcase
/
js
/
ws
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
12/31/2022 06:53:36 AM
rwxr-xr-x
📄
.filter_template.js.swp
20 KB
08/14/2022 11:05:24 AM
rw-r--r--
📄
.ws.core.js.swp
20 KB
08/14/2022 11:05:24 AM
rw-r--r--
📄
chartPrefs.js
14.4 KB
08/14/2022 11:05:24 AM
rw-r--r--
📄
compute.js
6.11 KB
08/14/2022 11:05:25 AM
rw-r--r--
📄
display.js
13.24 KB
08/14/2022 11:05:24 AM
rw-r--r--
📄
dtree.js
14.88 KB
08/14/2022 11:05:25 AM
rw-r--r--
📁
files
-
08/14/2022 11:05:24 AM
rwxr-xr-x
📄
filterClass.js
5.17 KB
08/14/2022 11:05:24 AM
rw-r--r--
📄
filter_template.js
87.03 KB
08/14/2022 11:05:25 AM
rw-r--r--
📄
filter_template.js_17Feb2020
85.47 KB
08/14/2022 11:05:24 AM
rw-r--r--
📄
filter_template.js_19jan18
81.31 KB
08/14/2022 11:05:25 AM
rw-r--r--
📄
ws.app.js
22.03 KB
08/14/2022 11:05:24 AM
rw-r--r--
📄
ws.core.js
46.33 KB
08/14/2022 11:05:24 AM
rw-r--r--
📄
ws.ext.js
34.42 KB
08/14/2022 11:05:24 AM
rw-r--r--
📄
ws.ext.js_09dec2019
33.16 KB
08/14/2022 11:05:24 AM
rw-r--r--
📄
ws.ext.js_10dec2019
32.45 KB
08/14/2022 11:05:25 AM
rw-r--r--
📄
ws.ext.js_28Aug2019
23.55 KB
08/14/2022 11:05:25 AM
rw-r--r--
📄
ws.lib.js
35.14 KB
08/14/2022 11:05:25 AM
rw-r--r--
📄
ws.lib.js_19jan18
30.59 KB
08/14/2022 11:05:24 AM
rw-r--r--
📄
wsAll.js
143.54 KB
08/14/2022 11:05:24 AM
rw-r--r--
Editing: ws.ext.js
Close
/* * */ function showProgress(divId, message, isError){ $("#"+divId).html("<div class="+(isError==1?'error':'info')+">"+ message +"</div>"); } /* *Validate JSON string */ function validateJSON(forWhichCall, jsonStr, divId){ try { if(typeof jsonStr == "object") var c = JSON.stringify(jsonStr); else var c = JSON.parse(jsonStr); } catch (err) { // Do something about the exception here if(divId){ showProgress(divId, forWhichCall+" : "+err+"<br>JSON:"+jsonStr, 1); } else{ alert(WhichCall+" : "+err+"<br>JSON:"+jsonStr); } } } /* * Class contains graph properties. Used when calling getReportDataAsync function */ function reportContext(gtype, height, width, moduleId, divId, isDownload){ this.gtype=gtype; this.height=height; this.width=width; this.moduleId=moduleId; this.divId=divId; this.isDownload = isDownload; } /* * Get height of module by span size. Full screen is 24 span */ function getHeightBySpan(span){ var Span=parseInt(span); if(span.length>0 && span.indexOf('max')>0) Span=24; if(Span==24) return 350; else if(Span == 18) return getMheight()-360; else if(Span == 30) return 550; else return 300; /*if(Span <1 || Span>24) return 300; else return 30+(30*Span)-40;*/ } /* * Get height of module by span size and used viewport width to calculate it. */ function getWidthBySpan(span){ //return "'100%'"; var Span=parseInt(span); if(span.length>0 && span.indexOf('max')>0) Span=24; if(Span <1 || Span>30) return 300; else if(Span == 30) return getMwidth()-100; else return Math.floor(getMwidth()/(24/Span)-(Span==8?20:Span==12?25:Span==16?20:Span==24?45:20)); //return 30+(40*span)-50; } /* * Function to make normal report data to crosstab report data */ function makeXtab(DataTable){ var i=0, j=0; var Hash= new Array(); var Dim1= new Array(); var Dim2= new Array(); for(i=1; i<DataTable.length; i++){ Dim1.push(DataTable[i][0]); Dim2.push(DataTable[i][1]); } Dim1=unique(Dim1.sort()); Dim2=unique(Dim2.sort()); for(i=1; i<DataTable.length; i++){ str=DataTable[i][0]+":"+DataTable[i][1]; Hash[str]=DataTable[i][2]; } var col_values=new Array(Dim1.length+1); col_values[0]=new Array(Dim2.length+1); col_values[0][0]=DataTable[0][0]; for(i=0; i<Dim1.length; i++){ col_values[i+1]=new Array(Dim2.length+1); col_values[i+1][0]=Dim1[i]; for(j=0; j<Dim2.length; j++){ col_values[0][j+1]=Dim2[j]+"~_"+DataTable[0][2]; if(Hash[Dim1[i]+":"+Dim2[j]]) col_values[i+1][j+1]=Hash[Dim1[i]+":"+Dim2[j]]; else col_values[i+1][j+1]=0; } } return col_values; } /* *Revert report data. Row to column and column to row to display crosstab reports like CUBOT is showing. */ function revertRowColumn(DataTable, measure){ var col_values=new Array(DataTable[0].length); for(i=0; i<DataTable[0].length; i++){ col_values[i]=new Array(DataTable.length-1); DataTable[0][i]=DataTable[0][i].replace(measure,''); } for(i=0; i<DataTable.length; i++){ for(j=0; j<DataTable[i].length; j++){ col_values[j][i]=DataTable[i][j]; } } for(i=1; i<=DataTable.length-1; i++){ col_values[0][i]=col_values[0][i]+' '+measure; } return col_values; } /* *Get filters related to time dimension */ function getDateFilter(filterString){ if(!filterString) return ""; var timeDims=["year", "quarter", "month", "week", "date"]; var filterArr=String(filterString).split("&"); var dateFilterArr=new Array(); for(var i=0; i<filterArr.length; i++){ for(var j=0; j<timeDims.length; j++){ if(filterArr[i].toLowerCase().indexOf(timeDims[j])>=0){ dateFilterArr.push(filterArr[i]); break; } } } if(dateFilterArr.length>0) return " ("+dateFilterArr.join(" and ")+") "; else return "( All Dates )"; } /* * Create analyze link used for report heading. */ function getAnalyzeLink(gid, systitle, subtitle, title, desc){ var ToolTip=""; if(systitle && systitle.length>0) ToolTip+=getLabel('Title')+" : "+systitle+" "; if(subtitle && subtitle.length>0) ToolTip+=(ToolTip.length>0 ? "
" : "") + getLabel('Filter') + ": " + subtitle + " "; if(desc && desc.length>0) ToolTip+=(ToolTip.length>0 ? "
" : "") + "\n" +getLabel('Desc') + ": " + desc + " "; if(Uaccessstr.indexOf('Analyze') >= 0){ ToolTip+="
"+getLabel('Action')+": "+getLabel('Click To Analyze')+" "; return "<A href='/mainmenu.rx?rdn="+rand()+"&conn="+getFromURL('conn')+"&uid="+getFromURL('uid')+"&gname="+gid+"&mmenu=15' target='menubar' title='"+ToolTip+"'>"+title+getDateFilter(subtitle)+"</A>"; }else{ return "<A href='#' title='"+ToolTip+"'>"+title+getDateFilter(subtitle)+"</A>"; } } /* New function to use items to get report data */ var G_DimsArray=[418,205,227,228,203,220,218,2519,2520,201,224], G_FilterLoadedFor=0; function getReportDataByItemsUsingReportId(gid, ReportDisplayOptions, divId, rptContext){ var reportMetaDataCollection=createReportList(sessionid, userId); var reportMetaData=reportMetaDataCollection.getReportById(gid, "Personal"); var ReportObj = new Report(); var metaDataCollection=createItemList(sessionid); /* Set display options */ var displayObj=new displayOptions(ReportDisplayOptions); displayObj.RDsetGeneral(); displayObj.RD.General.divId=divId; displayObj.RD.General.sessionid=sessionid; displayObj.RD.General.rptContext=rptContext; /* function to return report data using report meta data object */ // populateReportFromID(sessionid, reportMetaData, preShowReport, displayObj, ReportObj); $.DFA.setFilterList(ReportObj, reportMetaData, metaDataCollection); getReportObjByReportMeta(sessionid, reportMetaData, displayObj, ReportObj); var isMeasureIDsModified = false; //For %subplot made changes in fn showReport of ws.ext.js var measIDs = ReportObj.getmeasureIds(); for(var i=0;i<measIDs.length;i++){ if(+measIDs[i]> 20000){ isMeasureIDsModified = true; break; } } if(isMeasureIDsModified) ReportObj.setmeasureIds(reportMetaDataCacheOriginal[gid].meta[23].split(':')); for(var i=0; i<G_FilterList.filterList.length; i++){ var isFilterCompatible = true; //var reportMeasIds = ReportObj.getmeasureIds().split(':'); var reportMeasIds = ReportObj.getmeasureIds(); var filterDimTable = metaDataCollection.getItemById(G_FilterList.filterList[i].itemId).Table; for(var j=0;j<reportMeasIds.length;j++){ if(metaDataCollection.getItemById(reportMeasIds[j]).JoinTable.split(':').indexOf(filterDimTable) == -1) isFilterCompatible = false; } if(isFilterCompatible){ ReportObj.filterList.clearFilter(G_FilterList.filterList[i]); ReportObj.filterList.addFilter(G_FilterList.filterList[i]); } } ReportObj.setdimensionFilters(ReportObj.filterList.getFilterString("D")); createReport(sessionid, false,preShowReport, ReportObj); //G_DimsArray=G_DimsArray.concat(reportMetaData.DimensionIds.split(':')); return ReportObj; } function preShowReport(reportDataArray, ReportObj){ showReport(reportDataArray, ReportObj.graphId, ReportObj.dispObj.RD.General.rptContext); } //RptListTags = { "n:Id", "n:ParentId", "n:Owner", "n:Title" , "n:Description", "n:CreateDate", "n:LastAccessDate", "n:GenerationTimeInSec", "n:SubTitle", "n:NRows", "n:NCols", "n:ReportType", "n:ReportLayout", "n:Dimensions", "n:Measures" }; /* * Use asynchronous call to get report data. Once got data then call showreport function to show the report. */ function prepareReport(gid, gtype, height, width, moduleId, divId, refresh){ var rptContext=new reportContext(gtype, height, width, moduleId, divId, false); var dispObj=new displayOptions(multiDash.getReportDisplayOptions(moduleId)); var topX=-1; if(dispObj){ topX=parseInt(dispObj.getTopxValues()); } if(topX<1 || isNaN(topX)){ topX=G_MAX_RECORDS; } getReportDataByItemsUsingReportId(gid, dispObj, divId,rptContext); //getReportDataAsync(sessionid, gid, refresh, showReport, rptContext, topX); } /* * Function to fill Report object and call appropreate graph */ function showReport( reportDataArray, gid, rptContex){ var ReportObj = new Report("","","T",0,0,"","","", "", "", "", ""); var reportMetaDataArray = getReportMetaData(sessionid, gid); if(reportMetaDataArray.length<1){ $('div#'+rptContex.divId).html('<font color=red><center>'+getLabel("Error ploting chart")+'.<br>'+getLabel("Report has been deleted or unshared.")+'.</center></font>'); return ; } validateJSON("getReportMetaData", reportMetaDataArray, rptContex.divId); if(reportDataArray.length <= 1){ if(typeof reportDataArray[0]=="undefined" || reportDataArray[0][0]=="NO-DATA-FOUND" || reportDataArray[0].length==0) $('div#'+rptContex.divId).html('<font color=red><center>'+getLabel("No Data Found")+'</center></font>'); else $('div#'+rptContex.divId).html('<font color=red><center>'+getLabel("Error ploting chart")+'.<br>'+getLabel("Getting chart details failed")+'.</center></font>'); if(rptContex.moduleId.length>0) $(".moduleTitle", document.getElementById(rptContex.moduleId)).html(getAnalyzeLink(gid, reportMetaDataArray[18], reportMetaDataArray[8], reportMetaDataArray[3], reportMetaDataArray[4])); return ; } if(!rptContex.isDownload) showProgress(rptContex.divId, "Got Report Data: "+ reportDataArray.length +" rows , "+ reportDataArray[0].length+" columns.<br>Proceeding to draw chart."); //$.triggerEvent("moduleLoadingEvent", reportMetaDataArray[0][3]); ReportObj.setheight(rptContex.height); ReportObj.setwidth(rptContex.width); ReportObj.setlayout(reportMetaDataArray[12]); ReportObj.settitle(reportMetaDataArray[3]); ReportObj.setdescription(reportMetaDataArray[4]); ReportObj.setdimensions(reportMetaDataArray[13].split(":")); ReportObj.setdimmeta(reportMetaDataArray[19].split(":")); ReportObj.setmeasures(reportMetaDataArray[14].split(":")); ReportObj.setmeasureIds(reportMetaDataArray[23].split(":")); ReportObj.setformats(reportMetaDataArray[15].split(":")); ReportObj.setminmax(reportMetaDataArray[17].split(":")); ReportObj.setsystitle(reportMetaDataArray[18]); ReportObj.setsubtitle(reportMetaDataArray[8]); ReportObj.setgtype(rptContex.gtype); ReportObj.setsortcolumn(reportMetaDataArray[20]); ReportObj.settopn(parseInt(reportMetaDataArray[21])); // Reg. compute property ReportObj.setproperties(getGraphProperties(sessionid, gid)); var hasCompute = false, hasCompType = false, hasCompRefSeries = false; var computeValue = '', compTypeValue = '', compRefValue = ''; var reportProps = ReportObj.getproperties(); for(var i=0;i<reportProps.length;i++){ if(reportProps[i][0] == 'compute'){ hasCompute = true; computeValue = reportProps[i][1]; }else if(reportProps[i][0] == 'comptype'){ hasCompType = true; compTypeValue = reportProps[i][1]; }else if(reportProps[i][0] == 'comprefseries'){ hasCompRefSeries = true; compRefValue = reportProps[i][1]; } } ReportObj.setlayout(reportMetaDataArray[12]); var measIds = reportMetaDataArray[23].split(":"),measFormats = reportMetaDataArray[15].split(":"); if((measIds.length == 1 || measIds[0].indexOf('.') != -1) && ReportObj.getlayout() == 'CrossTab' && rptContex.gtype != 'DT') reportDataArray[0] = reportDataArray[0].map(function(item){return item.split("~_")[0]}); // Remove false while deploying.... if(hasCompute){ if(computeValue == '9999' && hasCompType && hasCompRefSeries){ if(compTypeValue == '2' && compRefValue == 'Total0'){ if(ReportObj.getlayout() == 'CrossTab'){ ReportObj.isComputedReport = true; var ndims = reportMetaDataArray[13].split(":").length - 1; var nmeas = reportDataArray[0].length - ndims; var measNames = reportDataArray[0].slice(ndims); measNames = measNames.map(function(item){return item.replace(/~_/g, " ")}); ReportObj.setmeasures(measNames); var measIds = reportMetaDataArray[23].split(":"),measFormats = reportMetaDataArray[15].split(":"); while(measIds.length < measNames.length){ measFormats = measFormats.concat(reportMetaDataArray[15].split(":")); measIds = measIds.concat(reportMetaDataArray[23].split(":")); } ReportObj.setmeasureIds(measIds); ReportObj.setformats(measFormats); for(var j=1; j < reportDataArray.length; j++){ for(var i = ndims; i<nmeas+ndims; i++){ reportDataArray[j][i] = +reportDataArray[j][i]; } } var measPercentNames = Array(measNames.length); for(var i=0; i< measNames.length; i++){ measPercentNames[i] = measNames[i]+'(%)'; } reportDataArray[0] = reportDataArray[0].concat(measPercentNames); reportDataArray[0] = reportDataArray[0].map(function(item){return item.replace(/~_/g, " ")}); reportMetaDataCache[gid].meta[14] = reportDataArray[0].slice(ndims).join(":"); ReportObj.setmeasures(reportMetaDataCache[gid].meta[14].split(':')); var final_meas_count = reportDataArray[0].length - ndims; reportMetaDataCache[gid].meta[23] = ""; var measFormat = reportMetaDataCache[gid].meta[15].split(":")[0]; reportMetaDataCache[gid].meta[15] = ""; if(!metaDataCollectionCache){ createItemList(sessionid); } var countMeasIds = new Array(final_meas_count/2); var computedMeasureStr = '';i var finalMeasIds = new Array(); for(var i=0;i<final_meas_count;i++){ var temp_meas = new Array(24); temp_meas[2] = rptContex.moduleId+(0.01*(i+1)); finalMeasIds.push(temp_meas[2]); temp_meas[3] = reportDataArray[0][ndims+i]; temp_meas[6] = "avg"; if(i >= final_meas_count/2){ if(computedMeasureStr == ''){ computedMeasureStr = '('; for(var k=0;k<countMeasIds.length;k++){ computedMeasureStr += "["+countMeasIds[k]+"]+"; } computedMeasureStr = computedMeasureStr.slice(0,-1) + ")"; } temp_meas[5] = "(["+countMeasIds[i-countMeasIds.length]+"]*100)/"+computedMeasureStr; }else{ temp_meas[6] = "sum"; countMeasIds[i] = temp_meas[2]; } if(Array.isArray(metaDataCollectionCache.getItemById(temp_meas[2]))){ //Not Found metaDataCollectionCache.myMeasureTree[0].items.push(new createItem(temp_meas)); } if(i == final_meas_count - 1){ reportMetaDataCache[gid].meta[23] = reportMetaDataCache[gid].meta[23].concat(temp_meas[2]); reportMetaDataCache[gid].meta[15] = reportMetaDataCache[gid].meta[15].concat(measFormat); }else{ reportMetaDataCache[gid].meta[23] = reportMetaDataCache[gid].meta[23].concat(temp_meas[2]+":"); reportMetaDataCache[gid].meta[15] = reportMetaDataCache[gid].meta[15].concat(measFormat+":"); } } ReportObj.setmeasureIds(finalMeasIds); //ReportObj.setmeasures(measNames.concat(measPercentNames)); reportDataArray.slice(1).forEach(function(item){ var item_length = item.length; var sum=0; for(var i=ndims;i<item_length;i++){ sum = sum + item[i]; } for(var i=ndims;i<item_length;i++){ var percentVal = (item[i]*100)/sum; //item.push(percentVal); item.push(0); } }) } } } } /* We have started getting crosstab data from webservice */ /*if((rptContex.gtype == "C" || rptContex.gtype == "N") && ReportObj.gettopn() <0 && ReportObj.getlayout() == "Normal" && ReportObj.getmeasures().length == 1 && ReportObj.getdimensions().length == 2 && reportDataArray.length>0){ reportDataArray=makeXtab(reportDataArray); ReportObj.setlayout("CrossTab"); }*/ /* Removing Rest from result . Onmobile does not want it */ /*if(parseInt(reportMetaDataArray[21])>0){ reportDataArray=reportDataArray.splice(0,(parseInt(reportMetaDataArray[21])+1)); }*/ formatReportData(reportDataArray, ReportObj.getdimmeta(), ReportObj.getlayout(), ReportObj.gettopn()); if(isWeekColumn(ReportObj.getdimmeta()[0])){ sortWeekData(reportDataArray, 0); }else if(isTimeColumn(ReportObj.getdimmeta()[0]) == false && ReportObj.getsortcolumn() == 'Default'){ sortReportData(reportDataArray, ReportObj.getdimensions().length); } //Follow logic followed in CUBOT-Arun :) /* Stop following CUBOT logic as it confuse user */ /*if((rptContex.gtype != "T" && rptContex.gtype != "Cal") && ReportObj.getlayout() == "CrossTab" && ReportObj.getmeasures().length == 1 && ReportObj.getdimensions().length == 2 && reportDataArray.length>0){ reportDataArray=revertRowColumn(reportDataArray, ReportObj.getmeasures()[0]); var tmpArray=new Array(2); tmpArray[0]=ReportObj.getdimensions()[1]; tmpArray[1]=ReportObj.getdimensions()[0]; ReportObj.setdimensions(tmpArray); reportDataArray[0][0]=tmpArray[0]; }*/ //--------------------------------------------- ReportObj.setdata(reportDataArray); //ReportObj.dispObj=multiDash.getReportDisplayOptions(rptContex.moduleId); ReportObj.dispObj=new displayOptions(multiDash.getReportDisplayOptions(rptContex.moduleId)); ReportObj.dispObj.isComputedReport = ReportObj.isComputedReport; if(ReportObj.isComputedReport && ReportObj.dispObj.RD.Measures == undefined){ var measIds = ReportObj.getmeasureIds(); var measNames = ReportObj.getmeasures(); for(var i=0;i<measIds.length;i++){ ReportObj.dispObj.RDsetMeasure(measIds[i], measNames[i], true, '', '', '', '', '', '',''); } } if(rptContex.gtype == "Bullet"){ var lower_th = getUserSettings(sessionid, "16"); var upper_th = getUserSettings(sessionid, "17"); var threshold_lower_percent = parseInt(lower_th[0][2]); var threshold_upper_percent = parseInt(upper_th[0][2]); ReportObj.dispObj.RDsetGeneral(); ReportObj.dispObj.RD.General["lower_threshold"] = threshold_lower_percent; ReportObj.dispObj.RD.General["upper_threshold"] = threshold_upper_percent; } addMeasureColumn(ReportObj, sessionid); /* computed column calculated for SVG charts */ if(rptContex.isDownload){ var downloadData = ReportObj.getdata(); var fileName = reportMetaDataCacheOriginal[gid].meta[3]+".csv"; var csvContent = "data:text/csv;charset=utf-8,"; downloadData.forEach(function(rowArray) { let row = rowArray.join(","); csvContent += row + "\r\n"; }); var encodedUri = encodeURI(csvContent); var link = document.createElement('a'); link.setAttribute("href", encodedUri); link.style.display = 'none'; link.setAttribute("download", fileName); link.click(); }else{ drawCharts(ReportObj, rptContex.divId, gid); if(rptContex.moduleId.length>0){ $(".moduleTitle", document.getElementById(rptContex.moduleId)).html(getAnalyzeLink(gid, ReportObj.getsystitle(), ReportObj.getsubtitle(), ReportObj.gettitle(),ReportObj.getdescription())); } } //$.triggerEvent("moduleLoadedEvent", ReportObj.gettitle()); } /* * Returns report div html */ function getDivHtml(divId, format, span, refresh){ var Height=getHeightBySpan(span); var Width=getWidthBySpan(span); if(format != 'T'){ return '<div id="'+divId+'" style="width:100%; Height:'+Height+'px; overflow:hidden;"><center><img src=./css/g/loading.gif></img></center></div>'; } else{ return '<div id="'+divId+'" style="width:100%; Height:'+Height+'px; overflow-y:auto;overflow-x:auto"><center><img src=./css/g/loading.gif></img></center></div>'; } } var Graph='Jqplot'; function useGraph(graph){ if(Graph != graph){ Graph=graph; saveContent("CHART", 0, graph); refreshPage(); } } var addMap=0 function getReport(gid, divId, format, span, moduleId, refresh){ var Height=getHeightBySpan(span); var Width=getWidthBySpan(span); var reportMetaDataArray = getReportMetaData(sessionid, gid); if(reportMetaDataArray.length<1){ $('div#'+divId).html('<font color=red><center>'+getLabel("Error ploting chart")+'.<br>'+getLabel("Report has been deleted or unshared.")+'.</center></font>'); return ; } /***** Temporarely we are using cubot graph server to get all graphs ********/ //Vikash Codeed Following 1 Lines to Ease SVG Testing. Delete Them //if(format != 'T'){ // format = 'SVG'; //} if(Graph == "CUBOT" && format != 'G' && format != 'SVG'){ if(format=='M'){ getGeoChart(sessionid, gid, divId, moduleId, '', 'No', format, Height, Width, refresh); return; } else { getCubotTextReport(gid, divId, moduleId, '', 'No', format, Height, Width, 0); return; } } else{ if(format == 'T' || format == 'A' || format == 'F'){ showProgress(divId, "Fetching CUBOT text report", 0); getCubotTextReport(gid, divId, moduleId, '', 'No', format, Height, Width, 0); return; } else if(format=='M'){ showProgress(divId, "Preparing to show map", 0); getGeoChart(sessionid, gid, divId, moduleId, '', 'No', format, Height, Width, refresh); return; } if(refresh == 1){ showProgress(divId, "Fetch chart data (Refresh)", 0); prepareReport(gid, format, Height, Width, moduleId, divId, true); } else{ showProgress(divId, "Fetching chart data ", 0); prepareReport(gid, format, Height, Width, moduleId, divId, false); } } } /* * Delete content from db */ function removeContent(tag, id){ removeContentData(sessionid, tag, id); } /* * Save content to db */ function saveContent(tag, id, value){ var jsonLength = value.replace(/"/g,/"/).length; if(jsonLength < 65535){ putContentData(sessionid, tag, id, value); } else { alert("Can't save "+ tag +". Page became "+jsonLength+" characters."); } } /* * Get content from db */ function getContent(tag, id){ return getContentData(sessionid, tag, id); } function getNextSequenceId(){ return getUniqueNumber(sessionid); } function switchTheme(t, isSave) { $('link[title]','head').each(function(){ this.disabled = true; this.disabled = (this.title != t); if(this.title == t && isSave==1) saveContent("THEMES", 0, t); G_THEME=t; $("body").css("padding-top", ""); }); return false; }; function addJsFile(jsFile){ var fileref=document.createElement('script'); fileref.setAttribute("type","text/javascript"); fileref.setAttribute("src", jsFile); if (typeof fileref!="undefined") document.getElementsByTagName("head")[0].appendChild(fileref) } /* * Get values from calling url */ function getFromURL(reqStr){ if(document.URL.length >0 && document.URL.split(reqStr+'=').length >1) return(document.URL.split(reqStr+'=')[1].split('&')[0].replace('#','')); } /* * Escape characters */ function htmlescape(val){ return String(val).replace(/ /g,"+").replace(/#/g,"%23").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\./g,"%2e"); } /* * Get CUBOT Reports */ function getCubotTextReport(gid, divId, moduleId, column, isFullrep, format, height, width, newId) { //var URL="/newgraph.rx?conn="+getFromURL('conn')+"&rdn="+rand()+"&uid="+getFromURL('uid')+"&gname="+gid+"&candrill=1&resetpref=Y&loc=D&showctl=N>ype=T"; //if(format == 'G') // format='T'; if(format != "B" && format != "L" && format != "P" && format != "S" && format != "N" && format != "C" && format != "T" && format !="A" && format != "F"){ format="T"; } var reportMetaDataArray = getReportMetaData(sessionid, gid); if(reportMetaDataArray.length<1){ //BUG NO:1139 $('div#'+divId).html('<font color=red><center>'+getLabel("Error ploting chart")+'.<br>'+getLabel("Report has been deleted or unshared.")+'.</center></font>'); return ; } if(gid.length<1){ $("#"+divId).html("<center><font color=red>"+getLabel("No Report To Show")+"</font></center>"); return ; } var URL=""; if(newId > 0){ URL="/newgraph.rx?conn="+getFromURL('conn')+"&rdn="+rand()+"&uid="+getFromURL('uid')+"&gname="+newId+"&candrill=1&resetpref=Y&loc=D&showctl=N>ype="+format+"&gheight="+height+"&gwidth="+width+"&op=report_shared"; if(column.length>0) URL+="&sort="+htmlescape(column); } else{ URL="/dograph.rx?rdn="+rand()+"&conn="+getFromURL('conn')+"&gname="+gid+"&mode=Dashboard&op=rptview&fldid="+gid; } if(isFullrep == 'yes') URL+="&fullrep=yes"; $.ajax({async:true, url:URL, timeout:20000, success: function (responseHTML){ var HTMLreport=responseHTML; if(HTMLreport.indexOf('location.href=')>0 && HTMLreport.indexOf('dispgraph.rx?')>0){ var Sgid=0; if(HTMLreport.split('gname=').length >1) Sgid=HTMLreport.split('gname=')[1].split('&')[0].replace('#',''); getCubotTextReport(gid, divId, moduleId, column, isFullrep, format, height, width, Sgid); return true; } if(HTMLreport.indexOf('<IMG SRC=/edash//be//gphout/') < 0){ if(format == 'T' || format == 'A' || format == 'F'){ HTMLreport=HTMLreport.substr(HTMLreport.indexOf('<THEAD>')); HTMLreport=HTMLreport.substr(0, HTMLreport.indexOf('</TFOOT>')+8); } else { HTMLreport="<br><br><center><font color=red>Multi dimensional charts are not supported by CUBOT.<br>Click text report to view the data.</font></center>"; } } else{ HTMLreport=HTMLreport.substr(HTMLreport.indexOf('<IMG SRC=/edash//be//gphout/')); HTMLreport=HTMLreport.substr(0, HTMLreport.indexOf('</td>')); HTMLreport="<tr><td>"+HTMLreport+"</td></tr>"; } if(format != 'T'){ $('#'+divId).html('<table id="cubdata'+gid+'" class="cubotgraph" width="100%" cellspacing="0" cellpadding="0" border="1">'+HTMLreport+'</table>') } else { $('#'+divId).html('<table id="cubdata'+gid+'" class="sorttable" width="100%" cellspacing="1" cellpadding="3" border="1">'+HTMLreport+'</table>') var table=document.getElementById('cubdata'+gid); var rowspan=-1, cell=''; if(table.rows[0] && table.rows[0].cells[0]){ rowspan=table.rows[0].cells[0].rowSpan; } if(rowspan > 0){ for(var rownum=0; rownum<rowspan; rownum++){ for(var i=0; i<table.rows[rownum].cells.length; i++){ cell=table.rows[rownum].cells[i]; if(typeof cell.className == "undefined" || column.indexOf('(Down)')<0){ cell.className="Asc"; upDown=" (Down)"; } else{ cell.className="Desc"; upDown=""; } cell.onclick=function (){ var colTitle=this.innerHTML; if(colTitle == 'Total') colTitle='Total0'; getCubotTextReport(gid, divId, moduleId, colTitle+upDown, isFullrep, format, height, width, 0); }; } } } } //if((moduleId.length>0) && (divId.indexOf("full")<0)){ if(moduleId.length>0){ var title="", tmptitle, unit=""; var ind=responseHTML.indexOf('rows displayed ]'); if(ind >0 ){ title=responseHTML.substr(responseHTML.indexOf('[', ind-10)); title=title.substr(0, title.indexOf(']')+1); title="<A href=# onclick='getCubotTextReport("+gid+",\""+ divId+"\",\""+ moduleId+"\",\""+ column+"\",\"yes\", \""+format+"\", \""+height+"\", \""+width+"\",0);' title='View Full report'>"+title+"</A>"; } var ind=responseHTML.indexOf("(in"); if(ind >0 ){ var ind1=responseHTML.indexOf(")", ind); unit=responseHTML.substr(ind, ind1-ind+1); } var reportMetaDataArray = getReportMetaData(sessionid, gid); if(reportMetaDataArray.length >=18){ if(divId.indexOf("full")>=0) $("span.ui-dialog-title").html(title+" "+getAnalyzeLink(gid,reportMetaDataArray[18], reportMetaDataArray[8], reportMetaDataArray[3], reportMetaDataArray[4])+" "+unit); else $(".moduleTitle", document.getElementById(moduleId)).html(title+" "+getAnalyzeLink(gid,reportMetaDataArray[18], reportMetaDataArray[8], reportMetaDataArray[3], reportMetaDataArray[4])+" "+unit); } } }, error:function(jqXHR, textStatus, errorThrown){ var reportMetaDataArray = getReportMetaData(sessionid, gid); if(reportMetaDataArray.length >=18) $(".moduleTitle", document.getElementById(moduleId)).html(getAnalyzeLink(gid,reportMetaDataArray[18],reportMetaDataArray[8], reportMetaDataArray[3], reportMetaDataArray[4])); $("#"+divId).html("<center><font color=red>"+textStatus+"</font></center>"); } }); } var gnameHash={}; function replaceNewGname(gid){ var URL="/dograph.rx?rdn="+rand()+"&conn="+getFromURL('conn')+"&gname="+gid+"&mode=Dashboard&op=rptview&fldid="+gid; $.ajax({async:false, url:URL, timeout:2000, success: function (responseHTML){ if(responseHTML.indexOf('dispgraph.rx?')>0){ var Fgid=0; if(responseHTML.split('gname=').length >1){ Fgid=responseHTML.split('gname=')[1].split('&')[0].replace('#',''); if(Fgid>0) gnameHash[gid]=Fgid; } } } }); } function multiDimensional(a,b) { a = a[3]; b = b[3]; return a == b ? 0 : (a < b ? -1 : 1) } function getAccordian(){ //var RptListTags = new Array( "Id", "ParentId", "Owner", "Title" , "Description", "CreateDate", "LastAccessDate", "GenerationTimeInSec", "SubTitle", "NRows", "NCols", "ReportType", "ReportLayout", "Dimensions", "Measures", "MeasuresFormat", "ReportPermission", "MinMaxLevels" , "SystemTitle"); var reportList = getReportMetaData(sessionid, 'null'); var folder=new Array(); for(i=0,j=0;i<reportList.length;i++){ if(reportList[i][11] == 'Folder'){ folder[j]=new Array(); folder[j].push(reportList[i][0]); folder[j].push(reportList[i][1]); folder[j].push(reportList[i][2]); folder[j].push(reportList[i][3]); j++; } } if(reportList.length>0) reportList=reportList.sort(multiDimensional); var htmlstr='<dl class="maccordion"><div><b><font color=white>'+getLabel("Personal")+':</font></b></div>'; for(i=0; i<folder.length; i++){ if(folder[i][0] <100000) continue; if(i != 0) htmlstr+='</ul></dd>'; htmlstr+='<dt>'+folder[i][3]+'</dt><dd><ul class="menu">'; for(j=0;j<reportList.length;j++){ if(reportList[j][1] == folder[i][0] && reportList[j][11] != 'Folder' && userId==reportList[j][2]){ htmlstr+='<li><a rel="'+reportList[j][0]+":"+encodeFormat(reportList[j][11])+'"></a>'+reportList[j][3]+'</li>'; } } } htmlstr+='</ul> </dd><div><b><font color=white>'+getLabel("Shared")+':</font></b></div>'; for(i=0; i<folder.length; i++){ if(folder[i][0] >100000) continue; if(i != 0) htmlstr+='</ul></dd>'; htmlstr+='<dt>'+folder[i][3]+'</dt><dd><ul class="menu">'; for(j=0;j<reportList.length;j++){ if(reportList[j][1] == folder[i][0] && reportList[j][11] != 'Folder' && userId!=reportList[j][2]){ htmlstr+='<li><a rel="'+reportList[j][0]+":"+encodeFormat(reportList[j][11])+'"></a>'+reportList[j][3]+'</li>'; } } } htmlstr+='</ul> </dd> </dl>'; return htmlstr; } /*-----------------------------Internationalization------------------------------*/ var labelValue=new Array(); function initLabels(){ if(userLanguage.length <=1) userLanguage='English'; //userLanguage='Japanese'; var URL="/showcase/"+userLanguage+".ui"; var xmlDoc=getRequestedData(URL, null, 0, false); if(xmlDoc){ var uiLinesArray=xmlDoc.split('\n'); for(i=0; i<uiLinesArray.length; i++) labelValue[i]=uiLinesArray[i].split('\t'); } } function getLabel(label){ for(var i=0; i<labelValue.length; i++){ if(labelValue[i].length >= 2){ if(labelValue[i][0].toUpperCase() == label.toUpperCase()){ return labelValue[i][1]; } } } return label; } function formatDate(dateTimeStr){ var dateStr=dateTimeStr.split(' ')[0]; var timeStr=dateTimeStr.split(' ')[1]; var HHMMSS=new Array('00','00','00'); var YYMMDD=""; if(dateStr && dateStr.length>8){ YYMMDD=dateStr.split('-'); } else{ return ""; } if(timeStr && timeStr.length>5){ HHMMSS=timeStr.split(':'); } var d=new Date(YYMMDD[0], YYMMDD[1]-1, YYMMDD[2], HHMMSS[0], HHMMSS[1], HHMMSS[2]); return d.toString().split('GMT')[0]; } /**************** End of internationalization *************/ function myprint(id){ var htmlstr="<head><style>@media print {table { border-spacing: 2px; border-style: none; border-color: black black black black; border-collapse: collapse; background-color: white; } .sorttable td { border-width: thin thin thin thin; padding: 1px 1px 1px 1px; border-style: solid solid solid solid; border-color: black black black black; } }</style></head><body>"; htmlstr+=document.getElementById('c1').innerHTML; htmlstr+=document.getElementById('c2').innerHTML; htmlstr+=document.getElementById('c3').innerHTML; htmlstr+=document.getElementById('c4').innerHTML; htmlstr+="</body>"; var DocumentContainer = document.getElementById(id); var WindowObject=window.open('',"CUBOT","width=740,height=325,top=200,left=250,toolbars=no,scrollbars=yes,status=no,resizable=no"); WindowObject.document.writeln(htmlstr); WindowObject.document.close(); WindowObject.focus(); WindowObject.print(); WindowObject.close(); }