tdesign-mobile-vue
Version:
tdesign-mobile-vue
1 lines • 17.9 kB
Source Map (JSON)
{"version":3,"file":"tree-select.mjs","sources":["../../src/tree-select/tree-select.tsx"],"sourcesContent":["import { computed, defineComponent, ref, toRefs, watch } from 'vue';\nimport { SideBar as TSideBar, SideBarItem as TSideBarItem } from '../side-bar';\nimport TRadio, { RadioGroup as TRadioGroup } from '../radio';\nimport TCheckbox, { CheckboxGroup as TCheckboxGroup } from '../checkbox';\nimport config from '../config';\nimport { convertUnit } from '../shared';\nimport log from '../_common/js/log';\nimport props from './props';\nimport { TdTreeSelectProps, TreeSelectValue, _TreeOptionData } from './type';\nimport { usePrefixClass } from '../hooks/useClass';\nimport useVModel from '../hooks/useVModel';\n\nconst { prefix } = config;\n\ntype TreeSelectValueGroup = TreeSelectValue[];\n\nexport default defineComponent({\n name: `${prefix}-tree-select`,\n components: {\n TSideBar,\n TSideBarItem,\n TRadio,\n TRadioGroup,\n },\n props,\n emits: ['update:value', 'update:modelValue', 'change'],\n setup(props: TdTreeSelectProps, context) {\n const treeSelectClass = usePrefixClass('tree-select');\n const { height, customStyle, value, modelValue, options, keys, multiple } = toRefs(props);\n const [innerValue, setInnerValue] = useVModel(value, modelValue, props.defaultValue, props.onChange);\n\n const leafLevel = ref(0);\n const treeMaxLevel = ref(0);\n const treeOptions = ref<_TreeOptionData[][]>([]);\n const rootStyle = computed(() => [`height: ${convertUnit(height.value)}`, customStyle.value].join(';'));\n\n const buildTreeOptions = () => {\n const { options, multiple, keys } = props;\n\n let level = -1;\n const tmpTreeOptions: _TreeOptionData[][] = [];\n let node: _TreeOptionData = { children: options };\n if (options.length === 0 || (Array.isArray(value) && value.length === 0)) return;\n while (node && node.children) {\n level += 1;\n const list = (node.children as _TreeOptionData[]).map((item: _TreeOptionData) => ({\n label: item[keys?.label || 'label'],\n value: item[keys?.value || 'value'],\n disabled: item[keys?.disabled || 'disabled'],\n children: item.children,\n level: leafLevel.value,\n }));\n const thisValue = (innerValue.value as TreeSelectValueGroup)?.[level];\n\n tmpTreeOptions.push([...list]);\n if (thisValue == null) {\n const [firstChild] = list;\n node = firstChild;\n } else {\n const child = list.find((child) => child.value === thisValue);\n node = child ?? list[0];\n }\n }\n leafLevel.value = Math.max(0, level);\n if (leafLevel.value > treeMaxLevel.value) {\n treeMaxLevel.value = leafLevel.value;\n }\n treeOptions.value = tmpTreeOptions;\n\n if (multiple) {\n const finalValue = innerValue.value as TreeSelectValueGroup;\n if (finalValue[treeMaxLevel.value] != null && !Array.isArray(finalValue[treeMaxLevel.value])) {\n log.error(\n 'TreeSelect',\n `\\`value\\` should be an array when \\`multiple\\` is true, got \\`${typeof finalValue[treeMaxLevel.value]}\\``,\n );\n }\n }\n };\n\n const getTreeClass = (level: number, total: number) => {\n if (level === 0) return 'right';\n if (level === 1 && level !== total - 1) return 'middle';\n return 'left';\n };\n\n const onRootChange = (level: number) => {\n setInnerValue(innerValue.value, level);\n };\n\n const handleTreeClick = (itemValue: TreeSelectValue, level: number, isDisabled: boolean) => {\n if (isDisabled) return;\n (innerValue.value as TreeSelectValueGroup)[level] = itemValue;\n setInnerValue(innerValue.value, level);\n };\n\n watch(\n [innerValue, options, keys, multiple],\n () => {\n buildTreeOptions();\n },\n { immediate: true, deep: true },\n );\n\n const renderSideBar = (treeOption: _TreeOptionData[]) => {\n return (\n <TSideBar\n v-model={(innerValue.value as TreeSelectValueGroup)[0]}\n class={`${treeSelectClass.value}-colum`}\n onChange={() => onRootChange(0)}\n >\n {treeOption.map((item, index) => (\n <TSideBarItem key={index} label={item.label} value={item.value} disabled={item.disabled}></TSideBarItem>\n ))}\n </TSideBar>\n );\n };\n\n const renderMiddleLevel = (treeOption: _TreeOptionData[], level: number) => {\n return treeOption.map((item) => (\n <div\n key={item.value}\n class={{\n [`${treeSelectClass.value}__item`]: true,\n [`${treeSelectClass.value}__item--active`]:\n item.value === (innerValue.value as TreeSelectValueGroup)[level],\n [`${treeSelectClass.value}__item--disabled`]: item.disabled,\n }}\n onClick={() => handleTreeClick(item.value, level, item.disabled)}\n >\n {item.label}\n </div>\n ));\n };\n\n const renderLeafLevel = (treeOption: _TreeOptionData[], level: number) => {\n if (multiple.value) {\n return (\n <TCheckboxGroup\n v-model={(innerValue.value as TreeSelectValueGroup)[level]}\n class={`${treeSelectClass.value}__checkbox`}\n onChange={() => onRootChange(level)}\n >\n {treeOption.map((item) => (\n <TCheckbox\n key={item.value}\n class={`${treeSelectClass.value}__checkbox-item`}\n value={item.value}\n maxLabelRow={1}\n icon=\"line\"\n borderless\n placement=\"right\"\n disabled={item.disabled}\n >\n {item.label}\n </TCheckbox>\n ))}\n </TCheckboxGroup>\n );\n }\n return (\n <TRadioGroup\n v-model={(innerValue.value as TreeSelectValueGroup)[level]}\n class={`${treeSelectClass.value}__radio`}\n onChange={() => onRootChange(level)}\n >\n {treeOption.map((item) => (\n <TRadio\n key={item.value}\n class={`${treeSelectClass.value}__radio-item`}\n value={item.value}\n icon=\"line\"\n maxLabelRow={1}\n borderless\n placement=\"right\"\n disabled={item.disabled}\n >\n {item.label}\n </TRadio>\n ))}\n </TRadioGroup>\n );\n };\n\n return () => {\n return (\n <div class={treeSelectClass.value} style={rootStyle.value}>\n {treeOptions.value.map((item, level) => {\n let levelContent;\n if (level === 0) {\n levelContent = renderSideBar(item);\n } else if (level === leafLevel.value && level === treeMaxLevel.value) {\n levelContent = renderLeafLevel(item, level);\n } else {\n levelContent = renderMiddleLevel(item, level);\n }\n\n return (\n <div\n key={level}\n class={[\n `${treeSelectClass.value}__column`,\n `${treeSelectClass.value}__column--${getTreeClass(\n leafLevel.value - level,\n treeOptions.value.length,\n )}`,\n ]}\n >\n {levelContent}\n </div>\n );\n })}\n </div>\n );\n };\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","prefix","config","defineComponent","name","components","TSideBar","TSideBarItem","TRadio","TRadioGroup","props","emits","setup","context","treeSelectClass","usePrefixClass","_toRefs","toRefs","height","customStyle","value","modelValue","options","keys","multiple","_useVModel","useVModel","defaultValue","onChange","_useVModel2","_slicedToArray","innerValue","setInnerValue","leafLevel","ref","treeMaxLevel","treeOptions","rootStyle","computed","concat","convertUnit","join","buildTreeOptions","level","tmpTreeOptions","node","children","length","Array","isArray","_loop","_innerValue$value","list","map","item","label","disabled","thisValue","push","_toConsumableArray","_list","firstChild","child","find","Math","max","finalValue","log","error","_typeof","getTreeClass","total","onRootChange","handleTreeClick","itemValue","isDisabled","watch","immediate","deep","renderSideBar","treeOption","_slot","_createVNode","onUpdateModelValue","$event","index","renderMiddleLevel","_defineProperty","onClick","renderLeafLevel","_slot3","_slot2","TCheckboxGroup","TCheckbox","default","_default","levelContent"],"mappings":"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"}