import { InjectionToken } from "@angular/core"; /** * Injection token to be used by a component to configure the service to be used by the ExplorerView. */ export declare const CUSTOM_EXPLORER_VIEW_SERVICE: InjectionToken; /** * Defines how an explorer view should be built in order to be correctly used. */ export interface ExplorerViewServiceDef { /** * Indicates if the explorer view will display the root node as the root element */ isSingleRoot?: boolean; /** * Whether changing the model dinamically prevers last selection (path) */ preserveSelection?: boolean; /** * Callback used when a node is selected and it is configured to be lazy loaded. * The result will be an array of nodes that will be set as the children of the current selected node. * If the result is empty or null, no children will be set and the node will be left without children. * @param node The selected node */ loadNodeChildren(node: ExplorerViewNode): Promise; } /** * Defines the model for the explorer view */ export interface ExplorerViewModel { /** * The title of the model. Displayed when we are in the root of the explorer view. */ title: string; /** * The root node of the model */ rootNode: ExplorerViewNode; } /** * Defines an explorer view node data */ export interface ExplorerViewNode { /** * Id, used to differentiate nodes */ id: string; /** * The title of the node. Displayed in the explorer view title and in the breadcrumb. */ title: string; /** * The template for the node. Displayed in the explorer view row. */ template: string; /** * Children nodes for this node */ children?: ExplorerViewNode[]; /** * Icon to be applied in the node. */ iconClass?: string; /** * Indicates if the node's children are to be loaded when the user selects the node */ isToLoadChildren?: boolean; /** * If the node is not to be rendered */ hidden?: boolean; /** * Used to store any data with the node. Just a straightforward data bag. */ bag?: any; }