diff options
author | Artur Signell <artur@vaadin.com> | 2016-11-24 11:31:23 +0200 |
---|---|---|
committer | Henri Sara <henri.sara@gmail.com> | 2017-01-03 09:47:18 +0200 |
commit | 17b5c8dc396ea87a46ec76689fdff5771fabe5dd (patch) | |
tree | a792c49c66c292d9aaca6c28d0fc5cceaa289bb7 /client | |
parent | a8835eaf31fd3a908647a71a26283f76383417bd (diff) | |
download | vaadin-framework-17b5c8dc396ea87a46ec76689fdff5771fabe5dd.tar.gz vaadin-framework-17b5c8dc396ea87a46ec76689fdff5771fabe5dd.zip |
Re-add body rows when Escalator is reattached to DOM (#20477)
Change-Id: I0ae9144817db3bb730c80748d5e9190484b323e7
# Conflicts:
# uitest/src/main/java/com/vaadin/tests/widgetset/client/grid/EscalatorBasicClientFeaturesWidget.java
Diffstat (limited to 'client')
-rw-r--r-- | client/src/main/java/com/vaadin/client/widgets/Escalator.java | 48 |
1 files changed, 14 insertions, 34 deletions
diff --git a/client/src/main/java/com/vaadin/client/widgets/Escalator.java b/client/src/main/java/com/vaadin/client/widgets/Escalator.java index d0de3957d9..416e8fde1c 100644 --- a/client/src/main/java/com/vaadin/client/widgets/Escalator.java +++ b/client/src/main/java/com/vaadin/client/widgets/Escalator.java @@ -5738,40 +5738,6 @@ public class Escalator extends Widget header.paintInsertRows(0, header.getRowCount()); footer.paintInsertRows(0, footer.getRowCount()); - // recalculateElementSizes(); - - Scheduler.get().scheduleDeferred(new Command() { - @Override - public void execute() { - /* - * Not a faintest idea why we have to defer this call, but - * unless it is deferred, the size of the escalator will be 0x0 - * after it is first detached and then reattached to the DOM. - * This only applies to a bare Escalator; inside a Grid - * everything works fine either way. - * - * The three autodetectRowHeightLater calls above seem obvious - * suspects at first. However, they don't seem to have anything - * to do with the issue, as they are no-ops in the - * detach-reattach case. - */ - recalculateElementSizes(); - } - }); - - /* - * Note: There's no need to explicitly insert rows into the body. - * - * recalculateElementSizes will recalculate the height of the body. This - * has the side-effect that as the body's size grows bigger (i.e. from 0 - * to its actual height), more escalator rows are populated. Those - * escalator rows are then immediately rendered. This, in effect, is the - * same thing as inserting those rows. - * - * In fact, having an extra paintInsertRows here would lead to duplicate - * rows. - */ - boolean columnsChanged = false; for (ColumnConfigurationImpl.Column column : columnConfiguration.columns) { boolean columnChanged = column.measureAndSetWidthIfNeeded(); @@ -5798,6 +5764,20 @@ public class Escalator extends Widget } else { scroller.attachTouchListeners(getElement()); } + + /* + * Note: There's no need to explicitly insert rows into the body. + * + * recalculateElementSizes will recalculate the height of the body. This + * has the side-effect that as the body's size grows bigger (i.e. from 0 + * to its actual height), more escalator rows are populated. Those + * escalator rows are then immediately rendered. This, in effect, is the + * same thing as inserting those rows. + * + * In fact, having an extra paintInsertRows here would lead to duplicate + * rows. + */ + recalculateElementSizes(); } @Override |