@luzmo/embed
Version:
A modern [Web Component](https://developer.mozilla.org/en-US/docs/Web/Web_Components) for [Luzmo](https://luzmo.com) dashboards in your web application.
72 lines (71 loc) • 3.13 kB
TypeScript
import { VizItemExportType, FilterGroup, VizItemOptions, VizItemSlot, VizItemType } from '@luzmo/dashboard-contents-types';
import * as SharedLib from '@luzmo/shared-embed';
import { LitElement, PropertyValues } from 'lit';
/**
* The version of the dashboard contents that is linked to the current library.
*
* If custom options/slots/etc. are passed to the component, the library assumes that
* they are using this dashboard contents version. Then custom options/slots/etc.
* together with this dashboard contents version are passed to the dashboard app (https://app.luzmo.com/dashboard-app/remoteEntry.js)
* and if needed the migration will be applied on the dashboard app level.
*/
export declare const dashboardContentsVersion = "0.1.99";
type FunctionCall = [(...args: any) => any, any[]];
interface LuzmoVizItemComponentInterface extends HTMLElement {
options?: VizItemOptions;
type?: VizItemType;
appServer?: string;
apiHost?: string;
slots?: VizItemSlot[];
canFilter?: string[] | 'all';
filters?: FilterGroup[];
contextId?: string;
authKey?: string;
authToken?: string;
dashboardId?: string;
itemId?: string;
getFilters: () => FilterGroup[];
export: (type?: VizItemExportType) => Promise<string | void>;
refreshData: () => void;
getData: () => SharedLib.ItemData;
setSelectedData: (selectedDataInput: SharedLib.SelectedDataInput) => SharedLib.SetSelectedData;
setAuthorization: (key: string, token: string) => void;
}
export type { LuzmoVizItemComponentInterface };
export declare class LuzmoBaseVizItem extends LitElement implements LuzmoVizItemComponentInterface {
appServer?: string;
apiHost?: string;
slots?: VizItemSlot[];
options?: VizItemOptions;
type?: VizItemType;
authKey?: string;
authToken?: string;
version?: string;
contextId?: string;
canFilter?: SharedLib.CanFilter;
filters?: FilterGroup[];
dashboardId?: string;
itemId?: string;
selectedData: SharedLib.SelectedDataInput;
dashboardContentsVersion?: string;
libVersion?: string;
chartElement: HTMLElement & Partial<LuzmoVizItemComponentInterface> & {
setSelectedData?: (itemId?: string, filters?: SharedLib.SelectedDataInput) => SharedLib.SetSelectedData;
};
postInitCallQueue: FunctionCall[];
static styles: import("lit").CSSResult;
protected createRenderRoot(): HTMLElement | DocumentFragment;
canInitializeVizItem(): boolean;
getFilters(): FilterGroup[];
export(type?: VizItemExportType): Promise<string | void>;
getData(): SharedLib.ItemData;
refreshData(): void;
setSelectedData(selectedDataInput: SharedLib.SelectedDataInput): SharedLib.SetSelectedData;
setAuthorization(key: string, token: string): void;
attributeChangedCallback(name: string, _old: string | null, value: string | null): void;
protected firstUpdated(_changedProperties: PropertyValues): Promise<void>;
private createAndAppendElement;
private updateVizItemProperties;
updated(changedProperties: PropertyValues): Promise<void>;
protected render(): unknown;
}