2 ================================================================================
4 ================================================================================
5 Copyright (C) 2017 AT&T Intellectual Property
6 ================================================================================
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
11 http://www.apache.org/licenses/LICENSE-2.0
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18 ================================================================================
21 Name: wizard_schedule_formfield_include.jsp
22 Use : Shows formfield of the report in the schedule page.
27 28-Aug-2009 : Version 8.5.1 (Sundar); Checkbox and Radio button are also handled.
28 18-Aug-2009 : Version 8.5.1 (Sundar);
30 a) ajax.js is loaded in startup for AJAX functionality.
31 b) showArgPopupNew is modified as per report_form.jsp
32 c) Ajax function is added very similiar to report_form.jsp
33 d) "auto" bug is resolved.
35 14-Jul-2009 : Version 8.4 (Sundar);
38 <LI> Shows the form field of the first Dashboard report in schedule page if the report is dashboard.</LI>
41 <%@ page import="java.io.*" %>
42 <%@ page import="java.util.*" %>
43 <%@ page import="java.text.*" %>
44 <%@ page import="org.openecomp.portalsdk.analytics.model.runtime.*" %>
45 <%@ page import="org.openecomp.portalsdk.analytics.system.*" %>
46 <%@ page import="org.openecomp.portalsdk.analytics.util.*" %>
47 <%@ page import="org.openecomp.portalsdk.analytics.model.definition.ReportDefinition" %>
48 <%@ page import="org.openecomp.portalsdk.analytics.model.ReportHandler" %>
49 <%@ page import="org.openecomp.portalsdk.analytics.xmlobj.JavascriptItemType"%>
50 <%@ page import="java.util.regex.*"%>
51 <%@ page import="javax.servlet.http.*"%>
52 <%@ page import="org.openecomp.portalsdk.analytics.model.definition.ReportSchedule" %>
56 ReportDefinition rdef = (ReportDefinition) request.getAttribute(AppConstants.SI_REPORT_DEFINITION);
57 ReportHandler rh = new ReportHandler();
58 ReportRuntime rr = rh.loadReportRuntime(request, rdef.getReportID());
59 request.getSession().setAttribute(AppConstants.SI_REPORT_RUNTIME, rr);
60 boolean isDashboard = rr.isDashboardType();
61 ReportFormFields rff = rr.getReportFormFields();
62 ReportFormFields rff1 = (ReportFormFields) rff.clone();
63 ReportFormFields rff2 = (ReportFormFields) rff.clone();
64 ReportFormFields rff5 = (ReportFormFields) rff.clone();
65 boolean isFirstTime = nvl(request.getParameter("refresh")).toUpperCase().startsWith("Y");
66 ReportSchedule reportSchedule = (ReportSchedule) request.getSession().getAttribute(AppConstants.SI_REPORT_SCHEDULE);
68 int dashboardFlag = 0;
69 ReportRuntime rr1 = null;
70 java.text.SimpleDateFormat sdf = null;
74 <script language="JavaScript" src="<%= AppUtils.getBaseFolderURL() %>js/raptor.js"></script>
75 <script language="JavaScript" src="<%= AppUtils.getBaseFolderURL() %>js/ajax.js"></script>
76 <%--=(rr.getJavascriptElement()!=null && rr.getJavascriptElement().length()>0)?rr.getJavascriptElement().replaceAll("formd","forma"):""--%>
77 <script language="JavaScript">
79 function showArgPopup(fieldName, jsTargetField) {
80 var url = "<%= AppUtils.getRaptorActionURL() %>report.popup.field&<%= AppConstants.RI_FIELD_NAME %>="
81 + fieldName+ "&<%= AppConstants.RI_JS_TARGET_FIELD %>="+jsTargetField;
82 var w = window.open(url, "formLookup", "width=440,height=400,location=no,menubar=no,toolbar=no,status=no,resizable=yes,scrollbars=yes");
87 function showArgPopupNew(fld, targetField) {
88 var newElementCreated = true;
91 var oldRAction = null;
92 var frm = document.forma;
93 var w = window.open("<%= AppUtils.getBaseFolderURL() %>loading.jsp", "formLookup", "width=440,height=400,location=no,menubar=no,toolbar=no,status=no,resizable=yes,scrollbars=yes");
95 oldTarget = frm.target ;
96 oldRAction = frm.r_action.value ;
97 frm.target = "formLookup";
98 frm.r_action.value = "report.popup.field";
99 if(document.getElementById("<%= AppConstants.RI_FIELD_NAME %>")) {
100 frm.removeChild(document.getElementById("<%= AppConstants.RI_FIELD_NAME %>"));
101 frm.removeChild(document.getElementById("<%= AppConstants.RI_JS_TARGET_FIELD %>"));
103 var fld1 = document.createElement("input");
104 fld1.setAttribute("type", "hidden");
105 fld1.setAttribute("name", "<%= AppConstants.RI_FIELD_NAME %>");
106 fld1.setAttribute("id", "<%= AppConstants.RI_FIELD_NAME %>");
107 fld1.setAttribute("value", fld);
109 var fld2 = document.createElement("input");
110 fld2.setAttribute("type", "hidden");
111 fld2.setAttribute("name", "<%= AppConstants.RI_JS_TARGET_FIELD %>");
112 fld2.setAttribute("id", "<%= AppConstants.RI_JS_TARGET_FIELD %>");
113 fld2.setAttribute("value", targetField);
115 frm.appendChild(fld1);
116 frm.appendChild(fld2);
121 frm.target = oldTarget ;
122 frm.r_action.value = oldRAction ;
127 function validateForm() {
128 //if(document.getElementById("schedEnabled").checked && document.getElementById("schedEnabled").value == 'Y') {
129 <%for(rff.resetNext(); rff.hasNext(); ) { %>
130 <%= rff.getNext().getValidateJavaScript().replaceAll("formd","forma") %>
133 var formfields_value="";
135 for(i=0; i<document.forma.elements.length;i++) {
136 if((document.forma.elements[i].name).substring(0,2)=='ff') {
137 //alert("i-" + i+ " "+ document.forma.elements[i].name + " " + document.forma.elements[i].type + " " + document.forma.elements[i].value);
138 var obj = document.forma.elements[i];
139 if ((document.forma.elements[i].tagName == "SELECT") /*&& !(obj.name.match('_Hr') || obj.name.match('_Min') || obj.name.match('_Sec'))*/ ){
141 for (var intLoop=0; intLoop < obj.length; intLoop++) {
142 if (obj[intLoop].selected) {
143 formfields_value += "&"+document.forma.elements[i].name+"=" + escape(obj[intLoop].value);
149 if(escape(document.forma.elements[i].value).charAt(0) == '[' ) {
150 var nameObj = document.forma.elements[i].name;
151 if(nameObj.indexOf("_")!=-1 && (nameObj.match('_Hr') || nameObj.match('_Min') || nameObj.match('_Sec')) ) {
153 formfields_value += "&"+document.forma.elements[i].name+"="+escape(document.forma.elements[i].value);
156 var opt = document.forma.elements[i].name;
158 //alert('not in select' + opt);
159 var auto_incr = '<%=Boolean.toString(Globals.isScheduleDateParamAutoIncr())%>';
161 //alert(document.getElementById(opt+"_auto") + " " + (opt+"_auto"));
162 if(document.getElementById(opt+"_auto")/* || opt.lastIndexOf("_auto")>= 0 */) {
163 for(k=0; k<document.forma.elements.length;k++) {
164 if(document.forma.elements[k].name == opt) {
165 optValue = document.forma.elements[k].value;
168 //alert('opt info ' +opt + " "+ optValue);
170 if(auto_incr == 'true') {
171 formfields_value += "&"+document.forma.elements[i].name+"_auto="+escape(optValue);
172 } else if (document.getElementById(opt).checked) {
173 formfields_value += "&"+document.forma.elements[i].name+"_auto="+escape(optValue);
175 formfields_value += "&"+document.forma.elements[i].name+"="+escape(document.forma.elements[i].value);*/
176 } else if (opt.lastIndexOf("_auto") < 0){
177 if(document.forma.elements[i].type == 'checkbox' || document.forma.elements[i].type == 'radio') {
178 if (document.forma.elements[i].checked)
179 formfields_value += "&"+document.forma.elements[i].name+"="+escape(document.forma.elements[i].value);
181 formfields_value += "&"+document.forma.elements[i].name+"="+escape(document.forma.elements[i].value);
189 String sessionParams[] = Globals.getSessionParamsForScheduling().split(",");
190 String formfields = "";
191 for (int i=0; i<sessionParams.length; i++) {
192 if(sessionParams[i].equals("login_id"))
193 formfields += "&"+java.net.URLEncoder.encode("login_id","UTF-8")+"="+ java.net.URLEncoder.encode(AppUtils.getUserBackdoorLoginId(request),"UTF-8");
195 if(session.getAttribute(sessionParams[i])!=null)
196 formfields += "&"+ java.net.URLEncoder.encode(sessionParams[i], "UTF-8") + "="+ java.net.URLEncoder.encode((String)session.getAttribute(sessionParams[i]),"UTF-8");
200 formfields_value += '&<%= AppConstants.RI_NEXT_PAGE %>=-1';
201 formfields_value += '<%=formfields%>';
202 //alert(formfields_value);
203 document.getElementById("formFields").value = formfields_value;
204 var javascriptText = "<%=getCallableJavascriptForSubmit(rr)%>";
205 javascriptText = javascriptText.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
206 if(javascriptText.length > 0) {
207 if(<%=(getCallableJavascriptForSubmit(rr).trim().length())>0?getCallableJavascriptForSubmit(rr).replaceAll("formd","forma"):"false"%>)
215 function systemDateTime() {
217 sdf = new java.text.SimpleDateFormat("MM/dd/yyyy HH:mm:ss z");
218 sdf.setTimeZone(TimeZone.getTimeZone(Globals.getTimeZone()));
219 String sysDateTime = sdf.format(new java.util.Date());
221 var sysdate = "<%=sysDateTime%>";
225 function systemDate() {
227 sdf = new java.text.SimpleDateFormat("MM/dd/yyyy");
228 sdf.setTimeZone(TimeZone.getTimeZone(Globals.getTimeZone()));
229 String sysDate = sdf.format(new java.util.Date());
231 var sysdate = "<%=sysDate%>";
237 if(rr.getReportType().equals(AppConstants.RT_DASHBOARD)) {
239 String strHTML = rr.getDashboardLayoutHTML(); //getdashboardLayoutHTML();
240 String rep_id = parseAndGetFirstReportID(strHTML);
241 ReportHandler rh1 = new ReportHandler();
245 rr1 = rh1.loadReportRuntime(request, rep_id, true, requestFlag);
246 } catch(Exception e) {
248 rff = rr1.getReportFormFields();
251 <%if((dashboardFlag == 0 && rr.needFormInput()) || (dashboardFlag == 1 && rr1.needFormInput())) { %>
254 <td class=rbg3 align="center" width="50%" valign="middle" colspan=2><font class=rtabletext>
255 Please input values into the Form Fields for email attachment. Note those fields user must provide value can not leave as blank.
257 <table width="94%" border="0" cellspacing="1" cellpadding="3" align=center>
260 java.util.HashMap paramsMap = Globals.getRequestParamtersMap(request, false);
261 java.util.HashMap getScheduleMap = getFormFieldsHashMap (request, reportSchedule.getFormFields());
262 java.util.HashMap paramsScheduleMap = Globals.getRequestParametersMap(request, getScheduleMap);
263 for (int i = 0; i < rff.size(); i ++){
264 FormField ff = (FormField) rff.get(i);
265 ff.setDbInfo(rr.getDbInfo());
266 ff.setUserId(AppUtils.getUserID(request));
267 if(ff.getFieldType().equals(FormField.FFT_HIDDEN)) {
270 if(nvl(reportSchedule.getFormFields()).length() <= 0)
271 out.println(ff.getHtml(rr.getParamValue(ff.getFieldName()), paramsMap, rr, true));
273 out.println(ff.getHtml(getParameterString(request, ff.getFieldName(), getScheduleMap), paramsScheduleMap, rr, true).replaceAll("formd","forma"));
278 if(!ff.getFieldType().equals(FormField.FFT_HIDDEN) && ff.isVisible()) {
281 <%if (colidx == 0){%><tr><%}%>
282 <td class=rbg3 width="10%" align="right" nowrap='yes'>
283 <font class=rtabletext>
284 <%if (!ff.getFieldType().equals(FormField.FFT_BLANK)){%>
285 <%= ff.getDisplayNameHtml() %>:
289 <td class=rbg3 width="15%" align="left" nowrap='yes'>
290 <%-- ff.getHtml(rr.getParamValue(ff.getFieldName()), paramsMap,rr, true).replaceAll("formd","forma") --%>
292 if(nvl(reportSchedule.getFormFields()).length() <= 0)
293 out.println(ff.getHtml(rr.getParamValue(ff.getFieldName()), paramsMap, rr, true).replaceAll("formd","forma"));
295 out.println(ff.getHtml(getParameterString(request, ff.getFieldName(), getScheduleMap), paramsScheduleMap, rr, true).replaceAll("formd","forma"));
300 <%if (colidx == rr.getNumFormColsAsInt()){%></tr><%colidx=0;}%>
306 <% } //if(rr.needFormInput()) %>
308 <input type='hidden' name='formFields' value=''/>
311 <% if(!isDashboard) { %>
312 var map = new Object();
313 var defaultValues = new Object();
314 <% rff = rr.getReportFormFields();
318 java.util.Map fNameMap = new java.util.HashMap();
319 for(rff.resetNext(); rff.hasNext(); idx++) {
320 FormField ff = rff.getNext();
321 fNameMap.put(ff.getFieldName(), ff.getFieldDisplayName());
328 for(rff.resetNext(); rff.hasNext(); idx++) {
329 FormField ff = rff.getNext();
330 if(!(ff.getFieldType().equals(FormField.FFT_BLANK))
331 && ff.isVisible() && !(ff.getFieldType().equals(FormField.FFT_TEXT_W_POPUP))) {
337 if( ff.getDependsOn() != null && ff.getDependsOn().trim().length()>0 ) {
338 %> // <%=ff.getFieldName()%> <%=ff.getDependsOn()%>
339 if(document.forma.<%=ff.getFieldName()%>) {
340 document.forma.<%=ff.getFieldName()%>.onchange = updateDropDown;
342 map['<%=ff.getDependsOn()%>'] = '<%=ff.getFieldName()%>';
343 // Made double quotes as it conflicts with query.
344 defaultValues['<%=ff.getFieldName()%>'] = "<%=rr.getParamValue(ff.getFieldName())%>" ;
351 var oldTarget = null;
352 var oldr_action = null;
353 var ajax = new Array();
355 function getOpts(oSelect) {
356 var opt, i = 0, selVals = new Array();
357 //alert(oSelect.length + " " + oSelect.options);
358 if(oSelect && oSelect.options) {
359 while (opt = oSelect[i++]) {
361 selVals[selVals.length] = encodeURIComponent(opt.value);
367 if(oSelect && oSelect.value)
368 selVals[0] = encodeURIComponent(oSelect.value);
375 return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
378 function updateDropDown(srcElem_) {
381 if(srcElem_ == null) {
383 srcElem = event.srcElement;
387 //alert(srcElem.name);
388 //var parentFormField = srcElem.options[srcElem.selectedIndex].value;
390 var parentFormField = getOpts(srcElem);
391 var parentFieldName = srcElem.name;
393 //alert(parentFormField);
394 var parentFieldValue = "";
395 for (i=0;i<=parentFormField.length-1;i++) {
396 if(parentFormField[i] != 'undefined')
397 parentFieldValue = parentFieldValue+srcElem.name+'='+parentFormField[i];
398 if(i<parentFormField.length-1)
399 parentFieldValue = parentFieldValue + "&";
401 //alert("ParentFieldValue " + parentFieldValue + " srcElem.name " + srcElem.name);
403 if(srcElem != null && srcElem.name!=null) {
406 String javaScriptText = "";
407 String javaScriptAfterChainingText = "";
410 for(rff5.resetNext(); rff5.hasNext();idx++) {
413 if(srcElem && srcElem.name && srcElem.name == "<%=ff.getFieldName()%>") {
414 <% javaScriptText = nvl(ff.getCallableOnChangeJavascript(ff.getFieldName(), rr));
415 javaScriptAfterChainingText = nvl(ff.getCallableAfterChainingJavascript(ff.getFieldName(), rr));
416 if(javaScriptText.length() > 0 ) { %>
417 <%=javaScriptText+";"%>
418 //document.forma.<%--=ff.getFieldName()--%>//.onchange =
422 <% for(rff5.resetNext(); rff5.hasNext();idx++) {
427 //alert (" In For " + "<%=ff.getFieldName()%> <%=rff.hasNext()%>");
429 if(!(ff.getFieldType().equals(FormField.FFT_BLANK))) {
430 /*&& ff.isVisible()*/ /*&& !(ff.getFieldType().equals(FormField.FFT_TEXT_W_POPUP))*/
432 <% if( ff.getDependsOn() != null && !ff.getDependsOn().equals("") ) {
433 if(!(ff.getFieldType().equals(FormField.FFT_TEXT_W_POPUP))) { %>
434 <% if(!ff.getFieldType().equals(FormField.FFT_HIDDEN)) { %>
435 if(srcElem && srcElem.name && srcElem.name == "<%=ff.getFieldName()%>") {
436 parentFieldValue = parentFieldValue + '&parentFieldName=<%=ff.getFieldName()%>';
437 //if(document.forma.<%=ff.getFieldName()%> && document.forma.<%=ff.getFieldName()%>.style) document.forma.<%=ff.getFieldName()%>.style.display='none';
438 //if(document.forma.<%=ff.getFieldName()%> && document.forma.<%=ff.getFieldName()%>.style) document.forma.<%=ff.getFieldName()%>.style.display='none';
439 if(document.getElementById("<%=ff.getFieldName()%>_content") && document.getElementById("<%=ff.getFieldName()%>_content").style ) document.getElementById('<%=ff.getFieldName()+"_content"%>').style.display='block';
444 var otherFieldValue = "";
447 for(rff1.resetNext(); rff1.hasNext();) {
448 FormField ff1 = rff1.getNext();
449 if( ff1.getDependsOn() != null && !ff1.getDependsOn().equals("") ) { %>
450 //alert (srcElem.name + " <%=ff1.getFieldName()%>");
451 if(srcElem && srcElem.name && srcElem.name != '<%=ff1.getFieldName()%>') {
452 var otherFormFields = getOpts(document.forma.<%=ff1.getFieldName()%>);
453 for (i=0;i<=otherFormFields.length-1;i++) {
454 if(otherFormFields[i] != 'undefined')
455 otherFieldValue = otherFieldValue+'<%=ff1.getFieldName()%>'+'='+escape(otherFormFields[i])+'&';
456 if(i<otherFormFields.length-1)
457 otherFieldValue = otherFieldValue + "&";
464 //alert("IF OPTIONS 0 AFTER <%=ff.getFieldName()%>" + parentFormField);
466 //if(parentFormField.length>0) {
467 //if(srcElem.name == "<%=ff.getFieldName()%>") {
468 if(document.forma.<%=ff.getFieldName()%> && document.forma.<%=ff.getFieldName()%>.options)
469 document.forma.<%=ff.getFieldName()%>.options.length = 0;
471 var index = ajax.length;
472 ajax[index] = new sack("raptor.htm");
473 //alert("P" + parentFieldValue);
474 //alert("O" + otherFieldValue);
475 ajax[index].method='POST';
476 //alert('raptor.htm?action=raptor&r_action=report.childDropDown&parentFieldName='+srcElem.name+'&fieldName=<%=ff.getFieldName()%>&'+parentFieldValue+'&'+otherFieldValue);
477 ajax[index].setVar("action","raptor");
478 ajax[index].setVar("r_action","report.childDropDown");
479 ajax[index].setVar("fieldName","<%=ff.getFieldName()%>");
480 ajax[index].setVar("inSchedule","Y");
481 //alert("parentFieldValue " + parentFieldValue);
482 var parentFieldTokens = parentFieldValue.split( "&" );
483 var parentNameValuePair = "";
484 var nameValuePairTokens;
485 for (var i = 0; i < parentFieldTokens.length; i++) {
486 parentNameValuePair = parentFieldTokens[i];
487 parentNameValuePairTokens = parentNameValuePair.split("=");
488 if (parentNameValuePairTokens.length>0) {
489 //alert("ParentNameValuePairTokens " + parentNameValuePairTokens[0]+ " " + decodeURIComponent(parentNameValuePairTokens[1]));
490 ajax[index].setVar(parentNameValuePairTokens[0], decodeURIComponent(parentNameValuePairTokens[1]), i);
493 //alert("otherFieldValue " + otherFieldValue + " " );
494 if(otherFieldValue && otherFieldValue.length>0) {
495 if (otherFieldValue.substr(otherFieldValue.length-1) == '&')
496 otherFieldValue = otherFieldValue.substr(0,otherFieldValue.length-1);
498 //alert("otherFieldValue1 " + otherFieldValue + " " );
500 var otherFieldTokens = otherFieldValue.split( "&" );
501 var otherNameValuePair = "";
502 var otherNameValuePairTokens;
503 for (var k = 0; k < otherFieldTokens.length; k++) {
504 otherNameValuePair = otherFieldTokens[k];
505 otherNameValuePairTokens = otherNameValuePair.split("=");
506 if (otherNameValuePairTokens.length>0) {
507 //alert("otherNameValuePairTokens " + otherNameValuePairTokens[0]+ " " + decodeURIComponent(otherNameValuePairTokens[1]));
508 ajax[index].setVar(otherNameValuePairTokens[0], decodeURIComponent(otherNameValuePairTokens[1]), k);
511 //ajax[index].requestFile = 'raptor.htm?action=raptor&r_action=report.childDropDown&fieldName=<%=ff.getFieldName()%>&'+parentFieldValue+'&'+otherFieldValue; // Specifying which file to get
512 ajax[index].onCompletion = function(){ createChildFormField(index, document.forma.<%=ff.getFieldName()%>) }; // Specify function that will be executed after file has been found
513 ajax[index].onError = function() {bringBacktoNormal(index, document.forma.<%=ff.getFieldName()%>);}
514 ajax[index].onFail = function() {bringBacktoNormal(index, document.forma.<%=ff.getFieldName()%>);}
515 //ajax[index].onCompletion = function(){ var obj = null; obj = document.forma.<%=ff.getFieldName()%>;eval(ajax[index].response);document.getElementById(obj.name+"_content").style.display='none';obj.style.display='block'; }; // Specify function that will be executed after file has been found
516 ajax[index].runAJAX(null,false,100); // Execute AJAX function
517 //alert(ajax[index].readyState);
518 //while (ajax[index].xmlhttp.readyState == 4 || ajax[index].xmlhttp.readyState == "complete" ) {
520 //while(ajax[index].xmlhttp.readyState ==4){
521 // alert("ready State " + ajax[index].xmlhttp.readyState);
523 //setTimeout("Func1()", 5000);
525 if(err=="session_exp") {
526 document.write("session has been expired.");
531 <% if(!ff.getFieldType().equals(FormField.FFT_HIDDEN)) { %>
532 if(document.getElementById("<%=ff.getFieldName()%>_content") && document.getElementById("<%=ff.getFieldName()%>_content").style ) document.getElementById("<%=ff.getFieldName()%>_content").style.display='none';
533 //if(document.forma.<%=ff.getFieldName()%> && document.forma.<%=ff.getFieldName()%>.style) document.forma.<%=ff.getFieldName()%>.style.display='block';
535 if(document.getElementById("<%=ff.getFieldName()%>_content") && document.getElementById("<%=ff.getFieldName()%>_content").style ) document.getElementById("<%=ff.getFieldName()%>_content").style.display='none';
536 //if(document.forma.<%=ff.getFieldName()%> && document.forma.<%=ff.getFieldName()%>.style) document.forma.<%=ff.getFieldName()%>.style.display='none';
545 for(rff.resetNext(); rff.hasNext();idx++) {
548 if(srcElem && srcElem.name && srcElem.name == "<%=ff.getFieldName()%>") {
550 javaScriptAfterChainingText = nvl(ff.getCallableAfterChainingJavascript(ff.getFieldName(), rr));
553 if(javaScriptAfterChainingText.length()>0 && javaScriptAfterChainingText.trim().startsWith("afterchaining")) {
554 javaScriptAfterChainingText = Utils.replaceInString(javaScriptAfterChainingText,"afterchaining","");
555 javaScriptAfterChainingText = Utils.replaceInString(javaScriptAfterChainingText,"\"","");
556 javaScriptAfterChainingText = Utils.replaceInString(javaScriptAfterChainingText,"=","");
560 <%=javaScriptAfterChainingText%>
572 function dummyFunction(){
573 //alert("Server operation timed out");
576 function bringBacktoNormal(index, obj) {
578 //alert('bringing to normal');
579 var field_name = obj.name;
580 //alert("'"+field_name+"_content"+"'");
581 if(document.getElementById(field_name+"_content") && document.getElementById(field_name+"_content").style ) document.getElementById(field_name+"_content").style.display='none';
582 //if(obj.style) obj.style.display='block';
585 function createChildFormField(index, obj) {
586 //alert('create Cities');
587 //var obj = document.getElementById('dhtmlgoodies_city');
589 var resp = trim(ajax[index].response);
590 //alert(index + " " + ajax[index]);
591 //alert('response ' + ajax[index].response);
592 if(resp.length > 0 && resp.indexOf("<script type=")!=-1) {
593 document.write(resp);
595 //alert('obj.name ' + obj.name);
596 var field_name = obj.name;
597 //alert("'"+field_name+"_content"+"'");
598 if(document.getElementById(field_name+"_content") && document.getElementById(field_name+"_content").style ) document.getElementById(field_name+"_content").style.display='none';
599 //if(obj.style) obj.style.display='block';
605 eval(resp); // Executing the response from Ajax as Javascript code
606 //alert('obj.name ' + obj.name);
607 var field_name = obj.name;
608 //alert("'"+field_name+"_content"+"'");
609 if(document.getElementById(field_name+"_content") && document.getElementById(field_name+"_content").style ) document.getElementById(field_name+"_content").style.display='none';
610 //if(obj.style) obj.style.display='block';
613 function changeCombo(data){
615 for (var i = 0; i < list.length; i ++){
616 var fieldName = list[i].substr(0, list[i].indexOf(":"));
617 var selectVal = list[i].substr(list[i].indexOf(":") + 1, list[i].length);
619 var elem = document.getElementsByName(fieldName);
621 while (elem[j].tagName == 'INPUT' && elem[j].type=='hidden'){
625 var oldVal = elem[j].value
626 elem[j].parentNode.innerHTML = selectVal;
627 elem[j].value=oldVal;
628 elem[j].onchange = updateDropDown;
630 document.getElementById('childFieldpopup').style.display='none';
639 <input type="hidden" name="action" value="raptor">
640 <input type="hidden" name="source_page" value="report_run">
641 <input type="hidden" name="r_action" value="report.download.pdf">
645 <% /* if(request.getAttribute(AppConstants.RI_REPORT_DATA) == null){ */ %>
647 if(<%=isFirstTime%>) {
652 for(rff2.resetNext(); rff2.hasNext();) {
653 FormField ff1 = rff2.getNext();
654 if( ff1.getDependsOn() != null && !ff1.getDependsOn().equals("") ) { %>
655 <% if (!ff1.getFieldType().equals(FormField.FFT_HIDDEN)) { %>
656 //alert("in First Time <%=ff1.getFieldName()%>");
657 if(document.forma.<%=ff1.getFieldName()%>)
658 updateDropDown(document.forma.<%=ff1.getFieldName()%>);
668 <%! private String nvl(String s) { return (s==null)?"":s; }
669 private String nvl(String s, String sDefault) { return nvl(s).equals("")?sDefault:s; }
670 private String getCallableJavascriptForSubmit(ReportRuntime rr) {
671 JavascriptItemType javascriptItemType = null;
672 StringBuffer callJavascriptText = new StringBuffer("");
673 if(rr.getJavascriptList()!=null) {
674 for (Iterator iter = rr.getJavascriptList().getJavascriptItem().iterator(); iter.hasNext();) {
675 javascriptItemType = (JavascriptItemType)iter.next();
676 if(javascriptItemType.getFieldId().equals("os1")) {
677 callJavascriptText.append(" "+javascriptItemType.getCallText());
682 return callJavascriptText.toString();
685 private HashMap getFormFieldsHashMap (HttpServletRequest request, String formFieldsString) {
686 String splitName[] = null;
687 ArrayList keyValue = new ArrayList();
688 HashMap keyValueMap = new HashMap();
689 String newValue = "";
690 //System.out.println("Request Str "+ formFieldsString);
691 StringTokenizer st = null;
692 StringTokenizer st2 = null;
696 if(formFieldsString.length() > 0) {
697 st = new StringTokenizer(formFieldsString, "&");
698 while (st.hasMoreTokens()) {
699 keyValue.add(st.nextToken());
701 if(keyValue.size() > 0) {
703 for (int num = 0; num < keyValue.size(); num++) {
704 st2 = new StringTokenizer((String) keyValue.get(num), "=");
705 while(st2.hasMoreTokens()) {
706 key1 = ""; value = "";
707 key1 = st2.nextToken();
708 key1 = Utils.replaceInString(key1, "_auto", "");
710 value = st2.nextToken();
711 }catch (NoSuchElementException ex) { value = "";}
712 if(!keyValueMap.containsKey(key1))
713 keyValueMap.put(key1,value);
715 String value1 = (String) keyValueMap.get(key1);
716 value = value+"|"+value1;
717 keyValueMap.put(key1,value);
727 private String getParameterString (HttpServletRequest request, String key, HashMap keyValueMap) {
728 String newValue = "";
729 if(keyValueMap.containsKey(key)) {
730 //System.out.println("VALUE IN MAP IS " +key+ " "+ (String) keyValueMap.get(key));
731 newValue = XSSFilter.filterRequestOnlyScript((String) keyValueMap.get(key));
732 if(nvl(newValue).length()<=0) {
733 newValue = XSSFilter.filterRequestOnlyScript((String) keyValueMap.get(key+"_auto"));
738 private String parseAndGetFirstReportID(String strHTML) {
739 String sourcestring = strHTML;
740 //System.out.println("String HTML1 " + strHTML);
741 Pattern re = Pattern.compile("\\[(.*?)\\]"); //\\[(.*?)\\]
742 Matcher m = re.matcher(sourcestring);
745 for( int groupIdx = 0; groupIdx < m.groupCount(); groupIdx++ ){
746 String str = m.group(groupIdx);
747 //System.out.println("REP ID1 " + str.substring(str.indexOf("#")+1, str.length()-1)) ;
748 return str.substring(str.indexOf("#")+1, str.length()-1);