[TASK] TCA tree: Simplify json result 13/50813/10
authorChristian Kuhn <lolli@schwarzbu.ch>
Wed, 30 Nov 2016 16:29:10 +0000 (17:29 +0100)
committerChristian Kuhn <lolli@schwarzbu.ch>
Wed, 7 Dec 2016 11:16:57 +0000 (12:16 +0100)
commitcfd73ed36d9205eddc27c542f4fec3ac2ee0197d
tree2be24912c660ab357a5cff71faf7633dc3d1895a
parent52dd9357e4d851a4e8418100bc1cf8cd711e4943
[TASK] TCA tree: Simplify json result

The patch changes the ajax result that delivers TCA tree
items to the SVG tree from a nested list of items to a
sorted flat list having a 'depth' argument to indicate the
nesting level.
This "flat" list is the native mode of the d3 tree, with
this change the JS side can be streamlined quite a bit.
Along the way, the item providing on PHP side is streamlined,
documented much better and easier to understand now within the
data provider of FormEngine.
The main tree data backend is still a huge, convoluted, slow
and insane mess that will eventually fully substituted with a
much straighter and quicker approach later. Changes in this area
are kept to a minimum for now.

Change-Id: Ib64b7277f671b632be3977218e5465b534618d63
Resolves: #78905
Related: #76108
Releases: master
Reviewed-on: https://review.typo3.org/50813
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Thomas Maroschik <tmaroschik@dfau.de>
Tested-by: Thomas Maroschik <tmaroschik@dfau.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/backend/Classes/Controller/SelectTreeController.php
typo3/sysext/backend/Classes/Form/FormDataProvider/AbstractItemProvider.php
typo3/sysext/backend/Classes/Form/FormDataProvider/TcaSelectTreeItems.php
typo3/sysext/backend/Classes/Tree/Renderer/ExtJsJsonTreeRenderer.php
typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/SelectTree.js
typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/SvgTree.js
typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/TreeToolbar.js
typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaSelectTreeItemsTest.php
typo3/sysext/core/Classes/Tree/TableConfiguration/ExtJsArrayTreeRenderer.php
typo3/sysext/core/Classes/Tree/TableConfiguration/TreeDataProviderFactory.php