[FEATURE] Refactor category tree to SVG
Replace ExtJS category tree implementation with SVG based one. Current approach reuses as much of the category logic as possible (e.g. ExtJsJsonTreeRenderer) The SVG tree js component is added as requirejs module. Standalone version of the js component lives here: https://github.com/wmdbsystems/TYPO3.Tree Done: - virtual scrolling (we render only the number of nodes which fits the current viewport) so there are minor workarounds in place - displaying of the category tree in category record (including checked checkbox) - a new ajax controller is added which returns full tree as json - icons are displayed - searching/filtering through tree - collapse all and expand all buttons - toolbar (search, expand all, collapse all) - indeterminate state for checkboxes (parent is marked if child is selected) - selection saving in the record - maxItems handling - new svgTree is used in all records (pages, tt_content, categories, ...) - TCA settings: 'expandAll', 'showHeader', 'size', 'maxLevels' 'nonSelectableLevels', 'requestUpdate', 'exclusiveKeys' - toolbar tooltips and input placehoder - replace collapse-all and expand-all icons with new ones from T3.icons - remove extjs JS file (tree.js) - readonly mode (it's possible to navigate the tree (scroll,collapse,expand,etc), before it was not possible) - marking record “red” if validation fails - icon overlay handling (for e.g. disabled categories) - tooltip with category id Resolves: #76108 Resolves: #74126 Resolves: #65780 Releases: master Change-Id: Ib8d3c879b0b0584ff50cf0f6842bb655f9753ddd Reviewed-on: https://review.typo3.org/48060 Tested-by:Bamboo TYPO3com <info@typo3.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Wouter Wolters <typo3@wouterwolters.nl> Tested-by:
Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com>
Showing
- Build/Gruntfile.js 1 addition, 1 deletionBuild/Gruntfile.js
- Build/Resources/Public/Less/Component/svgTree.less 17 additions, 0 deletionsBuild/Resources/Public/Less/Component/svgTree.less
- Build/Resources/Public/Less/backend.less 1 addition, 0 deletionsBuild/Resources/Public/Less/backend.less
- Build/bower.json 2 additions, 1 deletionBuild/bower.json
- typo3/sysext/backend/Classes/Controller/SelectTreeController.php 64 additions, 0 deletions...ysext/backend/Classes/Controller/SelectTreeController.php
- typo3/sysext/backend/Classes/Form/Element/SelectTreeElement.php 25 additions, 100 deletions...sysext/backend/Classes/Form/Element/SelectTreeElement.php
- typo3/sysext/backend/Classes/Form/FormDataProvider/TcaSelectTreeItems.php 3 additions, 2 deletions...kend/Classes/Form/FormDataProvider/TcaSelectTreeItems.php
- typo3/sysext/backend/Classes/Form/FormResultCompiler.php 0 additions, 1 deletiontypo3/sysext/backend/Classes/Form/FormResultCompiler.php
- typo3/sysext/backend/Classes/Tree/Renderer/ExtJsJsonTreeRenderer.php 13 additions, 2 deletions...t/backend/Classes/Tree/Renderer/ExtJsJsonTreeRenderer.php
- typo3/sysext/backend/Classes/Tree/TreeRepresentationNode.php 3 additions, 2 deletionstypo3/sysext/backend/Classes/Tree/TreeRepresentationNode.php
- typo3/sysext/backend/Configuration/Backend/AjaxRoutes.php 6 additions, 0 deletionstypo3/sysext/backend/Configuration/Backend/AjaxRoutes.php
- typo3/sysext/backend/Resources/Public/Css/backend.css 15 additions, 0 deletionstypo3/sysext/backend/Resources/Public/Css/backend.css
- typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/SelectTree.js 239 additions, 0 deletions...ources/Public/JavaScript/FormEngine/Element/SelectTree.js
- typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/SelectTreeElement.js 57 additions, 0 deletions...Public/JavaScript/FormEngine/Element/SelectTreeElement.js
- typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/SvgTree.js 709 additions, 0 deletions...Resources/Public/JavaScript/FormEngine/Element/SvgTree.js
- typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/TreeToolbar.js 170 additions, 0 deletions...urces/Public/JavaScript/FormEngine/Element/TreeToolbar.js
- typo3/sysext/backend/Resources/Public/JavaScript/tree.js 0 additions, 286 deletionstypo3/sysext/backend/Resources/Public/JavaScript/tree.js
- typo3/sysext/core/Classes/Imaging/IconProvider/BitmapIconProvider.php 29 additions, 0 deletions.../core/Classes/Imaging/IconProvider/BitmapIconProvider.php
- typo3/sysext/core/Classes/Page/PageRenderer.php 1 addition, 0 deletionstypo3/sysext/core/Classes/Page/PageRenderer.php
- typo3/sysext/core/Classes/Tree/TableConfiguration/DatabaseTreeDataProvider.php 1 addition, 1 deletion...sses/Tree/TableConfiguration/DatabaseTreeDataProvider.php
Please register or sign in to comment