Przeglądaj źródła

Improvements to updating spacer indexes. (#11353)

* Improvements to updating spacer indexes.

- When details rows are moved down, indexes need to be updated from
bottom up.

Fixes #11352
tags/8.7.0.alpha1
Anna Koskinen 5 lat temu
rodzic
commit
eba7803962

+ 13
- 4
client/src/main/java/com/vaadin/client/widgets/Escalator.java Wyświetl plik

@@ -5606,10 +5606,19 @@ public class Escalator extends Widget
*/
public void shiftSpacersByRows(int index, int numberOfRows) {
final double pxDiff = numberOfRows * body.getDefaultRowHeight();
for (SpacerContainer.SpacerImpl spacer : getSpacersForRowAndAfter(
index)) {
spacer.setPositionDiff(0, pxDiff);
spacer.setRowIndex(spacer.getRow() + numberOfRows);
List<SpacerContainer.SpacerImpl> spacers = new ArrayList<>(
getSpacersForRowAndAfter(index));
if (numberOfRows < 0) {
for (SpacerContainer.SpacerImpl spacer : spacers) {
spacer.setPositionDiff(0, pxDiff);
spacer.setRowIndex(spacer.getRow() + numberOfRows);
}
} else {
for (int i = spacers.size() - 1; i >= 0; --i) {
SpacerContainer.SpacerImpl spacer = spacers.get(i);
spacer.setPositionDiff(0, pxDiff);
spacer.setRowIndex(spacer.getRow() + numberOfRows);
}
}
}


Ładowanie…
Anuluj
Zapisz