Browse Source

Eliminate initial double rendering during initial rendering

tags/7.7.16
Tatu Lund 5 years ago
parent
commit
65419f2bab
1 changed files with 17 additions and 2 deletions
  1. 17
    2
      client/src/main/java/com/vaadin/client/connectors/GridConnector.java

+ 17
- 2
client/src/main/java/com/vaadin/client/connectors/GridConnector.java View File

@@ -909,8 +909,23 @@ public class GridConnector extends AbstractHasComponentsConnector
super.onStateChanged(stateChangeEvent);

initialChange = stateChangeEvent.isInitialStateChange();
if (initialChange) {
Scheduler.get().scheduleFinally(new ScheduledCommand() {
@Override
public void execute() {
doUpdateFromStateChangeEvent(stateChangeEvent);
}
});
} else {
doUpdateFromStateChangeEvent(stateChangeEvent);
}
}

// Column updates
private void doUpdateFromStateChangeEvent(
final StateChangeEvent stateChangeEvent) {

// Column updates
if (stateChangeEvent.hasPropertyChanged("columns")) {

// Remove old columns
@@ -924,7 +939,7 @@ public class GridConnector extends AbstractHasComponentsConnector
updateColumnFromStateChangeEvent(state);
}
}
if (stateChangeEvent.hasPropertyChanged("columnOrder")) {
if (orderNeedsUpdate(getState().columnOrder)) {
updateColumnOrderFromState(getState().columnOrder);

Loading…
Cancel
Save