Feature #76108

Refactor Category tree to be based on SVG

Added by Tymoteusz Motylewski over 3 years ago. Updated about 1 year ago.

Status:
Closed
Priority:
Should have
Category:
FormEngine aka TCEforms
Target version:
-
Start date:
2016-05-10
Due date:
% Done:

100%

PHP Version:
Tags:
Complexity:
Sprint Focus:

300categories.sql View (13.7 KB) Tymoteusz Motylewski, 2016-07-12 10:43


Related issues

Related to TYPO3 Core - Bug #77681: svgtree in flexforms does not work Closed 2016-08-30
Related to TYPO3 Core - Bug #77827: TCA SVG tree container is getting too large Closed 2016-09-03
Related to TYPO3 Core - Task #78905: TCA tree: Simplify json result Closed 2016-12-07
Related to TYPO3 Core - Bug #83741: HTTP Basic Authentication credentials in Google Chrome 64 not transfered to AJAX calls in d3.js Closed 2018-01-31
Duplicated by TYPO3 Core - Feature #52876: Replace ExtJS Tree with jquery tree to get rid of extjs Closed 2013-10-16

Associated revisions

Revision 4aa12a3a (diff)
Added by Tymoteusz Motylewski about 3 years ago

[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 <>
Reviewed-by: Benni Mack <>
Tested-by: Benni Mack <>
Reviewed-by: Wouter Wolters <>
Tested-by: Wouter Wolters <>
Reviewed-by: Georg Ringer <>
Tested-by: Georg Ringer <>

Revision cfd73ed3 (diff)
Added by Christian Kuhn almost 3 years ago

[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 <>
Tested-by: Wouter Wolters <>
Tested-by: TYPO3com <>
Reviewed-by: Thomas Maroschik <>
Tested-by: Thomas Maroschik <>
Reviewed-by: Christian Kuhn <>
Tested-by: Christian Kuhn <>

History

#1 Updated by Gerrit Code Review over 3 years ago

  • Status changed from New to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#2 Updated by Gerrit Code Review over 3 years ago

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#3 Updated by Gerrit Code Review over 3 years ago

Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#4 Updated by Gerrit Code Review over 3 years ago

Patch set 4 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#5 Updated by Gerrit Code Review over 3 years ago

Patch set 5 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#6 Updated by Gerrit Code Review over 3 years ago

Patch set 6 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#7 Updated by Gerrit Code Review over 3 years ago

Patch set 7 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#8 Updated by Tymoteusz Motylewski over 3 years ago

sql file with 300 categories

#9 Updated by Gerrit Code Review over 3 years ago

Patch set 8 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#10 Updated by Gerrit Code Review over 3 years ago

Patch set 9 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#11 Updated by Gerrit Code Review over 3 years ago

Patch set 10 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#12 Updated by Gerrit Code Review over 3 years ago

Patch set 11 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#13 Updated by Gerrit Code Review over 3 years ago

Patch set 12 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#14 Updated by Gerrit Code Review about 3 years ago

Patch set 13 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#15 Updated by Gerrit Code Review about 3 years ago

Patch set 14 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#16 Updated by Gerrit Code Review about 3 years ago

Patch set 15 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#17 Updated by Gerrit Code Review about 3 years ago

Patch set 16 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#18 Updated by Gerrit Code Review about 3 years ago

Patch set 17 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#19 Updated by Gerrit Code Review about 3 years ago

Patch set 18 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#20 Updated by Gerrit Code Review about 3 years ago

Patch set 19 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#21 Updated by Gerrit Code Review about 3 years ago

Patch set 20 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#22 Updated by Gerrit Code Review about 3 years ago

Patch set 21 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#23 Updated by Gerrit Code Review about 3 years ago

Patch set 22 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#24 Updated by Gerrit Code Review about 3 years ago

Patch set 23 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#25 Updated by Gerrit Code Review about 3 years ago

Patch set 24 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#26 Updated by Gerrit Code Review about 3 years ago

Patch set 25 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#27 Updated by Gerrit Code Review about 3 years ago

Patch set 26 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#28 Updated by Gerrit Code Review about 3 years ago

Patch set 27 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#29 Updated by Gerrit Code Review about 3 years ago

Patch set 28 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#30 Updated by Gerrit Code Review about 3 years ago

Patch set 29 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#31 Updated by Gerrit Code Review about 3 years ago

Patch set 30 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#32 Updated by Gerrit Code Review about 3 years ago

Patch set 31 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#33 Updated by Gerrit Code Review about 3 years ago

Patch set 32 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#34 Updated by Gerrit Code Review about 3 years ago

Patch set 33 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#35 Updated by Gerrit Code Review about 3 years ago

Patch set 34 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#36 Updated by Gerrit Code Review about 3 years ago

Patch set 35 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#37 Updated by Gerrit Code Review about 3 years ago

Patch set 36 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#38 Updated by Gerrit Code Review about 3 years ago

Patch set 37 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#39 Updated by Gerrit Code Review about 3 years ago

Patch set 38 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#40 Updated by Gerrit Code Review about 3 years ago

Patch set 39 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#41 Updated by Gerrit Code Review about 3 years ago

Patch set 40 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#42 Updated by Gerrit Code Review about 3 years ago

Patch set 41 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#43 Updated by Gerrit Code Review about 3 years ago

Patch set 42 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#44 Updated by Gerrit Code Review about 3 years ago

Patch set 43 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#45 Updated by Gerrit Code Review about 3 years ago

Patch set 44 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#46 Updated by Gerrit Code Review about 3 years ago

Patch set 45 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/48060

#47 Updated by Tymoteusz Motylewski about 3 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100

#48 Updated by Marco Huber over 1 year ago

  • Related to Bug #83741: HTTP Basic Authentication credentials in Google Chrome 64 not transfered to AJAX calls in d3.js added

#49 Updated by Benni Mack about 1 year ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF