summaryrefslogtreecommitdiffstats
path: root/shared/src
diff options
context:
space:
mode:
authorAnna Koskinen <Ansku@users.noreply.github.com>2019-08-29 16:06:25 +0300
committerZhe Sun <31067185+ZheSun88@users.noreply.github.com>2019-08-30 09:16:12 +0300
commitba158beabb86faf94a02dc0e8993b96871a7f756 (patch)
tree414463ad13dcb1f22e38f20dfdb9d550217d8a3a /shared/src
parent67575f1e7539961a6c836f271205323a67ab3613 (diff)
downloadvaadin-framework-ba158beabb86faf94a02dc0e8993b96871a7f756.tar.gz
vaadin-framework-ba158beabb86faf94a02dc0e8993b96871a7f756.zip
Updated row and spacer handling for Escalator (#11438)8.9.0.beta3
Updated row and spacer handling for Escalator. Main changes: - Spacers are only maintained and checked for rows that have DOM representation, and not at all if there is no details generator. This gives notable performance improvements to some particularly large Grids - Escalator no longer tries to trim away any rows that don't fit within the viewport just because a details row gets opened in Grid. This leads to some increase in simultaneous DOM elements, but simplifies the logic considerably. For example opening or closing details rows doesn't require checking the overall content validity beyond the details row itself anymore, but some repositioning at most. There are also no longer any orphaned spacers without corresponding DOM rows. - Spacers are better integrated into the overall position calculations. - Some public methods that are no longer used by Escalator or have changed functionality or order of operations. Any extending classes that tap into row, spacer, or scroll position handling are likely to need reworking after this update. - Auto-detecting row height is delayed until Escalator is both attached and displayed.
Diffstat (limited to 'shared/src')
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/grid/DetailsManagerState.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/shared/src/main/java/com/vaadin/shared/ui/grid/DetailsManagerState.java b/shared/src/main/java/com/vaadin/shared/ui/grid/DetailsManagerState.java
index 1ac8987f01..cb202f96bb 100644
--- a/shared/src/main/java/com/vaadin/shared/ui/grid/DetailsManagerState.java
+++ b/shared/src/main/java/com/vaadin/shared/ui/grid/DetailsManagerState.java
@@ -22,4 +22,12 @@ package com.vaadin.shared.ui.grid;
*/
public class DetailsManagerState extends AbstractGridExtensionState {
+ /**
+ * For informing the connector when details handling can be skipped
+ * altogether as it's not possible to have any details rows without a
+ * generator.
+ *
+ * @since 8.9
+ */
+ public boolean hasDetailsGenerator = false;
}