import { ContextMenuInfo, EntityData, GxOption } from "../../common/types"; export declare class GxIdeWWAttributes { #private; el: HTMLGxIdeWwAttributesElement; /** * Attributes rendered in the table */ attributes: AttributeData[]; /** * Selected attributes in the table of attributes */ selectedAttributesIds: string[]; /** * Show or hide advanced filters */ filterMore: boolean; /** * The attribute filter name */ name: string; /** * True if loadCallback hasn't been resolved yet */ loading: boolean; /** * The attribute object value */ object: EntityData; /** * The attribute filter type value */ type: string; /** * Callback invoked when user right-clicks on the grid */ readonly contextMenuCallback: ContextMenuCallback; /** * Callback invoked when user deletes an object */ readonly deleteSelectionCallback: DeleteSelectionCallback; /** * Callback invoked when user filters the objects */ readonly loadCallback: LoadCallback; /** * Callback invoked when user executes filter action */ readonly objectActionCallback: ObjectActionCallback; /** * Objects rendered in the object selector */ readonly objects: GxOption[]; /** * Callback invoked when user opens the selection dialog */ readonly openSelectionCallback: OpenSelectionCallback; /** * Callback invoked when user selects or deselects an object */ readonly selectionChangeCallback: SelectionChangeCallback; /** * Types rendered in the filter type selector */ readonly types: GxOption[]; componentWillLoad(): Promise; componentDidLoad(): void; keyDownHandler(eventInfo: KeyboardEvent): void; /** * Reloads the view, refreshing the filters and attributes table. */ reload(): Promise; /** * Validate necessary data input */ validate(): Promise; render(): void; } export type ContextMenuCallback = (contextMenuInfo: ContextMenuInfo) => Promise; export type DeleteSelectionCallback = (ids: string[]) => Promise; export type LoadCallback = (filters: AttributeFiltersData) => Promise; export type ObjectActionCallback = () => Promise; export type OpenSelectionCallback = (ids: string[]) => Promise; export type SelectionChangeCallback = (ids: string[]) => Promise; export interface AttributeData { id: string; icon: string; name: string; type: string; description: string; } export interface AttributeFiltersData { name?: string; type?: string; object?: string; }