If I show a formInDialog in the find mode by clicking a button, the find mode automatically returns to browse mode.
the application.showFormInDialog automatically trigger that.
Please see my methods:
method mod_functions_utils_datePicker
var fieldName = application.getMethodTriggerElementName();
var frmName = application.getMethodTriggerFormName();
var sourceFrmObj = forms[frmName];
var fieldNameArr = fieldName.split("$");
fieldName = fieldNameArr[0];
var datePickerType = fieldNameArr[1];
globals.mod_functions_datePickerObj = new Object();
var datePickerObj = globals.mod_functions_datePickerObj;
datePickerObj.fieldName = fieldName;
datePickerObj.datePickerType = datePickerType;
datePickerObj.sourceFrmObj = sourceFrmObj;
if (datePickerObj.datePickerType == "single") {
application.showFormInDialog(forms.mod_functions_showSingleDate, -1, -1, 254, 264, "Choose date", false, false, false);
}
else if (datePickerObj.datePickerType == "range") {
application.showFormInDialog(forms.mod_functions_showRangeDate, -1, -1, 500, 262, "Choose date range", false, false, false);
}
//*** work around executing this method in find mode
if(false) {
controller.search();
}
method mod_functions_utils_datePickerSet
var btnName = application.getMethodTriggerElementName();
var datePickerObj = globals.mod_functions_datePickerObj;
var sourceFrmObj = datePickerObj.sourceFrmObj;
if (datePickerObj.datePickerType == "single") {
if (btnName == "cancel") {
application.closeFormDialog();
return;
}
var frmObj = forms.mod_functions_showSingleDate;
var jCalendar1 = frmObj.elements.jCalendar1;
var dateSelected = new Date(jCalendar1.date.getYear() + 1900,
jCalendar1.date.getMonth(),
jCalendar1.date.getDate());
//plugins.dialogs.showErrorDialog( "", jCalendar1.date.getYear());
sourceFrmObj[datePickerObj.fieldName] = dateSelected;
application.closeFormDialog();
}
else if (datePickerObj.datePickerType == "range") {
if (btnName == "cancel") {
application.closeFormDialog();
return;
}
var frmObj = forms.mod_functions_showRangeDate;
var jCalendar1 = frmObj.elements.jCalendar1;
var jCalendar2 = frmObj.elements.jCalendar2;
var dateSelected1 = new Date(jCalendar1.date.getYear() + 1900,
jCalendar1.date.getMonth(),
jCalendar1.date.getDate());
var dateSelected2 = new Date(jCalendar2.date.getYear() + 1900,
jCalendar2.date.getMonth(),
jCalendar2.date.getDate());
var dateString = utils.dateFormat(dateSelected1, 'dd-MM-yyyy') + "..." +
utils.dateFormat(dateSelected2, 'dd-MM-yyyy') + "|dd-MM-yyyy";
sourceFrmObj[datePickerObj.fieldName] = dateString;
application.closeFormDialog();
}
//*** work around executing this method in find mode
if(false) {
controller.search();
}
Servoy Developer
Version 3.0b3-build 364
Java version 1.5.0_04-b05 (Windows XP)