Skip to content
  • Tymoteusz Motylewski's avatar
    [FEATURE] Refactor category tree to SVG · 4aa12a3a
    Tymoteusz Motylewski authored and Georg Ringer's avatar Georg Ringer committed
    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: default avatarBamboo TYPO3com <info@typo3.com>
    Reviewed-by: default avatarBenni Mack <benni@typo3.org>
    Tested-by: default avatarBenni Mack <benni@typo3.org>
    Reviewed-by: default avatarWouter Wolters <typo3@wouterwolters.nl>
    Tested-by: default avatarWouter Wolters <typo3@wouterwolters.nl>
    Reviewed-by: default avatarGeorg Ringer <georg.ringer@gmail.com>
    Tested-by: default avatarGeorg Ringer <georg.ringer@gmail.com>
    4aa12a3a