Skip to content

Commit ec85201

Browse files
committed
grid.plugin.AnimateRows: onStoreLoad() => logic for creating new view positions #6557
1 parent ddf28a0 commit ec85201

1 file changed

Lines changed: 11 additions & 7 deletions

File tree

src/grid/plugin/AnimateRows.mjs

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -94,26 +94,30 @@ class AnimateRows extends Base {
9494
onStoreLoad(data) {
9595
let me = this,
9696
{owner} = me,
97+
{mountedRows} = owner,
9798
hasChange = false,
98-
mapItem;
99+
id, mapItem, rowIndex, transform;
99100

100101
me.map = {};
101102

102103
owner.getVdomRoot().cn.forEach(row => {
103104
me.map[row.id] = row
104105
});
105106

106-
owner.createViewData(true, false).forEach(row => {
107-
mapItem = me.map[row.id];
107+
for (rowIndex=mountedRows[0]; rowIndex < mountedRows[1]; rowIndex++) {
108+
id = owner.getRowId(owner.store.getAt(rowIndex), rowIndex)
109+
mapItem = me.map[id];
108110

109111
if (mapItem) {
110-
if (mapItem.style.transform !== row.style.transform) {
111-
mapItem.style.transform = row.style.transform;
112-
NeoArray.toggle(mapItem.cls, 'neo-even', row.cls.includes('neo-even'));
112+
transform = `translate(0px, ${rowIndex * owner.rowHeight}px)`;
113+
114+
if (mapItem.style.transform !== transform) {
115+
mapItem.style.transform = transform;
116+
NeoArray.toggle(mapItem.cls, 'neo-even', rowIndex % 2 !== 0);
113117
hasChange = true
114118
}
115119
}
116-
});
120+
}
117121

118122
if (hasChange) {
119123
clearTimeout(me.transitionTimeoutId);

0 commit comments

Comments
 (0)