Page History
...
- Effect: The tree might still jump slightly when expanding/collapsing nodes, just for the time it repaints.
- Cause: It is likely that there is some scroll position hack in connectors that we should assert how useful it is.
- FOUND! line 138 in
TableConnector
:getWidget().updateFirstVisibleAndScrollIfNeeded(uidl);
- was introduced with partial updates, see http://dev.vaadin.com/ticket/6722
- it seems it can be removed with no visible effect (at least without partial updates).
- FOUND! line 138 in
- Fix: Patch
TableConnector
to remove this call.Jira server Magnolia key MGNLUI-960
7.
...
- Cause: The status icon is currently served as a plain Vaadin
Label
, using aColumnGenerator
. This means that Vaadin has to maintain and update all those label's state, for as many rows as the table has. - Effect: When expanding e.g. modules in config app, there is still a delay of approximately 0.5-1s.
- Fix: We should serve the status/permissions icons as style names, using a
CellStyleGenerator
, then we avoid those extra components and make the tree even more responsive.- This may well require to change how we configure custom columns; we need a new concept here.
...
Subsequent UIDL requests
- Effect: When selecting a table row, we send a UIDL request and get location fragment / action bar changes in response, but then a new UIDL request is sent to server with the new location fragment.
- Cause: Since Vaadin 7, the
UI
(root element) has the Navigator API built-in, which is aware of the page URI and fragment, but we don't use it at all for location handling.- When client-side repaints, Vaadin's
VUI
sees a location change on the client-side, which differs from its server-side state
- When client-side repaints, Vaadin's
- Fix: We can easily update Vaadin
UI
's page fragment at the same time we set the magnolia fragment. Then whenVUI
listens to location changes, it is no longer out of sync.Jira server Magnolia key MGNLUI-964
8. Vaadin components in cells
- Cause: The status icon is currently served as a plain Vaadin
Label
, using aColumnGenerator
. This means that Vaadin has to maintain and update all those label's state, for as many rows as the table has. - Effect: When expanding e.g. modules in config app, there is still a delay of approximately 0.5-1s.
- Fix: We should serve the status/permissions icons as style names, using a
CellStyleGenerator
, then we avoid those extra components and make the tree even more responsive.- This may well require to change how we configure custom columns; we need a new concept here.
9. Scrollbar blinking
- Effect: When changing table selection, we can see the scrollbar quickly disappears and reappears.
- Cause: There is a client-side hack called
runWebkitOverflowAutoFix()
that briefly setsoverflow:hidden
before reverting it toauto
, so that scrollbar appearance is recalculated.- That fix doesn't make sense for selection changes, although it does for collapse requests.
- Fix: Patch the client-side again to process that fix only for collapse requests. Please note that partial updates might behave differently regarding this.
...
Overview
Content Tools