UNPKG

ivue-material-plus

Version:

A high quality UI components Library with Vue.js

32 lines (29 loc) 813 B
import { inject, provide } from 'vue'; const TreeNodeMapContextKey = Symbol("ivue-tree-node-map"); function useNodeExpandEventBroadcast(props) { const parentNodeMap = inject(TreeNodeMapContextKey, null); const currentNodeMap = { treeNodeCollapse: (node) => { if (props.node !== node) { props.node.collapse(); } }, children: [] }; if (parentNodeMap) { parentNodeMap.children.push(currentNodeMap); } provide(TreeNodeMapContextKey, currentNodeMap); return { broadcastExpanded: (node) => { if (!props.accordion) { return; } for (const childNode of currentNodeMap.children) { childNode.treeNodeCollapse(node); } } }; } export { useNodeExpandEventBroadcast }; //# sourceMappingURL=useNodeExpandEventBroadcast.mjs.map