MCPcopy Create free account
hub / github.com/astercloud/aster / restoreScrollPositions

Function restoreScrollPositions

ui/src/composables/useStreamingState.ts:135–158  ·  view source on GitHub ↗

* Restore saved scroll positions

()

Source from the content-addressed store, hash-verified

133 * Restore saved scroll positions
134 */
135 function restoreScrollPositions(): void {
136 if (!preserveScroll || !containerRef.value) return;
137
138 const state = getPreservedState(surfaceId);
139
140 // Restore container scroll position
141 const containerScroll = state.scrollPositions.get('__container__');
142 if (containerScroll) {
143 containerRef.value.scrollTop = containerScroll.top;
144 containerRef.value.scrollLeft = containerScroll.left;
145 }
146
147 // Restore scroll positions of scrollable children
148 state.scrollPositions.forEach((pos, id) => {
149 if (id === '__container__') return;
150
151 const el = containerRef.value?.querySelector(`[data-scroll-preserve="${id}"]`)
152 || containerRef.value?.querySelector(`#${id}`);
153 if (el) {
154 (el as HTMLElement).scrollTop = pos.top;
155 (el as HTMLElement).scrollLeft = pos.left;
156 }
157 });
158 }
159
160 /**
161 * Save currently focused element

Callers 1

restoreStateFunction · 0.85

Calls 2

getPreservedStateFunction · 0.85
getMethod · 0.45

Tested by

no test coverage detected