Skip to content
Snippets Groups Projects
Commit c5fe4ed0 authored by Andreas Fernandez's avatar Andreas Fernandez
Browse files

[BUGFIX] Avoid re-paints and re-layouts in page tree on drag&drop

When using drag&drop in the page tree, many style changes happen:

* a shadow node is rendered that is moved around
* the content within the shadow node changes depending on whether
  dropping is allowed
* CSS classes are changed

The previous implementation was not optimal in several ways:

* the nodes wrapper (aka the "tree") was updated twice which each
  `dragover` event, being expensive on huge trees
* adding and removing CSS classes may have become redundant in some
  cases, triggering a re-paint every time

All these cases are handled in this patch by executing tasks only when
absolutely necessary.

Resolves: #99786
Releases: main, 11.5
Change-Id: Ibc8cbce2785e2de646e254590b4eddbdc42839c1
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77669


Reviewed-by: default avatarAndreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: default avatarcore-ci <typo3@b13.com>
Tested-by: default avatarAndreas Fernandez <a.fernandez@scripting-base.de>
parent a7bc75b4
No related merge requests found
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment