element-plus
Version:
A Component Library for Vue 3
1 lines • 7.86 kB
Source Map (JSON)
{"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\">\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 ROOT_TREE_INJECTION_KEY,\n NODE_CONTEXTMENU,\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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"}