@sqlrooms/mosaic / ensurePanel
Function: ensurePanel()
ensurePanel(
adapter,panelId,type?): {id:string;type:"vgplot";title:string;source?: {tableName?:string;sqlQuery?:string; };config: {chartType:"histogram";settings: {field?:string;maxBins?:number;color?:string; };settingsOpen?:boolean;dataPolicy?: {disabled?:boolean;maxRows?:number;reason?:string; }; } | {chartType:"count-plot";settings: {field?:string; };settingsOpen?:boolean;dataPolicy?: {disabled?:boolean;maxRows?:number;reason?:string; }; } | {chartType:"line-chart";settings: {x?:string;xInterval?:"second"|"minute"|"hour"|"day"|"week"|"month"|"quarter"|"year";yFields?:object[];showLegend:boolean; };settingsOpen?:boolean;dataPolicy?: {disabled?:boolean;maxRows?:number;reason?:string; }; } | {chartType:"scatter-plot";settings: {x?:string;y?:string;size?:string; };settingsOpen?:boolean;dataPolicy?: {disabled?:boolean;maxRows?:number;reason?:string; }; } | {chartType:"heatmap";settings: {x?:string;y?:string; };settingsOpen?:boolean;dataPolicy?: {disabled?:boolean;maxRows?:number;reason?:string; }; } | {chartType:"box-plot";settings: {x?:string;y?:string; };settingsOpen?:boolean;dataPolicy?: {disabled?:boolean;maxRows?:number;reason?:string; }; } | {chartType:"custom-spec";settingsOpen?:boolean;settings: {vgPlotSpec?:unknown; };dataPolicy?: {disabled?:boolean;maxRows?:number;reason?:string; }; } | {chartType:string;settings:Record<string,unknown>;settingsOpen?:boolean;dataPolicy?: {disabled?:boolean;maxRows?:number;reason?:string; }; }; } | {id:string;type:"data-table-explorer";title:string;source?: {tableName?:string;sqlQuery?:string; };config: {pageSize?:number; }; } | {id:string;type:string;title:string;source?: {tableName?:string;sqlQuery?:string; };config:Record<string,unknown>; }
Validates that a panel exists in a dashboard. Throws if not found.
Parameters
| Parameter | Type |
|---|---|
adapter | DashboardAiAdapter |
panelId | string |
type? | string |
Returns
{ id: string; type: "vgplot"; title: string; source?: { tableName?: string; sqlQuery?: string; }; config: { chartType: "histogram"; settings: { field?: string; maxBins?: number; color?: string; }; settingsOpen?: boolean; dataPolicy?: { disabled?: boolean; maxRows?: number; reason?: string; }; } | { chartType: "count-plot"; settings: { field?: string; }; settingsOpen?: boolean; dataPolicy?: { disabled?: boolean; maxRows?: number; reason?: string; }; } | { chartType: "line-chart"; settings: { x?: string; xInterval?: "second" | "minute" | "hour" | "day" | "week" | "month" | "quarter" | "year"; yFields?: object[]; showLegend: boolean; }; settingsOpen?: boolean; dataPolicy?: { disabled?: boolean; maxRows?: number; reason?: string; }; } | { chartType: "scatter-plot"; settings: { x?: string; y?: string; size?: string; }; settingsOpen?: boolean; dataPolicy?: { disabled?: boolean; maxRows?: number; reason?: string; }; } | { chartType: "heatmap"; settings: { x?: string; y?: string; }; settingsOpen?: boolean; dataPolicy?: { disabled?: boolean; maxRows?: number; reason?: string; }; } | { chartType: "box-plot"; settings: { x?: string; y?: string; }; settingsOpen?: boolean; dataPolicy?: { disabled?: boolean; maxRows?: number; reason?: string; }; } | { chartType: "custom-spec"; settingsOpen?: boolean; settings: { vgPlotSpec?: unknown; }; dataPolicy?: { disabled?: boolean; maxRows?: number; reason?: string; }; } | { chartType: string; settings: Record<string, unknown>; settingsOpen?: boolean; dataPolicy?: { disabled?: boolean; maxRows?: number; reason?: string; }; }; } | { id: string; type: "data-table-explorer"; title: string; source?: { tableName?: string; sqlQuery?: string; }; config: { pageSize?: number; }; } | { id: string; type: string; title: string; source?: { tableName?: string; sqlQuery?: string; }; config: Record<string, unknown>; }
