Feature #22360
openUse "skeleton" style pulsers for lazy loaded fields and other UI elements with loading placeholders
Description
Use to replace spinners (as well as the inline pulser for consistency)
Updated by Peter Amstutz 4 months ago
- Target version changed from Development 2024-12-04 to Development 2025-01-08
Updated by Stephen Smith 4 months ago
- Subject changed from Use "skeleton" style pulsers for lazy loaded fields to Use "skeleton" style pulsers for lazy loaded fields and other UI elements with loading placeholders
Updated by Peter Amstutz 4 months ago
- Target version changed from Development 2025-01-08 to Development 2025-01-29
Updated by Peter Amstutz 3 months ago
- Target version changed from Development 2025-01-29 to Development 2025-02-12
Updated by Peter Amstutz 3 months ago
- Target version changed from Development 2025-02-12 to Development 2025-02-26
Updated by Moritz Gilsdorf 2 months ago
Hi,
This would be an important improvement for us. We are frequently getting strong feedback about the the perceived slowness of the workbench and this would be a big improvement. So please prioritise this if possible.
Updated by Peter Amstutz 2 months ago
Moritz Gilsdorf wrote in #note-7:
Hi,
This would be an important improvement for us. We are frequently getting strong feedback about the the perceived slowness of the workbench and this would be a big improvement. So please prioritise this if possible.
Hi Moritz,
We have some pretty significant workbench 2 performance improvements pending in #22127.
Updated by Peter Amstutz 2 months ago
The idea with skeletons is that the elements of the control are rendered as either horizontal bars (for text), boxes or circles (for images). These elements may get a subtle throbbing effect to indicate something is happening.
One point that comes to mind -- when rendering skeleton components we don't know exactly how many items there will be, e.g. the data table could have 3 items or 13, or the breadcrumbs can be several levels deep. However, we want to minimize flicker.
Tentatively, I think it should work like this:
- If the component is loading for the first time, use an arbitrary small number (like 3)
- If the component has been loaded before, use the previous number of items -- this way, the items that were already there are replaced by skeleton components, then replaced by new content. The idea is we don't show the old content while loading (which is confusing) but we don't completely blank it out (which creates flicker).
I'm open to other suggestions, though.
Updated by Peter Amstutz about 2 months ago
- Target version changed from Development 2025-02-26 to Development 2025-03-19
Updated by Peter Amstutz about 1 month ago
- Target version changed from Development 2025-03-19 to Development 2025-04-02
Updated by Peter Amstutz 13 days ago
- Target version changed from Development 2025-04-02 to Development 2025-04-16
Updated by Peter Amstutz 12 days ago
- Target version changed from Development 2025-04-16 to Future