OXIESEC PANEL
- Current Dir:
/
/
home
/
cubot
/
docroot
/
showcase
/
js
/
app
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
12/31/2022 06:53:36 AM
rwxr-xr-x
📁
.svn
-
08/14/2022 11:05:11 AM
rwxr-xr-x
📄
chartPrefs.js
14.32 KB
08/14/2022 11:05:11 AM
rw-r--r--
📄
compute.js
6.11 KB
08/14/2022 11:05:11 AM
rw-r--r--
📄
filterClass.js
4.91 KB
08/14/2022 11:05:11 AM
rw-r--r--
📄
filter_template.js
72.65 KB
08/14/2022 11:05:11 AM
rw-r--r--
📄
ws.app.js
18.87 KB
08/14/2022 11:05:11 AM
rw-r--r--
📄
ws.lib.js
24.63 KB
08/14/2022 11:05:11 AM
rw-r--r--
Editing: filter_template.js
Close
/* Global authToken variable to store users sessionId */ var authToken=""; var reportCollection= new Array(); var metaDataCollection=""; var MAX_REPORT=7, MAX_FILTER=7; $.DFA={ callbackReportData:function (reportDataArray, ReportObj){ ReportObj.setwidth(parseFloat($('div#'+ReportObj.dispObj.RD.General.divId).css("width"))-10); ReportObj.setheight(parseFloat($('div#'+ReportObj.dispObj.RD.General.divId).css("height"))-10); if(ReportObj.getgtype() == 'M'){ plotGeoChart(reportDataArray, ReportObj); } else{ $.DFA.displayReport( reportDataArray, ReportObj); } }, printTitle:function(ReportObj){ var dfiltStr = ReportObj.filterList.getReadableFilterString('D'); var mfiltStr = ReportObj.filterList.getReadableFilterString('M'); //var Title= ReportObj.gettitle() +" : "+ dfiltStr+(dfiltStr.lenght>0 && mfiltStr.lenght>0?" and ":" ")+ mfiltStr; var Title= ReportObj.gettitle() +" : "+ dfiltStr+(dfiltStr.lenght>0 && mfiltStr.lenght>0?" and ":" ")+ mfiltStr; $(".portletTitle", $("div#"+ReportObj.dispObj.RD.General.divId).parent().parent()).attr("title",Title); if(Title.length>65){ Title=Title.substring(0,65)+" ...."; } $(".portletTitle", $("div#"+ReportObj.dispObj.RD.General.divId).parent().parent()).html(Title); }, applyAutoCharting:function(ReportObj, numRows){ if(ReportObj.gtype && ReportObj.gtype.length>0) return; var nDims=ReportObj.getdimensions().length; var nMeas=ReportObj.getmeasures().length; var gtype="T"; if(nDims == 1 && nMeas == 1){ if(numRows<10){ gtype="P"; } else if(numRows<20){ gtype="B"; } else { gtype="N"; } } else if(nDims == 1 && nMeas == 2){ if(numRows<10){ gtype="P"; } else if(numRows<20){ gtype="N"; } else { gtype="C"; } } else if(nDims == 1 && nMeas == 3){ gtype="L"; } else if(nDims == 1 && nMeas < 5){ gtype="S"; } else if(nDims == 2 && nMeas == 1){ gtype="Heat"; } else if(nDims > 2 && nMeas == 1){ gtype="Tree"; } else if(nDims > 2){ gtype="PC"; } ReportObj.setgtype(gtype); }, displayReport:function( reportDataArray, ReportObj){ this.applyAutoCharting(ReportObj, reportDataArray.length); if(ReportObj.getlayout()=="CrossTab" && ReportObj.getmeasures().length==1 && ReportObj.getdimensions().length == 2 && reportDataArray.length>0){ reportDataArray=makeXtab(reportDataArray); ReportObj.setlayout("CrossTab"); } if(typeof reportDataArray == undefined || reportDataArray.length<2){ this.printTitle(ReportObj); $('div#'+ReportObj.dispObj.RD.General.divId).html("No Data Found"); return false; } /* Format report data for time related dimensions like moth,fin month, quarter, fin quartes ... */ formatReportData(reportDataArray, ReportObj.getdimmeta(), ReportObj.getlayout(), ReportObj.gettopn()); /* Revert row column in the report data. Follow logic followed in CUBOT-Arun :) */ if(ReportObj.gtype != "T" && ReportObj.getlayout() == "CrossTab" && ReportObj.getmeasures().length == 1 && ReportObj.getdimensions().length == 2 && reportDataArray.length>0){ reportDataArray=revertRowColumn(reportDataArray, ReportObj.getmeasures()[0]); /* Swaping dimensions */ var tmpArray=new Array(2); tmpArray[0]=ReportObj.getdimensions()[1]; tmpArray[1]=ReportObj.getdimensions()[0]; ReportObj.setdimensions(tmpArray); reportDataArray[0][0]=tmpArray[0]; } /* Add report data into the report object */ ReportObj.setdata(reportDataArray); this.applyComputeOnReportData(ReportObj); this.printTitle(ReportObj); drawCharts(ReportObj, ReportObj.dispObj.RD.General.divId, ReportObj.graphId); //this.drawChartsSVG(ReportObj, ReportObj.dispObj.RD.General.divId); }, /* * Function to create report object from items (Dimensions and measures ) */ createReportFromItems:function(authToken, reportMetaData, metaDataCollection, ReportDisplayOptions, divId){ var ReportObj = new Report(); /* Set display options */ var displayObj=new displayOptions(ReportDisplayOptions); displayObj.RDsetGeneral(); displayObj.RD.General.divId=divId; displayObj.RD.General.authToken=authToken; this.setFilterList(ReportObj, reportMetaData, metaDataCollection); /* function to return report data using report meta data object */ populateReportFromID(authToken, reportMetaData, this.callbackReportData, displayObj, ReportObj); return ReportObj; }, /* *Dimension Filters: [110 (eq) 2012:2011][120 (ne) india:asia] *Measure Filters: [100120 (A-bw) 0:60][100190 (D-bw) 0:10] */ setFilterList:function( ReportObj, reportMetaData, metaDataCollection){ var dimFilter = new Array(), filter="", tmpArray = ""; ReportObj.filterList = new reportFilterList(); dimFilter = dimFilter.concat(reportMetaData.DimensionFilters.split(']['), reportMetaData.MeasureFilters.split('][')); for(var i=0; i<dimFilter.length && dimFilter[i].length>4 ; i++){ filter = new reportFilter(); tmpArray = dimFilter[i].replace("[","").split("("); filter.itemId = tmpArray[0]; filter.itemName = metaDataCollection.getItemById(filter.itemId).Name; filter.itemColumn = metaDataCollection.getItemById(filter.itemId).Column; if(filter.itemId<10000){ filter.operator = tmpArray[1].split(")")[0]; filter.filterType = 'C'; } else{ filter.operator = tmpArray[1].split(")")[0].split("-")[1]; filter.filterType = tmpArray[1].split(")")[0].split("-")[0]; } //filter.values.push(tmpArray[1].split(")")[1].replace("]","").split(":")); filter.values=filter.values.concat(tmpArray[1].split(")")[1].replace("]","").split(":")); ReportObj.filterList.addFilter(filter); } }, getMinMaxRangeFromReports:function(measId, reportCollection){ var minRange=-1, maxRange=-1; for(var i=0; i<reportCollection.length; i++){ for(var j=0; j<reportCollection[i].measureIds.length; j++){ if(reportCollection[i].measureIds[j] == measId){ var measPos=reportCollection[i].dimensions.length+j; for(var k=1; reportCollection[i].data && k<reportCollection[i].data.length; k++){ /* k=1 to Skip heading row */ if(minRange == -1) minRange=reportCollection[i].data[k][measPos]; if(maxRange == -1) maxRange=reportCollection[i].data[k][measPos]; if(Math.round(minRange) > Math.round(reportCollection[i].data[k][measPos])){ minRange=reportCollection[i].data[k][measPos]; } if(Math.round(maxRange) < Math.round(reportCollection[i].data[k][measPos])) maxRange=reportCollection[i].data[k][measPos]; } } } } return([minRange,maxRange]); }, addNewReport :function (){ var i=reportCollection.length; var divId="DFA_div"+ (i+1); $("#DFA_center_column").append(this.returnPortletHtml("DFA_"+ ( i + 1) , [divId])); ReportObj=new Report(); initReportObj(ReportObj); ReportObj.dispObj.RDsetGeneral(); ReportObj.dispObj.RD.General.divId=divId; reportCollection.push(ReportObj); }, returnDashReports:function(dashPage){ //getReport Sequence: TODO var reports=new Array(); var C1=new Array(), C2=new Array(), C3=new Array(), C4=new Array(); for(var i=0; i<dashPage.reports.length && i<MAX_REPORT; i++){ if(dashPage.reports[i].Position == "c1"){ C1.push(dashPage.reports[i]); } else if(dashPage.reports[i].Position == "c2"){ C2.push(dashPage.reports[i]); } else if(dashPage.reports[i].Position == "c3"){ C3.push(dashPage.reports[i]); } else if(dashPage.reports[i].Position == "c4"){ C4.push(dashPage.reports[i]); } } var maxLen=Math.max(C1.length, C2.length, C3.length, C4.length); for(i=0; i<maxLen; i++){ if(C1[i]) reports.push(C1[i]); if(C2[i]) reports.push(C2[i]); if(C3[i]) reports.push(C3[i]); if(C4[i]) reports.push(C4[i]); } return reports; }, /* Function called to lunch the app */ startApp:function(sessionId, dashPage){ authToken=sessionId; reportCollection= new Array(); G_FilterList = new reportFilterList(); var reportMetaDataCollection=createReportList(authToken, userId); metaDataCollection=createItemList(authToken); var dimsArray=new Array(); var measArray=new Array(); var reports=this.returnDashReports(dashPage); for(var i=0; i<reports.length && i<MAX_REPORT; i++){ if(reports[i].ReportId.indexOf('htm')>0) continue; var divId="DFA_div"+(i+1); $("#DFA_center_column").append(this.returnPortletHtml("DFA_"+(i+1) , [divId])); var reportMetaData=reportMetaDataCollection.getReportById( reports[i].ReportId, "Personal"); reportMetaData.ReportType=reports[i].DisplayType; reportCollection.push(this.createReportFromItems(authToken, reportMetaData, metaDataCollection, reports[i].DisplayOptions, divId)); dimsArray=dimsArray.concat(reportMetaData.DimensionIds.split(':')); measArray=measArray.concat(reportMetaData.MeasureIds.split(':')); } dimsArray=sort_unique(dimsArray); measArray=sort_unique(measArray); /* Put dimension filters */ for(var i=0; i<dimsArray.length && i<MAX_FILTER;i++){ var item=metaDataCollection.getItemById(dimsArray[i]); this.addDimFilterUI("DFA_dimension_filter", item); } this.addDimFilterApplyClearButton("DFA_dimension_filter"); this.putMeasureFilterSliders(metaDataCollection, measArray); /* Put measure filter sliders */ }, putMeasureFilterSliders:function(metaDataCollection, measArray){ for(var i=0; i<measArray.length && i<MAX_FILTER; i++){ var item=metaDataCollection.getItemById(measArray[i]); var filterObj=new reportFilter(item.Id, item.Name,"bw", "A", item.Column); var minVal = item.MinimumValue; var maxVal = item.MaximumValue; var range=this.getMinMaxRangeFromReports(measArray[i], reportCollection); if(isNaN(range[0]) || range[0]<0) range[0]=0; if(isNaN(range[1]) || range[1]<0) range[1]=100; var selRange1 = Math.floor(range[0]); var selRange2 = Math.ceil(range[1]); if(selRange1<minVal) minVal=selRange1; if(selRange2>maxVal) maxVal=selRange2; this.putSlider($.DFA.applyGlobalFilters, filterObj, "DFA_measure_filter", 0, maxVal, selRange1, selRange2, ""); } }, returnPortletHtml:function(portletId, graphIdArray){ var htmlStr='<div id='+ portletId +' class="DFA_portlet"> <div class="portletHeader"> <div class="portletTitle">Report</div> <div class="portletActions"> <div class="dropdown"> <a class="account" ></a> <div class="submenu"> <ul class="root"> <li><a item=filter>Filter</a></li> <li><a item=compute>Compute</a></li><li><a item="Add Item">Add Item</a></li><li><a item=chartType>Chart Type >></a><div class=chartTypesDiv><a item=Text>Text</a> <a item=Pie>Pie</a> <a item=Line>Line</a> <a item=Bar>Bar</a> <a item="Stack Bar">Stack Bar</a> <a item=Combo>Bar+Line</a> <a item=Column>Column</a> <a item=Bullet>Bullet</a> <a item=Gauge>Gauge</a> <a item=PC>KPI</a> <a item=Tree>Tree</a> <a item=Map>Map</a> <a item=Radar>Radar</a><a item=Heat>Heat Chart</a><a item=Stock>Stock Chart</a><a item=SVG>Custom</a></div></li><li><a item=Misc>Misc</a></li><li><a item=Save>Save</a></li><li><a item=Refresh>Refresh</a></li><li><a item=Clear>Clear</a></li><li><a item=Close>Close</a></li></ul> </div> </div> </div> </div> <div class="portletContent">'; for(var i=0; i<graphIdArray.length; i++) htmlStr+='<div id="'+ graphIdArray[i] +'"><span class=click onclick="$.DFA.showItemPage('+ ( portletId.replace("DFA_","") - 1)+');" >Click To Add items</span></div>'; htmlStr+='</div><div class="portletFooter"></div></div>'; return htmlStr; }, addDimFilterUI:function(parentContainerId, item){ if(item != null){ if(item.Column == "date"){ var htmlStr='<h5 class="ui-state-default"><span class=itemName>'+ item.Name +'</span><input type=text class=searchDimVal><span class=searchFilter></span></h5>'; htmlStr+='<ul class="dimfilter" itemId="'+ item.Id +'" itemName="'+ item.Name+'" itemColumn="'+item.Column+'">'; htmlStr+='<li class=off>'; htmlStr+='<input type="text" class="dimfilteritem" id="date_from" itemId="'+ item.Id +'" dimname="'+ item.Name+'" dimval="">'; htmlStr+=' To:<input type="text" class="dimfilteritem" id="date_to" itemId="'+ item.Id +'" dimname="'+ item.Name+'" dimval=""><a class=GO onclick="$.DFA.applyDateFilter(\'#date_from\', \'#date_to\')"> Go</a>'; htmlStr+='</li></ul>'; $("#"+parentContainerId).append(htmlStr); $( "#date_from" ).datepicker({ changeMonth: true, changeYear: true , dateFormat:'yy-mm-dd'}); $( "#date_to" ).datepicker({ changeMonth: true, changeYear: true , dateFormat:'yy-mm-dd'}); return; } var filterValues=getFilterValues(authToken, item.Id, "", ""); if(filterValues.length>0){ var htmlStr='<h5 class="ui-state-default"><span class=itemName>'+ item.Name +'</span><input type=text class=searchDimVal><span class=searchFilter></span></h5>'; if(1){ htmlStr+='<ul class="dimfilter" itemId="'+ item.Id +'" itemName="'+ item.Name+'" itemColumn="'+item.Column+'">'; if(filterValues.length == 1 && filterValues[0] == "NO-DATA-FOUND"){ htmlStr+='<li class=off>No Data Found</li>'; } else{ for(var i=0; i<filterValues.length; i++){ var value=filterValues[i]; if(isTimeColumn(item.Column)){ value=parseInt(value); value=decodeTime(item.Column, filterValues[i]); } htmlStr+='<li class=off><input type="checkbox" class="dimfilteritem" id="'+item.Id+'_'+filterValues[i]+'" itemId="'+ item.Id +'" dimname="'+ item.Name+'" dimval="'+ filterValues[i] +'">'; htmlStr+='<label for="'+item.Id+'_'+filterValues[i]+'">'+value+'</label></li>'; } } } else if(0){ htmlStr+='<select multiple size=10 class="dimfilter">'; for(var i=0; i<filterValues.length; i++){ var value=filterValues[i]; if(isTimeColumn(item.Column)){ value=parseInt(value); value=decodeTime(item.Column, filterValues[i]); } htmlStr+='<option class="dimfilteritem" itemId="'+ item.Id +'" dimname="'+ item.Name+'" dimval="'+ filterValues[i] +'">'; htmlStr+=value+'</option>'; } htmlStr+=value+'</select>'; } else{ htmlStr+='<select itemId="'+ item.Id +'" dimname="'+ item.Name+'" class="dimfilter">'; for(var i=0; i<filterValues.length; i++){ var value=filterValues[i]; if(isTimeColumn(item.Column)){ value=parseInt(value); value=decodeTime(item.Column, filterValues[i]); } htmlStr+='<option class="dimfilteritem" itemId="'+ item.Id +'" dimname="'+ item.Name+'" dimval="'+ filterValues[i] +'">'; htmlStr+=value+'</option>'; } htmlStr+=value+'</select>'; } } $("#"+parentContainerId).append(htmlStr); } }, addDimFilterApplyClearButton:function(parentContainerId, item){ $("#"+parentContainerId).append("<ul class=ApplyClearDiv><li><button class=DFApply>Apply</button><button class=DFClear>Clear</button></li></ul>"); }, refreshMeasureFilters:function(){ var metaDataCollection=createItemList(authToken); var labels=$("#DFA_measure_filter .range_label" ); var measArray=new Array(); for(var i=0; i<labels.length; i++){ measArray.push($(labels[i]).attr('for')); } $("#DFA_measure_filter").children("label,span,div").remove(); this.putMeasureFilterSliders(metaDataCollection, measArray); }, refreshDimensionMeasureFilterList:function(){ $("#DFA_dimension_filter").children("ul,h5").remove(); var metaDataCollection=createItemList(authToken); var allTds=$("#dimensionTableId tr td:nth-child(2)"); for(var i=0; i<allTds.length && i<MAX_FILTER; i++){ var item=metaDataCollection.getItemById($(allTds[i]).attr("itemId")); this.addDimFilterUI("DFA_dimension_filter", item); } this.addDimFilterApplyClearButton("DFA_dimension_filter"); $("#DFA_measure_filter").children("label,span,div").remove(); allTds=$("#measureTableId tr td:nth-child(2)"); var measArray=new Array(); for(i=0; i<allTds.length; i++){ measArray.push($(allTds[i]).attr("itemId")); } this.putMeasureFilterSliders(metaDataCollection, measArray); /*for(i=0; i<allTds.length && i<MAX_FILTER; i++){ var item=metaDataCollection.getItemById($(allTds[i]).attr("itemId")); var filterObj=new reportFilter(item.Id, item.Name,"bw", "A", item.Column); var minVal = item.MinimumValue; var maxVal = item.MaximumValue; var range=this.getMinMaxRangeFromReports($(allTds[i]).attr("itemId"), reportCollection); if(isNaN(range[0])) range[0]=0; if(isNaN(range[1])) range[1]=100; var selRange1 = Math.floor(range[0]); var selRange2 = Math.ceil(range[1]); if(selRange1<minVal) minVal=selRange1; if(selRange2>maxVal) maxVal=selRange2; this.putSlider($.DFA.applyGlobalFilters, filterObj, "DFA_measure_filter", 0, maxVal, selRange1, selRange2, ""); }*/ }, editDimMeasFilterUI:function(){ var itemList=printItemList(authToken, "$.DFA.addItem"); var Height=getMheight(); var Width=getMwidth(); $( "#DFA_tmpDialog" ).dialog({ title: "Edit Dimension And Measure Filter Shown In List:", height: (Height-(Height*.3)), width: (Width-(Width*.4)), modal: true, autoResize: true, autoOpen: false, position:['center',100], buttons: [ { text: "Apply", click: function() {$.DFA.refreshDimensionMeasureFilterList(); } }] }); var htmlStr="<div class='itemListDiv ui-widget-content'><h4 class='ui-widget-header'>Item List:</h5>"+itemList+"</div><div class='dimMeasFiltDiv ui-widget-content'><h4 class='ui-widget-header'>Dimension Filter:</h4><table cellpadding=0 cellspacing=0 id=dimensionTableId>"; var dimFilters=$("#DFA_dimension_filter ul.dimfilter"); for(var i=0; i<dimFilters.length; i++) htmlStr+=$.DFA.getItemHtmlRows($(dimFilters[i]).attr("itemid"), $(dimFilters[i]).attr("itemname")); htmlStr+="</table>"; htmlStr+="<h4 class='ui-widget-header'>Measure Filter:</h4><table cellpadding=0 cellspacing=0 border=0 id=measureTableId>"; var measFilter=$("#DFA_measure_filter label.range_label"); for(var i=0; i<measFilter.length; i++) htmlStr+=$.DFA.getItemHtmlRows($(measFilter[i]).attr("for"), $(measFilter[i]).text()); htmlStr+="</table></div>"; $("#DFA_tmpDialog").html(htmlStr).dialog("open"); applyDnD('#dimensionTableId', '#dashMsg'); applyDnD('#measureTableId', '#dashMsg'); }, stopApp:function(authToken){ /* Log out from App.*/ logoutCubot(authToken); /* Log out from App. authToken will not be valid , so delete cookie */ setCookie("RXSESSION","-1", null); }, drawChartsSVG:function(ReportObj, divId){ if(ReportObj.getgtype()=='T'){ drawTableChart(ReportObj.data, divId, "", ReportObj.getwidth(), ReportObj.getheight(),ReportObj.getdimensions().length, ReportObj.getmeasures().length, ReportObj.getformats());//, Title, Width, Height, Ndim, Nmeas, MeasFormats,dispObj,toolTip); return; } //ReportObj.data.splice(0,1); var data=ReportObj.data.slice(1,200); var ndim=ReportObj.getdimensions().length; for(i=ndim; i<data[0].length; i++){ for(var j=0; j<data.length; j++) data[j][i] = +(data[j][i]); } $('div#'+divId).html(""); //var height = $('div#'+divId).height(), width = $('div#'+divId).width(), top = $('div#'+divId).position().top, left = $('div#'+divId).position().left; var height = ReportObj.getheight(), width = ReportObj.getwidth(), top = $('div#'+divId).position().top, left = $('div#'+divId).position().left; var svglayout={ width: width, height: height, top: 10, right:0 , bottom: 0, left: 40 }; //var gphlayout={ width: width-110, height: height-50, top: 10, right:0 , bottom: 0, left: 55 }; var gphlayout={ width: width-150, height: height-50, top: 10, right:0 , bottom: 0, left: 55 }; //var legendlayout = {w: 120, h:120, top: 0, right: 0, bottom: 0, left: 0}; //var legendSpec = {layout: legendlayout, containerid: ".svgLegend", data: ReportObj.data}; var svgSpec = { layout: svglayout, containerid: "#" + divId, data: data } ; var P = new page(svgSpec); P.data = data; var xcol='d[0]'; var xAxisType="ordinal"; if(ReportObj.getdimmeta()[0] == "date"){ xcol='d3.time.format("%Y/%m/%d").parse(d[0])'; xAxisType="date"; } var rotate =0, numChar = -1; if(data.length>20){ rotate = -25; numChar = 3; } /* Plot X-axis */ if(ReportObj.getmeasures().length > 0){ var xaxis1 = {name:"xaxis1",layout:gphlayout,title:ReportObj.getdimensions()[0], AxisOrient:"bottom", axistype:xAxisType, col:"d[0]", aclass:"xaxis0", rotate: rotate, numChar: numChar, showTicks:ReportObj.dispObj.getShowTicks(), showTickLabels:ReportObj.dispObj.getShowTickLabels(), showMark:ReportObj.dispObj.getMark()}; plot_axis(P,xaxis1); } /* Plot Y-axis */ if(ReportObj.getmeasures().length > 0){ var yaxis1= {name:"yaxis1", layout:gphlayout, title:ReportObj.getmeasures()[0], AxisOrient:"left", axistype:"numeric", col:"d[1]", aclass:"axis1", axisFormat:'s', numTicks:4}; plot_axis(P, yaxis1); } /* Plot Y2-axis */ if(ReportObj.getmeasures().length > 9) plot_axis(P, {name:"yaxis2", layout:gphlayout, title:ReportObj.getmeasures()[1],AxisOrient:"right", axistype:"numeric", col:"d[2]", aclass:"axis2", axisFormat:'s'}); var graphType=decodeFormat(ReportObj.getgtype()); var lpos = "top"; var chartWidth=20; if(ReportObj.getmeasures().length > 0){ plot_chart(P,{layout: gphlayout, title: ReportObj.getmeasures()[0], xcol: xcol, ycol: "d[1]", xscale: xaxis1, yscale: yaxis1, gclass: graphType+"1", data: data, type:graphType, cw:chartWidth, callback:"applyFilter", chartno:ReportObj.dispObj.RD.General.portlet, divId: divId, legendpos: lpos}); toolTip(P.charts[0]); } if(ReportObj.getmeasures().length > 1){ if(graphType =="bar") gphlayout.left+=chartWidth+4; plot_chart(P,{layout: gphlayout, title: ReportObj.getmeasures()[1], xcol: xcol, ycol: "d[2]", xscale: xaxis1, yscale: yaxis1, gclass: graphType+"2", data: data, type:graphType, cw:chartWidth, callback:"applyFilter", chartno:ReportObj.dispObj.RD.General.portlet, divId: divId, legendpos: lpos}); toolTip(P.charts[1]); } if(ReportObj.getmeasures().length > 2){ if(graphType =="bar") gphlayout.left+=chartWidth+4; plot_chart(P,{layout: gphlayout, title: ReportObj.getmeasures()[2], xcol: xcol, ycol: "d[3]", xscale: xaxis1, yscale: yaxis1, gclass: graphType+"3", data: data, type:graphType, cw:chartWidth, callback:"applyFilter", chartno:ReportObj.dispObj.RD.General.portlet, divId: divId, legendpos: lpos}); toolTip(P.charts[2]); } var cCols = ReportObj.compute.columnList; var nmeas = ReportObj.getmeasures().length; var cStartIndex = ndim + nmeas; for(var i=0; i<cCols.length; i++){ if(graphType =="bar") gphlayout.left+=chartWidth+4; plot_chart(P,{layout: gphlayout, title: cCols[i].colName, xcol: xcol, ycol: "d[" + (cStartIndex+i) + "]", xscale: xaxis1, yscale: yaxis1, gclass: graphType+(cStartIndex+i), data: data, type:graphType, cw:chartWidth, callback:"applyFilter", chartno:ReportObj.dispObj.RD.General.portlet, divId: divId, legendpos: lpos}); toolTip(P.charts[nmeas+i]); } }, applyFilter:function(er){ var colindex=er.colindex.split('[')[1].split(']')[0]; var ReportObj=reportCollection[er.chartno]; var value=reportCollection[er.chartno].data[er.rowindex][0]; value= encodeTime(ReportObj.getdimmeta()[0], value); var filter= new reportFilter(); filter.itemId =ReportObj.getdimensionIds()[0] ; filter.itemName=ReportObj.getdimensions()[0]; filter.operator = "eq"; filter.filterType = ''; filter.values.push(value); filter.itemColumn=ReportObj.getdimmeta()[0]; for(var i=0; i<reportCollection.length; i++){ if(er.chartno>=i) continue; var selReportObj = reportCollection[i]; if(er.operation == "Add") selReportObj.filterList.addFilter(filter); else selReportObj.filterList.deleteFilter(filter); selReportObj.setdimensionFilters(selReportObj.filterList.getFilterString("D")); createReport(authToken, false, this.callbackReportData, selReportObj); } }, putSlider:function(callback, filterObj, parentDiv, minVal, maxVal, range1, range2, prefix) { var htmlStr='<label class="range_label" for="'+ filterObj.itemId +'">'+ filterObj.itemName +':</label>'; htmlStr+='<span id="'+ filterObj.itemId +'"></span>'; htmlStr+='<div class=slider id="slider-range-'+filterObj.itemId+'"></div>'; $("div#"+parentDiv).append(htmlStr); $( "div#slider-range-"+filterObj.itemId).slider({ range: true, min: minVal, max: maxVal, values: [ range1, range2 ], slide: function( event, ui ) { $( "span#"+filterObj.itemId ).html(prefix + ui.values[0] + " - " + prefix +""+ ui.values[1]); }, start: function(event, ui ) { }, stop: function(event, ui){ callback(filterObj, ui.values[0], ui.values[1], "R"); } }); $( "span#"+filterObj.itemId ).html( prefix + range1 + " - " + prefix + range2); }, applyGlobalFilters:function(filterObj, range1, range2, operation){ var filter= new reportFilter(); filter.itemId =filterObj.itemId ; filter.itemName=filterObj.itemName; filter.operator = filterObj.operator; filter.filterType = filterObj.filterType; filter.itemColumn = filterObj.itemColumn; filter.values.push(range1); if(typeof range2 != "undefined" && ((typeof range2 == 'string' && range2.length>0) || (typeof range2 == 'number' && !isNaN(range2)))) filter.values.push(range2); if(typeof operation == "undefined" || operation.length<1) var operation="R"; if(operation == "R"){ G_FilterList.clearFilter(filter); } if(operation == "D"){ G_FilterList.deleteFilter(filter); } if(operation == "R" || operation == "A"){ G_FilterList.addFilter(filter); } for(var i=0; i<reportCollection.length; i++){ /* Don't apply measure filter if the measure is not included in the report */ if(filter.itemId>10000 && reportCollection[i].measureIds.indexOf(filter.itemId)<0) continue; if(operation == "R"){ reportCollection[i].filterList.clearFilter(filter); } if(operation == "D"){ reportCollection[i].filterList.deleteFilter(filter); } if(operation == "R" || operation == "A"){ reportCollection[i].filterList.addFilter($.DFA.copy(filter)); } reportCollection[i].setdimensionFilters(reportCollection[i].filterList.getFilterString("D")); reportCollection[i].setmeasureFilters(reportCollection[i].filterList.getFilterString("M")); if(filter.itemId>10000) /* Allow graph refresh for measure filter. Apply button for dimension filter */ createReport(authToken, true, $.DFA.callbackReportData, reportCollection[i]); } $("#DFA_page_header").html("<h2>Resource Utilization : "+G_FilterList.getReadableFilterString('D')+ G_FilterList.getReadableFilterString('M')+"</h2>"); }, applySelectedFilters:function(){ /* Refresh reports after click on apply button. */ for(var i=0; i<reportCollection.length; i++){ createReport(authToken, true, $.DFA.callbackReportData, reportCollection[i]); } }, copy:function(oldObject){ return jQuery.extend(true, {}, oldObject); }, getFilterUi:function(itemId, itemName,itemColumn, operator, portlet, filterValues){ var htmlstr='<div class="ui-widget-content ui-state-default filterMain " itemId="'+itemId+'" itemColumn="'+itemColumn+'"><div class="filterHeading ui-widget-header"><span class=colName>Filter Name:</span>'+itemName; htmlstr+='<div class="operNclose"> <span class="colName left">Operator:</span>'+getFilterOperatorCombo(itemId, operator); htmlstr+='<span class="minMaxFilter ui-icon ui-icon-minus" ></span><span class="deleteFilter ui-icon ui-icon-close" itemId="'+itemId+'" ></span></div></div>'; htmlstr+='<div class=filterSelectedHeading><span class=colName><u>Selected Values</u>:</span></div><div class=filterSelected><ul class="filterClass" itemId="'+itemId+'" oper="'+operator+'" portlet="'+portlet+'">'; for(var j=0; j<filterValues.length; j++){ htmlstr+='<li class="filterContent" dimval="'+filterValues[j]+'">'; if(itemColumn=='date') htmlstr+='<input type="text" class="filterDateValues" value="'+filterValues[j]+'">'; else if(itemId<10000) htmlstr+='<span class="selFilterVal">'+filterValues[j]+'</span>'; else htmlstr+='<input type="text" class="filterMeasValues" value="'+filterValues[j]+'">'; htmlstr+='<span class="filterClose ui-icon ui-icon-close" ></span></li>'; } if(itemColumn=='date' && filterValues.length==0) htmlstr+='<li class="filterContent" dimval=""><input type="text" class="filterDateValues"><span class="filterClose ui-icon ui-icon-close"></sapn></li>'; else if(itemId>10000 && filterValues.length==0) htmlstr+='<li class="filterContent" dimval=""><input type="text" class="filterMeasValues"><span class="filterClose ui-icon ui-icon-close"></sapn></li>'; htmlstr+='</ul></div>'; if(itemId<10000 && itemColumn!='date'){ htmlstr+='<div class=filterUnselectedHeading><span class="colName left"><u>All Values</u>:</span><span><input type=text class=searchFilterVal></span><span class="getFilterVal ui-icon ui-icon-refresh" range="0-50" > </span><span class="prevFilterVal ui-icon ui-icon-seek-prev"> </span><span class="nextFilterVal ui-icon ui-icon-seek-next"> </span><span class="showFilterVal ui-icon ui-icon-plus"> </span><span class="hideFilterVal ui-icon ui-icon-minus"> </span></div><div class=filterUnselected> </div>'; } htmlstr+='</div>'; return htmlstr; }, getItemHtmlRows:function(itemId, itemName, itemColumn){ if(!itemColumn) itemColumn=""; return "<tr class=ui-state-default><td class=drag></td><td class=itemNameTd itemID="+itemId+" itemColumn='"+itemColumn+"'>"+itemName+"</td><td class=remove></td></tr>"; }, addItem:function(itemId, itemName, itemColumn){ var alreadyPresent=0; if(!itemColumn) itemColumn=""; if(itemId<10000){ var allTds=$("#dimensionTableId tr td:nth-child(2)"); for(var i=0; i<allTds.length; i++){ if($(allTds[i]).attr("itemId") == itemId) alreadyPresent=1; } if(alreadyPresent == 0){ if($("#dimensionTableId tr:last") && $("#dimensionTableId tr:last").length>0) $("#dimensionTableId tr:last").after($.DFA.getItemHtmlRows(itemId, itemName, itemColumn)); else $("#dimensionTableId").append($.DFA.getItemHtmlRows(itemId, itemName, itemColumn)); updateDnD('#dimensionTableId', '#dashMsg'); } } else{ var allTds=$("#measureTableId tr td:nth-child(2)"); for(var i=0; i<allTds.length; i++){ if($(allTds[i]).attr("itemId") == itemId) alreadyPresent=1; } if(alreadyPresent == 0){ if($("#measureTableId tr:last") && $("#measureTableId tr:last").length>0) $("#measureTableId tr:last").after($.DFA.getItemHtmlRows(itemId, itemName,itemColumn)); else $("#measureTableId").append($.DFA.getItemHtmlRows(itemId, itemName,itemColumn)); updateDnD("#measureTableId", "#dashMsg"); } } if(alreadyPresent == 1){ alert("Item already added."); } }, showItemPage:function(portletNo){ var itemList=printItemList(authToken, "$.DFA.addItem"); var Height=getMheight(); var Width=getMwidth(); $( "#DFA_tmpDialog" ).dialog({ title: "Dimension And Measure Selection Page :", height: (Height-(Height*.3)), width: (Width-(Width*.2)), modal: true, autoResize: true, autoOpen: false, position:['center',100], buttons: [ { text: "Apply", click: function() {$.DFA.refreshPortlet_NewItems(portletNo); }}, { text: "Save", click: function() {$.DFA.showReportSaveForm(portletNo);}} ] }); var htmlStr="<div class='itemListDiv ui-widget-content'><h4 class='ui-widget-header'>Item List:</h5>"+itemList+"</div><div class='dimensionDiv ui-widget-content'><h4 class='ui-widget-header'>Selected Dimensions:</h5><table cellpadding=0 cellspacing=0 id=dimensionTableId>"; for(var i=0; i<reportCollection[portletNo].dimensions.length; i++) htmlStr+=$.DFA.getItemHtmlRows(reportCollection[portletNo].dimensionIds[i], reportCollection[portletNo].dimensions[i], reportCollection[portletNo].dimmeta[i]); htmlStr+="</table></div>"; htmlStr+="<div class='measureDiv ui-widget-content'><h4 class='ui-widget-header'>Selected Measures:</h5><table cellpadding=0 cellspacing=0 border=0 id=measureTableId>"; for(var i=0; i<reportCollection[portletNo].measures.length; i++) htmlStr+=$.DFA.getItemHtmlRows(reportCollection[portletNo].measureIds[i],reportCollection[portletNo].measures[i]); htmlStr+="</table></div>"; $("#DFA_tmpDialog").html(htmlStr).dialog("open"); applyDnD('#dimensionTableId', '#dashMsg'); applyDnD('#measureTableId', '#dashMsg'); }, showFilterPage:function(portlet){ var Height=getMheight(); var Width=getMwidth(); var Title="Settings Page For:"+reportCollection[portlet].gettitle(); $( "#DFA_right_column" ).dialog({ height: (Height-(Height*.2)), width: (Width-(Width*.2)), modal: true, resizable: true, autoResize: false, autoOpen: false, position:['center',50], buttons: [ { text: "Apply", click: function() {$.DFA.refreshPortlet(portlet); } } ] }); $("span.ui-dialog-title").html(Title); var htmlstr='<div ><span class="newFilterUi" portlet="'+portlet+'">New Filter</span></div>'; var filters=reportCollection[portlet].filterList; var metaDataCollection=createItemList(authToken); var itemColumn=""; if(filters){ var filterList=filters.filterList; for(var i=0; i<filterList.length; i++){ itemColumn=metaDataCollection.getItemById(filterList[i].itemId).Column; htmlstr+=this.getFilterUi( filterList[i].itemId, filterList[i].itemName, itemColumn, filterList[i].operator, portlet, filterList[i].values); } } $("#DFA_right_column").html(htmlstr).dialog("open"); $(".filterDateValues").datepicker({ changeMonth: true, changeYear: true , dateFormat:'yy/mm/dd'}); $("#DFA_right_column").css("width","100%"); }, setForecast:function(portlet, isSet){ if(isSet){ reportCollection[portlet].setPropsValue("forecast", reportCollection[portlet].measureIds[0]); } else{ reportCollection[portlet].setPropsValue("forecast", 0); } }, showMiscPage:function(portlet){ var Title="Settings Page For:"+reportCollection[portlet].gettitle(); $( "#DFA_right_column" ).dialog({ height: 300, width: 300, title:Title, modal: true, resizable: true, autoResize: false, autoOpen: false, position:['center',50], buttons: [ { text: "Apply", click: function() {$.DFA.ApplyTopX(portlet); } } ] }); htmlstr =' <table class=GStable width="290px"><tr><td colspan=2><b>'+getLabel("Top X")+':</b></td></tr><tr><td nowrap colspan=2><input type="radio" name="topx" value="S" onclick="showHideTR()"/>'+getLabel("Single")+'<input type="radio" name="topx" value="D" onclick="showHideTR()"/>'+getLabel("Dual")+'<input type="radio" name="topx" value="N" checked="checked" onclick="showHideTR()"/>'+getLabel("None")+'</td></tr><tr class=SD><td colspan=2><input type="radio" name="num" value="5" checked= "checked"/>5<input type="radio" name="num" value="10" />10<input type="radio" name="num" value="15" />15<input type="radio" name="num" value="cust" / >'+getLabel("Custom")+'<input type="text" name="custom" id="custom" style="width:50px"/></td></tr><tr class=M><td>'+getLabel("1st top N Values")+' :</td><td><input type="text" name="nexttopn" id=topTxt1 /></td></tr><tr class=M><td>'+getLabel("Next top N Values")+' :</td><td><input type="text" name="nexttopn" id=topTxt2 value="" /></td></tr><tr class=M><td>'+getLabel("Next top N Values")+':</td><td><input type="text" name="nexttopn" id=topTxt3 /></td></tr><tr class=M><td>'+getLabel("Next top N Values")+' :</td><td><input type="text" name="nexttopn" id=topTxt4 /></td> </tr><tr><td colspan=2><font color=green> Note: Default is 30</font></td></tr></table>'; htmlstr+='<table class="GStable" width="290px"><tbody><tr><td><b>Graph Layout:</b></td><td><select name="gLayout"><option>Normal</option><option>CrossTab</option></select></td></tr></tbody></table>'; htmlstr+='<table class="GStable" width="290px"><tbody><tr><td><b>Forecast:</b></td><td> <input type="radio" name="fc" value=Y onclick="$.DFA.setForecast('+portlet+',true);">On <input type="radio" name="fc" value=N onclick="$.DFA.setForecast('+portlet+',false);">Off </td></tr></tbody></table>'; $("#DFA_right_column").html(htmlstr).dialog("open"); //$("#DFA_right_column").css("width","100%"); var topxType=reportCollection[portlet].dispObj.getTopxType(); var val=reportCollection[portlet].dispObj.getTopxValues(); $("[name='topx']").filter("[value="+topxType+"]").attr("checked",true); showHideTR(); if(topxType == 'S' || topxType == 'D'){ if(val == 5 || val == 10 || val == 15){ $("[name='num']").filter("[value="+val+"]").attr("checked",true); } else{ $("[name='num']").filter("[value=cust]").attr("checked",true); $("input#custom").attr("value", val); } } var layout=reportCollection[portlet].getlayout(); if(!layout || layout.length<5) layout="Normal"; $("[name='gLayout']").attr("value",layout); var forecast=reportCollection[portlet].getPropsValue("forecast"); if(forecast>10000) $("[name='fc']").filter("[value=Y]").attr("checked",true); else $("[name='fc']").filter("[value=N]").attr("checked",true); }, ApplyTopX:function(portlet){ var topx = $("input[name='topx']:checked").val() ; var value = $("input[name='num']:checked").val() ; if(value == 'cust') value= $("#custom").val(); if(topx == "N") reportCollection[portlet].dispObj.RDreset('TopX'); else reportCollection[portlet].dispObj.RDsetTopx(topx, value); var layout = $("[name='gLayout']").val(); reportCollection[portlet].setlayout(layout); this.refreshPortlet(portlet); $("#DFA_right_column").dialog("close", "slow"); }, showComputePage:function(portlet){ var Height=getMheight(); var Width=getMwidth(); var Title="Compute Page For :"+reportCollection[portlet].gettitle(); $( "#DFA_right_column" ).dialog({ height: (Height-(Height*.2)) , width: (Width-(Width*.2)), modal: true, resizable: true, autoResize: true, autoOpen: false, position:['center',50], buttons: [ { text: "Apply", click: function() {$.DFA.refreshPortletCompute(portlet); } } ] }); $("span.ui-dialog-title").html(Title); var reportObj=reportCollection[portlet]; var ReportData=reportObj.getdata(); var TableId="Arun"; var dimensions=reportObj.getdimensions(); var ndims=dimensions.length; var measures=reportObj.getmeasures(); var nmeas=measures.length; var measFormats=reportObj.getformats(); var htmlstr='<div class="AddComputeColumn ui-state-default" title="Click to show | hide">Add Compute Column</div>'; htmlstr+='<div class=newComputeColumnUI portlet="'+ portlet +'">\ <table cellpadding="2" cellspacing="2" border="0" class="display ui-widget-content">\ <tr> <td>Column Name:</td><td><input type="text" class="cNameTextBox">Column:<input type="text" maxlength=3 class="cColumnTextBox" title="Enter column like C3 or C4"></td> </tr>\ <tr> <td>Formula: </td><td><input type="text" class="cFormulaTextBox"></td> </tr>\ <!--tr> <td> </td><td><input type="text" class="cFormula2TextBox"></td> </tr-->\ <tr> <td> </td><td><span class="cFormula3Span"></span></tr>\ <tr> <td>Sequence: </td><td><input type="text" maxlength=2 class="cSeqTextBox" disabled=disabled></td> </tr>\ <tr> <td>Format: </td><td>\ <input type="radio" name="curr" value="u" checked=checked>Million\ <input type="radio" name="curr" value="i" >Lakhs\ <input type="radio" name="curr" value="e">European\ <input type="radio" name="curr" value="t" >Time\ <input type="radio" name="curr" value="s">Storage</td></tr>\ <tr><td></td><td>\ Precision:<input class="cPrec textBox2Char" maxlength=2 type="Textbox" name="prec" value="0" title="Enter number of digits after decimal">\ Zero Character:<input class="cZero textBox1Char" maxlength=1 type="Textbox" name="zero" value="" title="Enter char to replace zeros">\ Prefix:<input class="cPrefix textBox1Char" maxlength=1 type="Textbox" name="pre" value="" title="Prefix Character for Values">\ Suffix:<input class="cSuffix textBox1Char" maxlength=1 type="Textbox" name="suf" value="" title="Suffix Character for Values">\ </td></tr>\ <tr> <td></td><td align=right>\ <button type="button" class="cPreview ui-button ui-state-default ui-corner-all ui-button-text-only"><span class="ui-button-text">Preview</span></button>\ <button type="button" class="cDel ui-button ui-state-default ui-corner-all ui-button-text-only"><span class="ui-button-text">Delete</span></button>\ </td> </tr></table>\ </div>'; htmlstr+='<table cellpadding="0" cellspacing="0" border="1" class="display computeTbl ui-widget-content" id="'+TableId+'">'; htmlstr+='<tr><td class=ui-state-default> </td>'; for(var i=0,j=1; i<ReportData[0].length; i++) htmlstr+='<td align=center class="ui-state-default">C'+(j++)+'</td>'; htmlstr+='</tr>'; htmlstr+='<tr><td align="center" class=ui-state-default>1</td>'; for(var i=0,j=1; i<ReportData[0].length; i++) htmlstr+='<td align=center class=heading>'+ReportData[0][i]+'</td>'; htmlstr+='</tr>'; var formats=new Array(), k=0, val="", lf="left"; for(i=0; i<measFormats; i++) formats[i]=getFormat(measFormats[i]); //formatstr(ReportData, measFormats, ndims, nmeas); for(i=1; i<ReportData.length && i<9; i++){ htmlstr+='<tr><td align="center" class=ui-state-default>'+(i+2)+'</td>'; for(j=0; j<ReportData[i].length; j++){ if(j<ndims || formats[k]== undefined){ htmlstr+='<td align="left">'+ReportData[i][j]+'</td>'; k=0; } else{ htmlstr+='<td align="right">'+formatMoney(ReportData[i][j], formats[k].prefix, formats[k].suffix, formats[k].prec,formats[k].dec,formats[k].Gsym)+'</td>'; k++; } //htmlstr+='<td align='+(j<ndims?"\'left\'":"\'right\'")+'>'+ReportData[i][j]+'</td>'; } htmlstr+='</tr>'; } htmlstr+='</table>'; //htmlstr+='<button type="button" class="cApply ui-button ui-state-default ui-corner-all ui-button-text-only"><span class="ui-button-text" style="font-size:1.2em">Apply</span></button>'; $("#DFA_right_column").html(htmlstr).dialog("open"); $("#DFA_right_column").css("width","100%"); $(".cColumnTextBox").focus(); }, preSaveReport:function(portletNo){ var ReportObj=reportCollection[portletNo]; var saveas=$("input[name='saveas']:checked").val(); var parentId=$("select[name='parentFolder'] option:selected").val(); var title=$("input[name='title']").val(); var description=$("textarea[name='description']").val(); var note=$("textarea[name='note']").val(); var expiredt=$("input[name='expiredt']").val(); var refresh=$("select[name='refresh'] option:selected").val(); var dashfoldersel=$("input[name='dashfoldersel']:checked").val(); if(saveas =="saveas") ReportObj.setgraphId(""); if(title.length<1){ title="New Report"; $("input[name='title']").val(title); } ReportObj.setparentId(parentId); ReportObj.settitle(title); ReportObj.setdescription(description); ReportObj.setnote(note); ReportObj.expire=expiredt; ReportObj.setrefresh(refresh); ReportObj.isdasboard=dashfoldersel; $("input:checked[name=uView]").map(function() { ReportObj.setPermission($(this).val(), "N", 1); }); $("input:checked[name=uEdit]").map(function() { ReportObj.setPermission($(this).val(), "N", 3); }); $("input:checked[name=gView]").map(function() { ReportObj.setPermission($(this).val(), "Y", 1); }); $("input:checked[name=gEdit]").map(function() { ReportObj.setPermission($(this).val(), "Y", 3); }); ReportObj.setPropsValue("gtype",ReportObj.getgtype()); ReportObj.setPropsValue("compute","0"); var retVal=saveReport(authToken, ReportObj); if(retVal == "SUCCESS"){ Message('MsgSaveRpt','<font color=blue>'+getLabel("Report saved")+'.</font>'); reportMetaDataCache=""; $("#DFA_tmpDialog").dialog("close", "slow"); $("#DFA_right_column").dialog("close", "slow"); } else { Message('MsgSaveRpt','<font color=red>Failed to save report. Error:'+retVal+'.</font>'); } }, populateReportSaveForm:function(portletNo){ if(reportCollection[portletNo].getgraphId()<100000) return true; ReportObj=reportCollection[portletNo]; var saveas=$("input[name='saveas']:checked").val(); $("select[name='parentFolder'] option[value="+ReportObj.getparentId()+"]").attr("selected", "selected"); $("input[name='title']").val(ReportObj.gettitle()); $("textarea[name='description']").val(ReportObj.getdescription()); //$("textarea[name='note']").val(ReportObj.getnote()); $("input[name='expiredt']").val(ReportObj.expire); $("select[name='refresh'] option[value="+ReportObj.setrefresh()+"]").attr("selected", "selected"); $("input[name='dashfoldersel']").filter("[value="+ReportObj.isdasboard+"]").attr("checked",true); var permissionArray=ReportObj.getReportPermission(); var name; for(var i=0;i<permissionArray.length;i++){ if(permissionArray[i][1] == 'N'){ if(permissionArray[i][2] == 3) name="uEdit"; else name="uView"; } else{ if(permissionArray[i][2] == 3) name="gEdit"; else name="gView"; } $("input:checkbox[name="+ name +"]").filter("[value="+permissionArray[i][0]+"]").attr("checked", true); } }, showReportSaveForm:function(portletNo){ if(typeof reportCollection[portletNo] == "undefined" || reportCollection[portletNo].getdimensions().length<1 || reportCollection[portletNo].getmeasures().length<1){ alert("Please select dimension and measures first to save the report."); return true; } var htmlstr='<div class="width-50 left pad"><div id=MsgSaveRpt></div><table width=95% align=right border=0 cellpadding=0 cellspacing=0>'; if(typeof reportCollection[portletNo].getgraphId() != "undefined" && reportCollection[portletNo].getgraphId()>100000){ htmlstr+='<tr><td>Save Option:</td><td><input type="radio" name="saveas" value="saveas" title="Save As">New Report<input type="radio" name="saveas" value="save" checked=checked title="Save">Update Report</td></tr>'; } htmlstr+='<tr><td>Save In</td><td><select name=parentFolder>'; var reportListArray = getReportMetaData(authToken, "null"); for(var i=0; i<reportListArray.length; i++){ if(reportListArray[i][11]=='Folder' && reportListArray[i][2] == userId){ htmlstr+='<option value='+reportListArray[i][0]+'>'+reportListArray[i][3]+'</option>'; } } htmlstr+='</select></td></tr><tr><td>Title</td><td><input type="text" name="title" value="" maxlength="64"></td></tr><tr><td>Description</td><td><textarea name="description" rows="2" cols="25" onkeyup="this.value=this.value.slice(0, 128)"></textarea></td></tr><tr><td>Note</td><td><textarea name="note" rows="2" cols="25" onkeyup="this.value=this.value.slice(0,128)"></textarea></td></tr><tr><td>Expires On</td><td><input type="text" id="expiredt" value=""></td></tr><tr><td>Refresh Frequency</td><td><select name=refresh><option value=1>Daily</option><option value=7>Weekly</option><option value=15>Fortnight</option><option value=30>Monthly</option><option value=0>Never</option></select></td></tr><tr><td>Use in Dashboard:</td><td><input type="radio" name="dashfoldersel" value="1" checked="checked" title="Avail in Dashboard">yes<input type="radio" name="dashfoldersel" value="0" title="Avail in Dashboard">No</td></tr></table></div>'; var groups=getGroupList(sessionid); UG = new dTree('UG'); UG.config.useStatusText=true; UG.config.closeSameLevel=false; UG.config.useCookies=false; UG.config.target=""; //Node(id, pid, name, url, udelete, title, target, icon, iconOpen, open, element) UG.add(0,0,getLabel('Group and User List'),'','','','','/showcase/css/g/User-Group-icon.png'); UG.add(100000,0,getLabel('Groups')); UG.add(200000,0,getLabel('Users')); for(i=0; i<groups.length; i++){ UG.add( (i+1), 100000, groups[i][0]+' <input type="checkbox" name="gView" value="'+groups[i][0]+'" title="'+groups[i][0]+'"/>View <input type="checkbox" name="gEdit" value="'+groups[i][0]+'" title="'+groups[i][0]+'"/>Edit', '', '', groups[i][0], '', '/edash/assets/default/images/grp.gif' ); } var users=getUserList(sessionid); for(i=0; i<users.length; i++){ if(users[i][0] == userId) continue; UG.add( (i+1), 200000, users[i][0]+' <input type="checkbox" name="uView" value="'+users[i][0]+'" title="'+users[i][0]+'"/>View <input type="checkbox" name="uEdit" value="'+users[i][0]+'" title="'+users[i][0]+'"/>Edit', '', '', users[i][1], '', '/edash/assets/default/images/user.gif' ); } htmlstr+='<div class="width-50 left pad"><!--div>Share Category: <select><option>Category</option></select></div--><div class=pad><u>Share Report With:</u></div>'+UG+'</div>'; openDialog("DFA_right_column", "400", "700", "Save Report:", htmlstr, $.DFA.preSaveReport, portletNo); $("#DFA_right_column").css("width","100%"); $( "#expiredt" ).datepicker({ changeMonth: true, changeYear: true , dateFormat:'yy/mm/dd'}); $.DFA.populateReportSaveForm(portletNo); }, getNewFilter:function(itemId, itemName, itemColumn){ var htmlstr=this.getFilterUi( itemId, itemName, itemColumn, "eq", $(".newFilterUi").attr("portlet"), ""); $("#DFA_right_column").append(htmlstr); $(".filterDateValues").datepicker({ changeMonth: true, changeYear: true , dateFormat:'yy/mm/dd'}); $("#DFA_tmpDialog").dialog("close", "slow"); }, getFilterItem:function(){ var itemList=printItemList(authToken, "$.DFA.getNewFilter"); var Height=getMheight(); var Width=getMwidth(); $( "#DFA_tmpDialog" ).dialog({ height: (Height-(Height*.5)), width: (Width-(Width*.5)), modal: true, autoResize: true, autoOpen: false, position:['center',100], }); $("#DFA_tmpDialog").html(""+itemList+"").dialog("open"); }, deleteFilterFromList:function(reportObj, itemId, operator, filterValue){ var filterObj=new reportFilter(itemId, "", operator, ""); filterObj.values.push(filterValue); reportObj.filterList.deleteFilter(filterObj); }, populateFilterListFromFilterUI:function(portlet){ var uiFilters=$("ul.filterClass").get(); var metaDataCollection=createItemList(authToken); reportCollection[portlet].filterList=new reportFilterList(); for (var i in uiFilters){ var filter= new reportFilter(); filter.itemId =$(uiFilters[i]).attr("itemId"); filter.itemName=metaDataCollection.getItemById(filter.itemId).Name; filter.itemColumn=metaDataCollection.getItemById(filter.itemId).Column; /*filter.operator = $(uiFilters[i]).attr("oper"); */ filter.operator = $(".filterOperator").filter("[itemId="+filter.itemId+"]").val(); if(filter.itemId>10000) filter.filterType = "A"; else filter.filterType = 'C'; for(var j=0; j<uiFilters[i].children.length;j++) filter.values.push($(uiFilters[i].children[j]).attr("dimval")); filter.values=sort_unique(filter.values); reportCollection[portlet].filterList.addFilter(this.copy(filter)); } }, validateFilterValues:function(value, itemId, itemColumn){ if(itemId<10000 && itemColumn != "date") return false; var filterClass="filterMeasValues"; if(itemColumn == "date") filterClass="filterDateValues"; var ul=$("ul.filterClass").filter("[itemId="+itemId+"]"); ul.children().remove(); if(value == 'bw' || value == 'nb'){ for(var i=0; i<2; i++) $(ul).append('<li class="filterContent" dimval=""><input type="text" class="'+filterClass+'"><span class="filterClose ui-icon ui-icon-close" ></span></li>'); } else{ $(ul).append('<li class="filterContent" dimval=""><input type="text" class="'+filterClass+'"><span class="filterClose ui-icon ui-icon-close" ></span></li>'); } if(itemColumn == "date") $(".filterDateValues").datepicker({ changeMonth: true, changeYear: true , dateFormat:'yy/mm/dd'}); }, applyComputeOnReportData:function(reportObj){ var computedColumns = reportObj.compute.columnList; if(computedColumns.length<1) return false; var cellIndex = reportObj.getdimensions().length + reportObj.getmeasures().length; for(var i=0, j=reportObj.getmeasures().length; i<computedColumns.length; i++, j++){ reportObj.data[0][(cellIndex+i)] = computedColumns[i].colName; reportObj.formats[j]=computedColumns[i].format; applyFormula(reportObj, computedColumns[i].formula, (cellIndex+i)); //applyFormula(reportObj, computedColumns[i].formula, computedColumns[i].sequence-1); //Use this when compute can be applied on actual columns } }, refreshPortletCompute:function(portlet){ var reportObj = reportCollection[portlet]; this.displayReport( reportObj.data, reportObj); }, refreshPortlet:function(portlet){ this.populateFilterListFromFilterUI(portlet); reportCollection[portlet].setdimensionFilters(reportCollection[portlet].filterList.getFilterString("D")); reportCollection[portlet].setmeasureFilters(reportCollection[portlet].filterList.getFilterString("M")); createReport(authToken, true, this.callbackReportData, reportCollection[portlet]); }, refreshPortlet_NewItems:function(portlet){ reportCollection[portlet].dimensionIds=new Array(); reportCollection[portlet].dimensions=new Array(); reportCollection[portlet].dimmeta=new Array(); reportCollection[portlet].measureIds=new Array(); reportCollection[portlet].measures=new Array(); reportCollection[portlet].formats=new Array(); var allTds=$("#dimensionTableId tr td:nth-child(2)"); for(var i=0; i<allTds.length; i++){ reportCollection[portlet].dimensionIds[i]=$(allTds[i]).attr("itemId"); reportCollection[portlet].dimmeta[i]=$(allTds[i]).attr("itemColumn"); reportCollection[portlet].dimensions[i]=$(allTds[i]).text(); } allTds=$("#measureTableId tr td:nth-child(2)"); for(i=0; i<allTds.length; i++){ var itemId=$(allTds[i]).attr("itemId"); var item=metaDataCollection.getItemById(itemId); reportCollection[portlet].measureIds[i]=item.Id; reportCollection[portlet].measures[i]=item.Name; if(item.Format != undefined && item.Format.length>0) reportCollection[portlet].formats[i]=item.Format; else reportCollection[portlet].formats[i]="cup0"; } createReport(authToken, true, this.callbackReportData, reportCollection[portlet]); $("#DFA_tmpDialog").dialog("close", "slow"); }, applyComputePreview:function(portlet, colName, formula, cellIndex, curr, precision, prefix, suffix){ var reportObj=reportCollection[portlet]; applyFormula(reportObj, formula, cellIndex); var ReportData=reportObj.getdata(); if($(".computeTbl")[0].rows[0].cells.length-1 <=cellIndex){ $(".computeTbl").find('tr:first').each(function(){ $(this).find('td').eq(cellIndex).after('<td align=center class="computeTd ui-state-default">C'+(cellIndex+1)+'</td>'); }); $(".computeTbl").find('tr:not(:first)').each(function(){ $(this).find('td').eq(cellIndex).after('<td align=right class=computeTd></td>'); }); } var i=1, j=0 , Gsym=',', dec='.'; if (curr == "e") { /* If currency is european */ Gsym='.'; dec=','; } $(".computeTbl").find('tr:not(:first)').each(function(){ if(j==0){ $(this).find('td').eq(cellIndex+1).attr("class","heading").attr("align", "center").html(colName); j=1; } else{ $(this).find('td').eq(cellIndex+1).text(formatMoney(ReportData[i++][cellIndex],prefix, suffix, precision, dec, Gsym)); } }); }, clearComputeUI:function(){ $(".cNameTextBox").val(""); $(".cColumnTextBox").val(""); $(".cFormulaTextBox").val(""); $(".cFormula2TextBox").val(""); $(".cFormula3Span").text(""); $(".cSeqTextBox").val(""); }, populateComputeUI:function(cellIndex){ if(cellIndex == 0){ return false; } var portlet = $("div.newComputeColumnUI").attr("portlet"); var reportObj = reportCollection[portlet]; var dimensions = reportObj.getdimensions(); var dimensionIds = reportObj.getdimensionIds(); var measures = reportObj.getmeasures(); var measureIds = reportObj.getmeasureIds(); var computedColumns = reportObj.compute.columnList; var format = "", index; if(cellIndex <= dimensions.length){ index = cellIndex-1; $(".cNameTextBox").val(dimensions[index]); $(".cColumnTextBox").val("C"+cellIndex); //$(".cFormulaTextBox").val("(C"+(cellIndex)+")"); $(".cFormulaTextBox").val("Actual Dimension Column"); $(".cFormula2TextBox").val(dimensionIds[index]); $(".cFormula3Span").text(dimensions[index]); $(".cSeqTextBox").val(cellIndex); } else if(cellIndex <= (dimensions.length + measures.length)){ index = cellIndex-(dimensions.length+1); $(".cNameTextBox").val(measures[index]); $(".cColumnTextBox").val("C"+cellIndex); $(".cFormulaTextBox").val("Actual Measure Column"); $(".cFormula2TextBox").val(measureIds[index]); $(".cFormula3Span").text(measures[index]); $(".cSeqTextBox").val(cellIndex); format = reportObj.formats[index]; } else if(cellIndex <= dimensions.length + measures.length + computedColumns.length){ index = cellIndex - ( dimensions.length + measures.length + 1 ); $(".cNameTextBox").val(computedColumns[index].colName); $(".cColumnTextBox").val("C"+cellIndex); $(".cFormulaTextBox").val(computedColumns[index].formula); $(".cFormula2TextBox").val(getTechnicalFormula(reportObj, computedColumns[index].formula)); $(".cFormula3Span").text(getReadableFormula(reportObj, computedColumns[index].formula)); $(".cSeqTextBox").val(computedColumns[index].sequence); format = computedColumns[index].format; } else { $(".cNameTextBox").val("Compute"); $(".cColumnTextBox").val("C"+cellIndex); $(".cColumnTextBox").val("C"+cellIndex); $(".cFormulaTextBox").val("(C"+(cellIndex-1)+")"); $(".cFormula2TextBox").val(""); $(".cSeqTextBox").val($(".computeTbl")[0].rows[0].cells.length); } var currency = getFormatValue(format, "c"); var precesion = getFormatValue(format, "p"); var zeroChar = getFormatValue(format,"z"); var prefix = getFormatValue(format, "P"); var suffix = getFormatValue(format, "S"); $("input:radio[value='"+currency+"']").attr("checked",true); $(".cPrec").val(precesion); $(".cZero").val(zeroChar); $(".cPrefix").val(prefix); $(".cSuffix").val(suffix); }, notComputedColumn:function(portlet, columnSeq){ if(columnSeq <= (reportCollection[portlet].getdimensions().length + reportCollection[portlet].getmeasures().length)){ return true; } return false; }, applyDateFilter:function(fromId, toId){ //Send # for id and . for class var filterObj=new reportFilter($(fromId).attr("itemId"), "Date", "bw", "","date"); $.DFA.applyGlobalFilters(filterObj, $(fromId).val(), $(toId).val(), "R"); }, validReport:function(portletNo){ var ReportObj=reportCollection[portletNo]; if(ReportObj.getdimensions().length >0 && ReportObj.getmeasures().length>0) return true; else return false; }, appLiveEvents:function(){ //Calling it in html file (index.html or utils.html) $(".dimfilteritem").live("click", function (ev){ if($(this).attr("dimname").toUpperCase() == 'DATE') return; var filterObj=new reportFilter($(this).attr("itemId"), $(this).attr("dimname"), "eq", "", $(this).parent().attr("itemcolumn")); if(this.checked || this.selected){ $.DFA.applyGlobalFilters(filterObj, $(this).attr("dimval"), "", "A"); } else { $.DFA.applyGlobalFilters(filterObj, $(this).attr("dimval"), "", "D"); } } ); $(".dimFilter").live("change", function (ev){ var filterObj=new reportFilter($(this).attr("itemId"), $(this).attr("dimname"), "eq", ""); $.DFA.applyGlobalFilters(filterObj, $(this).val(), "", "R"); } ); $(".DFApply").live("click", $.DFA.applySelectedFilters); $(".DFClear").live("click", function(){ showFilterTemplate(); }); $("h5.ui-state-default").live("click", function(ev){ } ); $(".filterClose").live("click", function (ev){ var filterValue = $(this).parent().text(); var itemId = $(this).parent().parent().attr('itemId'); var operator = $(this).parent().parent().attr('oper'); var portlet = $(this).parent().parent().attr('portlet'); $("input:checkbox[itemId="+itemId+"][class=newFilterVal][dimval='"+filterValue+"']").attr("checked",false); $(this).parent().remove(); //this.deleteFilterFromList(reportCollection[portlet], itemId, operator, filterValue); } ); $(".getFilterVal").live("click", function (ev){ var itemId = $(this).parent().parent().attr('itemId'); var itemColumn = $(this).parent().parent().attr('itemColumn'); var cointainerId=$(this).parent().parent().children()[4]; var range= $(this).attr("range"); var where= $(this).prev().children().eq(0).val(); if(where.length>0) where = "like '"+where+"%%'"; //where = "like '%%"+where+"%%'"; var filterValues=getFilterValues(authToken, itemId, range, where); var portlet=$("ul.filterClass").filter("[itemId="+itemId+"]").attr("portlet"); var selectFilterValue=reportCollection[portlet].filterList.getFilterValuesByItemId(itemId); var htmlStr="<ul class=filterClassUnselected>", checked=""; for(var i=0; i<filterValues.length; i++){ if(ifExists(selectFilterValue, filterValues[i])) checked="checked"; else checked=""; if(filterValues[i] == 'NO-DATA-FOUND'){ htmlStr+='<li class="filterContent">'+filterValues[i]+'</li>'; } else{ htmlStr+='<li class="filterContent"><input type="checkbox" class="newFilterVal" itemId="'+ itemId +'" dimval="'+ filterValues[i] +'" '+checked+'>'+convertToDisplay(filterValues[i],itemColumn)+'</li>'; } } htmlStr+="</ul>"; $(cointainerId).html(htmlStr); $(".showFilterVal").trigger("click"); } ); $(".prevFilterVal").live("click", function (ev){ var range=$(this).siblings(".getFilterVal").attr("range"); var rangeArr=range.split("-"); if(rangeArr[0]>=50){ rangeArr[0]=parseInt(rangeArr[0])-50; rangeArr[1]=parseInt(rangeArr[0])+50; } $(this).siblings(".getFilterVal").attr("range", rangeArr[0]+"-"+rangeArr[1]); $(this).siblings(".getFilterVal").trigger("click"); } ); $(".nextFilterVal").live("click", function (ev){ var range=$(this).siblings(".getFilterVal").attr("range"); var rangeArr=range.split("-"); rangeArr[0]= parseInt(rangeArr[0])+50; rangeArr[1]=parseInt(rangeArr[0])+50; $(this).siblings(".getFilterVal").attr("range", rangeArr[0]+"-"+rangeArr[1]); $(this).siblings(".getFilterVal").trigger("click"); } ); $(".searchFilterVal").live("keyup", function (ev){ if(ev.keyCode == 13){ $(this).parent().siblings(".getFilterVal").attr("range", "0-50"); $(this).parent().siblings(".getFilterVal").trigger("click"); } } ); $(".newFilterVal").live("click", function (ev){ var itemId=$(this).attr('itemId'); var dimval=$(this).attr('dimval'); var dispVal=$(this).parent().text(); if(this.checked){ $(this).parents().eq(2).prev().prev().children().append('<li class="filterContent" dimval="'+dimval+'"><span class="selFilterVal">'+dispVal+'</span><span class="filterClose ui-icon ui-icon-close"></span></li>'); } else{ $(this).parents().eq(2).prev().prev().children().children().filter("[dimval='"+dimval+"']").remove(); } } ); $(".newFilterUi").live("click", function(ev){ $.DFA.getFilterItem(); } ); $(".deleteFilter").live("click", function(ev){ var itemId = $(this).attr("itemId"); var portlet = $("ul.filterClass").filter("[itemId="+itemId+"]").attr("portlet"); var operator = $("ul.filterClass").filter("[itemId="+itemId+"]").attr("oper"); var filter= new reportFilter(); filter.itemId =itemId ; filter.operator = operator; reportCollection[portlet].filterList.clearFilter(filter); //$("div.filterMain").filter("[itemId="+itemId+"]").remove(); $(this).parent().parent().parent().remove(); } ); $(".hideFilterVal").live("click", function(ev){ $($(this).parent().parent().children()[4]).hide(); $(this).hide().siblings(".showFilterVal").show(); } ); $(".showFilterVal").live("click", function(ev){ $($(this).parent().parent().children()[4]).show(); $(this).hide().siblings(".hideFilterVal").show(); } ); $(".filterOperator").live("change", function (ev){ var value = this.value; var itemId = $(this).attr("itemId"); var itemColumn = $(this).parent().parent().parent().attr("itemColumn") $.DFA.validateFilterValues(value, itemId, itemColumn); } ); $(".filterMeasValues").live("keyup", function(){ $(this).parent().attr("dimval", this.value); }); $(".filterDateValues").live("change", function(){ $(this).parent().attr("dimval", this.value); }); /***Compute Logic ****/ $(".cColumnTextBox").live("keyup", function(){ if(this.value.length>1){ var cellIndex = this.value.toUpperCase().split('C')[1]; //$.DFA.clearComputeUI(); $.DFA.populateComputeUI(cellIndex); } }); $(".computeTbl").live("click", function(ev){ var clickedCellIndex = ev.srcElement.cellIndex; var enteredCellIndex = $(".cColumnTextBox").val().toUpperCase().split('C')[1]; if(enteredCellIndex > $(".computeTbl")[0].rows[0].cells.length-1){ var portlet = $("div.newComputeColumnUI").attr("portlet"); var reportObj = reportCollection[portlet]; var newFormula = $(".cFormulaTextBox").val()+"(C"+(clickedCellIndex)+")"; $(".cFormulaTextBox").val(newFormula); $(".cFormula3Span").text(getReadableFormula(reportObj, newFormula)); $(".cFormulaTextBox").focus(); } else{ $.DFA.populateComputeUI(clickedCellIndex); } } ); /*$(".cApply").live("click", function(ev){ var portlet = $("div.newComputeColumnUI").attr("portlet"); $.DFA.refreshPortletCompute(portlet); });*/ $(".cPreview").live("click", function(ev){ var portlet = $("div.newComputeColumnUI").attr("portlet"); var columnSeq= $(".cSeqTextBox").val(); if(columnSeq<1){ return false; } if($.DFA.notComputedColumn(portlet, columnSeq)){ alert("Can't apply compute on actual columns."); return false; } var columnName = $(".cNameTextBox").val(); var columnPosition= $(".cColumnTextBox").val(); var formula = $(".cFormulaTextBox").val().toUpperCase(); //var formula2 = $(".cFormula2TextBox").val().toUpperCase(); var formula3= $(".cFormula3Span").val(); var curr= $("input[name='curr']:checked").val(); var precision = $(".cPrec").val(); var zeroChar = $(".cZero").val(); var prefix = $(".cPrefix").val(); var suffix= $(".cSuffix").val(); var format="cu"; if(isstring(curr)) format = "c" + curr; if(isstring(precision)) format+= "p" + precision; if(isstring(zeroChar)) format+= "z" + zeroChar; if(isstring(prefix)) format+= "P" + prefix; if(isstring(suffix)) format+= "S" + suffix; var numCells = $(".computeTbl")[0].rows[0].cells.length-1; var cellPos = columnPosition.split('C')[1] -1; if(cellPos < numCells) reportCollection[portlet].compute.updateComputedColumn(columnName, formula, format, columnSeq); else reportCollection[portlet].compute.addComputedColumn(columnName, formula, format, columnSeq); reportCollection[portlet].data[0][cellPos]=columnName; $.DFA.applyComputePreview(portlet, columnName, formula, cellPos, curr, precision, prefix, suffix); } ); $(".cDel").live("click", function(ev){ var columnName = $(".cNameTextBox").val(); var columnPosition= $(".cColumnTextBox").val(); var formula = $(".cFormulaTextBox").val(); var columnSeq= $(".cSeqTextBox").val(); if(columnSeq<1){ alert("Select a column to delete."); return false; } var portlet = $("div.newComputeColumnUI").attr("portlet"); if($.DFA.notComputedColumn(portlet, columnSeq)){ alert("Can't delete actual columns."); return false; } reportCollection[portlet].compute.deleteComputedColumn(columnName, formula, "", columnSeq); var index = columnPosition.split('C')[1] -1; for(var i=0; i<reportCollection[portlet].data.length && index>0; i++){ reportCollection[portlet].data[i].splice(index,1); } $(".computeTbl").find('tr').each(function(){ $(this).find('td').eq(index+1).remove(); }); $.DFA.clearComputeUI(); } ); $(".AddComputeColumn").live("click", function(ev){ $(".newComputeColumnUI").toggle("slow"); } ); $(".searchDimVal").live("keyup", function(ev){ var text = $(this).val().toLowerCase(); var items = $('label', $(this).parent().next().children()); items.parent().hide(); items.filter(function () { return $(this).text().toLowerCase().indexOf(text) == 0; }).parent().show(); } ); $(".searchFilter").live("click", function(){ var searchText=$(this).prev().val(); var ul=$(this).parent().next(); var itemId = ul.attr("itemId"); var itemName= ul.attr("itemName"); var itemColumn = ul.attr("itemColumn"); if(searchText && searchText.length>0){ var filterValues=getFilterValues(authToken, itemId, "", "like '"+ searchText +"%%'"); } else{ var filterValues=getFilterValues(authToken, itemId, "", ""); } var htmlStr=""; if(filterValues.length == 1 && filterValues[0] == "NO-DATA-FOUND"){ htmlStr+='<li class=off>No Data Found</li>'; } else{ for(var i=0; i<filterValues.length; i++){ var value=filterValues[i]; if(isTimeColumn(itemColumn)){ value=parseInt(value); value=decodeTime(itemColumn, filterValues[i]); } htmlStr+='<li class=off><input type="checkbox" class="dimfilteritem" id="'+itemId+'_'+filterValues[i]+'" itemId="'+ itemId +'" dimname="'+ itemName+'" dimval="'+ filterValues[i] +'">'; htmlStr+='<label for="'+itemId+'_'+filterValues[i]+'">'+value+'</label></li>'; } } ul.html(htmlStr); } ); $("#DFA_dimension_filter .ui-widget-header").live("click", function (){$(".dimfilter").toggle("slow"); }); $("#DFA_dimension_filter .itemName").live("click", function (){$(this).parent().next().toggle("slow"); }); $(".remove").live("click", function (){$(this).parent().remove();}); $(".minMaxFilter").live("click", function(){ var className=$(this)[0].className; if(className.indexOf("ui-icon-minus")>0){ $(this)[0].className=className.replace("ui-icon-minus", "ui-icon-plus"); } else{ $(this)[0].className=className.replace("ui-icon-plus", "ui-icon-minus"); } $(this).parent().parent().siblings().toggle("fast"); }); $(".NewReport").live("click", function(){ $.DFA.addNewReport(); } ); $(".EditDimMeasFilter").live("click", function(){ $.DFA.editDimMeasFilterUI(); } ); /* Drop down menu */ $(".account").live("click", function() { $(this).siblings().toggle("slow"); }); $("ul.root li a").live("mouseover", function(){ var item = $(this).attr('item'); if(item == "chartType"){ $(".chartTypesDiv", $(this).parent().parent()).show(); } else if(item == "filter" || item == "compute" || item == "Add Item" || item == "Close" || item == "Refresh" ||item == "Save" ||item == "Misc" ||item == "Clear"){ $(".chartTypesDiv", $(this).parent().parent()).hide(); } }); $("ul.root li a").live("click", function(){ var item = $(this).attr('item'); var portletNo=0; if($(this).parents().eq(6).attr('id')) portletNo=$(this).parents().eq(6).attr('id').replace("DFA_","") - 1; if(item == "filter"){ $.DFA.showFilterPage(portletNo); } else if(item == "compute"){ if($.DFA.validReport(portletNo)) $.DFA.showComputePage(portletNo); else alert("Please Create Report First To Do This Operation"); } else if(item == "Add Item"){ $.DFA.showItemPage(portletNo); } else if(item == "chartType"){ } else if(item == "Clear"){ var divId="DFA_div"+(portletNo+1); initReportObj(reportCollection[portletNo]); reportCollection[portletNo].dispObj.RDsetGeneral(); reportCollection[portletNo].dispObj.RD.General.divId=divId; $("div#"+divId).html('<span class=click onclick="$.DFA.showItemPage('+portletNo+');" >Click To Add items</span>'); } else if(item == "Close"){ $(this).parents().eq(6).remove(); reportCollection.splice(portletNo,1, initReportObj(new Report())); /* logic for delete */ } else if(item == "Save"){ if($.DFA.validReport(portletNo)) $.DFA.showReportSaveForm(portletNo); else alert("Please Create Report First To Do This Operation"); } else if(item == "Misc"){ $.DFA.showMiscPage(portletNo); } else if(item == "Refresh"){ if($.DFA.validReport(portletNo)) createReport(authToken, false, $.DFA.callbackReportData, reportCollection[portletNo]); } else { portletNo=$(this).parents().eq(7).attr('id').replace("DFA_","") - 1; if($.DFA.validReport(portletNo)){ //$("#DFA_div"+(portletNo+1)).css("height", "200px"); $("#DFA_div"+(portletNo+1)).css("background", "white"); reportCollection[portletNo].setgtype(encodeFormat(item)); if(reportCollection[portletNo].data && reportCollection[portletNo].data.length>1) $.DFA.displayReport(reportCollection[portletNo].getdata(), reportCollection[portletNo]); else createReport(authToken, false, $.DFA.callbackReportData, reportCollection[portletNo]); } else{ alert("Please Create Report First To Do This Operation"); } } }); //Mouse click on sub menu $(".submenu").mouseup(function() { return false }); } } $.DFA.appLiveEvents();