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
26 KiB

{"ast":null,"code":"import \"core-js/modules/es.array.push.js\";\nimport { watch, nextTick, computed, toRefs } from 'vue';\nimport { isEqual, isNil, pick } from 'lodash-unified';\nimport '../../../constants/index.mjs';\nimport '../../../utils/index.mjs';\nimport { ElTree } from '../../tree/index.mjs';\nimport component from './tree-select-option.mjs';\nimport { toValidArray, treeFind, isValidValue, treeEach, isValidArray } from './utils.mjs';\nimport { isFunction } from '@vue/shared';\nimport { isEmpty } from '../../../utils/types.mjs';\nimport { escapeStringRegexp } from '../../../utils/strings.mjs';\nimport { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';\nconst useTree = (props, {\n attrs,\n slots,\n emit\n}, {\n select,\n tree,\n key\n}) => {\n watch(() => props.modelValue, () => {\n if (props.showCheckbox) {\n nextTick(() => {\n const treeInstance = tree.value;\n if (treeInstance && !isEqual(treeInstance.getCheckedKeys(), toValidArray(props.modelValue))) {\n treeInstance.setCheckedKeys(toValidArray(props.modelValue));\n }\n });\n }\n }, {\n immediate: true,\n deep: true\n });\n const propsMap = computed(() => ({\n value: key.value,\n label: \"label\",\n children: \"children\",\n disabled: \"disabled\",\n isLeaf: \"isLeaf\",\n ...props.props\n }));\n const getNodeValByProp = (prop, data) => {\n var _a;\n const propVal = propsMap.value[prop];\n if (isFunction(propVal)) {\n return propVal(data, (_a = tree.value) == null ? void 0 : _a.getNode(getNodeValByProp(\"value\", data)));\n } else {\n return data[propVal];\n }\n };\n const defaultExpandedParentKeys = toValidArray(props.modelValue).map(value => {\n return treeFind(props.data || [], data => getNodeValByProp(\"value\", data) === value, data => getNodeValByProp(\"children\", data), (data, index, array, parent) => parent && getNodeValByProp(\"value\", parent));\n }).filter(item => isValidValue(item));\n const cacheOptions = computed(() => {\n if (!props.renderAfterExpand && !props.lazy) return [];\n const options = [];\n treeEach(props.data.concat(props.cacheData), node => {\n const value = getNodeValByProp(\"value\", node);\n options.push({\n value,\n currentLabel: getNodeValByProp(\"label\", node),\n isDisabled: getNodeValByProp(\"disabled\", node)\n });\n }, data => getNodeValByProp(\"children\", data));\n return options;\n });\n const getChildCheckedKeys = () => {\n var _a;\n return (_a = tree.value) == null ? void 0 : _a.getCheckedKeys().filter(checkedKey => {\n var _a2;\n const node = (_a2 = tree.value) == null ? void 0 : _a2.getNode(checkedKey);\n return !isNil(node) && isEmpty(node.childNodes);\n });\n };\n return {\n ...pick(toRefs(props), Object.keys(ElTree.props)),\n ...attrs,\n nodeKey: key,\n expandOnClickNode: computed(() => {\n return !props.checkStrictly && props.expandOnClickNode;\n }),\n defaultExpandedKeys: computed(() => {\n return props.defaultExpandedKeys ? props.defaultExpandedKeys.concat(defaultExpandedParentKeys) : defaultExpandedParentKeys;\n }),\n renderContent: (h, {\n node,\n data,\n store\n }) => {\n return h(component, {\n value: getNodeValByProp(\"value\", data),\n label: getNodeValByProp(\"label\", data),\n disabled: getNodeValByProp(\"disabled\", data),\n visible: node.visible\n }, props.renderContent ? () => props.renderContent(h, {\n node,\n data,\n store\n }) : slots.default ? () => slots.default({\n node,\n data,\n store\n }) : void 0);\n },\n filterNodeMethod: (value, data, node) => {\n if (props.filterNodeMethod) return props.filterNodeMethod(value, data, node);\n if (!value) return true;\n const regexp = new RegExp(escapeStringRegexp(value), \"i\");\n return regexp.test(getNodeValByProp(\"label\", data) || \"\");\n },\n onNodeClick: (data, node, e) => {\n var _a, _b, _c, _d;\n (_a = attrs.onNodeClick) == null ? void 0 : _a.call(attrs, data, node, e);\n if (props.showCheckbox && props.checkOnClickNode) return;\n if (!props.showCheckbox && (props.checkStrictly || node.isLeaf)) {\n if (!getNodeValByProp(\"disabled\", data)) {\n const option = (_b = select.value) == null ? void 0 : _b.states.options.get(getNodeValByProp(\"value\", data));\n (_c = select.value) == null ? void 0 : _c.handleOptionSelect(option);\n }\n } else if (props.expandOnClickNode) {\n e.proxy.handleExpandIconClick();\n }\n (_d = select.value) == null ? void 0 : _d.focus();\n },\n onCheck: (data, params) => {\n var _a;\n if (!props.showCheckbox) return;\n const dataValue = getNodeValByProp(\"value\", data);\n const dataMap = {};\n treeEach([tree.value.store.root], node => dataMap[node.key] = node, node => node.childNodes);\n const uncachedCheckedKeys = params.checkedKeys;\n const cachedKeys = props.multiple ? toValidArray(props.modelValue).filter(item => !(item in dataMap) && !uncachedCheckedKeys.includes(item)) : [];\n const checkedKeys = cachedKeys.concat(uncachedCheckedKeys);\n if (props.checkStrictly) {\n emit(UPDATE_MODEL_EVENT, props.multiple ? checkedKeys : checkedKeys.includes(dataValue) ? dataValue : void 0);\n } else {\n if (props.multiple) {\n const childKeys = getChildCheckedKeys();\n emit(UPDATE_MODEL_EVENT, cachedKeys.concat(childKeys));\n } else {\n const firstLeaf = treeFind([data], data2 => !isValidArray(getNodeValByProp(\"children\", data2)) && !getNodeValByProp(\"disabled\", data2), data2 => getNodeValByProp(\"children\", data2));\n const firstLeafKey = firstLeaf ? getNodeValByProp(\"value\", firstLeaf) : void 0;\n const hasCheckedChild = isValidValue(props.modelValue) && !!treeFind([data], data2 => getNodeValByProp(\"value\", data2) === props.modelValue, data2 => getNodeValByProp(\"children\", data2));\n emit(UPDATE_MODEL_EVENT, firstLeafKey === props.modelValue || hasCheckedChild ? void 0 : firstLeafKey);\n }\n }\n nextTick(() => {\n var _a2;\n const checkedKeys2 = toValidArray(props.modelValue);\n tree.value.setCheckedKeys(checkedKeys2);\n (_a2 = attrs.onCheck) == null ? void 0 : _a2.call(attrs, data, {\n checkedKeys: tree.value.getCheckedKeys(),\n checkedNodes: tree.value.getCheckedNodes(),\n halfCheckedKeys: tree.value.getHalfCheckedKeys(),\n halfCheckedNodes: tree.value.getHalfCheckedNodes()\n });\n });\n (_a = select.value) == null ? void 0 : _a.focus();\n },\n onNodeExpand: (data, node, e) => {\n var _a;\n (_a = attrs.onNodeExpand) == null ? void 0 : _a.call(attrs, data, node, e);\n nextTick(() => {\n if (!props.checkStrictly && props.lazy && props.multiple && node.checked) {\n const dataMap = {};\n const uncachedCheckedKeys = tree.value.getCheckedKeys();\n treeEach([tree.value.store.root], node2 => dataMap[node2.key] = node2, node2 => node2.childNodes);\n const cachedKeys = toValidArray(props.modelValue).filter(item => !(item in dataMap) && !uncachedCheckedKeys.includes(item));\n const childKeys = getChildCheckedKeys();\n emit(UPDATE_MODEL_EVENT, cachedKeys.concat(childKeys));\n }\n });\n },\n cacheOptions\n };\n};\nexport { useTree };","map":{"version":3,"names":["useTree","props","attrs","slots","emit","select","tree","key","watch","modelValue","showCheckbox","nextTick","treeInstance","value","isEqual","getCheckedKeys","toValidArray","setCheckedKeys","immediate","deep","propsMap","computed","label","children","disabled","isLeaf","getNodeValByProp","prop","data","_a","propVal","isFunction","getNode","defaultExpandedParentKeys","map","treeFind","index","array","parent","filter","item","isValidValue","cacheOptions","renderAfterExpand","lazy","options","treeEach","concat","cacheData","node","push","currentLabel","isDisabled","getChildCheckedKeys","checkedKey","_a2","isNil","isEmpty","childNodes","pick","toRefs","Object","keys","ElTree","nodeKey","expandOnClickNode","checkStrictly","defaultExpandedKeys","renderContent","h","store","component","visible","default","filterNodeMethod","regexp","RegExp","escapeStringRegexp","test","onNodeClick","e","_b","_c","_d","call","checkOnClickNode","option","states","get","handleOptionSelect","proxy","handleExpandIconClick","focus","onCheck","params","dataValue","dataMap","root","uncachedCheckedKeys","checkedKeys","cachedKeys","multiple","includes","UPDATE_MODEL_EVENT","childKeys","firstLeaf","data2","isValidArray","firstLeafKey","hasCheckedChild","checkedKeys2","checkedNodes","getCheckedNodes","halfCheckedKeys","getHalfCheckedKeys","halfCheckedNodes","getHalfCheckedNodes","onNodeExpand","checked","node2"],"sources":["../../../../../../packages/components/tree-select/src/tree.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, nextTick, toRefs, watch } from 'vue'\nimport { isEqual, isNil, pick } from 'lodash-unified'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { escapeStringRegexp, isEmpty, isFunction } from '@element-plus/utils'\nimport ElTree from '@element-plus/components/tree'\nimport TreeSelectOption from './tree-select-option'\nimport {\n isValidArray,\n isValidValue,\n toValidArray,\n treeEach,\n treeFind,\n} from './utils'\nimport type { CacheOption } from './cache-options'\nimport type { Ref } from 'vue'\nimport type ElSelect from '@element-plus/components/select'\nimport type Node from '@element-plus/components/tree/src/model/node'\nimport type { TreeNodeData } from '@element-plus/components/tree/src/tree.type'\nimport type { TreeInstance } from '@element-plus/components/tree'\n\nexport const useTree = (\n props,\n { attrs, slots, emit },\n {\n select,\n tree,\n key,\n }: {\n select: Ref<InstanceType<typeof ElSelect> | undefined>\n tree: Ref<TreeInstance | undefined>\n key: Ref<string>\n }\n) => {\n watch(\n () => props.modelValue,\n () => {\n if (props.showCheckbox) {\n nextTick(() => {\n const treeInstance = tree.value\n if (\n treeInstance &&\n !isEqual(\n treeInstance.getCheckedKeys(),\n toValidArray(props.modelValue)\n )\n ) {\n treeInstance.setCheckedKeys(toValidArray(props.modelValue))\n }\n })\n }\n },\n {\n immediate: true,\n deep: true,\n }\n )\n\n const propsMap = computed(() => ({\n value: key.value,\n label: 'label',\n children: 'children',\n disabled: 'disabled',\n isLeaf: 'isLeaf',\n ...props.props,\n }))\n\n const getNodeValByProp = (\n prop: 'value' | 'label' | 'children' | 'disabled' | 'isLeaf',\n data: TreeNodeData\n ) => {\n const propVal = propsMap.value[prop]\n if (isFunction(propVal)) {\n return propVal(\n data,\n tree.value?.getNode(getNodeValByProp('value', data)) as Node\n )\n } else {\n return data[propVal as string]\n }\n }\n\n const defaultExpandedParentKeys = toValidArray(props.modelValue)\n .map((value) => {\n return treeFind(\n props.data || [],\n (data) => getNodeValByProp('value', data) === value,\n (data) => getNodeValByProp('children', data),\n (data, index, array, parent) =>\n parent && getNodeValByProp('value', parent)\n )\n })\n .filter((item) => isValidValue(item))\n\n const cacheOptions = computed(() => {\n if (!props.renderAfterExpand && !props.lazy) return []\n\n const options: CacheOption[] = []\n\n treeEach(\n props.data.concat(props.cacheData),\n (node) => {\n const value = getNodeValByProp('value', node)\n options.push({\n value,\n currentLabel: getNodeValByProp('label', node),\n isDisabled: getNodeValByProp('disabled', node),\n })\n },\n (data) => getNodeValByProp('children', data)\n )\n\n return options\n })\n\n const getChildCheckedKeys = () => {\n return tree.value?.getCheckedKeys().filter((checkedKey) => {\n const node = tree.value?.getNode(checkedKey) as Node\n return !isNil(node) && isEmpty(node.childNodes)\n })\n }\n\n return {\n ...pick(toRefs(props), Object.keys(ElTree.props)),\n ...attrs,\n nodeKey: key,\n\n // only expand on click node when the `check-strictly` is false\n expandOnClickNode: computed(() => {\n return !props.checkStrictly && props.expandOnClickNode\n }),\n\n // show current selected node only first time,\n // fix the problem of expanding multiple nodes when checking multiple nodes\n defaultExpandedKeys: computed(() => {\n return props.defaultExpandedKeys\n ? props.defaultExpandedKeys.concat(defaultExpandedParentKeys)\n : defaultExpandedParentKeys\n }),\n\n renderContent: (h, { node, data, store }) => {\n return h(\n TreeSelectOption,\n {\n value: getNodeValByProp('value', data),\n label: getNodeValByProp('label', data),\n disabled: getNodeValByProp('disabled', data),\n visible: node.visible,\n },\n props.renderContent\n ? () => props.renderContent(h, { node, data, store })\n : slots.default\n ? () => slots.default({ node, data, store })\n : undefined\n )\n },\n filterNodeMethod: (value, data, node) => {\n if (props.filterNodeMethod)\n return props.filterNodeMethod(value, data, node)\n if (!value) return true\n const regexp = new RegExp(escapeStringRegexp(value), 'i')\n return regexp.test(getNodeValByProp('label', data) || '')\n },\n onNodeClick: (data, node, e) => {\n attrs.onNodeClick?.(data, node, e)\n\n // `onCheck` is trigger when `checkOnClickNode`\n if (props.showCheckbox && props.checkOnClickNode) return\n\n // now `checkOnClickNode` is false, only no checkbox and `checkStrictly` or `isLeaf`\n if (!props.showCheckbox && (props.checkStrictly || node.isLeaf)) {\n if (!getNodeValByProp('disabled', data)) {\n const option = select.value?.states.options.get(\n getNodeValByProp('value', data)\n )\n select.value?.handleOptionSelect(option)\n }\n } else if (props.expandOnClickNode) {\n e.proxy.handleExpandIconClick()\n }\n select.value?.focus()\n },\n onCheck: (data, params) => {\n // ignore when no checkbox, like only `checkOnClickNode` is true\n if (!props.showCheckbox) return\n\n const dataValue = getNodeValByProp('value', data)\n const dataMap = {}\n treeEach(\n [tree.value.store.root],\n (node) => (dataMap[node.key] = node),\n (node) => node.childNodes\n )\n\n // fix: checkedKeys has not cached keys\n const uncachedCheckedKeys = params.checkedKeys\n const cachedKeys = props.multiple\n ? toValidArray(props.modelValue).filter(\n (item) => !(item in dataMap) && !uncachedCheckedKeys.includes(item)\n )\n : []\n const checkedKeys = cachedKeys.concat(uncachedCheckedKeys)\n\n if (props.checkStrictly) {\n emit(\n UPDATE_MODEL_EVENT,\n // Checking for changes may come from `check-on-node-click`\n props.multiple\n ? checkedKeys\n : checkedKeys.includes(dataValue)\n ? dataValue\n : undefined\n )\n }\n // only can select leaf node\n else {\n if (props.multiple) {\n const childKeys = getChildCheckedKeys()\n\n emit(UPDATE_MODEL_EVENT, cachedKeys.concat(childKeys))\n } else {\n // select first leaf node when check parent\n const firstLeaf = treeFind(\n [data],\n (data) =>\n !isValidArray(getNodeValByProp('children', data)) &&\n !getNodeValByProp('disabled', data),\n (data) => getNodeValByProp('children', data)\n )\n const firstLeafKey = firstLeaf\n ? getNodeValByProp('value', firstLeaf)\n : undefined\n\n // unselect when any child checked\n const hasCheckedChild =\n isValidValue(props.modelValue) &&\n !!treeFind(\n [data],\n (data) => getNodeValByProp('value', data) === props.modelValue,\n (data) => getNodeValByProp('children', data)\n )\n\n emit(\n UPDATE_MODEL_EVENT,\n firstLeafKey === props.modelValue || hasCheckedChild\n ? undefined\n : firstLeafKey\n )\n }\n }\n\n nextTick(() => {\n const checkedKeys = toValidArray(props.modelValue)\n tree.value.setCheckedKeys(checkedKeys)\n\n attrs.onCheck?.(data, {\n checkedKeys: tree.value.getCheckedKeys(),\n checkedNodes: tree.value.getCheckedNodes(),\n halfCheckedKeys: tree.value.getHalfCheckedKeys(),\n halfCheckedNodes: tree.value.getHalfCheckedNodes(),\n })\n })\n\n select.value?.focus()\n },\n\n onNodeExpand: (data, node, e) => {\n attrs.onNodeExpand?.(data, node, e)\n nextTick(() => {\n if (\n !props.checkStrictly &&\n props.lazy &&\n props.multiple &&\n node.checked\n ) {\n const dataMap = {}\n const uncachedCheckedKeys = (\n tree.value as TreeInstance\n ).getCheckedKeys()\n\n treeEach(\n [tree.value.store.root],\n (node) => (dataMap[node.key] = node),\n (node) => node.childNodes\n )\n\n const cachedKeys = toValidArray(props.modelValue).filter(\n (item) => !(item in dataMap) && !uncachedCheckedKeys.includes(item)\n )\n\n const childKeys = getChildCheckedKeys()\n emit(UPDATE_MODEL_EVENT, cachedKeys.concat(childKeys))\n }\n })\n },\n // else\n cacheOptions,\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}