%@ page language="java" contentType="application/x-javascript" %>
<%@ page import="com.edeal.frontline.navigation.FlRequest" %>
<%@ page import="com.edeal.frontline.FlContext" %>
<%@ page import="com.edeal.frontline.DataDictionary" %>
<%@ page import="com.edeal.frontline.Utils" %>
<%@ page import="java.util.Vector" %>
<%@ page import="com.edeal.frontline.ListBean" %>
<%@ page import="com.edeal.frontline.ListBean.SearchZone" %>
<%@page import="com.edeal.frontline.navigation.EdealBigTabsNavigation.BigTabsParams"%>
<%@taglib uri="http://www.e-deal.com/taglib/fl" prefix="fl"%>
<%
Vector vectPagination = pagination;
%>
var readyToResize;
var DIF_HEIGHT_WINDOWS_BIGTAB = 160;
var updateHeightRunning = false; /* TODO à suprimer quand j'aurais comrpis où est la boucle infini sans*/
function debug(msg) {
alert(msg);
}
// global variable to set the gridCriteria object
var gGridCriteria;
function getWindowHeight() {
var windowHeight=0;
if (typeof(window.innerHeight)=='number') {
windowHeight=window.innerHeight;
}
else {
if (document.documentElement&&
document.documentElement.clientHeight) {
windowHeight = document.documentElement.clientHeight;
}
else {
if (document.body&&document.body.clientHeight) {
windowHeight=document.body.clientHeight;
}
}
}
return windowHeight;
}
function offsetTopOrigin(elt){
if(elt.offsetParent)
return elt.offsetTop+offsetTopOrigin(elt.offsetParent);
else
return 0;
}
function getSearchCriteria(isSc,gridName) {
var f = window.document.forms[0];
var vectQuery = new FlVector();
var vectQuerySc = new FlVector();
var value = '';
<%
if (vectPagination != null) {
if(vectPagination.size() == 1) {
%>
vectQuery.addElement('$$nb=<%= pagePagination %>');
<%
} else {
%>
if (f.$$nb.selectedIndex >= 0 && f.$$nb.options[f.$$nb.selectedIndex].value != '') {
vectQuery.addElement('$$nb=' + f.$$nb.options[f.$$nb.selectedIndex].value);
}
<%
}
}
if (searchZone != null) {
for(int i = 0; i < searchZone.getNbLines(); i++) {
for(int j = 0; j < searchZone.getNbFields(i); j++) {
com.edeal.frontline.ListBean.Field fld = searchZone.getField(i, j);
String strDisp = "<" + fld.getDisplay(session) + ">";
if(fld.isDate() || fld.isTime() || fld.isDecimal() || fld.isInteger()) {
%>
if ( (value = f.elements['<%= Utils.formatToJavascript(fld.getInputName()) %>$From'].value) != '') {
vectQuerySc.addElement('<%= fld.getFullName() %>$From=' + value);
vectQuery.addElement('<%= fld.getFullName() %>$From=' + encodeURIComponent(value));
}
if ((value = f.elements['<%= Utils.formatToJavascript(fld.getInputName()) %>$To'].value) != '') {
vectQuerySc.addElement('<%= fld.getFullName() %>$To=' + value);
vectQuery.addElement('<%= fld.getFullName() %>$To=' + encodeURIComponent(value));
}
<%
} else if(fld.getFldFobSql() != null) {
%>
if ( (value = f.elements['<%= Utils.formatToJavascript(fld.getInputName()) %>'].value) != '') {
vectQuerySc.addElement('<%= fld.getFullName() %>=' + value);
vectQuery.addElement('<%= fld.getFullName() %>=' + encodeURIComponent(value));
}
if ( (value = f.elements['lbl<%= Utils.formatToJavascript(fld.getInputName()) %>'].value) != '<%= Utils.formatToJavascript(strDisp) %>') {
vectQuerySc.addElement('lbl<%= fld.getFullName() %>=' + value);
vectQuery.addElement('lbl<%= fld.getFullName() %>=' + encodeURIComponent(value));
}
<%
} else if (fld.isFldRef() || fld.getChoiceType() != ListBean.CHOICE_NONE) {
if (fld.isFldRef() || fld.getChoiceType() == ListBean.CHOICE_SELECT_MULTIPLE || fld.getChoiceType() == ListBean.CHOICE_SELECT) {
%>
if (f.elements['<%= Utils.formatToJavascript(fld.getInputName()) %>'].selectedIndex >= 0) {
var o = f.elements['<%= Utils.formatToJavascript(fld.getInputName()) %>'].options;
for(var i = 0; i < o.length; i++) {
if(o[i].selected && o[i].value != '') {
vectQuerySc.addElement('<%= fld.getFullName() %>=' + o[i].value);
vectQuery.addElement('<%= fld.getFullName() %>=' + encodeURIComponent(o[i].value));
}
}
}
<%
} else if (fld.getChoiceType() != ListBean.CHOICE_NONE) {
if (fld.getChoiceList().size() > 1) {
%>
for(var i = 0; i < f.elements['<%= Utils.formatToJavascript(fld.getInputName()) %>'].length; i++) {
if(f.elements['<%= Utils.formatToJavascript(fld.getInputName()) %>'][i].checked && f.elements['<%= Utils.formatToJavascript(fld.getInputName()) %>'][i].value != '') {
vectQuerySc.addElement('<%= fld.getFullName() %>=' + f.elements['<%= Utils.formatToJavascript(fld.getInputName()) %>'][i].value);
vectQuery.addElement('<%= fld.getFullName() %>=' + encodeURIComponent(f.elements['<%= Utils.formatToJavascript(fld.getInputName()) %>'][i].value));
}
}
<%
} else {
%>
if (f.elements['<%= Utils.formatToJavascript(fld.getInputName()) %>'].checked && f.elements['<%= Utils.formatToJavascript(fld.getInputName()) %>'].value != '') {
vectQuerySc.addElement('<%= fld.getFullName() %>=' + f.elements['<%= Utils.formatToJavascript(fld.getInputName()) %>'].value);
vectQuery.addElement('<%= fld.getFullName() %>=' + encodeURIComponent(f.elements['<%= Utils.formatToJavascript(fld.getInputName()) %>'].value));
}
<%
}
}
} else if(fld.isBoolean()) {
%>
if (f.elements['<%= Utils.formatToJavascript(fld.getInputName()) %>'].checked) {
vectQuerySc.addElement('<%= fld.getFullName() %>=1');
vectQuery.addElement('<%= fld.getFullName() %>=1');
}else{
vectQuerySc.addElement('<%= fld.getFullName() %>=0');
vectQuery.addElement('<%= fld.getFullName() %>=0');
}
<%
} else {
%>
if ( (value = f.elements['<%= Utils.formatToJavascript(fld.getInputName()) %>'].value) != '<%= Utils.formatToJavascript(strDisp) %>') {
vectQuerySc.addElement('<%= fld.getFullName() %>=' + stripSpaces(value));
vectQuery.addElement('<%= fld.getFullName() %>=' + encodeURIComponent(stripSpaces(value)));
}
<%
}
}
}
}
%>
// vectQuery.addElement('$$idx=<%= pageIndex %>');
vectQuery.addElement('$$preview=1');
if (isSc && isSc == 1) {
//return encodeURIComponent(vectQuerySc.toString('&'));
return vectQuerySc.toString('&');
} else {
return vectQuery.toString('&');
}
}
function stripSpaces(strToStrip) {
if(strToStrip!=null){
while (strToStrip.substring(0,1) == ' ') strToStrip = strToStrip.substring(1);
while (strToStrip.substring(strToStrip.length-1,strToStrip.length) == ' ') strToStrip = strToStrip.substring(0,strToStrip.length-1);
}
return strToStrip;
}
function getSearchUrl() {
var f = window.document.forms[0];
// If we're doing an autocomplete operation, we need to catch
// the return key when selecting an object by keyboard
try {
if (acCurHighlightedDiv != null || editNoteStatus) {
return false;
}
} catch (error) {
}
<% String searchActionUrl="/list_ajax.fl"; %>
var url = "";
url += (url.length - url.indexOf("<%= searchActionUrl %>") == "<%= searchActionUrl %>".length ? "?" : "&") + "sc=" + encodeURIComponent(getSearchCriteria(1,'<%= gridName %>'));
url += "&" + getSearchCriteria(0,'<%= gridName %>');
return url;
}
function showEditableCrits(val) {
if(val!=false)
val=true;
if(val){
readyToResize = 2;
$('#criteriaTableRow').show('normal',stepReadyResize);
$('#ShowCritsLinkDiv').hide('normal',stepReadyResize);
}else{
$('#resultZone').show();
$('#criteriaTableRow').hide();
}
}
// executed after edealGrid saved
// data: json sended by server
function callBackSave(data){
if(data.beans!=null){
$("input.btMassEdit").attr("checked", false);
$("#resultZone input[type=submit]").hide();
$("#resultZone input[type=reset]").hide();
}
}
function doCallSearch(jsGrid,params,fPriorityToUrlParams,fDisplayPreview) {
jsGrid.callAjaxForHtml(getSearchUrl(), params, true, false,setSizeOfGridData,fPriorityToUrlParams,fDisplayPreview);
}
function executeSearch(fDisplayPreview) {
if (typeof gGridCriteria=='undefined') {
return;
}
if(gGridCriteria.checkMandatory()){
var params=new Object();
params=<%=bTabNav.getBigTabsParameterJsObject()%>;
<%-- Resetting the search criteria here to fix the bug of having the
search criteria remembered between successive searches after having cleared
the search criteria in the user interface.We also reset the page number in
order to avoid a similar problem. --%>
params["sc"]="";
params["$$idx"]=0;
doCallSearch(_grid__<%= Utils.formatToWeb(lc, true) %>_js_,params,true,fDisplayPreview);
return false;
}else{
gGridCriteria.displayHelp('<%= Utils.formatToWeb(lc, true) %>');
}
}
function criteriaKeyPress(keyEvent) {
var key = keyEvent.which ? keyEvent.which : keyEvent.keyCode;
if (keyEvent) { keyEvent.stopPropagation(); }
// Someone pressed the enter key, AND we're not AC'ing
if (key== 13 && acCurHighlightedDiv == null) {
if(typeof additionalParams != "undefined" && additionalParams) {
executeSearchWithParam(additionalParams);
} else {
executeSearch();
}
}
}
function setSizeOfGridData() {
gGridCriteria.resizeGrid(true);
}
function doOnLoad() {
var gridCriteriaElement=document.getElementById('criteriaTableRow')
gGridCriteria=new EdealGridCriteria(gridCriteriaElement,false,document.getElementById("bShowHideCriteria"));
$(gridCriteriaElement).keyup(criteriaKeyPress);
<% if (!isFirstTimeIn) { %>
doCallSearch(_grid__<%= Utils.formatToWeb(lc, true) %>_js_,<%=bTabNav.getBigTabsParameterJsObject()%>);
<% } %>
gGridCriteria.hightLightMandatory();
$("#valid-button").removeClass("inactive");
}