MCPcopy Create free account
hub / github.com/callumalpass/tasknotes / onDataUpdated

Function onDataUpdated

src/bases/BasesViewBase.ts:184–216  ·  view source on GitHub ↗

* BasesView lifecycle: Called when Bases data changes. * Required abstract method implementation. * Debounced to prevent excessive re-renders during rapid file saves.

()

Source from the content-addressed store, hash-verified

182 * Debounced to prevent excessive re-renders during rapid file saves.
183 */
184 onDataUpdated(): void {
185 // Skip if view is not visible
186 if (!this.rootElement?.isConnected) {
187 return;
188 }
189
190 this.dataUpdateDebounceTimer = scheduleBasesDataUpdateRender({
191 currentTimer: this.dataUpdateDebounceTimer,
192 scheduler: this.getTimeoutScheduler(),
193 isConnected: () => Boolean(this.rootElement?.isConnected),
194 beforeRender: () => this.updateRelevantPathsCache(),
195 render: async () => {
196 const savedState = this.getEphemeralState();
197 try {
198 await this.render();
199 } finally {
200 this.setEphemeralState(savedState);
201 }
202 },
203 onTimerCleared: () => {
204 this.dataUpdateDebounceTimer = null;
205 },
206 onRenderError: (error) => {
207 this.logger.error("Render error during data update", {
208 category: "internal",
209 operation: "data-update-render",
210 error,
211 });
212 this.renderError(error as Error);
213 },
214 delayMs: 500,
215 });
216 }
217
218 /**
219 * Update the cache of relevant paths for efficient update checking.

Callers

nothing calls this directly

Calls 6

errorMethod · 0.80
renderMethod · 0.65
getEphemeralStateMethod · 0.45
setEphemeralStateMethod · 0.45
renderErrorMethod · 0.45

Tested by

no test coverage detected