diff --git a/pom.xml b/pom.xml index ec54630..ab323df 100644 --- a/pom.xml +++ b/pom.xml @@ -563,6 +563,12 @@ 4.17.0 test + + com.flowingcode.vaadin.addons.demo + commons-demo + 4.2.0 + test + diff --git a/src/main/resources/META-INF/frontend/fcGridHelper/connector.js b/src/main/resources/META-INF/frontend/fcGridHelper/connector.js index c926b03..292f7a8 100644 --- a/src/main/resources/META-INF/frontend/fcGridHelper/connector.js +++ b/src/main/resources/META-INF/frontend/fcGridHelper/connector.js @@ -57,13 +57,25 @@ import { Grid } from '@vaadin/grid/src/vaadin-grid.js'; if (grid.fcGridHelper._heightByRowsObserver) { grid.fcGridHelper._heightByRowsObserver.unobserve(grid); } - + grid.fcGridHelper._heightByRowsObserver = new ResizeObserver(() => { - var height = grid.fcGridHelper.computeHeightByRows(n); - grid.style.setProperty('--height-by-rows',height+'px'); + grid.fcGridHelper._updateHeightByRows(n); }); - + grid.fcGridHelper._heightByRowsObserver.observe(grid); + + grid.removeEventListener('loading-changed', grid.fcGridHelper._heightByRowsListener); + + grid.fcGridHelper._heightByRowsListener = ()=>{ + if (!grid.loading) grid.fcGridHelper._updateHeightByRows(n); + }; + + grid.addEventListener('loading-changed', grid.fcGridHelper._heightByRowsListener); + }, + + _updateHeightByRows : function(n) { + var height = grid.fcGridHelper.computeHeightByRows(n); + grid.style.setProperty('--height-by-rows',height+'px'); }, computeHeightByRows : function(n) {