TCA tree refactoring
[TASK] TCA tree refactoring
The patch refactors the TCA tree form engine data calculation.
The tree now works with "new" (not yet persisted) records, even if
the record has types in combination with flex forms. For instance,
a new ext:news tt_content element now renders the category tree
within flex forms, even in new tt_content records that have not been
The TCA tree no longer fetches all items when opening a record initially,
but defers that to the ajax request. This gives a massive performance
improvement on initial load of a record if the displayed TCA tree is bigger.
The ajax request itself now compiles only data of the requested TCA field,
also resulting in a significant performance improvement.
As example, ext:styleguide "elements select" is now rendered much quicker
and the single ajax calls per tree are reduced from about 4 seconds to less
than a second each with my test data.
Reviewed-by: Thomas Maroschik <email@example.com>
Tested-by: Thomas Maroschik <firstname.lastname@example.org>
Reviewed-by: Tymoteusz Motylewski <email@example.com>
Tested-by: Tymoteusz Motylewski <firstname.lastname@example.org>