UNPKG

tdesign-vue-next

Version:
1 lines 4.83 kB
{"version":3,"file":"useRenderIcon.mjs","sources":["../../../../components/tree/hooks/useRenderIcon.tsx"],"sourcesContent":["import { usePrefixClass, useGlobalIcon, TypeCreateElement, TLoading, TdCaretRightSmallIcon } from '../utils/adapt';\nimport { TypeTreeItemState } from '../types';\nimport { getTNode } from '../utils';\n\n// 渲染节点图标\nexport default function useRenderIcon(state: TypeTreeItemState) {\n const classPrefix = usePrefixClass().value;\n const componentName = usePrefixClass('tree').value;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const getFolderIcon = (h: TypeCreateElement) => {\n const { CaretRightSmallIcon } = useGlobalIcon({\n CaretRightSmallIcon: TdCaretRightSmallIcon,\n });\n return <CaretRightSmallIcon />;\n };\n\n const handleMousedown = (evt: MouseEvent) => {\n // 在点击展开按钮 mousedown阶段 阻止冒泡 应用于处理如展开阻止下拉框失焦等场景\n evt.preventDefault();\n };\n\n const renderIcon = (h: TypeCreateElement) => {\n const { node, treeScope } = state;\n const { scopedSlots } = treeScope;\n const treeProps = treeScope?.treeProps || {};\n const { icon } = treeProps;\n let isDefaultIcon = false;\n\n let iconNode = null;\n if (icon === true) {\n if (scopedSlots?.icon) {\n iconNode = scopedSlots.icon({\n node: node?.getModel(),\n });\n } else if (!node.vmIsLeaf) {\n isDefaultIcon = true;\n iconNode = getFolderIcon(h);\n if (node.loading && node.expanded) {\n iconNode = <TLoading />;\n }\n } else {\n iconNode = '';\n }\n } else if (icon) {\n iconNode = getTNode(icon, {\n createElement: h,\n node,\n });\n }\n\n const wrapIconNode = (\n <span\n class={[\n `${componentName}__icon`,\n `${classPrefix}-folder-icon`,\n isDefaultIcon ? `${componentName}__icon--default` : '',\n ]}\n // TODO: 这里最好修改一下,改成 data-ignore 之类的\n // @ts-ignore\n trigger=\"expand\"\n ignore=\"active\"\n onmousedown={handleMousedown}\n >\n {iconNode}\n </span>\n );\n return wrapIconNode;\n };\n\n return {\n renderIcon,\n };\n}\n"],"names":["useRenderIcon","state","classPrefix","usePrefixClass","value","componentName","getFolderIcon","h","_useGlobalIcon","useGlobalIcon","CaretRightSmallIcon","TdCaretRightSmallIcon","_createVNode","handleMousedown","evt","preventDefault","renderIcon","node","treeScope","scopedSlots","treeProps","icon","isDefaultIcon","iconNode","getModel","vmIsLeaf","loading","expanded","TLoading","getTNode","createElement","wrapIconNode","concat"],"mappings":"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"}