UNPKG

tdesign-vue-next

Version:
1 lines 7.51 kB
{"version":3,"file":"useRenderLabel.mjs","sources":["../../../../components/tree/hooks/useRenderLabel.tsx"],"sourcesContent":["import { isBoolean } from 'lodash-es';\nimport { usePrefixClass, TypeCreateElement, computed, TCheckBox, TypeVNode } from '../utils/adapt';\nimport { TypeTreeItemState } from '../types';\nimport { getTNode } from '../utils';\nimport useItemEvents from './useItemEvents';\n\n// 渲染节点文本与内容\nexport default function useRenderLabel(state: TypeTreeItemState) {\n const classPrefix = usePrefixClass().value;\n const componentName = usePrefixClass('tree').value;\n\n const { handleChange } = useItemEvents(state);\n\n const renderLabel = (h: TypeCreateElement): TypeVNode => {\n const { node, treeScope } = state;\n const { scopedSlots, treeProps = {} } = treeScope;\n const { label, expandOnClickNode } = treeProps;\n const checkProps = treeProps?.checkProps || {};\n\n let labelNode = null;\n if (label === true) {\n if (scopedSlots?.label) {\n labelNode = scopedSlots.label({\n node: node?.getModel(),\n });\n } else {\n labelNode = node.label || '';\n }\n } else {\n labelNode = getTNode(label, {\n createElement: h,\n node,\n });\n }\n\n const labelClasses = [\n `${componentName}__label`,\n {\n [`${classPrefix}-is-active`]: node.isActivable() ? node.actived : false,\n },\n ];\n\n const shouldStopLabelTrigger = computed(() => {\n const isNormalBranchNode = Array.isArray(node.children) && node.children?.length > 0;\n // 延迟加载子节点场景\n const isLazyLoadChildBranchNode = isBoolean(node.children) && node.children;\n const isBranchNode = isNormalBranchNode || isLazyLoadChildBranchNode;\n return expandOnClickNode && isBranchNode;\n });\n\n if (node.vmCheckable) {\n let checkboxDisabled = false;\n if (node.vmIsLocked && !node.vmIsRest) {\n checkboxDisabled = true;\n }\n if (node.isDisabled()) {\n checkboxDisabled = true;\n }\n const itemCheckProps = {\n ...checkProps,\n disabled: checkboxDisabled,\n };\n\n labelNode = (\n <TCheckBox\n class={labelClasses}\n checked={node.checked}\n indeterminate={node.indeterminate}\n disabled={checkboxDisabled}\n name={String(node.value)}\n onChange={handleChange}\n stopLabelTrigger={shouldStopLabelTrigger.value}\n ignore={treeProps.expandOnClickNode ? 'active' : 'expand,active'}\n props={itemCheckProps}\n title={node.label}\n >\n {labelNode}\n </TCheckBox>\n );\n } else {\n const inner = <span style=\"position: relative\">{labelNode}</span>;\n // 使用key是为了避免元素复用,从而顺利移除ripple指令\n labelNode = node.isActivable() ? (\n <span key=\"1\" ref=\"label\" class={labelClasses} title={node.label}>\n {inner}\n </span>\n ) : (\n <span key=\"2\" class={labelClasses} title={node.label}>\n {inner}\n </span>\n );\n }\n\n return labelNode;\n };\n\n return {\n renderLabel,\n };\n}\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","useRenderLabel","state","classPrefix","usePrefixClass","value","componentName","_useItemEvents","useItemEvents","handleChange","renderLabel","h","node","treeScope","scopedSlots","_treeScope$treeProps","treeProps","label","expandOnClickNode","checkProps","labelNode","getModel","getTNode","createElement","labelClasses","concat","_defineProperty","isActivable","actived","shouldStopLabelTrigger","computed","_node$children","isNormalBranchNode","Array","isArray","children","length","isLazyLoadChildBranchNode","isBoolean","isBranchNode","vmCheckable","checkboxDisabled","vmIsLocked","vmIsRest","isDisabled","itemCheckProps","_objectSpread","disabled","_labelNode","_createVNode","TCheckBox","checked","indeterminate","String","inner"],"mappings":"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"}