diff options
Diffstat (limited to 'ecomp-sdk/epsdk-app-overlay/src/main/webapp/WEB-INF/fusion/raptor/wizard_columns_edit.jsp')
-rw-r--r-- | ecomp-sdk/epsdk-app-overlay/src/main/webapp/WEB-INF/fusion/raptor/wizard_columns_edit.jsp | 1127 |
1 files changed, 1127 insertions, 0 deletions
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/WEB-INF/fusion/raptor/wizard_columns_edit.jsp b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/WEB-INF/fusion/raptor/wizard_columns_edit.jsp new file mode 100644 index 00000000..cc6b68b0 --- /dev/null +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/WEB-INF/fusion/raptor/wizard_columns_edit.jsp @@ -0,0 +1,1127 @@ +<%-- + ================================================================================ + eCOMP Portal SDK + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ================================================================================ + --%> +<%@page import="java.util.Map"%> +<%@page import="java.util.HashMap"%> +<%@page import="org.openecomp.portalsdk.analytics.model.ReportLoader"%> +<%@ page import="org.openecomp.portalsdk.analytics.xmlobj.DataColumnType" %> +<%@ page import="org.openecomp.portalsdk.analytics.util.AppConstants" %> +<%@ page import="org.openecomp.portalsdk.analytics.model.definition.ReportDefinition" %> +<%@ page import="org.openecomp.portalsdk.analytics.system.AppUtils" %> +<%@ page import="org.openecomp.portalsdk.analytics.controller.WizardSequence" %> +<%@ page import="java.util.Vector" %> +<%@ page import="java.util.List" %> +<%@ page import="org.openecomp.portalsdk.analytics.model.DataCache" %> +<%@ page import="java.util.Iterator" %> +<%@ page import="org.openecomp.portalsdk.analytics.xmlobj.DataSourceType" %> +<%@ page import="org.openecomp.portalsdk.analytics.model.definition.DBColumnInfo" %> +<%@ page import="org.openecomp.portalsdk.analytics.model.definition.TableSource" %> +<%@ page import="org.openecomp.portalsdk.analytics.model.base.IdNameValue" %> +<%@ page import="org.openecomp.portalsdk.analytics.xmlobj.SemaphoreType" %> +<%@ page import="org.openecomp.portalsdk.analytics.xmlobj.FormFieldType" %> +<% + ReportDefinition rdef = (ReportDefinition) request.getAttribute(AppConstants.SI_REPORT_DEFINITION); + WizardSequence ws = rdef.getWizardSequence(); + String curSubStep = ws.getCurrentSubStep(); + boolean isCrossTab = rdef.getReportType().equals(AppConstants.RT_CROSSTAB); + boolean isSQLBased = rdef.getReportDefType().equals(AppConstants.RD_SQL_BASED); + String dbInfo = null; + dbInfo = rdef.getDBInfo(); + boolean isEdit = curSubStep.equals(AppConstants.WSS_EDIT) || curSubStep.equals(AppConstants.WA_MODIFY); + DataColumnType currColumn = null; + if(isEdit) + currColumn = rdef.getColumnById(AppUtils.getRequestNvlValue(request, AppConstants.RI_DETAIL_ID)); + Vector reportTableSources = DataCache.getReportTableSources((String) session.getAttribute("remoteDB")); + + List reportCols = rdef.getAllColumns(); + + HashMap actionImgMap = ReportLoader.loadActionImgLookUp(); + + String[] numberFormats = { "9999999990", "9,999,999,990", "9999999990.99", "9,999,999,990.99", "$9,999,999,990.99", "$9,999,999,990.999" }; + String[] dateFormats = { "MM/DD/YYYY", "MM/YYYY", "DD-MON-YYYY", "Month DD, YYYY", "Month, YYYY", "MM/DD/YYYY HH24:MI:SS", "YYYY" }; + String[] charFormats = { "N/A" }; + + String dispName = ""; + String dbColType = ""; + String colType = ""; + if(isEdit) { + dbColType = currColumn.getDbColType(); + colType = currColumn.getColType(); + } + + String dependsOnFormField = currColumn.getDependsOnFormField(); + %> +<script language="JavaScript" src="<%= AppUtils.getBaseFolderURL() %>js/editabledropdown.js"></script> +<script language="JavaScript"> +<!-- +var tableDrillDownCount = 0; + +function verifyCrossTabDrillDown() { +<% if(isCrossTab) { %> + if( (document.forma.crossTabValue.options[document.forma.crossTabValue.selectedIndex].value!="<%= AppConstants.CV_VALUE %>") + &&(document.forma.drillDownCtl.selectedIndex!=0)) { + alert("You cannot assign drill-down to this column unless the Column Usage in Cross-Tab is Report values."); + document.forma.drillDownURL.value = ""; + document.forma.drillDownParams.value = ""; + document.forma.drillDownSuppress.value = ""; + document.forma.drillDownRequest.value = ""; + document.forma.drillDownCtl.selectedIndex = 0; + return false; + } +<% } %> + return true; +} // verifyCrossTabDrillDown + +function showDrillDownPopup(resetParams) { + if(! verifyCrossTabDrillDown()) + return; + + if(resetParams) { + document.forma.drillDownParams.value = ""; + document.forma.drillDownSuppress.value = ""; + document.forma.drillDownRequest.value = ""; + } + + if(document.forma.drillDownCtl.selectedIndex==0) { + document.forma.drillDownURL.value = ""; + return; + } + + var ddValue = ""; + ddValue = document.forma.drillDownCtl.options[document.forma.drillDownCtl.selectedIndex].value; + + var url = ""; + if(document.forma.drillDownCtl.selectedIndex<=tableDrillDownCount) { + document.forma.drillDownURL.value = ddValue; + url = "<%= AppUtils.getRaptorActionURL() %>report.popup.drilldown.table&<%= AppConstants.RI_VIEW_ACTION %>="+ddValue; + } else { + document.forma.drillDownURL.value = ddValue; + url = "<%= AppUtils.getRaptorActionURL() %>report.popup.drilldown.report&<%= AppConstants.RI_REPORT_ID %>="+ddValue+"&drillDownParams="+escape(document.forma.drillDownParams.value)+"&drillDownSuppress="+escape(document.forma.drillDownSuppress.value)+"&drillDownRequest="+escape(document.forma.drillDownRequest.value); + } + var w = window.open(url, "drillDownPopup", "width=450,height=330,location=no,menubar=no,toolbar=no,status=no,resizable=yes,scrollbars=yes"); + w.focus(); + w.opener = this; +} // showArgPopup + +function setDrillDownValuesSuppress(newParams, newSuppress) { + document.forma.drillDownParams.value = newParams; + document.forma.drillDownSuppress.value = newSuppress; +} // setDrillDownValuesSuppress + +function setDrillDownValues(newParams) { + setDrillDownValuesSuppress(newParams, "") +} // setDrillDownValues + +function setTotalDropDownValues(canHaveTotal) { +<% if(! isSQLBased) { %> + if(canHaveTotal) { + if(document.forma.displayTotal.options.length>1) + return; + } else { + if(document.forma.displayTotal.options.length==1) + return; + } + + document.forma.displayTotal.options.length = 0; + document.forma.displayTotal.options[0] = new Option("--- Do Not Display (Faster Report Execution) ---", ""); +<% if(isCrossTab) { %> + document.forma.displayTotalPerRow.options.length = 0; + document.forma.displayTotalPerRow.options[0] = new Option("--- Do Not Display (Faster Report Execution) ---", ""); +<% } %> + + if(canHaveTotal) { + <% for(int i=0; i<AppConstants.TOTAL_FUNCTIONS.getCount(); i++) { + IdNameValue tValue = AppConstants.TOTAL_FUNCTIONS.getValue(i); %> + document.forma.displayTotal.options[<%= (i+1) %>] = new Option("<%= tValue.getName() %>", "<%= tValue.getId() %>"); + <% if(isCrossTab) { %> + document.forma.displayTotalPerRow.options[<%= (i+1) %>] = new Option("<%= tValue.getName() %>", "<%= tValue.getId() %>"); + <% } %> + <% } // for + %> + } // if + + document.forma.displayTotal.selectedIndex = 0; +<% if(isCrossTab) { %> + document.forma.displayTotalPerRow.selectedIndex = 0; + if(document.layers) + history.go(0); +<% } %> +<% } // if(! isSQLBased) +%> +} // setTotalDropDownValues + +<% if(! isSQLBased) { %> +<%-- +function showFormatPopup() { + if((document.forma.colType.value!="< %= AppConstants.CT_NUMBER % >")&&(document.forma.colType.value!="< %= AppConstants.CT_DATE % >")) { + alert("Display Format is not applicable to this column"); + return; + } + + var w = window.open("", "formatHint", "width=200,height=300,location=no,menubar=no,toolbar=no,status=no,resizable=yes,scrollbars=yes"); + w.focus(); + w.opener = this; + w.document.writeln("<html><head>"); + w.document.writeln("<title>Display Formats</title>"); + //w.document.writeln("<link rel=stylesheet type=text/css href='< %= AppUtils.getBaseFolderURL() % >css/raptor.css'>"); + w.document.writeln("<script language=JavaScript>"); + w.document.writeln("function setValue(newValue) {"); + w.document.writeln(" window.opener.document.forma.displayFormat.value=newValue;"); + w.document.writeln(" window.close();"); + w.document.writeln("} // setValue"); + w.document.writeln("</"+"script>"); + w.document.writeln("</head><body>"); + if(document.forma.colType.value=="< %= AppConstants.CT_NUMBER % >") { + w.document.writeln("<font face='Arial, Helvetica, sans-serif' size=2><b>Number formats:</b></font><ul>"); + w.document.writeln("<li><font face='Arial, Helvetica, sans-serif' size=2><b><a href=\"javascript:setValue('9999999990.99')\">9999999990.99</a></b></font></li>"); + w.document.writeln("<li><font face='Arial, Helvetica, sans-serif' size=2><b><a href=\"javascript:setValue('9,999,999,990.99')\">9,999,999,990.99</a></b></font></li>"); + w.document.writeln("<li><font face='Arial, Helvetica, sans-serif' size=2><b><a href=\"javascript:setValue('$9,999,999,990.99')\">$9,999,999,990.99</a></b></font></li>"); + w.document.writeln("</ul>"); + } else if(document.forma.colType.value=="< %= AppConstants.CT_DATE % >") { + w.document.writeln("<font face='Arial, Helvetica, sans-serif' size=2><b>Date formats:</b></font><ul>"); + w.document.writeln("<li><font face='Arial, Helvetica, sans-serif' size=2><b><a href=\"javascript:setValue('MM/DD/YYYY')\">MM/DD/YYYY</a></b></font></li>"); + w.document.writeln("<li><font face='Arial, Helvetica, sans-serif' size=2><b><a href=\"javascript:setValue('MM/YYYY')\">MM/YYYY</a></b></font></li>"); + w.document.writeln("<li><font face='Arial, Helvetica, sans-serif' size=2><b><a href=\"javascript:setValue('DD-MON-YYYY')\">DD-MON-YYYY</a></b></font></li>"); + w.document.writeln("<li><font face='Arial, Helvetica, sans-serif' size=2><b><a href=\"javascript:setValue('MONTH DD, YYYY')\">MONTH DD, YYYY</a></b></font></li>"); + w.document.writeln("</ul>"); + } + w.document.writeln("</body></html>"); + w.document.close(); +} // showFormatPopup +--%> + +function showFormFieldPopup() { + var w = window.open("", "fieldPopup", "width=400,height=400,location=no,menubar=no,toolbar=no,status=no,resizable=yes,scrollbars=yes"); + w.focus(); + w.opener = this; + + w.document.writeln("<html><head>"); + w.document.writeln("<title>Form Fields</title>"); + w.document.writeln("<link rel=stylesheet type=text/css href='<%= AppUtils.getBaseFolderURL() %>css/raptor.css'>"); + w.document.writeln("<script language=JavaScript>"); + w.document.writeln("function setValue(newValue) {"); + w.document.writeln(" window.opener.document.forma.exprFormula.selectedIndex = 12;"); + w.document.writeln(" window.opener.exprFormulaChange(true);"); + w.document.writeln(" window.opener.document.forma.exprText.value += newValue;"); + w.document.writeln(" window.close();"); + w.document.writeln("} // setValue"); + w.document.writeln("</"+"script>"); + w.document.writeln("</head><body>"); + + w.document.writeln("<table width=94% border=0 cellspacing=1 align=center>"); + w.document.writeln(" <tr class=rbg1>"); + w.document.writeln(" <td height=30> </td>"); + w.document.writeln(" <td><b class=rtableheader>Report Form Fields</b></td>"); + w.document.writeln(" </tr>"); +<% int iCnt = 0; + if(rdef.getFormFieldList()!=null) + for(Iterator iter=rdef.getFormFieldList().getFormField().iterator(); iter.hasNext(); iCnt++) { + FormFieldType fft = (FormFieldType) iter.next(); %> + w.document.writeln(" <tr<%= (iCnt%2==0)?" class=rbg8":"" %>>"); + w.document.writeln(" <td align=center valign=middle height=30><font class=rtabletext><%= (iCnt+1) %></font></td>"); + w.document.writeln(" <td valign=middle>"); + w.document.writeln(" <b class=rtabletext><a href=\"javascript:setValue('[<%= fft.getFieldName() %>]')\"><%= fft.getFieldName() %></a></b>"); + w.document.writeln(" </td>"); + w.document.writeln(" </tr>"); +<% } // for + if(iCnt==0) { %> + w.document.writeln(" <tr class=rbg3 height=30>"); + w.document.writeln(" <td colspan=2 align=center valign=middle><b class=rtabletext>There are no form fields defined</b></td>"); + w.document.writeln(" </tr>"); + w.document.writeln(" <tr>"); + w.document.writeln(" <td colspan=2 align=center><br><input type=Submit class=button value=Close onClick=\"window.close();\"></td>"); + w.document.writeln(" </tr>"); +<% } else { %> + w.document.writeln(" <tr class=rbg1 height=30>"); + w.document.writeln(" <td> </td>"); + w.document.writeln(" <td> </td>"); + w.document.writeln(" </tr>"); +<% } // if +%> + w.document.writeln("</table>"); + + w.document.writeln("</body></html>"); + w.document.close(); +} // showFormFieldPopup + +function exprFormulaChange(handleText) { + var exprValue = ""; + exprValue = document.forma.exprFormula.options[document.forma.exprFormula.selectedIndex].value; + + if(handleText) + if(exprValue!='_exprText_') { + document.forma.exprText.value = ''; + document.forma.exprText.disabled = true; + } else + document.forma.exprText.disabled = false; + + var oldColType = ""; + oldColType = document.forma.colType.value; + + if((exprValue=="")||(exprValue=="MAX(")||(exprValue=="MIN(")||(exprValue=="_exprText_")) + document.forma.colType.value = document.forma.dbColType.value; + else + document.forma.colType.value = "<%= AppConstants.CT_NUMBER %>"; + + if(document.forma.colType.value!=oldColType) { + // Updating displayFormat select list + document.forma.displayFormat.options.length = 0; + + if(document.forma.colType.value=="<%= AppConstants.CT_NUMBER %>") { + <% for(int i=0; i<numberFormats.length; i++) { %> + document.forma.displayFormat.options[<%= i %>] = new Option("<%= numberFormats[i] %>", "<%= numberFormats[i] %>"); + <% } %> + } else if(document.forma.colType.value=="<%= AppConstants.CT_DATE %>") { + <% for(int i=0; i<dateFormats.length; i++) { %> + document.forma.displayFormat.options[<%= i %>] = new Option("<%= dateFormats[i] %>", "<%= dateFormats[i] %>"); + <% } %> + } else { + <% for(int i=0; i<charFormats.length; i++) { %> + document.forma.displayFormat.options[<%= i %>] = new Option("<%= charFormats[i] %>", "<%= charFormats[i].equals("N/A")?"":charFormats[i] %>"); + <% } %> + } // else + + document.forma.displayFormat.selectedIndex = 0; +<% if(! isCrossTab) { %> + setTotalDropDownValues(document.forma.colType.value=="<%= AppConstants.CT_NUMBER %>"); +<% } %> + if(document.layers) + history.go(0); + } // if +} // exprFormulaChange + +<% if(! isEdit) { %> +function columnDetailsChange() { + var selText = ""; + selText = document.forma.columnDetails.options[document.forma.columnDetails.selectedIndex].text; + document.forma.displayName.value = selText.substr(selText.indexOf('.')+1); + + var selValue = ""; + selValue = document.forma.columnDetails.options[document.forma.columnDetails.selectedIndex].value; + document.forma.dbColType.value = selValue.substr(selValue.lastIndexOf('|')+1); + + exprFormulaChange(false); + + document.forma.displayFormat.selectedIndex = 0; +} // columnDetailsChange +<% } %> + +function showMapPopup() { + var colType = document.forma.colType.value; + var displayName = document.forma.displayName.value; + var displayFormat = document.forma.displayFormat.options[document.forma.displayFormat.selectedIndex].value; +<% if(isEdit) { %> + var colName = "<%= currColumn.getDbColName() %>"; + var tableId = "<%= rdef.getColumnTableById(currColumn.getColId()).getTableId() %>"; +<% } else { %> + var selValue = ""; + selValue = document.forma.columnDetails.options[document.forma.columnDetails.selectedIndex].value; + var colName = selValue.substr(selValue.indexOf('|')+1, selValue.lastIndexOf('|')-selValue.indexOf('|')-1); + var tableId = selValue.substr(0, selValue.indexOf('|')); +<% } %> + var w = window.open("<%= AppUtils.getRaptorActionURL() %>report.popup.map&colName="+colName+"&colType="+colType+"&displayName="+escape(displayName)+"&displayFormat="+escape(displayFormat)+"&tableId="+tableId, "mapPopup", "width=400,height=400,location=no,menubar=no,toolbar=no,status=no,resizable=yes,scrollbars=yes"); + w.focus(); + w.opener = this; +} // showMapPopup +<% } // if(! isSQLBased) +%> + +function verifyCrossTabSemaphore() { +<% if(isCrossTab) { %> + if( (document.forma.crossTabValue.options[document.forma.crossTabValue.selectedIndex].value!="<%= AppConstants.CV_VALUE %>") + &&(document.forma.semaphore.selectedIndex!=0)) { + alert("You cannot assign Advanced Formatting to this column unless the Column Usage in Cross-Tab is Report values."); + document.forma.semaphore.selectedIndex = 0; + return false; + } +<% } %> + return true; +} // verifyCrossTabSemaphore + +function showSemaphorePopup() { + var semaphoreId = ""; + semaphoreId = document.forma.semaphore.options[document.forma.semaphore.selectedIndex].value; + var w = window.open("<%= AppUtils.getRaptorActionURL() %>report.popup.semaphore&semaphoreId="+semaphoreId, "semaphorePopup", "width=720,height=400,location=no,menubar=no,toolbar=no,status=yes,resizable=yes,scrollbars=yes"); + w.focus(); + w.opener = this; +} // showSemaphorePopup + +function updateSemaphoreList(semId, semName) { // Returns the position of the current semaphore in the list + var lSize = 0; + var selIdx = 0; + lSize = document.forma.semaphore.options.length; + selIdx = document.forma.semaphore.selectedIndex; + for(var i=0; i<lSize; i++) + if(document.forma.semaphore.options[i].value==semId) { + if(document.forma.semaphore.options[i].text!=semName) { + document.forma.semaphore.options[i] = new Option(semName, semId); + document.forma.semaphore.selectedIndex = selIdx; + } // if + + return i; + } // if + + document.forma.semaphore.options[lSize] = new Option(semName, semId); + return lSize; +} // updateSemaphoreList + +function showSemaphoreImportPopup() { + if(document.forma.drillDownCtl.selectedIndex==0||document.forma.drillDownCtl.selectedIndex<=tableDrillDownCount) { + alert("You need to select a report from the list, and then click this button\n"+ + "to import all the Advanced Display Formattings from selected report into\n"+ + "this report. No Advanced Display Formattings have been imported."); + return; + } // if + + var ddValue = ""; + ddValue = document.forma.drillDownCtl.options[document.forma.drillDownCtl.selectedIndex].value; + var w = window.open("<%= AppUtils.getRaptorActionURL() %>report.popup.import.semaphore&<%= AppConstants.RI_REPORT_ID %>="+ddValue, "semaphoreImportPopup", "width=400,height=250,location=no,menubar=no,toolbar=no,status=yes,resizable=yes,scrollbars=yes"); + w.focus(); + w.opener = this; +} // showSemaphoreImportPopup + +function showImageOptions() { + var selectionType= document.forma.anchor.options[document.forma.anchor.selectedIndex].value; + if (selectionType == "IMAGE") { + //document.getElementById("imageSelectionDiv").style.display='block'; + } else { + document.getElementById("imageSelectionDiv").style.display='none'; + } +} + +function showDisplayFormats() { + + var colType= document.forma.colType.options[document.forma.colType.selectedIndex].value; + if (colType == "<%=AppConstants.CT_HYPERLINK%>") { + document.getElementById("dataFormatDiv").style.display='none'; + //document.getElementById("hyperlinkDiv").style.display='block'; + } else { + document.getElementById("hyperlinkDiv").style.display='none'; + //document.getElementById("dataFormatDiv").style.display='block'; + } + var dataFormat = document.forma.colDataFormat; + dataFormat.options.length = 0; + + dataFormat.options[dataFormat.options.length] = new Option('Select', -1); + if (colType == "<%=AppConstants.CT_NUMBER%>") { + dataFormat.options[dataFormat.options.length] = new Option('9999999990','9999999990'); + dataFormat.options[dataFormat.options.length] = new Option('9,999,999,990','9,999,999,990'); + dataFormat.options[dataFormat.options.length] = new Option('9999999990.99','9999999990.99'); + dataFormat.options[dataFormat.options.length] = new Option('9,999,999,990.99','9,999,999,990.99'); + dataFormat.options[dataFormat.options.length] = new Option('$9,999,999,990.99','$9,999,999,990.99'); + dataFormat.options[dataFormat.options.length] = new Option('$9,999,999,990.999','$9,999,999,990.999'); + var lSize = dataFormat.options.length; + for(var i=0; i<lSize; i++) { + if(dataFormat.options[i].value=="<%=currColumn.getColFormat()%>") { + dataFormat.options[i].selected = true; + } + } + if(document.getElementById("filterDateColumn")) document.getElementById("filterDateColumn").style.display = "none"; + + } + if (colType == "<%=AppConstants.CT_DATE%>") { + dataFormat.options[dataFormat.options.length] = new Option('MM/DD/YYYY','MM/DD/YYYY'); + dataFormat.options[dataFormat.options.length] = new Option('MM/YYYY','MM/YYYY'); + dataFormat.options[dataFormat.options.length] = new Option('DD-MON-YYYY','DD-MON-YYYY'); + dataFormat.options[dataFormat.options.length] = new Option('Month DD, YYYY','Month DD, YYYY'); + dataFormat.options[dataFormat.options.length] = new Option('Month, YYYY','Month, YYYY'); + dataFormat.options[dataFormat.options.length] = new Option('MM/DD/YYYY HH24:MI:SS','MM/DD/YYYY HH24:MI:SS'); + dataFormat.options[dataFormat.options.length] = new Option('YYYY/MM/DD HH24:MI:SS','YYYY/MM/DD HH24:MI:SS'); + dataFormat.options[dataFormat.options.length] = new Option('YYYY','YYYY'); + var lSize = dataFormat.options.length; + for(var i=0; i<lSize; i++) { + if(dataFormat.options[i].value=="<%=currColumn.getColFormat()%>") { + dataFormat.options[i].selected = true; + } + } + //if(document.getElementById("filterDateColumn")) document.getElementById("filterDateColumn").style.display = "block"; + + } + if (colType == "<%=AppConstants.CT_CHAR%>") { + dataFormat.options[dataFormat.options.length] = new Option('N/A','N/A'); + if(document.getElementById("filterDateColumn")) document.getElementById("filterDateColumn").style.display = "none"; + } + + +} +//--> +</script> + +<table width="100%" class="tableBorder" border="0" cellspacing="1" cellpadding="3" align=center> + <tr> + <td class=rbg1 colspan=2 valign="Middle"><b class=rtableheader>Step <%= ws.getCurrentStepIndex() %> of <%= ws.getStepCount() %> - Report <%= ws.getCurrentStep() %> - <%= curSubStep %></b></td> + </tr> +<% if(isSQLBased) { %> + <tr> + <td class=rbg2 align="right" width="25%" height="30" style="background-image:url(<%= AppUtils.getImgFolderURL() %>required.gif); background-position:top right; background-repeat:no-repeat;"><font class=rtabletext>Column ID: </font></td> + <td class=rbg3 align="left" width="50%"><font class=rtabletext> + <%= currColumn.getColId() %> + </font></td> + </tr> + <tr> + <td class=rbg2 align="right" width="25%" height="30" style="background-position:top right; background-repeat:no-repeat;"><font class=rtabletext>Depends on formfield: </font></td> + <td class=rbg3 align="left" width="50%"><font class=rtabletext> + <input type="text" style="width: 200px;" name="dependsOnFormField" value="<%= nvl(dependsOnFormField,"")%>"></input> </tr> +<% } // if(! isSQLBased) +%> +<% if(isCrossTab) { %> + <tr> + <td class=rbg2 align="right" width="25%" height="30" style="background-image:url(<%= AppUtils.getImgFolderURL() %>required.gif); background-position:top right; background-repeat:no-repeat;"><font class=rtabletext>Column Usage in Cross-Tab: </font></td> + <td class=rbg3 align="left" width="50%"><font class=rtabletext> + <select name="crossTabValue"onChange="setTotalDropDownValues(this.options[this.selectedIndex].value=='<%= AppConstants.CV_VALUE %>')"> + <option value="<%= AppConstants.CV_ROW %>"<%= isEdit?(nvl(currColumn.getCrossTabValue()).equals(AppConstants.CV_ROW)?" selected":""):" selected" %>><%= rdef.getCrossTabDisplayValue(AppConstants.CV_ROW) %> + <option value="<%= AppConstants.CV_COLUMN %>"<%= (isEdit&&nvl(currColumn.getCrossTabValue()).equals(AppConstants.CV_COLUMN))?" selected":"" %>><%= rdef.getCrossTabDisplayValue(AppConstants.CV_COLUMN) %> + <option value="<%= AppConstants.CV_VALUE %>"<%= (isEdit&&nvl(currColumn.getCrossTabValue()).equals(AppConstants.CV_VALUE))?" selected":"" %>><%= rdef.getCrossTabDisplayValue(AppConstants.CV_VALUE) %> + <option value=""<%= (isEdit&&(nvl(currColumn.getCrossTabValue()).length()==0))?" selected":"" %>>Invisible/Filter + </select></font></td> + </tr> +<% } %> +<% if(! isSQLBased) { %> + <tr> + <td class=rbg2 align="right" width="25%" height="30" style="background-image:url(<%= AppUtils.getImgFolderURL() %>required.gif); background-position:top right; background-repeat:no-repeat;"><font class=rtabletext>Table Column: </font></td> + <td class=rbg3 align="left" width="50%"><font class=rtabletext> + <% if(isEdit) { %> + <%= nvl(rdef.getColumnLabel(currColumn), currColumn.getDbColName()) /*currColumn.getColName()*/ %> + <% } else { %> + <select name="columnDetails" onChange="columnDetailsChange();"> +<% int icnt = 0; + String remoteDbPrefix = dbInfo; + for(Iterator iter=rdef.getDataSourceList().getDataSource().iterator(); iter.hasNext(); ) { + DataSourceType dst = (DataSourceType) iter.next(); + + Vector dbColumns = DataCache.getReportTableDbColumns(dst.getTableName().toUpperCase(),remoteDbPrefix); + if(dbColumns!=null) + for(int i=0; i<dbColumns.size(); i++) { + DBColumnInfo dbCol = (DBColumnInfo) dbColumns.get(i); + //if(dst.getTableName().toUpperCase().equals(dbCol.getTableName())) { +%> + <option value="<%= dst.getTableId() %>|<%= dbCol.getColName() %>|<%= dbCol.getColType() %>"<%= (icnt==0)?" selected":"" %>>[<%= dst.getDisplayName() %>].<%= dbCol.getLabel() %> +<% if(icnt==0) { + dispName = dbCol.getLabel(); + dbColType = dbCol.getColType(); + colType = dbColType; + } + icnt++; + //} // if + } // for + } // for +%> + </select> + <% } %> + <input type="hidden" name="dbColType" value="<%= dbColType %>"> + <input type="hidden" name="colType" value="<%= colType %>"> + </font></td> + </tr> +<% } // if(! isSQLBased) +%> + +<% if(isSQLBased) { %> + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>Datatype: </font></td> + <td class=rbg3 align="left" nowrap><font class=rtabletext> + <select name="colType" style="width: 100px;" onChange="showDisplayFormats();"> + <option value="0"> Select</option> + <option value="<%=AppConstants.CT_NUMBER%>" <%=currColumn.getColType().equals(AppConstants.CT_NUMBER)?" selected": ""%>> Number </option> + <option value="<%=AppConstants.CT_DATE%>" <%=currColumn.getColType().equals(AppConstants.CT_DATE)?" selected": ""%>> Date</option> + <option value="<%=AppConstants.CT_CHAR%>" <%=currColumn.getColType().equals(AppConstants.CT_CHAR)?" selected": ""%>> Character</option> + <option value="<%=AppConstants.CT_HYPERLINK%>" <%=currColumn.getColType().equals(AppConstants.CT_HYPERLINK)?" selected": ""%>> Hyperlink</option> + </select> + </font> + </td> + </tr> + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>Group By Pos: </font></td> + <td class=rbg3 align="left" nowrap><font class=rtabletext> + <select name="groupByPos" style="width: 100px;"> + <option value="0"> Select</option> + <option value="1" <%=(currColumn.getGroupByPos()!=null && currColumn.getGroupByPos()==1)?" selected": ""%>> 1 </option> + </select> + </font> + </td> + </tr> + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>Custom Text for Sub-Total: </font></td> + <td class=rbg3 align="left" nowrap><font class=rtabletext> + <font class=rtabletext> + <input type="text" size="30" maxlength="500" style="width: 100px;" class=rtabletext name="subTotalCustomText" value="<%= isEdit?(currColumn.getSubTotalCustomText()!=null?currColumn.getSubTotalCustomText():"Sub Total"):"Sub Total" %>"/> + </font> + </font> + </td> + </tr> + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>Hide Repeated Values : </font></td> + <td class=rbg3 width="50%" align="left" nowrap><font class=rtabletext> + <input type="checkbox" name="hideRepeatedKeys" value="Y" <%=(currColumn.isHideRepeatedKey()!=null && currColumn.isHideRepeatedKey().booleanValue())?" checked":"" %>> + </font> + </td> + </tr> + + + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>Multi group Column Level: </font></td> + <td class=rbg3 align="left" nowrap><font class=rtabletext> + <select name="multiGroupColLevel" style="width: 100px;"> + <option value="0"> Select</option> + <option value="-1" <%=(currColumn.getLevel()!=null && currColumn.getLevel()==-1)?" selected": ""%>> AUXILIARY-COLUMN </option> + <option value="1" <%=(currColumn.getLevel()!=null && currColumn.getLevel()==1)?" selected": ""%>> 1 </option> + <option value="2" <%=(currColumn.getLevel()!=null && currColumn.getLevel()==2)?" selected": ""%>> 2 </option> + <option value="3" <%=(currColumn.getLevel()!=null && currColumn.getLevel()==3)?" selected": ""%>> 3 </option> + <option value="4" <%=(currColumn.getLevel()!=null && currColumn.getLevel()==4)?" selected": ""%>> 4 </option> + </select> + </font> + </td> + </tr> + + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>Multi group Column Range : </font> + <font class=rtabletext>Colspan : </font> + </td> + <td class=rbg3 align="left" nowrap> + <font class=rtabletext> + <input type="text" size="30" style="width: 100px;" maxlength="500" class=rtabletext name="colspan" value="<%= isEdit?(currColumn.getColspan()!=null?currColumn.getColspan():""):"" %>"/> + + </font> + </td> + </tr> + + <tr id ="dataFormatDiv"> + <td colspan="2" class=rbg2> + <table width="100%" cellspacing="1" cellpadding="3" align=center> + <tr> + <td class=rbg2 width="25%" align="right" height="30"><font class=rtabletext>Dataformat: </font></td> + <td class=rbg3 width="50%" align="left" nowrap><font class=rtabletext> + <select name="colDataFormat" style="width: 100px;"> + </select> + </font> + </td> + </tr> + <% if(!isCrossTab) { %> + <tr id="filterDateColumn"> + <td class=rbg2 width="25%" align="right" height="30"><font class=rtabletext>Enhanced Pagination: </font></td> + <td class=rbg3 width="50%" align="left" nowrap><font class=rtabletext> + <input type="checkbox" name="enhancedPagination" value="Y" <%=(currColumn.isEnhancedPagination()!=null && currColumn.isEnhancedPagination().booleanValue())?" checked":"" %> /> + </font> + </td> + </tr> + <%} %> + + </table> + </td> + </tr> + <tr id ="hyperlinkDiv"> + <td colspan="2"> + <table width="100%" cellspacing="1" cellpadding="3" align=center> + <tr> + <td class=rbg2 width="25%" align="right" height="30"><font class=rtabletext>URL: </font></td> + <td class=rbg3 width="50%" align="left" nowrap><font class=rtabletext> + <input type="text" size="30" maxlength="500" class=rtabletext name="hyperlinkURL" value="<%= isEdit?currColumn.getHyperlinkURL():"" %>"/> + </font> + </td> + </tr> + + <tr> + <td class=rbg2 width="25%" align="right" height="30"><font class=rtabletext>Anchor: </font></td> + <td class=rbg3 width="50%" align="left" nowrap><font class=rtabletext> + <select name="anchor" onChange="showImageOptions()"> + <option value="0"> Select</option> + <option value="VALUE" <%=nvl(currColumn.getHyperlinkType()).equals("VALUE")?" selected": ""%>> Value Of the Column </option> + <option value="IMAGE" <%=nvl(currColumn.getHyperlinkType()).equals("IMAGE")?" selected": ""%>> IMAGE</option> + </select> + </font> + </td> + </tr> + <tr id="imageSelectionDiv" style="display:none;"> + <td class=rbg2 width="25%" height="30" align="right"> + <font class=rtabletext>Select Image for anchor: </font> + </td> + <td width="50%" align="left"> + <font class=rtabletext> + <select id = "actionImg" name="actionImg" > + <option value=''> <!-- SELECT --></option> + <% + if(!actionImgMap.isEmpty()) { + for( Iterator itr=actionImgMap.entrySet().iterator(); itr.hasNext(); ) { + Map.Entry e = (Map.Entry)itr.next(); + String image_id = (String)e.getKey(); + String image_loc = (String)e.getValue(); + %> + <% + if (nvl(AppUtils.getRequestNvlValue(request, "actionImg")).length()>0 && !(AppUtils.getRequestNvlValue(request, "pdfImg").equals(currColumn.getActionImg())) ) { + if(image_loc .equals (AppUtils.getRequestNvlValue(request, "actionImg"))) { + %> + + <option value='<%= image_loc %>' selected> <%=image_id %></option> + <% + } else { + %> + <option value='<%= image_loc %>'> <%=image_id %></option> + <% + } + } else { + if(image_loc .equals (currColumn.getActionImg())) { + %> + + <option value='<%= image_loc %>' selected> <%=image_id %> </option> + <% + + } else { + %> + <option value='<%= image_loc %>'> <%=image_id %></option> + <% + } + } + %> + + <% } + } + %> + </select> + </font> + </td> + </tr> + </table> + </td> + </tr> +<% } %> + <tr> + <td class=rbg2 align="right" height="30" style="background-image:url(<%= AppUtils.getImgFolderURL() %>required.gif); background-position:top right; background-repeat:no-repeat;"><font class=rtabletext>Display Name: </font></td> + <td class=rbg3 align="left"><font class=rtabletext> + <input type="text" style="width: 100px;" size="30" maxlength="60" class=rtabletext name="displayName" value="<%= isEdit?currColumn.getDisplayName():dispName %>"></font></td> + </tr> +<% if(! isSQLBased) { %> + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>Display Format: </font></td> + <td class=rbg3 align="left" nowrap><font class=rtabletext> + <!--input type="text" size="20" maxlength="30" name="displayFormat" value="< %= isEdit?nvl(currColumn.getColFormat()):"" % >" onFocus="blur();"></font> + <a href="javascript:showFormatPopup()"><img border="0" src="<%= AppUtils.getImgFolderURL() %>shareicon.gif" alt="Select from list" width="12" height="12"></a--> + <select name="displayFormat" style="width: 100px;" > + <% String[] fmt; + if(colType.equals(AppConstants.CT_NUMBER)) + fmt = numberFormats; + else if(colType.equals(AppConstants.CT_DATE)) + fmt = dateFormats; + else + fmt = charFormats; + for(int i=0; i<fmt.length; i++) { %> + <option value="<%= fmt[i].equals("N/A")?"":(fmt[i].startsWith("Month")?("fm"+fmt[i]):fmt[i]) %>"<%= (isEdit&&(nvl(currColumn.getColFormat()).toUpperCase().equals(fmt[i].toUpperCase())||("fm"+nvl(currColumn.getColFormat())).toUpperCase().equals(fmt[i].toUpperCase())))?" selected":"" %>><%= fmt[i] %> + <% } %> + </select></font></td> + </tr> +<% } // if(! isSQLBased) +%> + +<% if (false) { %> + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>Display Width: </font></td> + <td class=rbg3 align="left"><font class=rtabletext> + <% if (currColumn.getDisplayWidth()<=0) { currColumn.setDisplayWidth(10); } %> + <select name="displayWidth" style="width: 100px;" onKeyDown="fnKeyDownHandler(this, event);" onKeyUp="fnKeyUpHandler_A(this, event); return false;" onKeyPress = "return fnKeyPressHandler_A(this, event);" onChange="fnChangeHandler_A(this, event);"> + <option value="" style="COLOR:#ff0000;BACKGROUND-COLOR:#ffff00;">Custom</option> <!-- This is the Editable Option --> + <option value="10"<%= (isEdit&&(currColumn.getDisplayWidth()<=0 || currColumn.getDisplayWidth()==10))?"":" selected" %>>10% + <option value="20"<%= (isEdit&&(currColumn.getDisplayWidth()==20))?" selected":"" %>>20% + <option value="30"<%= (isEdit&&(currColumn.getDisplayWidth()==30))?" selected":"" %>>30% + <option value="40"<%= (isEdit&&(currColumn.getDisplayWidth()==40))?" selected":"" %>>40% + <option value="50"<%= (isEdit&&(currColumn.getDisplayWidth()==50))?" selected":"" %>>50% + <option value="60"<%= (isEdit&&(currColumn.getDisplayWidth()==60))?" selected":"" %>>60% + <option value="70"<%= (isEdit&&(currColumn.getDisplayWidth()==70))?" selected":"" %>>70% + <option value="80"<%= (isEdit&&(currColumn.getDisplayWidth()==80))?" selected":"" %>>80% + <option value="90"<%= (isEdit&&(currColumn.getDisplayWidth()==90))?" selected":"" %>>90% + <option value="100"<%= (isEdit&&(currColumn.getDisplayWidth()==100))?" selected":"" %>>100% + <% if(!((currColumn.getDisplayWidth()%10 == 0) && (currColumn.getDisplayWidth() > 100)) ) { + %> + <option value="<%=currColumn.getDisplayWidth()%>" selected><%=currColumn.getDisplayWidth()%>%</option> + <% + } + %> + + </select></font></td> + </tr> + <% } %> + <% System.out.println("WidthInPxls " + currColumn.getDisplayWidthInPxls()); %> + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>Display Width (In Pxls): </font></td> + <td class=rbg3 align="left"><font class=rtabletext> + <input type="text" style="width: 100px;" class="rtabletext" size="40" maxlength="100" id="widthInPxls" name="widthInPxls" value="<%= (nvl(AppUtils.getRequestNvlValue(request, "widthInPxls")).length() > 0)? + (!(AppUtils.getRequestNvlValue(request, "widthInPxls").equals(currColumn.getDisplayWidthInPxls()))? + AppUtils.getRequestNvlValue(request, "widthInPxls"):currColumn.getDisplayWidthInPxls()): + currColumn.getDisplayWidthInPxls() %>"> + +</font></td> + </tr> + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>No Wrap ? </font></td> + <td class=rbg3 align="left"><font class=rtabletext> + <select name="nowrap" style="width: 100px;" > + <option value="Y"<%= isEdit?(nvl(currColumn.getNowrap(),"N").startsWith("Y")?" selected":(!nvl(currColumn.getNowrap(),"False").startsWith("N") && org.openecomp.portalsdk.analytics.system.Globals.IsGlobalNoWrap()?" selected": "")):"" %>>Yes + <option value="N"<%= (isEdit&&(nvl(currColumn.getNowrap(),"False").startsWith("N")))?" selected":"" %>>No + </select></font></td> + </tr> + + <tr> + <td class=rbg2 height="30" align="right"><font class=rtabletext>Indent Parameter to display value </font> + </td> + <td class=rbg3 align="left"> + <select name="indentation" style="width: 100px;" > + <option value="0"> Select</option> + <option value="1" <%= AppUtils.getRequestNvlValue(request, "indentation").equals("1") ? " selected":((AppUtils.getRequestNvlValue(request, "indentation").length()<=0)?(currColumn.getIndentation()!=null && currColumn.getIndentation().intValue()==1?" selected":""):"") %>> 1 </option> + <option value="2" <%= AppUtils.getRequestNvlValue(request, "indentation").equals("2") ? " selected":((AppUtils.getRequestNvlValue(request, "indentation").length()<=0)?(currColumn.getIndentation()!=null && currColumn.getIndentation().intValue()==2?" selected":""):"") %>> 2 </option> + <option value="3" <%= AppUtils.getRequestNvlValue(request, "indentation").equals("3") ? " selected":((AppUtils.getRequestNvlValue(request, "indentation").length()<=0)?(currColumn.getIndentation()!=null && currColumn.getIndentation().intValue()==3?" selected":""):"") %>> 3 </option> + </select> + </td> + </tr> + + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>Display Alignment: </font></td> + <td class=rbg3 align="left"><font class=rtabletext> + <select name="displayAlign" style="width: 100px;" > + <option value="Left"<%= isEdit?(nvl(currColumn.getDisplayAlignment(), "Left").equals("Left")?" selected":""):" selected" %>>Left + <option value="Center"<%= (isEdit&&nvl(currColumn.getDisplayAlignment()).equals("Center"))?" selected":"" %>>Center + <option value="Right"<%= (isEdit&&nvl(currColumn.getDisplayAlignment()).equals("Right"))?" selected":"" %>>Right + </select></font></td> + </tr> + + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>Display (Header) Alignment: </font></td> + <td class=rbg3 align="left"><font class=rtabletext> + <select name="displayHeaderAlign" style="width: 100px;" > + <option value="Left"<%= isEdit?(nvl(currColumn.getDisplayHeaderAlignment(), "Left").equals("Left")?" selected":""):" selected" %>>Left + <option value="Center"<%= (isEdit&&nvl(currColumn.getDisplayHeaderAlignment()).equals("Center"))?" selected":"" %>>Center + <option value="Right"<%= (isEdit&&nvl(currColumn.getDisplayHeaderAlignment()).equals("Right"))?" selected":"" %>>Right + </select></font></td> + </tr> + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>Sortable? </font></td> + <td class=rbg3 align="left"><font class=rtabletext> + <select name="sortable" style="width: 100px;" > + <option value="N"<%= isEdit?((currColumn.isIsSortable()!=null && !currColumn.isIsSortable())?" selected":""):" selected" %>>No + <option value="Y"<%= (isEdit&&currColumn.isIsSortable()!=null && currColumn.isIsSortable())?" selected":"" %>>Yes + </select></font></td> + </tr> + + + <% if(! isCrossTab) { %> + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>Visible? </font></td> + <td class=rbg3 align="left"><font class=rtabletext> + <select name="visible" style="width: 100px;" > + <option value="Y"<%= isEdit?(currColumn.isVisible()?" selected":""):" selected" %>>Yes + <option value="N"<%= (isEdit&&(! currColumn.isVisible()))?" selected":"" %>>No + </select></font></td> + </tr> + <% if(! isSQLBased) { %> + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>Group By? </font></td> + <td class=rbg3 align="left"><font class=rtabletext> + <select name="groupBreak" style="width: 100px;" > + <option value="Y"<%= (isEdit&&currColumn.isGroupBreak())?" selected":"" %>>Yes + <option value="N"<%= isEdit?(currColumn.isGroupBreak()?"":" selected"):" selected" %>>No + </select></font></td> + </tr> + <% } %> + <% } %> + <!--tr class=rbg2> + <td class=rbg2 height="30" align="right" width="25%"><font face="Arial, Helvetica, sans-serif" size="1" class=rtabletext>Column Type </font></td> + <td align="left" width="50%" class=rbg3><font face="Arial, Helvetica, sans-serif" size="1" class=rtabletext> + <select name="calculated"> + <option value="N"< %= (isEdit&&currColumn.isCalculated())?"":" selected" % >>Table Column + <option value="Y"< %= (isEdit&&currColumn.isCalculated())?" selected":"" % >>Expression + </select></font></td> + </tr--> + <% if(! isSQLBased) { %> +<% +boolean isOtherExpr = isEdit&&currColumn.isCalculated()&& + (! nvl(currColumn.getColName()).startsWith("SUM( "))&& + (! nvl(currColumn.getColName()).startsWith("MAX( "))&& + (! nvl(currColumn.getColName()).startsWith("MIN( "))&& + (! nvl(currColumn.getColName()).startsWith("COUNT(*)"))&& + (! nvl(currColumn.getColName()).startsWith("COUNT(ALL "))&& + (! nvl(currColumn.getColName()).startsWith("COUNT(DISTINCT "))&& + (! nvl(currColumn.getColName()).startsWith("AVG(ALL "))&& + (! nvl(currColumn.getColName()).startsWith("AVG(DISTINCT "))&& + (! nvl(currColumn.getColName()).startsWith("STDDEV(ALL "))&& + (! nvl(currColumn.getColName()).startsWith("STDDEV(DISTINCT "))&& + (! nvl(currColumn.getColName()).startsWith("VARIANCE(ALL "))&& + (! nvl(currColumn.getColName()).startsWith("VARIANCE(DISTINCT ")); +%> + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>Expression: </font></td> + <td class=rbg3 align="left"><font class=rtabletext> + <select name="exprFormula" onChange="exprFormulaChange(true);" style="width: 100px;" > + <option value=""<%= (isEdit&&currColumn.isCalculated())?"":" selected" %>> + <option value="SUM("<%= (isEdit&&currColumn.isCalculated()&&nvl(currColumn.getColName()).startsWith("SUM( "))?" selected":"" %>>Sum + <option value="MAX("<%= (isEdit&&currColumn.isCalculated()&&nvl(currColumn.getColName()).startsWith("MAX( "))?" selected":"" %>>Max + <option value="MIN("<%= (isEdit&&currColumn.isCalculated()&&nvl(currColumn.getColName()).startsWith("MIN( "))?" selected":"" %>>Min + <option value="COUNT(*)"<%= (isEdit&&currColumn.isCalculated()&&(nvl(currColumn.getColName()).startsWith("COUNT(*)")||nvl(currColumn.getColName()).startsWith("COUNT(ALL ")))?" selected":"" %>>Count All + <option value="COUNT(DISTINCT"<%= (isEdit&&currColumn.isCalculated()&&nvl(currColumn.getColName()).startsWith("COUNT(DISTINCT "))?" selected":"" %>>Count Distinct + <option value="AVG(ALL"<%= (isEdit&&currColumn.isCalculated()&&nvl(currColumn.getColName()).startsWith("AVG(ALL "))?" selected":"" %>>Average All + <option value="AVG(DISTINCT"<%= (isEdit&&currColumn.isCalculated()&&nvl(currColumn.getColName()).startsWith("AVG(DISTINCT "))?" selected":"" %>>Average Distinct + <option value="STDDEV(ALL"<%= (isEdit&&currColumn.isCalculated()&&nvl(currColumn.getColName()).startsWith("STDDEV(ALL "))?" selected":"" %>>Standard Deviation All + <option value="STDDEV(DISTINCT"<%= (isEdit&&currColumn.isCalculated()&&nvl(currColumn.getColName()).startsWith("STDDEV(DISTINCT "))?" selected":"" %>>Standard Deviation Distinct + <option value="VARIANCE(ALL"<%= (isEdit&&currColumn.isCalculated()&&nvl(currColumn.getColName()).startsWith("VARIANCE(ALL "))?" selected":"" %>>Variance All + <option value="VARIANCE(DISTINCT"<%= (isEdit&&currColumn.isCalculated()&&nvl(currColumn.getColName()).startsWith("VARIANCE(DISTINCT "))?" selected":"" %>>Variance Distinct + <option value="_exprText_"<%= isOtherExpr?" selected":"" %>>---------- Other ---------- + </select></font></td> + </tr> + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>Expression Other: </font></td> + <td class=rbg3 align="left" nowrap><font class=rtabletext> + <input type="text" size="30" name="exprText"<%= isOtherExpr?" value=\""+nvl(currColumn.getColName())+"\"":" value=\"\" disabled" %> onFocus="if(document.forma.exprFormula.options[document.forma.exprFormula.selectedIndex].value!='_exprText_') blur();"></font> + <a href="javascript:showMapPopup()"><img border="0" src="<%= AppUtils.getImgFolderURL() %>shareicon.gif" alt="Define custom values mapping" width="12" height="12"></a> + <a href="javascript:showFormFieldPopup()"><font class=rtabletext>Form Fields</font></a> + </td> + </tr> +<% } // if(! isSQLBased) +%> +<%-- if(! isCrossTab) { --%> + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>Drill-down Link: </font></td> + <td class=rbg3 align="left"><font class=rtabletext> + <input type="hidden" name="drillDownURL" value="<%= isEdit?nvl(currColumn.getDrillDownURL()):"" %>"> + <input type="hidden" name="drillDownParams" value="<%= isEdit?nvl(currColumn.getDrillDownParams()):"" %>"> + <input type="hidden" name="drillDownSuppress" value="<%= isEdit?nvl(currColumn.getDrillDownType()):"" %>"> + <input type="hidden" name="drillDownRequest" value="<%= isEdit?getRequestParam(currColumn.getDrillDownParams()):"" %>"> + <input type="hidden" name="drillDownPopUp" value="<%= isEdit?(currColumn.isDrillinPoPUp()!=null?currColumn.isDrillinPoPUp():""):"" %>"> + <select name="drillDownCtl" onChange="showDrillDownPopup(true)" style="width: 300px;" > + <option value=""<%= (isEdit&&nvl(currColumn.getDrillDownURL()).length()>0)?"":" selected" %>>----- No Drill-down ----- + <% int tableDrillDownCount = 0; + if(! isCrossTab) + for(int i=0; i<reportTableSources.size(); i++) { + TableSource tableSource = (TableSource) reportTableSources.get(i); + if(nvl(tableSource.getViewAction()).length()>0&&rdef.getTableByDBName(tableSource.getTableName())!=null) { + tableDrillDownCount++; %> + <option value="<%= tableSource.getViewAction() %>"<%= (isEdit&&nvl(currColumn.getDrillDownURL()).equals(AppUtils.getBaseActionURL()+tableSource.getViewAction()))?" selected":"" %>><%= tableSource.getDisplayName() %> Record Details + <% } // if + } // for + + Vector publicReportIdNames = DataCache.getPublicReportIdNames(); + for(int i=0; i<publicReportIdNames.size(); i++) { + IdNameValue reportIdName = (IdNameValue) publicReportIdNames.get(i); %> + <option value="<%= reportIdName.getId() %>"<%= (isEdit&&nvl(currColumn.getDrillDownURL()).equals(reportIdName.getId()))?" selected":"" %>>Public Report: <%= reportIdName.getName() %> + <% } %>: + + <% + //if(!AppUtils.isSuperUser(request)) { + Vector groupReportIdNames = DataCache.getGroupAccessibleReportIdNames(AppUtils.getUserID(request),AppUtils.getUserRoles(request)); + for(int j=0; j<groupReportIdNames.size(); j++) { + IdNameValue reportIdName = (IdNameValue) groupReportIdNames.get(j); %> + <option value="<%= reportIdName.getId() %>"<%= (isEdit&&nvl(currColumn.getDrillDownURL()).equals(reportIdName.getId()))?" selected":"" %>>Group Report: <%= reportIdName.getName() %> + <% } %> + <%// } + %> + <% + //if(!AppUtils.isSuperUser(request)) { + Vector privateReportIdNames = DataCache.getPrivateAccessibleReportIdNames(AppUtils.getUserID(request),AppUtils.getUserRoles(request)); + for(int j=0; j<privateReportIdNames.size(); j++) { + IdNameValue reportIdName = (IdNameValue) privateReportIdNames.get(j); %> + <option value="<%= reportIdName.getId() %>"<%= (isEdit&&nvl(currColumn.getDrillDownURL()).equals(reportIdName.getId()))?" selected":"" %>>Private Report: <%= reportIdName.getName() %> + <% } %> + <% // } +%> + </select></font> + <a href="javascript:showDrillDownPopup(false)"><img border="0" src="<%= AppUtils.getImgFolderURL() %>shareicon.gif" alt="Set new parameters configuration" width="12" height="12"></a> + + <a href="javascript:showSemaphoreImportPopup()"><img border="0" src="<%= AppUtils.getImgFolderURL() %>lookup_arrow.gif" alt="Import advanced formatting from selected report" width="17" height="17"></a> + </td> + </tr> +<script language="JavaScript"> +<!-- + tableDrillDownCount = <%= tableDrillDownCount %>; +//--> +</script> + <% String curSemId = ""; + if(isEdit) + curSemId = nvl(currColumn.getSemaphoreId()); %> + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>Advanced Display Formatting: </font></td> + <td class=rbg3 align="left" nowrap><font class=rtabletext> + <select name="semaphore"" onChange="verifyCrossTabSemaphore()" style="width: 300px;" > + <option value=""<%= (curSemId.length()==0)?" selected":"" %>>----- Do Not Use Advanced Formatting ----- + <% if(rdef.getSemaphoreList()!=null) + for(Iterator iter=rdef.getSemaphoreList().getSemaphore().iterator(); iter.hasNext(); ) { + SemaphoreType semaphore = (SemaphoreType) iter.next(); %> + <option value="<%= semaphore.getSemaphoreId() %>"<%= curSemId.equals(semaphore.getSemaphoreId())?" selected":"" %>><%= semaphore.getSemaphoreName() %> + <% } // for + %> + </select></font> + <input type="hidden" name="semaphoreTypeHidden" value=""/> + <a href="javascript:showSemaphorePopup()"><img border="0" src="<%= AppUtils.getImgFolderURL() %>shareicon.gif" alt="Define advanced formatting" width="12" height="12"></a> + </td> + </tr> +<%-- } --%> + +<% boolean canHaveTotal = false; + if(isSQLBased) { + //canHaveTotal = (! isCrossTab); + canHaveTotal = (!isCrossTab)||(isEdit&&nvl(currColumn.getCrossTabValue()).equals(AppConstants.CV_VALUE)); + } else { + if(isCrossTab) + canHaveTotal = (isEdit&&nvl(currColumn.getCrossTabValue()).equals(AppConstants.CV_VALUE)); + else + canHaveTotal = colType.equals(AppConstants.CT_NUMBER); + } + + String colTotalRow = ""; + String colTotal = isEdit?nvl(currColumn.getDisplayTotal()):""; + if(isCrossTab&&colTotal.indexOf('|')>=0) { + colTotalRow = colTotal.substring(colTotal.indexOf('|')+1); + colTotal = colTotal.substring(0, colTotal.indexOf('|')); + } %> + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>Total for <%= isCrossTab?"each":"the" %> column: </font></td> + <td class=rbg3 align="left"><font class=rtabletext> + <select name="displayTotal" style="width: 300px;" > + <option value=""<%= (colTotal.length()>0)?"":" selected" %>>--- Do Not Display (Faster Report Execution) --- + <% if(canHaveTotal) { + for(int i=0; i<AppConstants.TOTAL_FUNCTIONS.getCount(); i++) { + IdNameValue tValue = AppConstants.TOTAL_FUNCTIONS.getValue(i); %> + <option value="<%= tValue.getId() %>"<%= (colTotal.startsWith(tValue.getId()))?" selected":"" %>><%= tValue.getName() %> + <% } // for + } // if + %> + </select></font></td> + </tr> +<% if(isCrossTab) { %> + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext>Total for each row </font></td> + <td class=rbg3 align="left"><font class=rtabletext> + <select name="displayTotalPerRow"> + <option value=""<%= (colTotalRow.length()>0)?"":" selected" %>>--- Do Not Display (Faster Report Execution) --- + <% if(canHaveTotal) { + for(int i=0; i<AppConstants.TOTAL_FUNCTIONS.getCount(); i++) { + IdNameValue tValue = AppConstants.TOTAL_FUNCTIONS.getValue(i); %> + <option value="<%= tValue.getId() %>"<%= (colTotalRow.startsWith(tValue.getId()))?" selected":"" %>><%= tValue.getName() %> + <% } // for + } // if + %> + </select></font></td> + </tr> +<% } // if(isCrossTab) +%> +<% if(isSQLBased) { %> + <tr> + <td class=rbg2 align="right" height="30"><font class=rtabletext> </font></td> + <td class=rbg3 align="left"><font class=rtabletext> + <input type="Checkbox" name="no_parse_date" value="Y"<%= (isEdit&&rdef.getColumnNoParseDateFlag(currColumn))?" checked":"" %>> + Do not attempt to parse values as date</font></td> + </tr> +<% } %> +</table> +<br> + +<script language="JavaScript"> +<!-- +function dataValidate() { +<% if(isCrossTab) { + /*if(rdef.getCrossTabColColumns().size()>0) { + // Col headings column already defined + }*/ %> + + if(document.forma.crossTabValue.options[document.forma.crossTabValue.selectedIndex].value=="<%= AppConstants.CV_VALUE %>") { +<% DataColumnType valueCol = rdef.getCrossTabValueColumn(); + if((valueCol!=null)&&((currColumn==null)||(! currColumn.getColId().equals(valueCol.getColId())))) { + // Report data column already defined +%> + alert("There is a column already designated for the report values.\nYou cannot have more than one column for that purpose.\nPlease change the Column Usage in Cross-Tab."); + document.forma.crossTabValue.focus(); + + return false; +<% } else if(! isSQLBased) { %> + if(document.forma.exprFormula.selectedIndex==0) { + alert("The column designated for the report values must be an expression.\nPlease change the Column Type and select Expression."); + document.forma.exprFormula.focus(); + + return false; + } +<% } %> + } else { + verifyCrossTabDrillDown(); + verifyCrossTabSemaphore(); + } +<% } %> + +if(document.forma.displayWidth!=null && document.forma.displayWidth.options.selectedIndex == 0) { + if(!checkNonNegativeInteger(document.forma.displayWidth.options[document.forma.displayWidth.options.selectedIndex].text)) { + alert("Please enter positive number greater than 1% in \"Display Width\". No Characters are allowed."); + return false; + } else { +/* if(eval(document.forma.displayWidth.options[document.forma.displayWidth.options.selectedIndex].text) < 10) { + alert("Please enter positive number less than 10% in \"Desired Container Height\". No Characters are allowed."); + return false; + } +*/ + if(eval(document.forma.displayWidth.options[document.forma.displayWidth.options.selectedIndex].text) > 100) { + alert("Please enter positive number less than 100% in \"Display Width\". No Characters are allowed."); + return false; + } + document.forma.displayWidth.options[document.forma.displayWidth.options.selectedIndex].value=document.forma.displayWidth.options[document.forma.displayWidth.options.selectedIndex].text; + } +} + + if(document.forma.displayName.value=="") + <% if(isEdit) { %> + document.forma.displayName.value = "<%= currColumn.getDisplayName() %>"; + <% } else { %> + document.forma.displayName.value = document.forma.tableName.options[document.forma.tableName.selectedIndex].text.substr(document.forma.tableName.options[document.forma.tableName.selectedIndex].text.indexOf('.')+1); + <% } %> + +<% if(reportCols.size()>0) { %> + if(false +<% for(Iterator iter=reportCols.iterator(); iter.hasNext(); ) { + DataColumnType dc = (DataColumnType) iter.next(); + + if(! (isEdit&&dc.getColId().equals(currColumn.getColId()))) { %> + ||(document.forma.displayName.value=="<%= dc.getDisplayName() %>") +<% } + } %> + ) { + alert("A column with display name "+document.forma.displayName.value+" already exists.\nPlease select another name."); + document.forma.displayName.focus(); + document.forma.displayName.select(); + + return false; + } +<% } %> + + return true; +} // dataValidate +//--> +showDisplayFormats(); +showImageOptions(); +</script> + +<%! + private String nvl(String s) { return (s==null)?"":s; } + private String nvl(String s, String sDefault) { return nvl(s).equals("")?sDefault:s; } + private String getRequestParam(String s) { + if(nvl(s).equals("")) return s; + else { + String requestParam=""; + int pos = 0; + int iCnt = 0; + while(s.indexOf("#",pos)!=-1) { + iCnt++; + if(iCnt>1) requestParam += "|"; + pos = s.indexOf("#",pos)+1; + requestParam += s.substring(s.indexOf("#")+1,s.indexOf("]",pos)); + } + return requestParam; + } + + } +%> |