{"version":3,"file":"tree-item.vue2.mjs","sources":["../../../../../../packages/components/tree/src/tree-item.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTreeItem'\n});\n</script>\n<template>\n\t<div class=\"to-tree-item\">\n\t\t<div class=\"to-tree-content\" :level=\"node.level\" :class=\"[`level-${node.level}`, props.itemProps.toggleLink ? 'is-link' : '', node.isLeaf ? 'is-leaf' : '', node.isSelect ? 'is-on' : '']\" @click.stop=\"handleItemClick(node)\">\n\t\t\t<to-icon v-if=\"!node.isLeaf || node.isNeedLoad\" class=\"to-tree-toggle\" :link=\"!props.itemProps.toggleLink\" :value=\"node.isExpand ? 'expand' : 'next'\" @click.stop=\"handleExpand(node)\"></to-icon>\n\t\t\t<to-icon v-if=\"node.isNeedLoad && node.loading\" mode=\"tree-loading\" link value=\"loading\" />\n\t\t\t<slot :node=\"node\">\n\t\t\t\t<div class=\"to-tree-label\" :class=\"{ 'is-link': (props.itemProps.checkLink || props.itemProps.selectable) && !props.itemProps.toggleLink }\">\n\t\t\t\t\t<to-checkbox v-if=\"itemProps.checkable\" class=\"to-tree-check\" :model-value=\"node.checked\" @update:model-value=\"e => handleCheck(e, node)\"></to-checkbox>\n\t\t\t\t\t<to-icon v-if=\"node.icon\" class=\"to-tree-icon\" :value=\"node.icon\"></to-icon>\n\t\t\t\t\t<to-pic v-if=\"node.pic && !node.isSelect\" class=\"to-tree-pic\" :src=\"node.pic\"></to-pic>\n\t\t\t\t\t<to-pic v-if=\"node.onPic && node.isSelect\" class=\"to-tree-pic\" :src=\"node.onPic\"></to-pic>\n\t\t\t\t\t<div class=\"to-tree-label-text\">{{ node[itemProps.labelText] }}</div>\n\t\t\t\t</div>\n\t\t\t</slot>\n\t\t</div>\n\t\t<template v-if=\"node[itemProps.childrenText] && node[itemProps.childrenText].length && !node.isLeaf\">\n\t\t\t<div class=\"to-tree-child\" :style=\"{ height: node.isExpand ? 'auto' : 0, overflow: 'hidden' }\">\n\t\t\t\t<to-tree-item v-for=\"item in node[itemProps.childrenText]\" :key=\"item[itemProps.valueText]\" :node=\"item\" :item-props=\"itemProps\" is-child>\n\t\t\t\t\t<template #default=\"scope\">\n\t\t\t\t\t\t<slot :node=\"scope.node\"></slot>\n\t\t\t\t\t</template>\n\t\t\t\t</to-tree-item>\n\t\t\t</div>\n\t\t</template>\n\t</div>\n</template>\n<script setup lang=\"ts\">\nimport { Node, Props, ProvideType } from './tree.vue'\nimport { inject, nextTick } from 'vue'\nimport { ToIcon, ToCheckbox } from '@touchvue/components'\n\nconst rootTree: ProvideType = inject('RootTree')\n\n\n\nexport interface ItemProps {\n\tnode: Node\n\titemProps: Props\n\tisChild?: boolean\n}\n\nconst props = withDefaults(defineProps<ItemProps>(), {\n\tnode: () => ({ label: '', value: '' }),\n\titemProps: () => ({\n\t\tmode: 'default',\n\t\texpand: false,\n\t\tdata: [],\n\t\ttoggleLink: false,\n\t\tcheckLink: false,\n\t\tcheckable: false,\n\t\tselectable: false,\n\t\tcheckStrictly: false,\n\t\taccordion: false,\n\t\tchildrenText: 'children',\n\t\tvalueText: 'value',\n\t\tlabelText: 'label',\n\t\tload: null,\n\t\tparentSelectable: false\n\t}),\n\tisChild: false\n})\nasync function handleExpand(node: Node) {\n\tif (props.itemProps.load && !node.isExpand && !(node[props.itemProps.childrenText] && node[props.itemProps.childrenText].length)) {\n\t\trootTree.setPropertyByValue(node[props.itemProps.valueText], true, 'loading')\n\t\tprops.itemProps\n\t\t\t.load(node)\n\t\t\t.then(syncChildren => {\n\t\t\t\trootTree.setPropertyByValue(node[props.itemProps.valueText], false, 'loading')\n\t\t\t\trootTree.setChildren(node, syncChildren)\n\t\t\t})\n\t\t\t.catch(err => {\n\t\t\t\trootTree.setPropertyByValue(node[props.itemProps.valueText], false, 'loading')\n\t\t\t\trootTree.setChildren(node, err, true)\n\t\t\t})\n\t} else {\n\t\trootTree.setPropertyByValue(node[props.itemProps.valueText], !node.isExpand, 'isExpand')\n\t}\n}\n\nfunction handleCheck(e, node) {\n\tif (!props.itemProps.checkStrictly) {\n\t\trootTree.setStopChange(true)\n\t}\n\trootTree.setPropertyByValue(node[props.itemProps.valueText], e, 'checked')\n\trootTree.change(node[props.itemProps.valueText], node)\n\tif (!props.itemProps.checkStrictly) {\n\t\tnextTick(() => {\n\t\t\trootTree.setCheckByParentAndChild(rootTree.store.value, node[props.itemProps.valueText], e)\n\t\t\tsetTimeout(() => {\n\t\t\t\trootTree.setStopChange(false)\n\t\t\t}, 10)\n\t\t})\n\t}\n}\n\nfunction handleItemClick(node: Node) {\n\tif (!node.isLeaf && props.itemProps.toggleLink) {\n\t\trootTree.setPropertyByValue(node[props.itemProps.valueText], !node.isExpand, 'isExpand')\n\t}\n\tif (props.itemProps.checkLink) {\n\t\trootTree.setPropertyByValue(node[props.itemProps.valueText], !node.checked, 'checked')\n\t\tif (!props.itemProps.checkStrictly) {\n\t\t\tnextTick(() => {\n\t\t\t\trootTree.setCheckByParentAndChild(rootTree.store.value, node[props.itemProps.valueText], !node.checked)\n\t\t\t})\n\t\t}\n\t}\n\tif (props.itemProps.selectable) {\n\t\tresetAllSelect(rootTree.store.value)\n\t\trootTree.setStopChange(true)\n\t\tsetOnlySelect(rootTree.store.value, node[props.itemProps.valueText])\n\t\tsetTimeout(() => {\n\t\t\trootTree.setStopChange(false)\n\t\t}, 10)\n\t\tnextTick(() => {\n\t\t\trootTree.change(node[props.itemProps.valueText], node)\n\t\t})\n\t}\n\trootTree.itemClick(node)\n}\n\nfunction resetAllSelect(arr) {\n\tarr.forEach(item => {\n\t\tif (item.isSelect) {\n\t\t\titem.isSelect = false\n\t\t} else {\n\t\t\tif (item[props.itemProps.childrenText] && item[props.itemProps.childrenText].length) {\n\t\t\t\tresetAllSelect(item[props.itemProps.childrenText])\n\t\t\t}\n\t\t}\n\t})\n}\n\nfunction setOnlySelect(arr, value) {\n\tarr.forEach(item => {\n\t\tif (item[props.itemProps.valueText] === value && (item.isLeaf || props.itemProps.parentSelectable) && props.itemProps.selectable) {\n\t\t\titem.isSelect = true\n\t\t} else {\n\t\t\tif (item[props.itemProps.childrenText] && item[props.itemProps.childrenText].length) {\n\t\t\t\tsetOnlySelect(item[props.itemProps.childrenText], value)\n\t\t\t}\n\t\t}\n\t})\n}\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_createElementVNode","node","_withModifiers","_createBlock","_unref","_renderSlot","itemProps","_normalizeStyle","_openBlock","_Fragment","_withCtx"],"mappings":"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"}