tdesign-mobile-vue
Version:
tdesign-mobile-vue
1 lines • 29.8 kB
Source Map (JSON)
{"version":3,"file":"cascader.mjs","sources":["../../src/cascader/cascader.tsx"],"sourcesContent":["import { CloseIcon, ChevronRightIcon } from 'tdesign-icons-vue-next';\nimport { defineComponent, toRefs, computed, ref, toRaw, reactive, watch, onMounted, Transition } from 'vue';\nimport TPopup from '../popup';\nimport { Tabs } from '../tabs';\nimport { RadioValue, RadioGroup as TRadioGroup } from '../radio';\nimport config from '../config';\nimport props from './props';\nimport { useVModel } from '../shared';\nimport { TreeOptionData } from '../common';\nimport { useConfig } from '../config-provider/useConfig';\nimport { useTNodeJSX } from '../hooks/tnode';\nimport { usePrefixClass } from '../hooks/useClass';\nimport { CascaderTriggerSource } from './type';\n\nconst { prefix } = config;\nconst name = `${prefix}-cascader`;\n\ninterface ChildrenInfoType {\n value: string | number | boolean;\n level: number;\n}\n\nconst childrenInfo: ChildrenInfoType = {\n value: '',\n level: 0,\n};\n\ninterface KeysType {\n value?: string;\n label?: string;\n children?: string;\n}\n\nexport default defineComponent({\n name,\n props,\n emits: ['update:visible', 'update:value', 'update:modelValue'],\n setup(props, context) {\n const renderTNodeJSX = useTNodeJSX();\n const cascaderClass = usePrefixClass('cascader');\n const { globalConfig } = useConfig('cascader');\n\n const { visible, value, modelValue } = toRefs(props);\n const [cascaderValue, setCascaderValue] = useVModel(value, modelValue, props.defaultValue, props.onChange);\n\n const open = ref(visible.value || false);\n const placeholder = computed(() => props.placeholder || globalConfig.value.placeholder);\n\n const stepIndex = ref(0);\n const selectedIndexes = reactive<number[]>([]);\n const selectedValue = reactive<string[]>([]);\n const items: Array<Array<TreeOptionData>> = reactive([props.options ?? []]);\n const steps = reactive([placeholder.value]);\n\n const initWithValue = () => {\n if (cascaderValue.value != null) {\n steps.length = 0;\n selectedValue.length = 0;\n selectedIndexes.splice(0, selectedIndexes.length);\n\n const path = getIndexesByValue(props.options, cascaderValue.value);\n path?.forEach((e: number) => {\n // @ts-ignore\n selectedIndexes.push(e);\n });\n watchSelectedIndexes();\n }\n };\n\n const watchSelectedIndexes = () => {\n if (props.options && props.options.length > 0) {\n items.splice(0, items.length, ...[props.options]);\n\n const keys = props.keys as KeysType;\n for (let i = 0, size = selectedIndexes.length; i < size; i += 1) {\n const index = selectedIndexes[i];\n const next = items[i]?.[index];\n selectedValue.push(next[keys?.value ?? 'value']);\n steps.push(next[keys?.label ?? 'label']);\n if (next[keys?.children ?? 'children']) {\n items.push(next[keys?.children ?? 'children']);\n }\n }\n }\n\n if (steps.length < items.length) {\n steps.push(placeholder.value);\n }\n stepIndex.value = items.length - 1;\n };\n\n const getIndexesByValue = (options: any, value: any) => {\n const keys = props.keys as KeysType;\n for (let i = 0; i < options.length; i++) {\n if (options[i][keys?.value ?? 'value'] === value) {\n return [i];\n }\n if (options[i][keys?.children ?? 'children']) {\n const res: any = getIndexesByValue(options[i][keys?.children ?? 'children'], value);\n if (res) {\n return [i, ...res];\n }\n }\n }\n };\n\n const chooseSelect = (value: RadioValue, level: number, index: number, item: any) => {\n const keys = props.keys as KeysType;\n selectedIndexes[level] = index;\n selectedIndexes.length = level + 1;\n selectedValue[level] = String(value);\n selectedValue.length = level + 1;\n steps[level] = item[keys?.label ?? 'label'] as string;\n if (item[keys?.children ?? 'children']?.length) {\n items[level + 1] = item[keys?.children ?? 'children'];\n items.length = level + 2;\n stepIndex.value += 1;\n steps[level + 1] = placeholder.value;\n steps.length = level + 2;\n } else if (item[keys?.children ?? 'children']?.length === 0) {\n childrenInfo.value = value;\n childrenInfo.level = level;\n } else {\n setCascaderValue(\n item[keys?.value ?? 'value'],\n items.map((item, index) => toRaw(item?.[selectedIndexes[index]])),\n );\n close('finish');\n }\n };\n\n const cancelSelect = (value: RadioValue, level: number, index: number, item: any) => {\n const keys = props.keys as KeysType;\n selectedIndexes[level] = index;\n selectedIndexes.length = level;\n selectedValue.length = level;\n steps[level] = String(placeholder.value);\n steps[level + 1] = placeholder.value;\n steps.length = level + 1;\n\n if (item[keys?.children ?? 'children']?.length) {\n items[level + 1] = item[keys?.children ?? 'children'];\n } else if (item[keys?.children ?? 'children']?.length === 0) {\n childrenInfo.value = value;\n childrenInfo.level = level;\n }\n };\n\n const handleSelect = (value: RadioValue, level: number) => {\n const keys = props.keys as KeysType;\n const index = items[level].findIndex((item: any) => item[keys?.value ?? 'value'] === value);\n const item = items[level][index];\n if (item.disabled) {\n return;\n }\n props.onPick?.({ level, value: item[keys?.value ?? 'value'], index });\n\n if (props.checkStrictly && selectedValue.includes(String(value))) {\n cancelSelect(value, level, index, item);\n } else {\n chooseSelect(value, level, index, item);\n }\n };\n\n const close = (trigger: CascaderTriggerSource) => {\n props.onClose?.(trigger);\n };\n\n const handleVisibleChange = (visible: boolean, e: any) => {\n if (e?.trigger !== 'overlay') return;\n close('overlay');\n };\n\n const updateCascaderValue = () => {\n setCascaderValue(\n selectedValue[selectedValue.length - 1],\n items\n .filter((item, index) => !!item && selectedIndexes.length > index)\n .map((item, index) => toRaw(item?.[selectedIndexes[index]])),\n );\n };\n\n const onClose = () => {\n open.value = false;\n close('close-btn');\n };\n\n const onCloseBtn = () => {\n if (props.checkStrictly) {\n updateCascaderValue();\n onClose();\n } else {\n onClose();\n }\n };\n\n const onStepClick = (index: number) => {\n stepIndex.value = index;\n };\n\n const onTabChange = (value: number | string) => {\n stepIndex.value = Number(value);\n };\n\n watch(open, () => {\n context.emit('update:visible', open.value);\n });\n\n watch(visible, () => {\n open.value = visible.value;\n if (visible.value) {\n initWithValue();\n }\n });\n\n watch(\n () => props.options,\n () => {\n items.splice(0, items.length, ...[props.options ?? []]);\n\n if (open.value) {\n handleSelect(childrenInfo.value, childrenInfo.level);\n }\n },\n {\n deep: true,\n },\n );\n\n watch(placeholder, (newValue, oldValue) => {\n const index = steps.indexOf(oldValue);\n if (index !== -1) {\n steps[index] = newValue;\n }\n });\n\n onMounted(() => {\n initWithValue();\n });\n\n return () => {\n const title = renderTNodeJSX('title') || globalConfig.value.title;\n const closeBtn = renderTNodeJSX('closeBtn', { defaultNode: <CloseIcon size=\"24px\" /> });\n const PlaceholderNode = renderTNodeJSX('placeholder');\n\n const readerStep = () => {\n return (\n <div class={`${cascaderClass.value}__steps`}>\n {steps.map((step, index) => {\n return (\n <div\n class={`${cascaderClass.value}__step`}\n onClick={() => {\n onStepClick(index);\n }}\n >\n <div\n class={[\n `${cascaderClass.value}__step-dot`,\n {\n [`${cascaderClass.value}__step-dot--active`]: step !== placeholder.value,\n [`${cascaderClass.value}__step-dot--last`]: index === steps.length - 1,\n },\n ]}\n />\n <div\n class={[\n `${cascaderClass.value}__step-label`,\n {\n [`${cascaderClass.value}__step-label--active`]: index === stepIndex.value,\n },\n ]}\n >\n {PlaceholderNode && !(typeof PlaceholderNode === 'string') && step === placeholder.value\n ? PlaceholderNode\n : step}\n </div>\n <ChevronRightIcon class={`${cascaderClass.value}__step-arrow`} size=\"22\" />\n </div>\n );\n })}\n </div>\n );\n };\n\n const renderTabStep = () => {\n const _steps = steps.map((item, index) => ({ value: index, label: item }));\n return <Tabs value={stepIndex.value} spaceEvenly={false} list={_steps} onChange={onTabChange} />;\n };\n\n const readerSteps = () => {\n if (steps.length === 0) {\n return null;\n }\n if (props.theme === 'step') {\n return readerStep();\n }\n\n if (open.value && props.theme === 'tab') {\n return renderTabStep();\n }\n };\n return (\n <TPopup v-model={open.value} placement=\"bottom\" onVisibleChange={handleVisibleChange}>\n <div class={`${cascaderClass.value}`}>\n <div class={`${cascaderClass.value}__title`}>{title}</div>\n <div class={`${cascaderClass.value}__close-btn`} onClick={onCloseBtn}>\n {closeBtn}\n </div>\n <div class={`${cascaderClass.value}__content`}>\n {readerSteps()}\n {props.subTitles && props.subTitles[stepIndex.value] && (\n <div class={`${cascaderClass.value}__options-title`}>{props.subTitles[stepIndex.value]}</div>\n )}\n <div\n class={`${cascaderClass.value}__options-container`}\n style={`width: ${items.length + 1}00vw; transform: translateX(-${stepIndex.value}00vw);`}\n >\n {items.map((options, index) => {\n return (\n <div class={`${cascaderClass.value}__options`}>\n <Transition appear name=\"slide\">\n <div class={`${cascaderClass.value}-radio-group-${index}`}>\n <TRadioGroup\n value={selectedValue[index] || ''}\n keys={props.keys}\n options={options}\n placement=\"right\"\n icon=\"line\"\n borderless\n onChange={(\n value: RadioValue,\n context: {\n e: Event;\n },\n ) => {\n handleSelect(value, index);\n }}\n />\n </div>\n </Transition>\n </div>\n );\n })}\n </div>\n </div>\n </div>\n </TPopup>\n );\n };\n },\n});\n"],"names":["prefix","config","name","childrenInfo","value","level","defineComponent","props","emits","setup","context","_props2$options","renderTNodeJSX","useTNodeJSX","cascaderClass","usePrefixClass","_useConfig","useConfig","globalConfig","_toRefs","toRefs","visible","modelValue","_useVModel","useVModel","defaultValue","onChange","_useVModel2","_slicedToArray","cascaderValue","setCascaderValue","open","ref","placeholder","computed","stepIndex","selectedIndexes","reactive","selectedValue","items","options","steps","initWithValue","length","splice","path","getIndexesByValue","forEach","e","push","watchSelectedIndexes","apply","concat","keys","i","size","_items$i","_keys$value","_keys$label","_keys$children","index","next","label","children","_keys$children2","_keys$value2","_keys$children3","_keys$children4","res","_toConsumableArray","chooseSelect","item","_keys$label2","_item","_keys$children5","_item2","_keys$children7","String","_keys$children6","_keys$value3","map","toRaw","close","cancelSelect","_item3","_keys$children8","_item4","_keys$children10","_keys$children9","handleSelect","_props2$onPick","_keys$value5","findIndex","_keys$value4","disabled","onPick","checkStrictly","includes","trigger","_props2$onClose","onClose","handleVisibleChange","updateCascaderValue","filter","onCloseBtn","onStepClick","onTabChange","Number","watch","emit","_props2$options2","deep","newValue","oldValue","indexOf","onMounted","title","closeBtn","defaultNode","_createVNode","CloseIcon","PlaceholderNode","readerStep","step","onClick","_defineProperty","ChevronRightIcon","renderTabStep","_steps","Tabs","readerSteps","theme","TPopup","onUpdateModelValue","$event","default","_default","subTitles","TRadioGroup"],"mappings":"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"}