/* * Sortable Tree * * (c) 2023 Marc Anton Dahmen, MIT license */ import { SortableTreeNodeComponent } from './SortableTreeNode'; import { SortableTreeConfirmFunction, SortableTreeDropResultData, SortableTreeIcons, SortableTreeKeyValue, SortableTreeOnChangeFunction, SortableTreeOnClickFunction, SortableTreeRenderLabelFunction, SortableTreeStyles, } from './types'; export const defaultRenderLabel: SortableTreeRenderLabelFunction = ( data: SortableTreeKeyValue ): string => { return `${data.title}`; }; export const defaultIcons: SortableTreeIcons = { collapsed: ` `, open: ` `, }; export const defaultStyles: SortableTreeStyles = { tree: 'tree', node: 'tree__node', nodeHover: 'tree__node--hover', nodeDragging: 'tree__node--dragging', nodeDropBefore: 'tree__node--drop-before', nodeDropInside: 'tree__node--drop-inside', nodeDropAfter: 'tree__node--drop-after', label: 'tree__label', subnodes: 'tree__subnodes', collapse: 'tree__collapse', }; export const defaultOnChange: SortableTreeOnChangeFunction = async ({ nodes, movedNode, srcParentNode, targetParentNode, }: SortableTreeDropResultData): Promise => {}; export const defaultOnClick: SortableTreeOnClickFunction = async ( event: Event, node: SortableTreeNodeComponent ): Promise => {}; export const defaultConfirm: SortableTreeConfirmFunction = async ( movedNode: SortableTreeNodeComponent, targetParentNode: SortableTreeNodeComponent ): Promise => { return true; };