xdesign-vue-next
Version:
XDesign Component for vue-next
1 lines • 4.3 kB
Source Map (JSON)
{"version":3,"file":"td-tree.mjs","sources":["../../src/tree/td-tree.tsx"],"sourcesContent":["import { computed, defineComponent, TransitionGroup, provide } from 'vue';\n\nimport props from './props';\nimport { useConfig } from '../hooks/useConfig';\nimport { useTNodeDefault } from '../hooks/tnode';\nimport { useCLASSNAMES, injectKey } from './constants';\nimport useTree from './useTree';\nimport useExposeFunc from './hooks/useExposeFunc';\n\nexport default defineComponent({\n name: 'XTree',\n props,\n setup(props, { expose, slots }) {\n const { globalConfig, t } = useConfig('tree');\n const CLASS_NAMES = useCLASSNAMES();\n const renderTNodeJSX = useTNodeDefault();\n\n // 向子组件传递的状态\n const statusContext = computed(() => {\n const { checkProps, empty, icon, label, line, disableCheck, operations } = props;\n return {\n checkProps,\n empty,\n icon,\n label,\n line,\n disableCheck,\n operations,\n scopedSlots: slots,\n };\n });\n provide(injectKey, statusContext);\n\n // tree核心逻辑\n const { treeStore, treeNodeViews } = useTree(props);\n\n // 导出方法\n useExposeFunc(treeStore, expose);\n\n const classList = computed(() => [\n CLASS_NAMES.value.tree,\n {\n [CLASS_NAMES.value.disabled]: props.disabled,\n [CLASS_NAMES.value.treeHoverAble]: props.hover,\n [CLASS_NAMES.value.treeCheckable]: props.checkable,\n [CLASS_NAMES.value.treeTransition]: props.transition,\n [CLASS_NAMES.value.treeBlockNode]: props.expandOnClickNode,\n },\n ]);\n\n return () => (\n <div class={classList.value}>\n {treeNodeViews.value.length === 0 ? (\n <div class={CLASS_NAMES.value.treeEmpty}>\n {renderTNodeJSX('empty', {\n defaultNode: t(globalConfig.value.empty),\n })}\n </div>\n ) : (\n <TransitionGroup\n name={CLASS_NAMES.value.treeNodeToggle}\n tag=\"div\"\n enter-active-class={CLASS_NAMES.value.treeNodeEnter}\n leave-active-class={CLASS_NAMES.value.treeNodeLeave}\n >\n {treeNodeViews.value}\n </TransitionGroup>\n )}\n </div>\n );\n },\n});\n"],"names":["name","props","setup","checkProps","empty","icon","label","line","disableCheck","operations","scopedSlots","provide","useExposeFunc","_createVNode","defaultNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,cAAA,eAAA,CAAA;AACEA,EAAAA,IAAAA,EAAAA,OAAAA;AACAC,EAAAA,KAAAA,EAAAA,KAAAA;AACAC,EAAAA,KAAAA,EAAAA,SAAAA,KAAAA,CAAAA,MAAAA,EAAAA,IAAAA,EAAAA;AAAgC,IAAA,IAAA,MAAA,GAAA,IAAA,CAAA,MAAA;;AAC9B,IAAA,IAAA,UAAA,GAAA,SAAA,CAAA,MAAA,CAAA;;;AACA,IAAA,IAAA,WAAA,GAAA,aAAA,EAAA,CAAA;AACA,IAAA,IAAA,cAAA,GAAA,eAAA,EAAA,CAAA;AAGM,IAAA,IAAA,aAAA,GAAA,QAAA,CAAA,YAAA;AACE,MAAA,IAAA,UAAA,GAAA,MAAA,CAAA,UAAA;;;;;;;;AAEJC,QAAAA,UAAAA,EAAAA,UAAAA;AACAC,QAAAA,KAAAA,EAAAA,KAAAA;AACAC,QAAAA,IAAAA,EAAAA,IAAAA;AACAC,QAAAA,KAAAA,EAAAA,KAAAA;AACAC,QAAAA,IAAAA,EAAAA,IAAAA;AACAC,QAAAA,YAAAA,EAAAA,YAAAA;AACAC,QAAAA,UAAAA,EAAAA,UAAAA;AACAC,QAAAA,WAAAA,EAAAA,KAAAA;;AAEJ,KAAA,CAAA,CAAA;AACAC,IAAAA,OAAAA,CAAAA,SAAAA,EAAAA,aAAAA,CAAAA,CAAAA;AAGA,IAAA,IAAA,QAAA,GAAA,OAAA,CAAA,MAAA,CAAA;;;AAGAC,IAAAA,aAAAA,CAAAA,SAAAA,EAAAA,MAAAA,CAAAA,CAAAA;;AAE2B,MAAA,IAAA,KAAA,CAAA;AAAA,MAAA,OAAA,CAAA,WAAA,CAAA,KAAA,CAAA,IAAA,GAAA,KAAA,GAAA,EAAA,EAAA,eAAA,CAAA,KAAA,EAAA,WAAA,CAAA,KAAA,CAAA,QAAA,EAAA,MAAA,CAAA,QAAA,CAAA,EAAA,eAAA,CAAA,KAAA,EAAA,WAAA,CAAA,KAAA,CAAA,aAAA,EAAA,MAAA,CAAA,KAAA,CAAA,EAAA,eAAA,CAAA,KAAA,EAAA,WAAA,CAAA,KAAA,CAAA,aAAA,EAAA,MAAA,CAAA,SAAA,CAAA,EAAA,eAAA,CAAA,KAAA,EAAA,WAAA,CAAA,KAAA,CAAA,cAAA,EAAA,MAAA,CAAA,UAAA,CAAA,EAAA,eAAA,CAAA,KAAA,EAAA,WAAA,CAAA,KAAA,CAAA,aAAA,EAAA,MAAA,CAAA,iBAAA,CAAA,EAAA,KAAA,EAAA,CAAA;;;AAWpB,MAAA,OAAAC,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,SAAA,CAAA,KAAA;;;;AAKGC,QAAAA,WAAAA,EAAAA,CAAAA,CAAAA,YAAAA,CAAAA,KAAAA,CAAAA,KAAAA,CAAAA;AACF,OAAA,CAAA,CAAA,CAAA,GAAAD,WAAA,CAAA,eAAA,EAAA;AACF,QAAA,MAAA,EAAA,WAAA,CAAA,KAAA,CAAA,cAAA;AAG0B,QAAA,KAAA,EAAA,KAAA;AACpB,QAAA,oBAAA,EAAA,WAAA,CAAA,KAAA,CAAA,aAAA;;;;;AAIW,SAAA;;;AAKzB,GAAA;AACF,CAAA,CAAA;;;;"}