aboutsummaryrefslogtreecommitdiffstats
path: root/ecomp-sdk-app/src/main/webapp/WEB-INF/fusion/raptor/wizard_columns_edit.jsp
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk-app/src/main/webapp/WEB-INF/fusion/raptor/wizard_columns_edit.jsp')
-rw-r--r--ecomp-sdk-app/src/main/webapp/WEB-INF/fusion/raptor/wizard_columns_edit.jsp1127
1 files changed, 1127 insertions, 0 deletions
diff --git a/ecomp-sdk-app/src/main/webapp/WEB-INF/fusion/raptor/wizard_columns_edit.jsp b/ecomp-sdk-app/src/main/webapp/WEB-INF/fusion/raptor/wizard_columns_edit.jsp
new file mode 100644
index 000000000..cc6b68b08
--- /dev/null
+++ b/ecomp-sdk-app/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>&nbsp;</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>&nbsp;</td>");
+ w.document.writeln(" <td>&nbsp;</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>&nbsp;
+ <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>
+ &nbsp;&nbsp;
+ <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>&nbsp; </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;
+ }
+
+ }
+%>