[TASK] FormEngine: Move SelectTree processing into a data provider 52/43252/14
authorMorton Jonuschat <m.jonuschat@mojocode.de>
Wed, 28 Oct 2015 18:47:05 +0000 (19:47 +0100)
committerChristian Kuhn <lolli@schwarzbu.ch>
Thu, 29 Oct 2015 12:07:18 +0000 (13:07 +0100)
commitc5ee13f018a9659bb4a12922850737e41f88816c
treec6e6f391d91e21d0e1dd043e92bd0b2b4008d36c
parentcb391733c4b4c066db60b3f91711adb761ea37f5
[TASK] FormEngine: Move SelectTree processing into a data provider

The handling of select form elements with renderType "selectTree" has
been cleanly separated into a dedicated pair of element renderer and
data provider.

Methods used by the default select item provider as well as the tree
item provider have been moved into the AbstractItemProvider, the usage
of the AbstractItemProvider class has been cleaned up and is now limited
to data providers that deal with items.

Preparing the javascript for the tree rendering has been moved into a
dedicated method in the SelectTreeElement.

TcaSelectTreeItemsTest only covers the special data parsing/preparation
needed for the tree display, all common test cases for select item
handling are covered in TcaSelectItemsTest which covers the methods
provided by AbstractItemProvider.

Resolves: #69728
Releases: master
Change-Id: Idabb99263fe8dc860e4ec19c26a8cfe5b5a61fa3
Reviewed-on: https://review.typo3.org/43252
Reviewed-by: Andreas Fernandez <typo3@scripting-base.de>
Tested-by: Andreas Fernandez <typo3@scripting-base.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
15 files changed:
typo3/sysext/backend/Classes/Form/Element/SelectTreeElement.php
typo3/sysext/backend/Classes/Form/FormDataProvider/AbstractItemProvider.php
typo3/sysext/backend/Classes/Form/FormDataProvider/ReturnUrl.php
typo3/sysext/backend/Classes/Form/FormDataProvider/TcaFlexFetch.php
typo3/sysext/backend/Classes/Form/FormDataProvider/TcaFlexPrepare.php
typo3/sysext/backend/Classes/Form/FormDataProvider/TcaFlexProcess.php
typo3/sysext/backend/Classes/Form/FormDataProvider/TcaInlineConfiguration.php
typo3/sysext/backend/Classes/Form/FormDataProvider/TcaInlineExpandCollapseState.php
typo3/sysext/backend/Classes/Form/FormDataProvider/TcaInputPlaceholders.php
typo3/sysext/backend/Classes/Form/FormDataProvider/TcaSelectItems.php
typo3/sysext/backend/Classes/Form/FormDataProvider/TcaSelectTreeItems.php [new file with mode: 0644]
typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaSelectItemsTest.php
typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaSelectTreeItemsTest.php [new file with mode: 0644]
typo3/sysext/compatibility6/Classes/Form/FormDataProvider/TcaFlexProcess.php
typo3/sysext/core/Configuration/DefaultConfiguration.php