OGE logoOGE

Remote data

A real calendar holds years of appointments; the scheduler asks for the period on screen. Bind an OgeSchedulerDataSource and its load runs per visible range with instants and an AbortSignal. The previous and next periods are prefetched, quick navigation is debounced, a range the user left is aborted, and every loaded range is cached. A filtering @oge-ui/coreDataSource (OData, a custom source) gets the same per-range loading with remoteFiltering.

OgeSchedulerDataSource load({ startDate, endDate, signal }) prefetch reload() remoteFiltering

Range loading

A fake server with 400 ms latency. Navigate quickly: the log shows the debounce, the prefetched neighbours answering from the cache, and the requests aborted on the way. Drag or edit an appointment — the change goes through the source's update, then the range reloads.

load signal insert / update / remove reload()
Loading appointments…
Sunday, March 1, 2026
Monday, March 2, 2026
Tuesday, March 3, 2026
Wednesday, March 4, 2026
Thursday, March 5, 2026
Friday, March 6, 2026
Saturday, March 7, 2026
  1. #1 Mar 1 – Mar 7 — loading