/*
* 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;
};