瀏覽代碼

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 年之前
父節點
當前提交
eba7803962
共有 1 個文件被更改,包括 13 次插入4 次删除
  1. 13
    4
      client/src/main/java/com/vaadin/client/widgets/Escalator.java

+ 13
- 4
client/src/main/java/com/vaadin/client/widgets/Escalator.java 查看文件

@@ -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);
}
}
}


Loading…
取消
儲存