// ......... only one component to be dispatched can be found, e.g. clicked
// ......... element....................................................
// ......... dispatch changes server model -> rerendered
// ......... dispatch may also request a form validation by
// ......... calling the submit
FormItem dispatchFormItem = efcv.getDispatchToComponent();
//.......... doDispatchFormRequest is called on the found item
//.......... which in turn may call submit(UserRequest ureq).
//.......... After submitting, which fires a ok/nok event
//.......... the code goes further with step 3.........................
if (implicitFormSubmit) {
//implicit Submit (Press Enter without on a Field without submit item.)
// see also OLAT-3141
submit(ureq);
}else{
if (dispatchFormItem == null) {
// source not found. This "never happens". Try to produce some hints.
String fbc = new String();
for (FormBasicController i: formListeners) {
if (fbc.length()>0) {
fbc += ",";
}
fbc+=(i.getClass().getName());
}
logWarn("OLAT-5061: Could not determine request source in FlexiForm >"+formName+"<. Check >"+fbc+"<", null);
// TODO: what now?
// Assuming the same as "implicitFormSubmit" for now.
submit(ureq);
} else {
// ****************************************
// explicit Submit or valid form dispatch *
// ****************************************
dispatchFormItem.doDispatchFormRequest(ureq);
// step 3: find parent container of dispatched component
// .......... check dependency rules
// .......... apply dependency rules
FindParentFormComponentVisitor fpfcv = new FindParentFormComponentVisitor(
dispatchFormItem);