@theredhead — Frontend Library - v1.0.0
    Preparing search index...

    Interface CalendarDatasource<T>

    Contract for a calendar event provider.

    Implementations supply events that fall within a given date range. The datasource emits a changed event whenever its underlying data is mutated so the view can re-query.

    const ds = new ArrayCalendarDatasource(myEvents);
    const visible = ds.getEvents(startOfMonth, endOfMonth);
    ds.changed.subscribe(() => refreshView());
    interface CalendarDatasource<T = unknown> {
        changed: Emitter<void>;
        getEvents(rangeStart: Date, rangeEnd: Date): readonly CalendarEvent<T>[];
    }

    Type Parameters

    • T = unknown

      The event payload type.

    Implemented by

    Index

    Properties

    Methods

    Properties

    changed: Emitter<void>

    Emitted whenever the underlying event data changes (add, remove, update, bulk replace).

    Methods

    • Returns all events whose date range intersects [rangeStart, rangeEnd].

      An event intersects the range when:

      • event.start <= rangeEnd and
      • (event.end ?? event.start) >= rangeStart

      Parameters

      • rangeStart: Date

        Inclusive start of the query window.

      • rangeEnd: Date

        Inclusive end of the query window.

      Returns readonly CalendarEvent<T>[]