neos-ui icon indicating copy to clipboard operation
neos-ui copied to clipboard

Feature: NodeType `reloadIfChildChanged`

Open mhsdesign opened this issue 2 years ago • 6 comments

Description

This is the only way to make a tab element - which has two collection loops (panels and contents) possible without bugs.

see for inspiration: https://github.com/internezzo/neos-childreload https://github.com/sitegeist/Sitegeist.StageFog https://github.com/VIVOMEDIA/neos-structural-change-reload

Existing reloaders:

  • reloadIfChanged
  • reloadPageIfChanged

i discussed with @jonnitto if it should be reloadParentIfChanged (which would function more like reloadPageIfChanged) or reloadIfChildChanged (which would be a new namepattern and behaviour), but we came to the conclusion, that reloadIfChildChanged is more usefull.

related https://github.com/neos/neos-ui/issues/2254

mhsdesign avatar Jul 20 '22 09:07 mhsdesign

I thought about reloadParentIfChanged because we would immediately know when we get new node data.

When implementing it via reloadIfChildIsChanged we always have to query for a parent up to the document node if anyone wants to refresh.

So the implementation is harder this way, but it makes more sense for integrators.

Sebobo avatar Jul 20 '22 09:07 Sebobo

in contrary to https://github.com/internezzo/neos-childreload which reloads the whole page, i was thinking about reloading only the parent then ...

mhsdesign avatar Jul 20 '22 09:07 mhsdesign

From an integrator point of view; I would prefer reloadIfChildChanged and reloadPageIfChildChanged

jonnitto avatar Jul 24 '22 08:07 jonnitto

@mhsdesign Potentially a thing for 8.3?

markusguenther avatar Feb 15 '23 12:02 markusguenther

if some codes it 😂 im having enough on my list for now :D

mhsdesign avatar Feb 20 '23 16:02 mhsdesign

Fyi internezzo/neos-childreload https://github.com/internezzo/neos-childreload/blob/cdc6bd7cc768aa3d7a3d04a371fe34d7118ffc8a/Resources/Private/JavaScript/ChildReload/src/manifest.js#L40C21-L40C52 does a full reload of the page. Ideally we only want to reload the outer element. The other packages using aspects seem to go in the right direction. The server determines the out of band rendering.

mhsdesign avatar Jul 25 '23 09:07 mhsdesign