From b6269b6762fcaf54c7d88b339c4f0b23bdd93847 Mon Sep 17 00:00:00 2001 From: "lina.wolf" Date: Tue, 5 Apr 2022 17:50:59 +0200 Subject: [PATCH 1/2] =?UTF-8?q?[BREAKING]=20Feature:=20#97271=20-=20New=20?= =?UTF-8?q?TCA=20type=20=E2=80=9Ccolor=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/12.0/Feature-97271-NewTCATypeColor.html refs https://github.com/TYPO3-Documentation/TYPO3CMS-Reference-CoreApi/issues/1624 --- Documentation/CodeSnippets/Input34.rst.txt | 17 ---- Documentation/ColumnsConfig/Index.rst | 1 + .../ColumnsConfig/Introduction/Index.rst | 1 - .../ColumnsConfig/Type/Color/Index.rst | 82 ++++++++++++++++++ .../Type/Color/Properties/Eval.rst | 35 ++++++++ .../Type/Color/Properties/Index.rst | 39 +++++++++ .../Type/Color/Properties/Size.rst | 16 ++++ .../Type/Color/Properties/ValuePicker.rst | 38 ++++++++ .../Type/Input/ColorPicker/Examples.rst | 18 +--- .../Type/Input/ColorPicker/Index.rst | 18 +--- .../ColumnsConfig/Type/Input/Index.rst | 7 +- .../Images/AutomaticScreenshots/Input34.png | Bin 60777 -> 0 bytes Documentation/Images/Rst/Input34.rst.txt | 4 - Documentation/screenshots.json | 10 --- 14 files changed, 222 insertions(+), 64 deletions(-) delete mode 100644 Documentation/CodeSnippets/Input34.rst.txt create mode 100644 Documentation/ColumnsConfig/Type/Color/Index.rst create mode 100644 Documentation/ColumnsConfig/Type/Color/Properties/Eval.rst create mode 100644 Documentation/ColumnsConfig/Type/Color/Properties/Index.rst create mode 100644 Documentation/ColumnsConfig/Type/Color/Properties/Size.rst create mode 100644 Documentation/ColumnsConfig/Type/Color/Properties/ValuePicker.rst delete mode 100644 Documentation/Images/AutomaticScreenshots/Input34.png delete mode 100644 Documentation/Images/Rst/Input34.rst.txt diff --git a/Documentation/CodeSnippets/Input34.rst.txt b/Documentation/CodeSnippets/Input34.rst.txt deleted file mode 100644 index ed3a937a..00000000 --- a/Documentation/CodeSnippets/Input34.rst.txt +++ /dev/null @@ -1,17 +0,0 @@ -.. Automatic screenshot: Remove this line if you want to manually change this file - -.. code-block:: php - - 'columns' => [ - 'input_34' => [ - 'exclude' => 1, - 'label' => 'input_34', - 'description' => 'renderType=colorpicker', - 'config' => [ - 'type' => 'input', - 'renderType' => 'colorpicker', - 'size' => 10, - ], - ], - ] - \ No newline at end of file diff --git a/Documentation/ColumnsConfig/Index.rst b/Documentation/ColumnsConfig/Index.rst index dece5d35..21ef8f0b 100644 --- a/Documentation/ColumnsConfig/Index.rst +++ b/Documentation/ColumnsConfig/Index.rst @@ -19,6 +19,7 @@ be influenced by further properties. CommonProperties/Index Type/Category/Index Type/Check/Index + Type/Color/Index Type/Email/Index Type/Flex/Index Type/Folder/Index diff --git a/Documentation/ColumnsConfig/Introduction/Index.rst b/Documentation/ColumnsConfig/Introduction/Index.rst index ee535d4a..1d60a72b 100644 --- a/Documentation/ColumnsConfig/Introduction/Index.rst +++ b/Documentation/ColumnsConfig/Introduction/Index.rst @@ -49,7 +49,6 @@ input .. include:: /Images/Rst/Input28.rst.txt .. include:: /Images/Rst/Input30.rst.txt .. include:: /Images/Rst/Input33.rst.txt - .. include:: /Images/Rst/Input34.rst.txt .. include:: /Images/Rst/Inputdatetime3.rst.txt none diff --git a/Documentation/ColumnsConfig/Type/Color/Index.rst b/Documentation/ColumnsConfig/Type/Color/Index.rst new file mode 100644 index 00000000..a55e669f --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Color/Index.rst @@ -0,0 +1,82 @@ +.. include:: /Includes.rst.txt + +.. _columns-color: + +===== +Color +===== + +.. versionadded:: 12.0 + The TCA type :php:`color` has been introduced. It replaces the + :php:`renderType=colorpicker` of TCA type :php:`input`. + + +The TCA type :php:`color` should be used to input values representing email +addresses. + +Examples +======== + +A simple color picker: + +.. code-block:: php + + 'a_color_field' => [ + 'label' => 'Color field', + 'config' => [ + 'type' => 'color', + ] + ] + + +Migration +========= + +A complete migration from :php:`renderType=colorpicker` to :php:`type=color` +looks like the following: + +.. code-block:: php + + // Before + + 'a_color_field' => [ + 'label' => 'Color field', + 'config' => [ + 'type' => 'input', + 'renderType' => 'colorpicker', + 'required' => true, + 'size' => 20, + 'max' => 1024, + 'eval' => 'trim', + 'valuePicker' => [ + 'items' => [ + ['typo3 orange', '#FF8700'], + ], + ], + ], + ], + + // After + + 'a_color_field' => [ + 'label' => 'Color field', + 'config' => [ + 'type' => 'color', + 'required' => true, + 'size' => 20, + 'valuePicker' => [ + 'items' => [ + ['typo3 orange', '#FF8700'], + ], + ], + ] + ] + +An automatic TCA migration is performed on the fly, migrating all occurrences +to the new TCA type and triggering a PHP :php:`E_USER_DEPRECATED` error +where code adoption has to take place. + +.. toctree:: + :titlesonly: + + Properties/Index diff --git a/Documentation/ColumnsConfig/Type/Color/Properties/Eval.rst b/Documentation/ColumnsConfig/Type/Color/Properties/Eval.rst new file mode 100644 index 00000000..4f3416b3 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Color/Properties/Eval.rst @@ -0,0 +1,35 @@ +.. include:: /Includes.rst.txt +.. _columns-color-properties-eval: + +==== +eval +==== + +.. confval:: eval (type => color) + + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: string (list of keywords) + :Scope: Display / Proc. + + Configuration of field evaluation. + + Some of these evaluation keywords will trigger a JavaScript pre- evaluation + in the form. Other evaluations will be performed in the backend. The + evaluation functions will be executed in the list-order. Keywords: + + null + An empty value (string) will be stored as :code:`NULL` in the database, + requires a proper sql definition. + +Examples +======== + +.. code-block:: php + + 'aField' => [ + 'label' => 'aLabel', + 'config' => [ + 'type' => 'color', + 'eval' => 'null', + ], + ], diff --git a/Documentation/ColumnsConfig/Type/Color/Properties/Index.rst b/Documentation/ColumnsConfig/Type/Color/Properties/Index.rst new file mode 100644 index 00000000..ae294e93 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Color/Properties/Index.rst @@ -0,0 +1,39 @@ +.. include:: /Includes.rst.txt +.. _columns-email-properties: + +========== +Properties +========== + +Special properties +================== + +.. toctree:: + :titlesonly: + + Eval + Size + ValuePicker + +Common properties +================= + +* :ref:`behaviour > allowLanguageSynchronization ` +* :ref:`default ` +* :ref:`fieldControl ` +* :ref:`fieldInformation ` +* :ref:`fieldWizard ` with the following options + + * :ref:`defaultLanguageDifferences ` + * :ref:`localizationStateSelector ` + * :ref:`otherLanguageContent ` + +* :ref:`mode ` +* :ref:`placeholder ` +* :ref:`readOnly ` +* :ref:`required ` + +.. note:: + + The softref definition :php:`softref=>email[subst]` is automatically applied + to all :php:`email` fields. diff --git a/Documentation/ColumnsConfig/Type/Color/Properties/Size.rst b/Documentation/ColumnsConfig/Type/Color/Properties/Size.rst new file mode 100644 index 00000000..ef9b1050 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Color/Properties/Size.rst @@ -0,0 +1,16 @@ +.. include:: /Includes.rst.txt +.. _columns-color-properties-size: + +==== +size +==== + +.. confval:: size (type => color) + + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: integer + :Scope: Display + + Abstract value for the width of the :code:`` field. To set the + field to the full width of the form area, use the value 50. Minimum is 10. + Default is 30. diff --git a/Documentation/ColumnsConfig/Type/Color/Properties/ValuePicker.rst b/Documentation/ColumnsConfig/Type/Color/Properties/ValuePicker.rst new file mode 100644 index 00000000..e9ed77c3 --- /dev/null +++ b/Documentation/ColumnsConfig/Type/Color/Properties/ValuePicker.rst @@ -0,0 +1,38 @@ +.. include:: /Includes.rst.txt +.. _columns-color-properties-valuePicker: + +=========== +valuePicker +=========== + +.. confval:: valuePicker (type => color) + + :Path: $GLOBALS['TCA'][$table]['columns'][$field]['config'] + :type: array + :Scope: Display + + Renders a select box with static values next to the input field. When a + value is selected in the box, the value is transferred to the field. Keys: + + items (array) + An array with selectable items. Each item is an array with the first value being the label in the select + drop-down (LLL reference possible) the second being the value transferred to the input field. + +Example +======= + +.. code-block:: php + + 'a_color_field' => [ + 'label' => 'Color field', + 'config' => [ + 'type' => 'color', + 'required' => true, + 'size' => 20, + 'valuePicker' => [ + 'items' => [ + ['typo3 orange', '#FF8700'], + ], + ], + ] + ] diff --git a/Documentation/ColumnsConfig/Type/Input/ColorPicker/Examples.rst b/Documentation/ColumnsConfig/Type/Input/ColorPicker/Examples.rst index 3ebdc3f9..09964462 100644 --- a/Documentation/ColumnsConfig/Type/Input/ColorPicker/Examples.rst +++ b/Documentation/ColumnsConfig/Type/Input/ColorPicker/Examples.rst @@ -1,15 +1,5 @@ -.. include:: /Includes.rst.txt +:orphan: -======== -Examples -======== - - -.. _tca_example_input_34: - -Color picker field -================== - -.. include:: /Images/Rst/Input34.rst.txt - -.. include:: /CodeSnippets/Input34.rst.txt +.. deprecated:: 12.0 + The :php:`renderType=colorpicker` of TCA type :php:`input` has been + deprecated. Use the TCA type :ref:`color ` instead. diff --git a/Documentation/ColumnsConfig/Type/Input/ColorPicker/Index.rst b/Documentation/ColumnsConfig/Type/Input/ColorPicker/Index.rst index a2a31220..09964462 100644 --- a/Documentation/ColumnsConfig/Type/Input/ColorPicker/Index.rst +++ b/Documentation/ColumnsConfig/Type/Input/ColorPicker/Index.rst @@ -1,15 +1,5 @@ -.. include:: /Includes.rst.txt +:orphan: -.. _columns-input-renderType-colorpicker: - -=========== -Colorpicker -=========== - -This page describes the :ref:`input ` type with renderType='colorpicker'. - -An input field with a JavaScript color picker. - -.. toctree:: - - Examples +.. deprecated:: 12.0 + The :php:`renderType=colorpicker` of TCA type :php:`input` has been + deprecated. Use the TCA type :ref:`color ` instead. diff --git a/Documentation/ColumnsConfig/Type/Input/Index.rst b/Documentation/ColumnsConfig/Type/Input/Index.rst index e7ad8a90..e56fd8e3 100644 --- a/Documentation/ColumnsConfig/Type/Input/Index.rst +++ b/Documentation/ColumnsConfig/Type/Input/Index.rst @@ -24,8 +24,6 @@ The following renderTypes are available: * :ref:`default `: Can be a simple input field, a field with a value picker of predefined items or a value slider. -* :ref:`colorpicker `: An input - field with a JavaScript color picker. * :ref:`inputDateTime `: Renders an input field with date or time pickers. @@ -34,14 +32,15 @@ The following renderTypes are available: .. include:: /Images/Rst/Input28.rst.txt .. include:: /Images/Rst/Input30.rst.txt .. include:: /Images/Rst/Input33.rst.txt -.. include:: /Images/Rst/Input34.rst.txt .. include:: /Images/Rst/Inputdatetime3.rst.txt +.. deprecated:: 12.0 + The :php:`renderType=colorpicker` of TCA type :php:`input` has been + deprecated. Use the TCA type :ref:`color ` instead. .. toctree:: :hidden: Default/Index - ColorPicker/Index DateTime/Index Properties/Index diff --git a/Documentation/Images/AutomaticScreenshots/Input34.png b/Documentation/Images/AutomaticScreenshots/Input34.png deleted file mode 100644 index a3af5cab17ead2b123c500bf37f457edb8cc581a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60777 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

4FF#0az z0WMz%47pXzADJiqjh%(GYYSAbiK0eAf(Fx^$!Z`EVwxPQAv4&*jDHLWd}maSE{jZt z-CF$>;YDh+KhPW2quIjH3l7iPrH@E}_Z2~}i8Ti1NjSvE>{cs6kF-Xw#_IbeA1*#L z;Tlgq-c1fP+J;Ypf9#@D`bah1=k?m7wc-cul;9)9@9|KrS&-lM=-#=#ja#^LYGQyZ z3{@*3_An5@!=Xl*ge%kvrRZ8&q38Jyw?7|kq1>2&zqJ`Sv$oA-T4U~``?Ox`QOW+^ zws%h-)_tS=dTHudk>rQfu@NT-oDRLjJqk+-g#ENj!O|2fg;^&4PwLW2GZ=b&o~>;>=O*OO}uBn7S2xnV$Tt z-H#isV}QQ2Am(4qay3En?vID)t#r4E?o@Ro{;{_b*?8B{1VIq>kP}djwm8>s&?Ig|279{Z^Y9CI8JoJU++@UNOxqfiKIk`f&M=m;#8c9s0`2Nx#v z?wg?SYpvMV@cJ&fcc2Io!Crj=6H}YTTr+)-@m6Rsn z^UX)^>49S`Ex<^VVA+FY6Sk0)%>bl1l}`4aN*_8V0=WCBn}2wm49C=o}3NnmYXBxXz^yKl?29dhM@i(kDaoJ zHF$A~NQ4-o;G+eh(tL-IqX5r-i`enhK-vZn$-)-EdE!kwP`jHzZ})QlI~+lAkvVzg z6F&b!K@A~TN?fj7@nFzN1IUd4R@cD6OBA@M`gu>v#;G_K{AY}%0DG75d-ukfy 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 Date: Tue, 5 Apr 2022 19:26:21 +0200 Subject: [PATCH 2/2] Fix things --- Documentation/ColumnsConfig/Type/Color/Index.rst | 6 +++--- .../ColumnsConfig/Type/Color/Properties/Eval.rst | 11 +++++++---- .../ColumnsConfig/Type/Color/Properties/Index.rst | 7 +------ .../Type/Color/Properties/ValuePicker.rst | 8 +++++++- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/Documentation/ColumnsConfig/Type/Color/Index.rst b/Documentation/ColumnsConfig/Type/Color/Index.rst index a55e669f..f13b6530 100644 --- a/Documentation/ColumnsConfig/Type/Color/Index.rst +++ b/Documentation/ColumnsConfig/Type/Color/Index.rst @@ -1,5 +1,6 @@ .. include:: /Includes.rst.txt +.. _columns-input-renderType-colorpicker: .. _columns-color: ===== @@ -7,12 +8,11 @@ Color ===== .. versionadded:: 12.0 - The TCA type :php:`color` has been introduced. It replaces the + The TCA type :php:`color` has been introduced. It replaces the :php:`renderType=colorpicker` of TCA type :php:`input`. -The TCA type :php:`color` should be used to input values representing email -addresses. +The TCA type :php:`color` should be used to render a JavaScript based color-picker. Examples ======== diff --git a/Documentation/ColumnsConfig/Type/Color/Properties/Eval.rst b/Documentation/ColumnsConfig/Type/Color/Properties/Eval.rst index 4f3416b3..a80309ac 100644 --- a/Documentation/ColumnsConfig/Type/Color/Properties/Eval.rst +++ b/Documentation/ColumnsConfig/Type/Color/Properties/Eval.rst @@ -13,14 +13,17 @@ eval Configuration of field evaluation. - Some of these evaluation keywords will trigger a JavaScript pre- evaluation - in the form. Other evaluations will be performed in the backend. The - evaluation functions will be executed in the list-order. Keywords: - null An empty value (string) will be stored as :code:`NULL` in the database, requires a proper sql definition. +.. note:: + + The value of TCA type :php:`color` columns is automatically trimmed before + being stored in the database. Therefore, the :php:`eval=trim` option is no + longer needed and should be removed from the TCA configuration. The only + valid option for :php:`eval` is :php:`null`. + Examples ======== diff --git a/Documentation/ColumnsConfig/Type/Color/Properties/Index.rst b/Documentation/ColumnsConfig/Type/Color/Properties/Index.rst index ae294e93..5927d30b 100644 --- a/Documentation/ColumnsConfig/Type/Color/Properties/Index.rst +++ b/Documentation/ColumnsConfig/Type/Color/Properties/Index.rst @@ -1,5 +1,5 @@ .. include:: /Includes.rst.txt -.. _columns-email-properties: +.. _columns-color-properties: ========== Properties @@ -32,8 +32,3 @@ Common properties * :ref:`placeholder ` * :ref:`readOnly ` * :ref:`required ` - -.. note:: - - The softref definition :php:`softref=>email[subst]` is automatically applied - to all :php:`email` fields. diff --git a/Documentation/ColumnsConfig/Type/Color/Properties/ValuePicker.rst b/Documentation/ColumnsConfig/Type/Color/Properties/ValuePicker.rst index e9ed77c3..645d542f 100644 --- a/Documentation/ColumnsConfig/Type/Color/Properties/ValuePicker.rst +++ b/Documentation/ColumnsConfig/Type/Color/Properties/ValuePicker.rst @@ -16,7 +16,13 @@ valuePicker items (array) An array with selectable items. Each item is an array with the first value being the label in the select - drop-down (LLL reference possible) the second being the value transferred to the input field. + drop-down (LLL reference possible) the second being the hex-value transferred to the input field. + The value should have exactly 7 characters, as this is the maximum for a hex-value. + +.. note:: + + The :php:`valuePicker` allows to define default color codes via :php:`items` + for a TCA type :php:`color` field. Example =======