{"version":3,"file":"cascader.vue2.mjs","sources":["../../../../../../packages/components/cascader/src/cascader.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToCascader'\n});\n</script>\n<template>\n\t<div ref=\"$el\" :key=\"langKey\" v-tip=\"changed ? t('to.common.originalValue', getLabelPath(valueStore[0], data_, [], [], false)) : ''\" :flex=\"flex ? flex : null\" class=\"to-cascader\" :class=\"setClass\" :style=\"setStyle\" @click=\"handleClick\">\n\t\t<span v-if=\"validateRequired\" v-show=\"false\" class=\"to-validate\" :req=\"validateRequired\" :desc=\"validateDesc\" :value=\"value_ ? 'true' : ''\"></span>\n\t\t<span v-if=\"$slots.prefix\" class=\"to-cascader-prefix\">\n\t\t\t<slot name=\"prefix\" />\n\t\t</span>\n\t\t<span v-if=\"props.prefix\" class=\"to-cascader-prefix-text\">\n\t\t\t<span>{{ props.prefix }}</span>\n\t\t</span>\n\t\t<span class=\"to-cascader-content\">\n\t\t\t<span class=\"to-cascader-value\">\n\t\t\t\t<span v-if=\"value_\">{{ valueLabel }}</span>\n\t\t\t\t<span v-else class=\"to-cascader-placeholder\">{{ placeholder || t('to.cascader.placeholder') }}</span>\n\t\t\t</span>\n\t\t</span>\n\t\t<span v-if=\"clearable && value_\" class=\"to-cascader-clear\">\n\t\t\t<to-icon value=\"close\" @click.stop=\"handleClear\"></to-icon>\n\t\t</span>\n\t\t<span class=\"to-cascader-arrow\">\n\t\t\t<to-icon v-if=\"false\" :value=\"iconValue\"></to-icon>\n\t\t</span>\n\t\t<Teleport to=\"body\">\n\t\t\t<div class=\"to-cascader\" :class=\"setClass\">\n\t\t\t\t<to-float ref=\"cascaderFloat\" :global=\"false\" class=\"to-cascader-layer\" :width=\"floatWidth\" lazy align=\"left\" @closed=\"afterClose\">\n\t\t\t\t\t<div v-if=\"!data_.length\" style=\"text-align: center; color: #ccc; padding: 3em 0.3em\">{{ t('to.cascader.noData') }}</div>\n\t\t\t\t\t<to-scroll @click.stop>\n\t\t\t\t\t\t<div class=\"to-cascader-options\">\n\t\t\t\t\t\t\t<to-cascader-item v-for=\"(levelData, levelIndex) in optionLevels\" :key=\"levelIndex\" :data=\"levelData\" @select=\"handleItemSelect\"></to-cascader-item>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</to-scroll>\n\t\t\t\t</to-float>\n\t\t\t</div>\n\t\t</Teleport>\n\t\t<span v-if=\"errorTip\" v-color=\"'danger'\" class=\"to-box-tip\">\n\t\t\t<template v-if=\"errorType === 'rule'\">\n\t\t\t\t{{ t('to.cascader.inputError') }}\n\t\t\t\t<to-icon v-tip.danger=\"errorTip\" style=\"height: auto\" value=\"help\" color=\"danger\" mode=\"toast\"></to-icon>\n\t\t\t</template>\n\t\t\t<template v-else> {{ t('to.cascader.required') }} </template>\n\t\t</span>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { CSSProperties, computed, provide, ref, watch, nextTick, inject } from 'vue'\nimport { ToIcon, ToFloat } from '@touchvue/components'\nimport ToCascaderItem from './cascader-item.vue'\nimport { deepClone } from '@touchvue/utils'\nimport { t, langKey } from '@touchvue/locale'\n\n\n\nconst ToFormItem = inject<{ required?: boolean; label?: string }>('ToFormItem', {})\n\nexport type VType = string | unknown[]\n\nexport interface Item {\n\tlabel?: string\n\tvalue?: string\n\tchildren?: string\n\tisSelect?: boolean\n\tisLeaf?: boolean\n\tlevel?: number\n\t[key: string]: any\n}\n\nexport interface Props {\n\tmode?: string\n\tlazy?: boolean\n\tdisabled?: boolean\n\tany?: boolean\n\tclearable?: boolean\n\tmodelValue?: string | []\n\twidth?: string | number\n\tlabelText?: string\n\tvalueText?: string\n\tchildrenText?: string\n\tplaceholder?: string\n\toptionWidth?: string | number\n\tdata: []\n\tcomparable?: boolean\n\trequired?: boolean\n\tdesc?: string\n\tprefix?: string\n\tshowAllLevels?: boolean\n\tcheckedDatas?: any[]\n\tflex?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tmode: 'default',\n\tlazy: false,\n\tdisabled: false,\n\tany: true,\n\tclearable: false,\n\tmodelValue: '',\n\twidth: '',\n\tlabelText: 'label',\n\tvalueText: 'value',\n\tchildrenText: 'children',\n\tplaceholder: '',\n\toptionWidth: '',\n\tdata: () => [],\n\tcomparable: false,\n\trequired: false,\n\tdesc: '',\n\tprefix: '',\n\tshowAllLevels: true,\n\tcheckedDatas: () => [],\n\tflex: false\n})\n\nconst ToForm = inject<{ comparable?: boolean }>('ToForm', {})\n\nconst iconValue = ref('unfold')\nconst value_ = ref<VType>('')\nconst valueLabel = ref('')\nconst data_ = ref<Item[]>(initData(props.data))\nconst cascaderFloat = ref(null)\nconst $el = ref(null)\nconst currentLevel = ref(0)\nconst checkedData = ref<Item[]>([])\nconst optionLevels = ref<Item[][]>([data_.value])\nconst valueStore = ref<string[]>([])\nconst disabled = ref(props.disabled)\nconst errorTip = ref('')\nconst errorType = ref('rule')\n\nconst floatWidth = computed(() => {\n\tlet unit = 'em'\n\tlet sArr = []\n\tlet omit = 16\n\tif (props.optionWidth) {\n\t\tif (isNaN(Number(props.optionWidth))) {\n\t\t\tif ((props.optionWidth as string).includes('em')) {\n\t\t\t\tunit = 'em'\n\t\t\t\tsArr = (props.optionWidth as string).split('em')\n\t\t\t} else {\n\t\t\t\tunit = 'px'\n\t\t\t\tsArr = (props.optionWidth as string).split('px')\n\t\t\t}\n\t\t\tomit = Number(sArr[0])\n\t\t} else {\n\t\t\tomit = Number(props.optionWidth)\n\t\t}\n\t\treturn `${(currentLevel.value + 1) * omit}${unit}`\n\t} else {\n\t\treturn ''\n\t}\n})\n\nconst setClass = computed(() => {\n\tconst arr = ['to-disable-target']\n\tif (errorTip.value) {\n\t\tarr.push('to-cascader-mode-line')\n\t\tarr.push('to-cascader-color-danger')\n\t\tarr.push('to-cascader-tip-show')\n\t} else {\n\t\tif (props.mode) {\n\t\t\tarr.push(`mode-${props.mode}`)\n\t\t}\n\t\tif ((ToForm && ToForm?.comparable) || props.comparable) {\n\t\t\tarr.push('to-compare')\n\t\t}\n\t\tif (changed.value) {\n\t\t\tarr.push('to-cascader-changed')\n\t\t}\n\t\tif (disabled.value || props.disabled) {\n\t\t\tarr.push('is-disabled')\n\t\t}\n\t\tif (!value_.value) {\n\t\t\tarr.push('is-placeholder')\n\t\t}\n\t}\n\treturn arr\n})\nconst setStyle = computed(() => {\n\tlet obj: CSSProperties = {}\n\tif (props.width) {\n\t\tif (isNaN(Number(props.width))) {\n\t\t\tobj.width = props.width\n\t\t} else {\n\t\t\tobj.width = `${props.width}em`\n\t\t}\n\t}\n\treturn obj\n})\nconst changed = computed(() => {\n\tif ((props.comparable || ToForm?.comparable) && valueStore.value.length > 0 && value_.value !== valueStore.value[0]) {\n\t\treturn true\n\t} else {\n\t\treturn false\n\t}\n})\n\nconst validateRequired = computed(() => {\n\tif (props.required) {\n\t\treturn 'true'\n\t} else if (ToFormItem && ToFormItem.required) {\n\t\treturn 'true'\n\t} else {\n\t\treturn 'false'\n\t}\n})\nconst validateDesc = computed(() => {\n\tif (props.desc) {\n\t\treturn props.desc\n\t} else if (ToFormItem && ToFormItem.label) {\n\t\treturn ToFormItem.label\n\t} else {\n\t\treturn ''\n\t}\n})\nexport interface ProvideProps {\n\tprops: Props\n}\n\nprovide<ProvideProps>('pProps', {\n\tprops\n})\n\nwatch(\n\t() => props.modelValue,\n\tval => {\n\t\tvalue_.value = val\n\t\tif (props.data) {\n\t\t\tnextTick(() => {\n\t\t\t\tsetLabel()\n\t\t\t})\n\t\t}\n\t},\n\t{ immediate: true }\n)\nwatch(\n\t() => props.data,\n\tval => {\n\t\tdata_.value = initData(val)\n\t\tcheckedData.value = []\n\t\toptionLevels.value = [data_.value]\n\t\tsetLabel()\n\t},\n\t{ deep: true }\n)\n\nconst emit = defineEmits(['change', 'update:modelValue', 'update:checkedDatas'])\nfunction initData(data: Item[], levels = 0) {\n\tlet arr = deepClone(data)\n\tlet tem = []\n\tlet level = levels\n\tarr.forEach((item: Item) => {\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\ttem.push({\n\t\t\t\t...item,\n\t\t\t\tlevel,\n\t\t\t\tisLeaf: false,\n\t\t\t\tisSelect: false,\n\t\t\t\t[props.childrenText]: initData(item[props.childrenText], level + 1)\n\t\t\t})\n\t\t} else {\n\t\t\ttem.push({ ...item, level, isSelect: false, isLeaf: true })\n\t\t}\n\t})\n\treturn tem\n}\nfunction handleClick() {\n\terrorTip.value = ''\n\tif (!(props.disabled || disabled.value)) {\n\t\tif (iconValue.value === 'unfold') {\n\t\t\tsetOptionLevelsByCheckedData()\n\t\t}\n\t\tcascaderFloat.value.toggle($el.value)\n\t\ticonValue.value = iconValue.value === 'unfold' ? 'fold' : 'unfold'\n\t}\n}\nfunction handleClear() {\n\tif (!props.disabled) {\n\t\tvalueLabel.value = ''\n\t\tresetCheckedData(data_.value)\n\t\tcheckedData.value = []\n\t\toptionLevels.value = [data_.value]\n\t\tvalue_.value = ''\n\t\tchange('')\n\t}\n}\nfunction setLevel(idx: number) {\n\tcurrentLevel.value = idx\n}\nfunction setParentCheckedByValue(value, level) {\n\tfixStore(data_.value, value, level)\n}\nfunction getChildren(item: Item) {\n\tconst children = item[props.childrenText]\n\treturn Array.isArray(children) ? children : []\n}\nfunction setOptionLevelsByCheckedData() {\n\tconst levels: Item[][] = [data_.value]\n\tlet currentData = data_.value\n\tfor (const item of checkedData.value) {\n\t\tconst current = currentData.find(k => k[props.valueText] === item[props.valueText])\n\t\tif (!current) break\n\t\tconst children = getChildren(current)\n\t\tif (!children.length) break\n\t\tlevels.push(children)\n\t\tcurrentData = children\n\t}\n\toptionLevels.value = levels\n\tsetLevel(levels.length - 1)\n}\nfunction handleItemSelect(item: Item) {\n\tconst level = item.level || 0\n\tconst children = getChildren(item)\n\n\toptionLevels.value = optionLevels.value.slice(0, level + 1)\n\tsetParentCheckedByValue(item[props.valueText], level)\n\tif (children.length) {\n\t\toptionLevels.value = [...optionLevels.value, children]\n\t\tsetLevel(level + 1)\n\t\tif (props.any) {\n\t\t\tsetViewData()\n\t\t}\n\t} else {\n\t\tsetLevel(level)\n\t\tsetViewData()\n\t\tclose()\n\t}\n}\nfunction fixStore(arr, value, level) {\n\tarr.forEach((item: Item) => {\n\t\tif (item.level === level) {\n\t\t\tif (item[props.valueText] === value) {\n\t\t\t\titem.isSelect = true\n\t\t\t\tsetCheckedData(checkedData.value, level, item)\n\t\t\t} else {\n\t\t\t\titem.isSelect = false\n\t\t\t}\n\t\t} else {\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\tfixStore(item[props.childrenText], value, level)\n\t\t\t}\n\t\t}\n\t})\n}\nfunction setCheckedData(arr: Item[], level, item) {\n\tlet idx = arr.findIndex(k => k.level === level)\n\tif (arr.length && idx !== -1) {\n\t\tif (arr[idx][props.valueText] !== item[props.valueText]) {\n\t\t\tlet resetArr = arr.filter(k => k.level > level)\n\t\t\tif (resetArr.length) {\n\t\t\t\tresetArr.forEach(k => {\n\t\t\t\t\tlet i = arr.findIndex(l => l.level === k.level)\n\t\t\t\t\tif (i !== -1) {\n\t\t\t\t\t\tarr.splice(i, 1)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\tif (idx !== -1) {\n\t\tarr[idx] = { ...item }\n\t} else {\n\t\tarr.push(deepClone(item))\n\t}\n}\nfunction resetCheckedData(arr: Item[]) {\n\tarr.forEach((item: Item) => {\n\t\titem.isSelect = false\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tresetCheckedData(item[props.childrenText])\n\t\t}\n\t})\n}\nfunction setViewData() {\n\tlet labelArr = checkedData.value.map(item => item[props.labelText])\n\tlet leafArr = checkedData.value.map(item => item.isLeaf)\n\tif (props.showAllLevels) {\n\t\tvalueLabel.value = labelArr.join(' / ')\n\t} else {\n\t\tif (leafArr[leafArr.length - 1]) {\n\t\t\tvalueLabel.value = labelArr[labelArr.length - 1]\n\t\t} else {\n\t\t\tvalueLabel.value = ''\n\t\t}\n\t}\n\tlet leafItem = []\n\tif (!props.any) {\n\t\tleafItem = checkedData.value.filter(item => item.isLeaf)\n\t} else {\n\t\tleafItem = checkedData.value.length ? [checkedData.value[checkedData.value.length - 1]] : []\n\t}\n\tif (leafItem.length) {\n\t\tvalue_.value = leafItem[0][props.valueText]\n\t\tchange(value_.value)\n\t}\n}\nfunction close() {\n\tcascaderFloat.value.close()\n}\nfunction afterClose() {\n\tsetLevel(0)\n\ticonValue.value = 'unfold'\n}\nfunction change(v) {\n\temit('update:modelValue', v)\n\temit('change', v, checkedData.value)\n}\nconst setLabel = () => {\n\tresetCheckedData(data_.value)\n\tif (value_.value) {\n\t\tvalueLabel.value = getLabelPath(value_.value, data_.value) || value_.value\n\t\tcheckedData.value.forEach(item => {\n\t\t\titem.isSelect = true\n\t\t})\n\t} else {\n\t\tcheckedData.value = []\n\t\tvalueLabel.value = props.placeholder\n\t}\n\tsetOptionLevelsByCheckedData()\n}\n\n// 添加获取标签路径的函数\nfunction getLabelPath(value, data, path = [], pData = [], syncCheckedData = true) {\n\tfor (const item of data) {\n\t\tif (item[props.valueText] === value) {\n\t\t\tlet tem: any = []\n\t\t\tif (syncCheckedData) {\n\t\t\t\tcheckedData.value = [...pData, item]\n\t\t\t}\n\t\t\tif (props.showAllLevels) {\n\t\t\t\ttem = [...path, item[props.labelText]].join(' / ')\n\t\t\t} else {\n\t\t\t\tif (item.isLeaf) {\n\t\t\t\t\ttem = item[props.labelText]\n\t\t\t\t} else {\n\t\t\t\t\ttem = ''\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn tem\n\t\t}\n\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tconst result = getLabelPath(value, item[props.childrenText], [...path, item[props.labelText]], [...pData, item], syncCheckedData)\n\t\t\tif (result) {\n\t\t\t\treturn result\n\t\t\t}\n\t\t}\n\t}\n\treturn ''\n}\nfunction compare() {\n\tvalueStore.value.unshift(String(value_.value))\n}\n// 撤销\nfunction restore() {\n\tvalue_.value = valueStore.value[0]\n\tvalueStore.value.splice(0, 1)\n}\nconst setDisabled = (f: boolean) => {\n\tdisabled.value = f\n}\n\nconst getCheckData = () => {\n\treturn checkedData.value\n}\nwatch(\n\t() => checkedData.value,\n\tval => {\n\t\temit('update:checkedDatas', val)\n\t}\n)\n\ndefineExpose({\n\tcompare,\n\trestore,\n\tchanged,\n\tsetDisabled,\n\terrorTip,\n\terrorType,\n\tgetCheckData\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_unref","flex","_normalizeClass","$slots","_renderSlot","_createElementVNode","_toDisplayString","_openBlock","placeholder","clearable","_createVNode","_createBlock","_Teleport","_Fragment","_renderList","ToCascaderItem","_createTextVNode"],"mappings":"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"}