forked from mystiq/hydrogen-web
Keep filling gap until sibling changes
This commit is contained in:
parent
b011c3df03
commit
a4cd40c2f8
1 changed files with 16 additions and 2 deletions
|
@ -23,6 +23,7 @@ export class GapTile extends SimpleTile {
|
||||||
this._loading = false;
|
this._loading = false;
|
||||||
this._error = null;
|
this._error = null;
|
||||||
this._isAtTop = true;
|
this._isAtTop = true;
|
||||||
|
this._siblingChanged = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fill() {
|
async fill() {
|
||||||
|
@ -42,11 +43,19 @@ export class GapTile extends SimpleTile {
|
||||||
this._loading = false;
|
this._loading = false;
|
||||||
this.emitChange("isLoading");
|
this.emitChange("isLoading");
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
notifyVisible() {
|
async notifyVisible() {
|
||||||
this.fill();
|
let depth = 0;
|
||||||
|
let result;
|
||||||
|
do {
|
||||||
|
result = await this.fill();
|
||||||
|
depth = depth + 1;
|
||||||
|
} while (depth < 10 && !this._siblingChanged && result && !this.isDisposed)
|
||||||
|
this._siblingChanged = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
get isAtTop() {
|
get isAtTop() {
|
||||||
|
@ -60,6 +69,11 @@ export class GapTile extends SimpleTile {
|
||||||
this._isAtTop = isAtTop;
|
this._isAtTop = isAtTop;
|
||||||
this.emitChange("isAtTop");
|
this.emitChange("isAtTop");
|
||||||
}
|
}
|
||||||
|
this._siblingChanged = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
updateNextSibling() {
|
||||||
|
this._siblingChanged = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
updateEntry(entry, params) {
|
updateEntry(entry, params) {
|
||||||
|
|
Loading…
Reference in a new issue