UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 7.89 kB
{"version":3,"file":"tree-node.mjs","sources":["../../../../../../packages/components/tree-v2/src/tree-node.vue"],"sourcesContent":["<template>\n <div\n ref=\"node$\"\n :class=\"[\n ns.b('node'),\n ns.is('expanded', expanded),\n ns.is('current', current),\n ns.is('focusable', !disabled),\n ns.is('checked', !disabled && checked),\n ]\"\n role=\"treeitem\"\n tabindex=\"-1\"\n :aria-expanded=\"expanded\"\n :aria-disabled=\"disabled\"\n :aria-checked=\"checked\"\n :data-key=\"node?.key\"\n @click.stop=\"handleClick\"\n @contextmenu=\"handleContextMenu\"\n >\n <div\n :class=\"ns.be('node', 'content')\"\n :style=\"{ paddingLeft: `${(node.level - 1) * indent}px` }\"\n >\n <el-icon\n v-if=\"icon\"\n :class=\"[\n ns.is('leaf', !!node?.isLeaf),\n ns.is('hidden', hiddenExpandIcon),\n {\n expanded: !node?.isLeaf && expanded,\n },\n ns.be('node', 'expand-icon'),\n ]\"\n @click.stop=\"handleExpandIconClick\"\n >\n <component :is=\"icon\" />\n </el-icon>\n <el-checkbox\n v-if=\"showCheckbox\"\n :model-value=\"checked\"\n :indeterminate=\"indeterminate\"\n :disabled=\"disabled\"\n @change=\"handleCheckChange\"\n @click.stop\n />\n <el-node-content :node=\"node\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\n// @ts-nocheck\nimport { computed, defineComponent, inject } from 'vue'\nimport { CaretRight } from '@element-plus/icons-vue'\nimport ElIcon from '@element-plus/components/icon'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { useNamespace } from '@element-plus/hooks'\nimport ElNodeContent from './tree-node-content'\nimport {\n NODE_CONTEXTMENU,\n ROOT_TREE_INJECTION_KEY,\n treeNodeEmits,\n treeNodeProps,\n} from './virtual-tree'\n\nconst DEFAULT_ICON = 'caret-right'\n\nexport default defineComponent({\n name: 'ElTreeNode',\n components: {\n ElIcon,\n CaretRight,\n ElCheckbox,\n ElNodeContent,\n },\n props: treeNodeProps,\n emits: treeNodeEmits,\n setup(props, { emit }) {\n const tree = inject(ROOT_TREE_INJECTION_KEY)\n const ns = useNamespace('tree')\n\n const indent = computed(() => {\n return tree?.props.indent ?? 16\n })\n\n const icon = computed(() => {\n return tree?.props.icon ?? DEFAULT_ICON\n })\n\n const handleClick = (e: MouseEvent) => {\n emit('click', props.node, e)\n }\n const handleExpandIconClick = () => {\n emit('toggle', props.node)\n }\n const handleCheckChange = (value: boolean) => {\n emit('check', props.node, value)\n }\n const handleContextMenu = (event: Event) => {\n if (tree?.instance?.vnode?.props?.['onNodeContextmenu']) {\n event.stopPropagation()\n event.preventDefault()\n }\n tree?.ctx.emit(NODE_CONTEXTMENU, event, props.node?.data, props.node)\n }\n\n return {\n ns,\n indent,\n icon,\n handleClick,\n handleExpandIconClick,\n handleCheckChange,\n handleContextMenu,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_withModifiers","_createElementVNode","_normalizeStyle","_createBlock","_resolveDynamicComponent","_createCommentVNode"],"mappings":"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"}