import { InputType } from './inputType'; import { EffectAllowed } from './dragDrop'; export type TreeViewNodeMetaModelCustomizations = { classes: { treeViewNode?: string; treeViewNodeSelf?: string; treeViewNodeSelfSelected?: string; treeViewNodeSelfExpander?: string; treeViewNodeSelfExpanded?: string; treeViewNodeSelfExpandedIndicator?: string; treeViewNodeSelfSpacer?: string; treeViewNodeSelfLabel?: string; treeViewNodeSelfInput?: string; treeViewNodeSelfCheckbox?: string; treeViewNodeSelfRadio?: string; treeViewNodeSelfText?: string; treeViewNodeSelfAction?: string; treeViewNodeSelfAddChild?: string; treeViewNodeSelfAddChildIcon?: string; treeViewNodeSelfDelete?: string; treeViewNodeSelfDeleteIcon?: string; treeViewNodeChildrenWrapper?: string; treeViewNodeChildren?: string; treeViewNodeLoading?: string; }; }; type TreeViewNodeMetaModelCustomizationsDefaults = Partial; type TreeViewMetaModelInput = { type: InputType; name: string | null; value: string; isInitialRadioGroupValue: boolean; }; type TreeViewMetaModelInputDefaults = Partial; type TreeViewMetaModelState = { expanded: boolean; selected: boolean; input: { disabled?: boolean; value?: boolean; }; }; type TreeViewMetaModelStateDefaults = Partial; type TreeViewMetaModelInternal = { dragging: boolean; dragMoved: boolean; isDropTarget: boolean; isPrevDropTarget: boolean; isNextDropTarget: boolean; isChildDropTarget: boolean; keepCurrentDomFocus: boolean; state: { areChildrenLoading?: boolean; areChildrenLoaded?: boolean; matchesFilter?: boolean; subnodeMatchesFilter?: boolean; }; }; type TreeViewMetaModelInternalDefaults = Partial; type BaseTreeViewNodeMetaModel = { [key: string]: any; data: { [key: string]: any; }; idProperty: string; labelProperty: string; childrenProperty: string; title: string | null; expanderTitle: string | null; addChildTitle: string | null; deleteTitle: string | null; loadChildrenAsync: TreeViewLoadChildNodesAsyncMethod | null; addChildCallback: TreeViewAddChildCallbackMethod | null; deleteNodeCallback: TreeViewDeleteNodeCallbackMethod | null; expandable: boolean; selectable: boolean; deletable: boolean; focusable: boolean; draggable: boolean; allowDrop: boolean; dataTransferEffectAllowed: EffectAllowed; }; type TreeViewNodeMetaModelUniqueProperties = { childMetaModels: TreeViewNodeMetaModel[]; customizations: TreeViewNodeMetaModelCustomizations | null; input: TreeViewMetaModelInput | null; state: TreeViewMetaModelState; _: TreeViewMetaModelInternal; }; type TreeViewMetaModelDefaultsUniqueProperties = { childMetaModels: TreeViewNodeMetaModelDefaults[]; customizations: TreeViewNodeMetaModelCustomizationsDefaults; input: TreeViewMetaModelInputDefaults | null; state: TreeViewMetaModelStateDefaults; _: TreeViewMetaModelInternalDefaults; }; export type TreeViewNodeMetaModel = BaseTreeViewNodeMetaModel & TreeViewNodeMetaModelUniqueProperties; export type TreeViewNodeMetaModelDefaults = Partial; export type TreeViewNodeMetaModelDefaultsMethod = (node: any) => TreeViewNodeMetaModelDefaults; export type TreeViewFilterMethod = (node: TreeViewNodeMetaModel) => boolean; export type TreeViewLoadNodesAsyncMethod = () => Promise; export type TreeViewLoadChildNodesAsyncMethod = (parentNode: TreeViewNodeMetaModel) => Promise; export type TreeViewAddChildCallbackMethod = (parentNode: TreeViewNodeMetaModel) => Promise; export type TreeViewDeleteNodeCallbackMethod = (node: TreeViewNodeMetaModel) => Promise; export {};