forked from mystiq/hydrogen-web
Do not break onListChanged
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
This commit is contained in:
parent
5d54285640
commit
33ac34b04e
1 changed files with 6 additions and 2 deletions
|
@ -162,6 +162,7 @@ export class LazyListView extends ListView {
|
||||||
onAdd(idx, value) {
|
onAdd(idx, value) {
|
||||||
const {topCount, renderCount, bottomCount} = this._renderRange;
|
const {topCount, renderCount, bottomCount} = this._renderRange;
|
||||||
if (this._renderRange.containsIndex(idx)) {
|
if (this._renderRange.containsIndex(idx)) {
|
||||||
|
this.onBeforeListChanged();
|
||||||
const normalizedIdx = this._renderRange.normalize(idx);
|
const normalizedIdx = this._renderRange.normalize(idx);
|
||||||
if (bottomCount === 0) {
|
if (bottomCount === 0) {
|
||||||
/*
|
/*
|
||||||
|
@ -179,7 +180,8 @@ export class LazyListView extends ListView {
|
||||||
this._removeChild(this._childInstances.pop());
|
this._removeChild(this._childInstances.pop());
|
||||||
this._renderRange = new ItemRange(topCount, renderCount, bottomCount + 1);
|
this._renderRange = new ItemRange(topCount, renderCount, bottomCount + 1);
|
||||||
}
|
}
|
||||||
super.onAdd(normalizedIdx, value);
|
super.onAdd(normalizedIdx, value, true);
|
||||||
|
this.onListChanged();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
this._renderRange = idx < topCount ? new ItemRange(topCount + 1, renderCount, bottomCount):
|
this._renderRange = idx < topCount ? new ItemRange(topCount + 1, renderCount, bottomCount):
|
||||||
|
@ -191,8 +193,9 @@ export class LazyListView extends ListView {
|
||||||
onRemove(idx, value) {
|
onRemove(idx, value) {
|
||||||
const {topCount, renderCount, bottomCount} = this._renderRange;
|
const {topCount, renderCount, bottomCount} = this._renderRange;
|
||||||
if (this._renderRange.containsIndex(idx)) {
|
if (this._renderRange.containsIndex(idx)) {
|
||||||
|
this.onBeforeListChanged();
|
||||||
const normalizedIdx = this._renderRange.normalize(idx);
|
const normalizedIdx = this._renderRange.normalize(idx);
|
||||||
super.onRemove(normalizedIdx, value);
|
super.onRemove(normalizedIdx, value, true);
|
||||||
if (bottomCount === 0) {
|
if (bottomCount === 0) {
|
||||||
// See onAdd for explanation
|
// See onAdd for explanation
|
||||||
this._renderRange = new ItemRange(topCount, renderCount - 1, bottomCount);
|
this._renderRange = new ItemRange(topCount, renderCount - 1, bottomCount);
|
||||||
|
@ -203,6 +206,7 @@ export class LazyListView extends ListView {
|
||||||
this._root.appendChild(mountView(child, this._mountArgs));
|
this._root.appendChild(mountView(child, this._mountArgs));
|
||||||
this._renderRange = new ItemRange(topCount, renderCount, bottomCount - 1);
|
this._renderRange = new ItemRange(topCount, renderCount, bottomCount - 1);
|
||||||
}
|
}
|
||||||
|
this.onListChanged();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
this._renderRange = idx < topCount ? new ItemRange(topCount - 1, renderCount, bottomCount):
|
this._renderRange = idx < topCount ? new ItemRange(topCount - 1, renderCount, bottomCount):
|
||||||
|
|
Loading…
Reference in a new issue