You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
9.9 KiB

{"ast":null,"code":"import { defineComponent, useSlots, computed, provide, getCurrentInstance, openBlock, createElementBlock, normalizeClass, unref, createBlock, withCtx, normalizeStyle, createElementVNode, toDisplayString } from 'vue';\nimport '../../../hooks/index.mjs';\nimport '../../form/index.mjs';\nimport '../../virtual-list/index.mjs';\nimport { useTree } from './composables/useTree.mjs';\nimport ElTreeNode from './tree-node.mjs';\nimport { treeProps, treeEmits, ROOT_TREE_INJECTION_KEY } from './virtual-tree.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { formItemContextKey } from '../../form/src/constants.mjs';\nimport { useLocale } from '../../../hooks/use-locale/index.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport FixedSizeList from '../../virtual-list/src/components/fixed-size-list.mjs';\nconst __default__ = defineComponent({\n name: \"ElTreeV2\"\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n props: treeProps,\n emits: treeEmits,\n setup(__props, {\n expose,\n emit\n }) {\n const props = __props;\n const slots = useSlots();\n const treeNodeSize = computed(() => props.itemSize);\n provide(ROOT_TREE_INJECTION_KEY, {\n ctx: {\n emit,\n slots\n },\n props,\n instance: getCurrentInstance()\n });\n provide(formItemContextKey, void 0);\n const {\n t\n } = useLocale();\n const ns = useNamespace(\"tree\");\n const {\n flattenTree,\n isNotEmpty,\n listRef,\n toggleExpand,\n isExpanded,\n isIndeterminate,\n isChecked,\n isDisabled,\n isCurrent,\n isForceHiddenExpandIcon,\n handleNodeClick,\n handleNodeDrop,\n handleNodeCheck,\n toggleCheckbox,\n getCurrentNode,\n getCurrentKey,\n setCurrentKey,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n filter,\n setData,\n getNode,\n expandNode,\n collapseNode,\n setExpandedKeys,\n scrollToNode,\n scrollTo\n } = useTree(props, emit);\n expose({\n toggleCheckbox,\n getCurrentNode,\n getCurrentKey,\n setCurrentKey,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n filter,\n setData,\n getNode,\n expandNode,\n collapseNode,\n setExpandedKeys,\n scrollToNode,\n scrollTo\n });\n return (_ctx, _cache) => {\n var _a;\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([unref(ns).b(), {\n [unref(ns).m(\"highlight-current\")]: _ctx.highlightCurrent\n }]),\n role: \"tree\"\n }, [unref(isNotEmpty) ? (openBlock(), createBlock(unref(FixedSizeList), {\n key: 0,\n ref_key: \"listRef\",\n ref: listRef,\n \"class-name\": unref(ns).b(\"virtual-list\"),\n data: unref(flattenTree),\n total: unref(flattenTree).length,\n height: _ctx.height,\n \"item-size\": unref(treeNodeSize),\n \"perf-mode\": _ctx.perfMode\n }, {\n default: withCtx(({\n data,\n index,\n style\n }) => [(openBlock(), createBlock(ElTreeNode, {\n key: data[index].key,\n style: normalizeStyle(style),\n node: data[index],\n expanded: unref(isExpanded)(data[index]),\n \"show-checkbox\": _ctx.showCheckbox,\n checked: unref(isChecked)(data[index]),\n indeterminate: unref(isIndeterminate)(data[index]),\n \"item-size\": unref(treeNodeSize),\n disabled: unref(isDisabled)(data[index]),\n current: unref(isCurrent)(data[index]),\n \"hidden-expand-icon\": unref(isForceHiddenExpandIcon)(data[index]),\n onClick: unref(handleNodeClick),\n onToggle: unref(toggleExpand),\n onCheck: unref(handleNodeCheck),\n onDrop: unref(handleNodeDrop)\n }, null, 8, [\"style\", \"node\", \"expanded\", \"show-checkbox\", \"checked\", \"indeterminate\", \"item-size\", \"disabled\", \"current\", \"hidden-expand-icon\", \"onClick\", \"onToggle\", \"onCheck\", \"onDrop\"]))]),\n _: 1\n }, 8, [\"class-name\", \"data\", \"total\", \"height\", \"item-size\", \"perf-mode\"])) : (openBlock(), createElementBlock(\"div\", {\n key: 1,\n class: normalizeClass(unref(ns).e(\"empty-block\"))\n }, [createElementVNode(\"span\", {\n class: normalizeClass(unref(ns).e(\"empty-text\"))\n }, toDisplayString((_a = _ctx.emptyText) != null ? _a : unref(t)(\"el.tree.emptyText\")), 3)], 2))], 2);\n };\n }\n});\nvar TreeV2 = /* @__PURE__ */_export_sfc(_sfc_main, [[\"__file\", \"tree.vue\"]]);\nexport { TreeV2 as default };","map":{"version":3,"names":["name","slots","useSlots","treeNodeSize","computed","props","itemSize","provide","ROOT_TREE_INJECTION_KEY","ctx","emit","instance","getCurrentInstance","formItemContextKey","t","useLocale","ns","useNamespace","flattenTree","isNotEmpty","listRef","toggleExpand","isExpanded","isIndeterminate","isChecked","isDisabled","isCurrent","isForceHiddenExpandIcon","handleNodeClick","handleNodeDrop","handleNodeCheck","toggleCheckbox","getCurrentNode","getCurrentKey","setCurrentKey","getCheckedKeys","getCheckedNodes","getHalfCheckedKeys","getHalfCheckedNodes","setChecked","setCheckedKeys","filter","setData","getNode","expandNode","collapseNode","setExpandedKeys","scrollToNode","scrollTo","useTree","expose","_ctx","_cache"],"sources":["../../../../../../packages/components/tree-v2/src/tree.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b(), { [ns.m('highlight-current')]: highlightCurrent }]\"\n role=\"tree\"\n >\n <fixed-size-list\n v-if=\"isNotEmpty\"\n ref=\"listRef\"\n :class-name=\"ns.b('virtual-list')\"\n :data=\"flattenTree\"\n :total=\"flattenTree.length\"\n :height=\"height\"\n :item-size=\"treeNodeSize\"\n :perf-mode=\"perfMode\"\n >\n <template #default=\"{ data, index, style }\">\n <el-tree-node\n :key=\"data[index].key\"\n :style=\"style\"\n :node=\"data[index]\"\n :expanded=\"isExpanded(data[index])\"\n :show-checkbox=\"showCheckbox\"\n :checked=\"isChecked(data[index])\"\n :indeterminate=\"isIndeterminate(data[index])\"\n :item-size=\"treeNodeSize\"\n :disabled=\"isDisabled(data[index])\"\n :current=\"isCurrent(data[index])\"\n :hidden-expand-icon=\"isForceHiddenExpandIcon(data[index])\"\n @click=\"handleNodeClick\"\n @toggle=\"toggleExpand\"\n @check=\"handleNodeCheck\"\n @drop=\"handleNodeDrop\"\n />\n </template>\n </fixed-size-list>\n <div v-else :class=\"ns.e('empty-block')\">\n <span :class=\"ns.e('empty-text')\">{{\n emptyText ?? t('el.tree.emptyText')\n }}</span>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, getCurrentInstance, provide, useSlots } from 'vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { formItemContextKey } from '@element-plus/components/form'\nimport { FixedSizeList } from '@element-plus/components/virtual-list'\nimport { useTree } from './composables/useTree'\nimport ElTreeNode from './tree-node.vue'\nimport { ROOT_TREE_INJECTION_KEY, treeEmits, treeProps } from './virtual-tree'\n\ndefineOptions({\n name: 'ElTreeV2',\n})\n\nconst props = defineProps(treeProps)\nconst emit = defineEmits(treeEmits)\n\nconst slots = useSlots()\n\nconst treeNodeSize = computed(() => props.itemSize)\n\nprovide(ROOT_TREE_INJECTION_KEY, {\n ctx: {\n emit,\n slots,\n },\n props,\n instance: getCurrentInstance()!,\n})\nprovide(formItemContextKey, undefined)\nconst { t } = useLocale()\nconst ns = useNamespace('tree')\nconst {\n flattenTree,\n isNotEmpty,\n listRef,\n toggleExpand,\n isExpanded,\n isIndeterminate,\n isChecked,\n isDisabled,\n isCurrent,\n isForceHiddenExpandIcon,\n handleNodeClick,\n handleNodeDrop,\n handleNodeCheck,\n // expose\n toggleCheckbox,\n getCurrentNode,\n getCurrentKey,\n setCurrentKey,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n filter,\n setData,\n getNode,\n expandNode,\n collapseNode,\n setExpandedKeys,\n scrollToNode,\n scrollTo,\n} = useTree(props, emit)\n\ndefineExpose({\n toggleCheckbox,\n getCurrentNode,\n getCurrentKey,\n setCurrentKey,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n filter,\n setData,\n getNode,\n expandNode,\n collapseNode,\n setExpandedKeys,\n scrollToNode,\n scrollTo,\n})\n</script>\n"],"mappings":";;;;;;;;;;;;mCAoDc;EACZA,IAAM;AACR;;;;;;;;;;IAKA,MAAMC,KAAA,GAAQC,QAAS;IAEvB,MAAMC,YAAe,GAAAC,QAAA,CAAS,MAAMC,KAAA,CAAMC,QAAQ;IAElDC,OAAA,CAAQC,uBAAyB;MAC/BC,GAAK;QACHC,IAAA;QACAT;MAAA,CACF;MACAI,KAAA;MACAM,QAAA,EAAUC,kBAAmB;IAAA,CAC9B;IACDL,OAAA,CAAQM,kBAAA,EAAoB,KAAS;IAC/B;MAAEC;IAAE,IAAIC,SAAU;IAClB,MAAAC,EAAA,GAAKC,YAAA,CAAa,MAAM;IACxB;MACJC,WAAA;MACAC,UAAA;MACAC,OAAA;MACAC,YAAA;MACAC,UAAA;MACAC,eAAA;MACAC,SAAA;MACAC,UAAA;MACAC,SAAA;MACAC,uBAAA;MACAC,eAAA;MACAC,cAAA;MACAC,eAAA;MAAAC,cAAA;MAEAC,cAAA;MACAC,aAAA;MACAC,aAAA;MACAC,cAAA;MACAC,eAAA;MACAC,kBAAA;MACAC,mBAAA;MACAC,UAAA;MACAC,cAAA;MACAC,MAAA;MACAC,OAAA;MACAC,OAAA;MACAC,UAAA;MACAC,YAAA;MACAC,eAAA;MACAC,YAAA;MACAC;IAAA,CACA,GAAAC,OAAA,CAAA5C,KAAA,EAAAK,IAAA;IACFwC,MAAY;MAECnB,cAAA;MACXC,cAAA;MACAC,aAAA;MACAC,aAAA;MACAC,cAAA;MACAC,eAAA;MACAC,kBAAA;MACAC,mBAAA;MACAC,UAAA;MACAC,cAAA;MACAC,MAAA;MACAC,OAAA;MACAC,OAAA;MACAC,UAAA;MACAC,YAAA;MACAC,eAAA;MACAC,YAAA;MACAC;IAAA,CACA;IACF,OAAC,CAAAG,IAAA,EAAAC,MAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}