Interface ExplorationViewController

Ergonomic facade for one map, table, chart, filter panel, or custom view. It binds the view, injects viewId on every intent, and owns subscriptions so component teardown does not leak listeners.

interface ExplorationViewController {
    id: string;
    policy: LinkedViewPolicy;
    role: ViewRole;
    state: ExplorationState;
    applyPreset(preset: LinkedViewPresetName): void;
    clearFilter(id: string): void;
    deselect(ids?: readonly FeatureSelectionTarget[]): void;
    dispatch(intent: ExplorationViewIntent): void;
    restore(snapshot: ExplorationStateSnapshot): void;
    select(ids: readonly FeatureSelectionTarget[], options?: {
        replace?: boolean;
    }): void;
    setAggregation(aggregation: undefined | AggregationSpec): void;
    setExtent(extent: undefined | HonuaExtent): void;
    setFilter(id: string, clause: FilterClause): void;
    setGrouping(grouping: readonly string[]): void;
    setPage(page: PaginationSpec): void;
    setSort(sort: readonly SortSpec[]): void;
    setSpatialFilter(spatialFilter: undefined | SpatialFilter): void;
    setVisibleFields(fields: readonly string[]): void;
    snapshot(): ExplorationStateSnapshot;
    subscribe(slice: ExplorationViewSubscription, fn: ExplorationViewListener, options?: ExplorationViewSubscribeOptions): ExplorationUnsubscribe;
    unbind(): void;
}

Hierarchy (view full)

Properties

id: string
role: ViewRole

Methods