aboutsummaryrefslogtreecommitdiffstats
path: root/client/src/main/java
diff options
context:
space:
mode:
authorAnna Koskinen <Ansku@users.noreply.github.com>2021-03-08 15:38:40 +0200
committerGitHub <noreply@github.com>2021-03-08 15:38:40 +0200
commit790a919adecc3c3ceeff47ba9444bb07b233832c (patch)
tree9d46c3688488e5c630face9bc35eb87efbbd1bf9 /client/src/main/java
parent7eb9588359c28ed484bcaeb729fc54675601671a (diff)
downloadvaadin-framework-790a919adecc3c3ceeff47ba9444bb07b233832c.tar.gz
vaadin-framework-790a919adecc3c3ceeff47ba9444bb07b233832c.zip
Fix updating Escalator's physical row index. (#12232)
* Fix updating Escalator's physical row index. - Physical index should take into account that more than one row can have a spacer. Physical index has no practical effect on how Grid looks like or behaves, since Escalator by design operates independently of it and the visual positioning of elements is based on the logical and visual indices. Physical index only affects the order of elements within the DOM tree, where a mismatch can cause confusion during debugging.
Diffstat (limited to 'client/src/main/java')
-rw-r--r--client/src/main/java/com/vaadin/client/widgets/Escalator.java5
1 files changed, 4 insertions, 1 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 f48177fa84..4f41fe5c6d 100644
--- a/client/src/main/java/com/vaadin/client/widgets/Escalator.java
+++ b/client/src/main/java/com/vaadin/client/widgets/Escalator.java
@@ -4834,13 +4834,16 @@ public class Escalator extends Widget
* Start at -1 to include a spacer that is rendered above the
* viewport, but its parent row is still not shown
*/
+ int addedSpacers = 0;
for (int i = -1; i < visualRowOrder.size(); i++) {
SpacerContainer.SpacerImpl spacer = spacers
.remove(Integer.valueOf(getTopRowLogicalIndex() + i));
if (spacer != null) {
- orderedBodyRows.add(i + 1, spacer.getRootElement());
+ orderedBodyRows.add(i + 1 + addedSpacers,
+ spacer.getRootElement());
spacer.show();
+ ++addedSpacers;
}
}
/*