MAIDR JavaScript API
    Preparing search index...

    Interface TableauExtensionDashboard

    The dashboard the extension is a zone of.

    Mirrors Dashboard in ExternalContract/Extensions/SheetInterfaces.d.ts. objects is optional here for the reason it is on TableauDashboard; addEventListener and getParametersAsync are optional because they are feature-detected rather than trusted, like everything a host library may predate.

    interface TableauExtensionDashboard {
        name: string;
        sheetType: "dashboard";
        objects?: readonly TableauDashboardObject[];
        worksheets: readonly TableauExtensionWorksheet[];
        addEventListener?: (
            eventType: string,
            handler: (event: unknown) => void,
        ) => TableauEventUnregisterFn;
        getParametersAsync?: () => Promise<readonly TableauExtensionParameter[]>;
    }

    Hierarchy (View Summary)

    Index

    Properties

    name: string
    sheetType: "dashboard"
    objects?: readonly TableauDashboardObject[]

    Every object on the dashboard, worksheets and furniture alike.

    The contract declares this required — readonly objects: Array<DashboardObject> on Dashboard, with no @since tag — and it is nonetheless declared optional here, following this file's rule that a member is optional whenever the running library may not provide it. The real case is an older Embedding build on the host page: absence is exactly what that looks like from here, and making it a type-level fact keeps the feature detection in binder.tsx an ordinary check rather than a cast that asserts away the very thing being tested.

    Read for one purpose only: the per-worksheet geometry that lets the extractor lay a dashboard out as a grid instead of a column. When it is missing, the figure is an N×1 column and nothing else changes.

    worksheets: readonly TableauExtensionWorksheet[]
    addEventListener?: (
        eventType: string,
        handler: (event: unknown) => void,
    ) => TableauEventUnregisterFn
    getParametersAsync?: () => Promise<readonly TableauExtensionParameter[]>