From 474598c356ce6035375f4558fe641f29f65ccdda Mon Sep 17 00:00:00 2001 From: "lina.wolf" Date: Tue, 6 Aug 2024 12:09:28 +0200 Subject: [PATCH] [TASK] Follow up: Merge properties to select multiple side by side Releases: main, 12.4 --- .../Type/Select/MultipleSideBySide/Index.rst | 84 ++++++++++++++++++- .../_FieldControl/_AddRecord.rst.txt | 2 - .../_FieldControl/_EditPopup.rst.txt | 8 +- .../_FieldControl/_ResetSelection.rst.txt | 1 - .../_Properties/_FieldWizard.rst.txt | 4 +- .../_Properties/_FileFolderConfig.rst.txt | 6 -- .../_Properties/_ForeignTable.rst.txt | 12 --- .../_Properties/_ForeignTablePrefix.rst.txt | 6 -- .../_Properties/_ForeignTableWhere.rst.txt | 55 +----------- .../_Properties/_Items.rst.txt | 33 +------- .../_Properties/_Mm.rst.txt | 8 -- .../_AllowLanguageSynchronization.php | 11 +++ .../_Snippets/_DbFieldLength.php | 16 ++++ 13 files changed, 114 insertions(+), 132 deletions(-) create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Snippets/_AllowLanguageSynchronization.php create mode 100644 Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Snippets/_DbFieldLength.php diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/Index.rst b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/Index.rst index 9bf37190..179a44c8 100644 --- a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/Index.rst +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/Index.rst @@ -22,10 +22,92 @@ All selected items are displayed in the left field. .. _tca_example_select_multiplesidebyside_1: Example: Basic side-by-side select field -================================ +======================================== .. include:: /Images/Rst/SelectMultiplesidebyside1.rst.txt .. include:: /CodeSnippets/SelectMultiplesidebyside1.rst.txt For more examples see also :ref:`columns-select-rendertype-selectMultipleSideBySide-examples`. + +.. _columns-select-multiplesidebyside-properties: + +Properties of the TCA column type `select` with renderType `selectMultipleSideBySide` +===================================================================================== + +.. confval-menu:: + :display: table + :type: + :Scope: + + .. include:: _Properties/_AllowNonIdValues.rst.txt + :show-buttons: + + .. include:: _Properties/_AuthMode.rst.txt + :show-buttons: + + .. include:: _Properties/_AuthModeEnforce.rst.txt + :show-buttons: + + .. include:: _Properties/_AutoSizeMax.rst.txt + :show-buttons: + + .. include:: _Properties/_Behaviour.rst.txt + :show-buttons: + + .. include:: _Properties/_DbFieldLength.rst.txt + :show-buttons: + + .. include:: _Properties/_Default.rst.txt + :show-buttons: + + .. include:: _Properties/_DisableNonMatchingValueElement.rst.txt + :show-buttons: + + .. include:: _Properties/_ExclusiveKeys.rst.txt + :show-buttons: + + .. include:: _Properties/_FieldControl.rst.txt + :show-buttons: + + .. include:: _Properties/_FieldInformation.rst.txt + :show-buttons: + + .. include:: _Properties/_FieldWizard.rst.txt + :show-buttons: + + .. include:: _Properties/_FileFolderConfig.rst.txt + :show-buttons: + + .. include:: _Properties/_ForeignTable.rst.txt + :show-buttons: + + .. include:: _Properties/_ForeignTablePrefix.rst.txt + :show-buttons: + + .. include:: _Properties/_ForeignTableWhere.rst.txt + :show-buttons: + + .. include:: _Properties/_Items.rst.txt + :show-buttons: + + .. include:: _Properties/_ItemsProcFunc.rst.txt + :show-buttons: + + .. include:: _Properties/_Maxitems.rst.txt + :show-buttons: + + .. include:: _Properties/_Minitems.rst.txt + :show-buttons: + + .. include:: _Properties/_Mm.rst.txt + :show-buttons: + + .. include:: _Properties/_Multiple.rst.txt + :show-buttons: + + .. include:: _Properties/_ReadOnly.rst.txt + :show-buttons: + + .. include:: _Properties/_Size.rst.txt + :show-buttons: diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_AddRecord.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_AddRecord.rst.txt index 2bd8abaf..7c1faa1d 100644 --- a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_AddRecord.rst.txt +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_AddRecord.rst.txt @@ -66,8 +66,6 @@ is substituted with the new record, 'prepend' adds the new record on top of the list, 'append' adds it at the bottom. -.. _tca_example_select_multiplesidebyside_1: - .. rubric:: Example: Multiple sidebyside select field with "Add record" enabled .. include:: /Images/Rst/SelectMultiplesidebyside1.rst.txt diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_EditPopup.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_EditPopup.rst.txt index 632aa669..34c7d7f4 100644 --- a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_EditPopup.rst.txt +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_EditPopup.rst.txt @@ -1,9 +1,3 @@ -.. include:: /Includes.rst.txt -.. _tca_property_fieldControl_editPopup: - -========= -editPopup -========= .. confval:: editPopup :name: select-byside-fieldControl-editPopup @@ -31,7 +25,7 @@ editPopup :guilabel:`Create new` button .. confval:: options - :name: select-byside-fieldControl-editPopup-options-title + :name: select-byside-fieldControl-editPopup-options :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['editPopup']['options'] .. confval:: title diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_ResetSelection.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_ResetSelection.rst.txt index d426dc41..e35e44d6 100644 --- a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_ResetSelection.rst.txt +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldControl/_ResetSelection.rst.txt @@ -1,4 +1,3 @@ -.. _tca_property_fieldControl_resetSelection: .. confval:: resetSelection :name: select-byside-fieldControl-resetSelection diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldWizard.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldWizard.rst.txt index bda913f3..dbed578b 100644 --- a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldWizard.rst.txt +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FieldWizard.rst.txt @@ -22,10 +22,8 @@ For details see :confval:`fieldWizard-otherLanguageContent`. - .. _tca_property_fieldWizard_selectIcons: - .. confval:: selectIcons - :name: fieldWizard-selectIcons + :name: select-byside-fieldWizard-selectIcons :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldWizard']['selectIcons'] :type: array :Scope: fieldWizard diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FileFolderConfig.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FileFolderConfig.rst.txt index 3cd26d35..d80cdbfb 100644 --- a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FileFolderConfig.rst.txt +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_FileFolderConfig.rst.txt @@ -63,9 +63,3 @@ This configuration can be overridden by :ref:`Page TSconfig`. - - .. rubric:: Examples: Select SVGs recursively from a folder - - .. include:: /Images/Rst/SelectSingle7.rst.txt - - .. include:: /CodeSnippets/SelectSingle7.rst.txt diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTable.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTable.rst.txt index 2667ef46..5cc22a38 100644 --- a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTable.rst.txt +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTable.rst.txt @@ -19,15 +19,3 @@ Usage of the `foreign_table` relation with the table `sys_language` Has been deprecated. Use TCA field type called :ref:`language` instead. - -.. rubric:: Example: Select singe field with enabled selectIcons - -.. include:: /Images/Rst/SelectSingle12.rst.txt - -.. include:: /CodeSnippets/SelectSingle12.rst.txt - -.. rubric:: Example: Select field with foreign table via MM table - -.. include:: /Images/Rst/SelectSingle15.rst.txt - -.. include:: /CodeSnippets/SelectSingle15.rst.txt diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTablePrefix.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTablePrefix.rst.txt index fd8620c1..c9483594 100644 --- a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTablePrefix.rst.txt +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTablePrefix.rst.txt @@ -8,9 +8,3 @@ :RenderType: all Label prefix to the title of the records from the foreign-table. - -.. rubric:: Example: Select single field with foreign_prefix and foreign_where - -.. include:: /Images/Rst/SelectSingle3.rst.txt - -.. include:: /CodeSnippets/SelectSingle3.rst.txt diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTableWhere.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTableWhere.rst.txt index 18961af8..4fba9f6f 100644 --- a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTableWhere.rst.txt +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_ForeignTableWhere.rst.txt @@ -12,57 +12,4 @@ appended to the existing :sql:`WHERE` clause (which contains default constraints, such as :sql:`NOT deleted`) and must begin with :sql:`AND`. -.. rubric:: Field quoting - -The example below uses the special field quoting syntax :php:`{#...}` around -identifiers to be as :ref:`DBAL `-compatible as possible. -Note that :php:`ORDER BY` and :php:`GROUP BY` -should NOT be quoted, since they always receive proper quoting automatically -through the API. - -Markers inside the WHERE statement - -It is possible to use markers in the WHERE clause: - -###REC\_FIELD\_[*field name*]### - Any field of the current record. - - .. note:: - The field name part of the marker is not in upper case letters. - It must match the exact case used in the database. - - So for example :sql:`sys_language_uid` must be referenced using - `###REC_FIELD_sys_language_uid###` - -###THIS\_UID### - Current element uid (zero if new). - -###CURRENT\_PID### - The current page id (pid of the record). - -###SITEROOT### - -:ref:`###PAGE\_TSCONFIG\_ID### ` - A value you can set from Page TSconfig dynamically. - -:ref:`###PAGE\_TSCONFIG\_IDLIST### ` - A value you can set from Page TSconfig dynamically. - -:ref:`###PAGE\_TSCONFIG\_STR### ` - A value you can set from Page TSconfig dynamically. - -###SITE:.### - A value from the site configuration, for example: `###SITE:mySetting.categoryPid###` or `###SITE:rootPageId###`. - -The markers are preprocessed so that the value of CURRENT\_PID and PAGE\_TSCONFIG\_ID are always integers -(default is zero), PAGE\_TSCONFIG\_IDLIST will always be a comma-separated list of integers (default is zero) -and PAGE\_TSCONFIG\_STR will be quoted before substitution (default is blank string). - -More information about markers set by Page TSconfig can be found in -the :ref:`TSconfig reference `. - -.. rubric:: Example: Select single field with foreign_prefix and foreign_where - -.. include:: /Images/Rst/SelectSingle3.rst.txt - -.. include:: /CodeSnippets/SelectSingle3.rst.txt + See also :confval:`foreign_table `. diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Items.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Items.rst.txt index d2e3ca7d..2f9826f8 100644 --- a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Items.rst.txt +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Items.rst.txt @@ -37,10 +37,6 @@ value (integer or string) The value stored in the database. - * The special value `--div--` was used to insert a non-selectable - value that appears as a divider label in the selector box. It is kept - for backwards-compatible reasons. Use :ref:`item groups - ` for custom selects instead. * Values must not contain `,` (comma) and `|` (vertical bar). If you want to use :php:`authMode`, you should also refrain from using `:` (colon). @@ -49,9 +45,6 @@ file found inside an extension or use an registered icon identifier. If configured on the :php:`foreign_table`, :ref:`selicon-field` is respected. - group (string) - The key of the :ref:`item group `. - description (string or array) Fifth value is an optional description text. This is only shown when the list is shown with `renderType='selectCheckBox'`. @@ -62,28 +55,4 @@ the :ref:`default value ` as well in TCA: :php:`'default' => 0`. Otherwise issues may arise, e.g. with MySQL strict mode. -.. _tca_example_select_single_1: - -.. rubric:: Example: Simple items definition with label and value - -.. include:: /Images/Rst/SelectSingle1.rst.txt - -.. include:: /CodeSnippets/SelectSingle1.rst.txt - -.. _tca_example_select_single_4: - -.. rubric:: Example: Items definition with label, value and icon - -A more complex example could be this (includes icons): - -.. include:: /Images/Rst/SelectSingle4.rst.txt - -.. include:: /CodeSnippets/SelectSingle4.rst.txt - -.. rubric:: Example: SelectSingle field with itemGroups - -A select single field of size 6 with 3 item groups and one item without group. - -.. include:: /Images/Rst/SelectSingle17.rst.txt - -.. include:: /CodeSnippets/SelectSingle17.rst.txt + For example see :ref:`Side-by-side view with filter `. diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Mm.rst.txt b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Mm.rst.txt index d7a64dfa..1d76b76f 100644 --- a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Mm.rst.txt +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Properties/_Mm.rst.txt @@ -27,14 +27,6 @@ Please have a look into the additional information in the :ref:`MM common property description `. -.. _tca_example_select_single_15: - -.. rubric:: Example: Select field with foreign table via MM table - -.. include:: /Images/Rst/SelectSingle15.rst.txt - -.. include:: /CodeSnippets/SelectSingle15.rst.txt - .. _columns-select-byside-properties-mm-match-fields: .. confval:: MM_match_fields diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Snippets/_AllowLanguageSynchronization.php b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Snippets/_AllowLanguageSynchronization.php new file mode 100644 index 00000000..967f95b5 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Snippets/_AllowLanguageSynchronization.php @@ -0,0 +1,11 @@ + [ + 'type' => 'select', + 'renderType' => 'selectMultipleSideBySide', + 'behaviour' => [ + 'allowLanguageSynchronization' => true, + ], + ], +]; diff --git a/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Snippets/_DbFieldLength.php b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Snippets/_DbFieldLength.php new file mode 100644 index 00000000..195c52f4 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Select/MultipleSideBySide/_Snippets/_DbFieldLength.php @@ -0,0 +1,16 @@ + 'My field', + 'config' => [ + 'type' => 'select', + 'renderType' => 'selectMultipleSideBySide', + 'items' => [ + ['label' => '', 'value' => ''], + ['label' => 'Some label', 'value' => 'some'], + ['label' => 'Another label', 'value' => 'another'], + ], + 'default' => '', + 'dbFieldLength' => 10, + ], +];