diff --git a/Documentation/Manual.rst b/Documentation/Manual.rst index 61e06221d0dbe369ad79e3a733755ba2f3362c4b..77b2ec1071d0516c65af2dc9af38c62f12cd5889 100644 --- a/Documentation/Manual.rst +++ b/Documentation/Manual.rst @@ -2544,7 +2544,7 @@ Parameter +-----------------------------+--------+----------------------------------------------------------------------------------------------------------+ | typeAheadLdap | | Enable LDAP as 'Typeahead' data source. | +-----------------------------+--------+----------------------------------------------------------------------------------------------------------+ -| typeAheadLdapSearch | string | Regular LDAP search expression. E.g.: `(|(cn=*?*)(mail=*?*))` | +| typeAheadLdapSearch | string | Regular LDAP search expression. E.g.: `(|(cn=*?*)(mail=*?*))` Â | +-----------------------------+--------+----------------------------------------------------------------------------------------------------------+ | typeAheadLdapValuePrintf | string | Value formatting of LDAP result, per entry. E.g.: `'%s / %s / %s', mail, roomnumber, telephonenumber` | +-----------------------------+--------+----------------------------------------------------------------------------------------------------------+ @@ -2559,6 +2559,9 @@ Parameter | mode | string | The value `readonly` will activate a global readonly mode of the form - the user can't change any data. | | | | See :ref:`form-mode-global` | +-----------------------------+--------+----------------------------------------------------------------------------------------------------------+ +| activeFirstRequiredTab | digit | 0: off, 1: (default) - with formModeGlobal=requiredOffButMark bring pill to front on save. | +| | | See :ref:`form-mode-global` | ++-----------------------------+--------+----------------------------------------------------------------------------------------------------------+ | enterAsSubmit | digit | 0: off, 1: Pressing *enter* in a form means *save* and *close*. Takes default from configuration_. | +-----------------------------+--------+----------------------------------------------------------------------------------------------------------+ | submitButtonText | string | Show a save button at the bottom of the form, with <submitButtonText> . See `submitButtonText`_. | @@ -2616,6 +2619,10 @@ Parameter +-----------------------------+--------+----------------------------------------------------------------------------------------------------------+ | minWidth | int | See checkboxRadioMinWidth_ . | +-----------------------------+--------+----------------------------------------------------------------------------------------------------------+ +| minWidth | int | See checkboxRadioMinWidth_ . | ++-----------------------------+--------+----------------------------------------------------------------------------------------------------------+ +| minWidth | int | See checkboxRadioMinWidth_ . | ++-----------------------------+--------+----------------------------------------------------------------------------------------------------------+ * Example: @@ -2732,6 +2739,11 @@ Mode * On lost focus. * When the user saves the record. + * After saving the record, by default the first pill with a missing input comes to front. This behaviour can be + switch on/off with `form.parameter.requiredOffButMark=0|1` + + + Extra ;;;;; diff --git a/extension/Classes/Core/AbstractBuildForm.php b/extension/Classes/Core/AbstractBuildForm.php index 111f3af107284bd410780463e542a7b1725dcefa..4e82dfe9d2d6eb9ac8862b600b94b5133baa648a 100644 --- a/extension/Classes/Core/AbstractBuildForm.php +++ b/extension/Classes/Core/AbstractBuildForm.php @@ -605,6 +605,7 @@ abstract class AbstractBuildForm { $attribute[FE_INPUT_AUTOCOMPLETE] = 'on'; $attribute['enctype'] = $this->getEncType(); $attribute['data-disable-return-key-submit'] = $this->formSpec[F_ENTER_AS_SUBMIT] == '1' ? "false" : "true"; // attribute meaning is inverted + $attribute['data-activate-first-required-tab'] = $this->formSpec[F_ACTIVATE_FIRST_REQUIRED_TAB] == '1' ? "true" : "false"; // attribute meaning is inverted return $attribute; } diff --git a/extension/Classes/Core/Constants.php b/extension/Classes/Core/Constants.php index 59920b0f1777962a80e929e3c5616094e134063a..a6fb4f89fb51eca84f89d6838e2bbe5da5b196e9 100644 --- a/extension/Classes/Core/Constants.php +++ b/extension/Classes/Core/Constants.php @@ -1046,6 +1046,7 @@ const F_NEW_BUTTON_CLASS = SYSTEM_NEW_BUTTON_CLASS; const F_NEW_BUTTON_GLYPH_ICON = SYSTEM_NEW_BUTTON_GLYPH_ICON; const F_ENTER_AS_SUBMIT = SYSTEM_ENTER_AS_SUBMIT; +const F_ACTIVATE_FIRST_REQUIRED_TAB = 'activeFirstRequiredTab'; const F_DRAG_AND_DROP_ORDER_SQL = 'dragAndDropOrderSql'; const F_ORDER_INTERVAL = 'orderInterval'; diff --git a/extension/Classes/Core/QuickFormQuery.php b/extension/Classes/Core/QuickFormQuery.php index 8ac42e195b3e93deed2244321cfd7bc21c5ec1fd..1163e66c7a07c51e40876b98b5de2eb14c39f2ca 100644 --- a/extension/Classes/Core/QuickFormQuery.php +++ b/extension/Classes/Core/QuickFormQuery.php @@ -1427,6 +1427,7 @@ class QuickFormQuery { * @return array * @throws \CodeException * @throws \UserFormException + * @throws \UserReportException */ private function initForm(array $formSpec, $recordId) { @@ -1442,6 +1443,7 @@ class QuickFormQuery { Support::setIfNotSet($formSpec, F_MULTI_MSG_NO_RECORD, F_MULTI_MSG_NO_RECORD_TEXT); Support::setIfNotSet($formSpec, F_FE_MIN_WIDTH, F_FE_MIN_WIDTH_DEFAULT); Support::setIfNotSet($formSpec, FE_INPUT_EXTRA_BUTTON_INFO_MIN_WIDTH, FE_INPUT_EXTRA_BUTTON_INFO_MIN_WIDTH_DEFAULT); + Support::setIfNotSet($formSpec, F_ACTIVATE_FIRST_REQUIRED_TAB, 1); // In case there is no F_MODE defined on the form, check if there is one in STORE_SIP. // if ($formSpec[F_MODE] == '') {