import { TreeViewItemModel } from "@genexus/chameleon-controls-library"; import { ContextMenuInfo } from "../../common/types"; export declare class GxIdeSelectKbItems { #private; el: HTMLGxIdeSelectKbItemsElement; /** * Represents the active version node caption and icon (if any) */ activeItemNode: ActiveNode; /** * Represents the selected nodes ids */ checkedNodesIds: string[]; /** * If true, the footer will be rendered */ renderFooter: boolean; /** * Represents the nodes list model */ nodeListFlattenedTreeModel: TreeViewItemModel[]; /** * To show a loader when the component is loading */ loading: boolean; /** * View type for the nodes. */ nodesVersionsViewType: NodesVersionsViewType; /** * Represents the nodes tree model */ nodeVersionsListTreeModel: TreeViewItemModel[]; /** * "Search Pattern" input value, used to filter the nodes tree/list. */ searchPatternValue: string; /** * It maps to the ch-tree-view-render "toggleCheckboxes" property. */ toggleCheckboxes: boolean; /** * Represents the itemLis list model */ itemsList: ItemNode[]; /** * Callback emitted when the user clicks on the "Active item" */ readonly activeItemCallback?: () => Promise; /** * Callback emitted when the 'cancel' button is pressed */ readonly cancelCallback?: () => Promise; /** * Defines which nodes of the component have checkboxes. */ readonly checkboxType: CheckboxType; /** * Define if a item node is expanded on click interaction. If false item-node will only be expanded on double click. */ readonly expandOnClick: boolean; /** * Callback emitted when the items checked items change */ readonly checkedChanged?: (checkedItems: string[]) => Promise; /** * Callback emitted when the 'select' button is pressed */ readonly confirmCallback?: (checkedItems: string[]) => Promise; /** * Set of additional actions (callbacks) to those already provided by default by the selector (cancelCallback and selectCallback) */ readonly dialogActions: DialogAction[]; /** * Callback emitted when the user right click on an item */ readonly itemContextMenuCallback: (info: ContextMenuInfo) => Promise; /** * Callback to load the items list model */ readonly loadItemsCallback: () => Promise; /** * Used to define if the component must show the "Toggle Checkboxes" option or not */ readonly showToggleCheckboxes: boolean; /** * This define if the selection is unique or not */ readonly multiSelection?: boolean; /** * This define if the checks are unique or not */ readonly singleChecks?: boolean; /** * Used to define if the component must show the "Active item" link or not */ readonly showActiveItemLink?: boolean; /** * Defines whether to show a loader while loading items */ readonly useLoader?: boolean; /** * Callback emitted when the items selection change */ readonly selectionChanged?: (selectedItem: string[]) => Promise; componentWillLoad(): Promise; reloadItems(): Promise; /** * Suspends or reactivates the shortcuts */ suspendShortcuts(suspendShortcuts: boolean): Promise; /** * Allow to update the selected items */ updateSelection(selectedItemsIds: string[]): Promise; /** * Allow to update the checked items */ updateCheckedItems(checkedItemsIds: string[]): Promise; render(): any; } export type CheckboxType = "none" | "all" | "leaf" | "custom"; export type DialogAction = { name: string; callback: DialogActionCallback; }; export type DialogActionCallback = (...args: any[]) => void; export type ItemCommon = { icon: string; expanded: boolean; }; export type ItemNode = { active?: boolean; checkbox?: boolean; checked?: boolean; expanded?: boolean; iconStart?: string; iconEnd?: string; id: string; name: string; guid?: string; nodes?: ItemNode[]; parts?: string; selected?: boolean; type?: ItemType; order?: number; }; export type ActiveNode = { caption: string; iconStart?: string; path: string[]; }; export type ItemType = { id: string; name: string; }; type NodesVersionsViewType = "tree" | "list"; export {};