mirror of
https://codeberg.org/yeentown/barkey.git
synced 2025-07-07 20:44:34 +00:00
improve debugging stack traces in MkPagination.vue
This commit is contained in:
parent
b5a3066a06
commit
d7784ea4ff
1 changed files with 15 additions and 18 deletions
|
@ -244,23 +244,24 @@ const reload = (): Promise<void> => {
|
||||||
const fetchMore = async (): Promise<void> => {
|
const fetchMore = async (): Promise<void> => {
|
||||||
if (!more.value || fetching.value || moreFetching.value || items.value.size === 0) return;
|
if (!more.value || fetching.value || moreFetching.value || items.value.size === 0) return;
|
||||||
moreFetching.value = true;
|
moreFetching.value = true;
|
||||||
const params = getActualValue<Paging['params']>(props.pagination.params, {});
|
try {
|
||||||
const offsetMode = getActualValue(props.pagination.offsetMode, false);
|
const params = getActualValue<Paging['params']>(props.pagination.params, {});
|
||||||
await misskeyApi<MisskeyEntity[]>(props.pagination.endpoint, {
|
const offsetMode = getActualValue(props.pagination.offsetMode, false);
|
||||||
...params,
|
const res = await misskeyApi<MisskeyEntity[]>(props.pagination.endpoint, {
|
||||||
limit: SECOND_FETCH_LIMIT,
|
...params,
|
||||||
...(offsetMode ? {
|
limit: SECOND_FETCH_LIMIT,
|
||||||
offset: items.value.size,
|
...(offsetMode ? {
|
||||||
} : {
|
offset: items.value.size,
|
||||||
untilId: Array.from(items.value.keys()).at(-1),
|
} : {
|
||||||
}),
|
untilId: Array.from(items.value.keys()).at(-1),
|
||||||
}).then(res => {
|
}),
|
||||||
|
});
|
||||||
for (let i = 0; i < res.length; i++) {
|
for (let i = 0; i < res.length; i++) {
|
||||||
const item = res[i];
|
const item = res[i];
|
||||||
if (i === 10) item._shouldInsertAd_ = true;
|
if (i === 10) item._shouldInsertAd_ = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
const reverseConcat = _res => {
|
const reverseConcat = (_res: typeof res) => {
|
||||||
const oldHeight = scrollableElement.value ? scrollableElement.value.scrollHeight : getBodyScrollHeight();
|
const oldHeight = scrollableElement.value ? scrollableElement.value.scrollHeight : getBodyScrollHeight();
|
||||||
const oldScroll = scrollableElement.value ? scrollableElement.value.scrollTop : window.scrollY;
|
const oldScroll = scrollableElement.value ? scrollableElement.value.scrollTop : window.scrollY;
|
||||||
|
|
||||||
|
@ -281,28 +282,24 @@ const fetchMore = async (): Promise<void> => {
|
||||||
if (props.pagination.reversed) {
|
if (props.pagination.reversed) {
|
||||||
reverseConcat(res).then(() => {
|
reverseConcat(res).then(() => {
|
||||||
more.value = false;
|
more.value = false;
|
||||||
moreFetching.value = false;
|
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
items.value = concatMapWithArray(items.value, res);
|
items.value = concatMapWithArray(items.value, res);
|
||||||
more.value = false;
|
more.value = false;
|
||||||
moreFetching.value = false;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (props.pagination.reversed) {
|
if (props.pagination.reversed) {
|
||||||
reverseConcat(res).then(() => {
|
reverseConcat(res).then(() => {
|
||||||
more.value = true;
|
more.value = true;
|
||||||
moreFetching.value = false;
|
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
items.value = concatMapWithArray(items.value, res);
|
items.value = concatMapWithArray(items.value, res);
|
||||||
more.value = true;
|
more.value = true;
|
||||||
moreFetching.value = false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, err => {
|
} finally {
|
||||||
moreFetching.value = false;
|
moreFetching.value = false;
|
||||||
});
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const fetchMoreAhead = async (): Promise<void> => {
|
const fetchMoreAhead = async (): Promise<void> => {
|
||||||
|
|
Loading…
Add table
Reference in a new issue