UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 7.19 kB
{"version":3,"file":"tree.mjs","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 :class-name=\"ns.b('virtual-list')\"\n :data=\"flattenTree\"\n :total=\"flattenTree.length\"\n :height=\"height\"\n :item-size=\"itemSize\"\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 :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 />\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\">\nimport { defineComponent, getCurrentInstance, provide } from 'vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { formItemContextKey } from '@element-plus/tokens'\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'\nimport type { TreeProps } from './types'\n\nexport default defineComponent({\n name: 'ElTreeV2',\n components: {\n ElTreeNode,\n FixedSizeList,\n },\n props: treeProps,\n emits: treeEmits,\n setup(props: TreeProps, ctx) {\n provide(ROOT_TREE_INJECTION_KEY, {\n ctx,\n props,\n instance: getCurrentInstance(),\n })\n provide(formItemContextKey, undefined)\n const { t } = useLocale()\n const ns = useNamespace('tree')\n const {\n flattenTree,\n isNotEmpty,\n toggleExpand,\n isExpanded,\n isIndeterminate,\n isChecked,\n isDisabled,\n isCurrent,\n isForceHiddenExpandIcon,\n toggleCheckbox,\n handleNodeClick,\n handleNodeCheck,\n // expose\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 } = useTree(props, ctx.emit)\n\n ctx.expose({\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 })\n\n return {\n t,\n ns,\n flattenTree,\n itemSize: 26,\n isNotEmpty,\n toggleExpand,\n toggleCheckbox,\n isExpanded,\n isIndeterminate,\n isChecked,\n isDisabled,\n isCurrent,\n isForceHiddenExpandIcon,\n handleNodeClick,\n handleNodeCheck,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_normalizeClass","_createBlock","_withCtx","_normalizeStyle","_createElementBlock","_createElementVNode","_toDisplayString"],"mappings":";;;;;;;;;;;;;AAkDA,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,UAAA;AAAA,EACN,UAAY,EAAA;AAAA,IACV,UAAA;AAAA,IACA,aAAA;AAAA,GACF;AAAA,EACA,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,KAAA,CAAM,OAAkB,GAAK,EAAA;AAC3B,IAAA,OAAA,CAAQ,uBAAyB,EAAA;AAAA,MAC/B,GAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAU,kBAAmB,EAAA;AAAA,KAC9B,CAAA,CAAA;AACD,IAAA,OAAA,CAAQ,oBAAoB,KAAS,CAAA,CAAA,CAAA;AACrC,IAAM,MAAA,EAAE,MAAM,SAAU,EAAA,CAAA;AACxB,IAAM,MAAA,EAAA,GAAK,aAAa,MAAM,CAAA,CAAA;AAC9B,IAAM,MAAA;AAAA,MACJ,WAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACA,UAAA;AAAA,MACA,eAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA,uBAAA;AAAA,MACA,cAAA;AAAA,MACA,eAAA;AAAA,MACA,eAAA;AAAA,MAEA,cAAA;AAAA,MACA,aAAA;AAAA,MACA,aAAA;AAAA,MACA,cAAA;AAAA,MACA,eAAA;AAAA,MACA,kBAAA;AAAA,MACA,mBAAA;AAAA,MACA,UAAA;AAAA,MACA,cAAA;AAAA,MACA,MAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACA,eAAA;AAAA,KACE,GAAA,OAAA,CAAQ,KAAO,EAAA,GAAA,CAAI,IAAI,CAAA,CAAA;AAE3B,IAAA,GAAA,CAAI,MAAO,CAAA;AAAA,MACT,cAAA;AAAA,MACA,aAAA;AAAA,MACA,aAAA;AAAA,MACA,cAAA;AAAA,MACA,eAAA;AAAA,MACA,kBAAA;AAAA,MACA,mBAAA;AAAA,MACA,UAAA;AAAA,MACA,cAAA;AAAA,MACA,MAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACA,eAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAO,OAAA;AAAA,MACL,CAAA;AAAA,MACA,EAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAU,EAAA,EAAA;AAAA,MACV,UAAA;AAAA,MACA,YAAA;AAAA,MACA,cAAA;AAAA,MACA,UAAA;AAAA,MACA,eAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA,uBAAA;AAAA,MACA,eAAA;AAAA,MACA,eAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;;;;kCAjGO,GAAAA,gBAAA,CAAA,iBAAA,CAAA,CAAA;AAAA,EAnCH,OAAAC,qCAAsB,EAAA;AAAyC,IAChE,KAAK,EAAAC,cAAA,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,EAAA,EAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,mBAAA,CAAA,GAAA,IAAA,CAAA,gBAAA,EAAA,CAAA,CAAA;AAAA,IAAA,IAAA,EAAA,MAAA;AAGG,GAAA,EAAA;AAyBU,IAAA,IAAA,CAAA,UAAA,IAAAD,SAAA,EAAA,EAAAE,WAAA,CAAA,0BAAA,EAAA;AAxBf,MAAA,GAAA,EAAA,CAAA;AAAgB,MAChB,YAAM,EAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,cAAA,CAAA;AAAA,MACN,UAAmB,CAAA,WAAA;AAAA,MACnB,KAAQ,EAAA,IAAA,CAAA,WAAA,CAAA,MAAA;AAAA,MACR,MAAW,EAAA,IAAA,CAAA,MAAA;AAAA,MACX,WAAW,EAAA,IAAA,CAAA,QAAA;AAAA,MAAA,WAAA,EAAA,IAAA,CAAA,QAAA;AAED,KAAA,EAAA;AAA6B,MAAA,OAAA,EAAAC,OACtC,CAcE,CAAA,EAAA,IAAA,EAAA,KAAA,EAAA,KAAA,EAAA,KAAA;AAAA,SAbCH,WAAiB,EAAAE,WAAA,CAAA,uBAAA,EAAA;AAAA,UACjB,GAAA,EAAA;AAAY,UACZ,OAAWE,cAAA,CAAA,KAAA,CAAA;AAAA,UACX,IAAA,EAAA,IAAU,CAAW,KAAA,CAAA;AAAU,UAC/B,QAAe,EAAA,IAAA,CAAA,UAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AAAA,UACf,eAAmB,EAAA,IAAA,CAAA,YAAU;AAAA,UAC7B,OAAA,EAAA,IAAA,CAAA,SAA+B,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AAAU,UACzC,aAAqB,EAAA,IAAA,CAAA,eAAU,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AAAA,UAC/B,QAAA,EAAmB,IAAA,CAAA,UAAA,CAAA,IAAU,CAAA,KAAA,CAAA,CAAA;AAAA,UAC7B,OAAA,EAAA,IAAA,CAAA,SAA4C,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AAAU,UACtD,oBAAO,EAAA,IAAA,CAAA,uBAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AAAA,UACP,OAAQ,EAAA,IAAA,CAAA,eAAA;AAAA,UACR,QAAO,EAAA,IAAA,CAAA,YAAA;AAAA,UAAA,OAAA,EAAA,IAAA,CAAA,eAAA;;;;AAQR,KAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,WAAA,CAAA,CAAA,KAAAJ,SAAA,EAAA,EAAAK,kBAAA,CAAA,KAAA,EAAA;MAJO,GAAK,EAAA,CAAA;AAAM,MAAA,KAAA,EAAAJ,cAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,aAAA,CAAA,CAAA;OAGb;AAAA,MAFFK,kBAAO,CAAA,MAAA,EAAA;AAAI,QAAA,KAAA,EAAAL,qCACF,CAAA,CAAA;AAAA,OAAA,EAAAM,eAAA,CAAA,CAAA,EAAA,GAAA,IAAA,CAAA,SAAA,KAAA,IAAA,GAAA,EAAA,GAAA,IAAA,CAAA,CAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;;;;;;;"}