Delay scroll restoration after card refresh

This commit is contained in:
gitea_admin committed 2026-09-30 10:37:38 +02:00
1 parent 01fa2bc2b6
commit e25899b3ee
1 file changed
+14 -9
+14 -9
View File
@@ -28,25 +28,30 @@
container, container,
top: container.scrollTop, top: container.scrollTop,
left: container.scrollLeft, left: container.scrollLeft,
scheduled: false, timer: null,
}); });
}; };
const restoreScrollPosition = (root) => { const restoreScrollPosition = (root) => {
const state = scrollRestoreStates.get(root); const state = scrollRestoreStates.get(root);
if (!state || state.scheduled) { if (!state) {
return; return;
} }
state.scheduled = true; if (state.timer) {
requestAnimationFrame(() => { window.clearTimeout(state.timer);
}
state.timer = window.setTimeout(() => {
requestAnimationFrame(() => { requestAnimationFrame(() => {
if (state.container?.isConnected) { requestAnimationFrame(() => {
state.container.scrollTo({ top: state.top, left: state.left, behavior: 'auto' }); if (state.container?.isConnected) {
} state.container.scrollTo({ top: state.top, left: state.left, behavior: 'auto' });
scrollRestoreStates.delete(root); }
scrollRestoreStates.delete(root);
});
}); });
}); }, 100);
}; };
const getDirectDeleteElement = (card, selector) => Array.from(card?.children || []) const getDirectDeleteElement = (card, selector) => Array.from(card?.children || [])