tdesign-mobile-vue
Version:
tdesign-mobile-vue
1 lines • 30.9 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 { get as lodashGet } from 'lodash-es';\nimport TPopup from '../popup';\nimport { Tabs } from '../tabs';\nimport { RadioValue, RadioGroup as TRadioGroup } from '../radio';\nimport config from '../config';\nimport props from './props';\nimport { TreeOptionData } from '../common';\nimport { useConfig } from '../config-provider/useConfig';\nimport useVModel from '../hooks/useVModel';\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 disabled?: 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<Array<string | number>>([]);\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(lodashGet(next, keys?.value ?? 'value'));\n steps.push(lodashGet(next, keys?.label ?? 'label'));\n if (lodashGet(next, keys?.children ?? 'children')) {\n items.push(lodashGet(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 (lodashGet(options[i], keys?.value ?? 'value') === value) {\n return [i];\n }\n if (lodashGet(options[i], keys?.children ?? 'children')) {\n const res: any = getIndexesByValue(lodashGet(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] = typeof value === 'number' ? value : String(value);\n selectedValue.length = level + 1;\n steps[level] = lodashGet(item, keys?.label ?? 'label');\n if (lodashGet(item, keys?.children ?? 'children')?.length) {\n items[level + 1] = lodashGet(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 (lodashGet(item, keys?.children ?? 'children')?.length === 0) {\n childrenInfo.value = value;\n childrenInfo.level = level;\n } else {\n items.length = level + 1;\n steps.length = level + 1;\n stepIndex.value = level;\n\n setCascaderValue(\n lodashGet(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 (lodashGet(item, keys?.children ?? 'children')?.length) {\n items[level + 1] = lodashGet(item, keys?.children ?? 'children');\n } else if (lodashGet(item, keys?.children ?? 'children')?.length === 0) {\n childrenInfo.value = value;\n childrenInfo.level = level;\n }\n };\n\n const handleSelect = (value: RadioValue, level: number, fromHandler = true) => {\n const keys = props.keys as KeysType;\n const index = items[level].findIndex((item: any) => lodashGet(item, keys?.value ?? 'value') === value);\n const item = items[level][index];\n if (lodashGet(item, keys?.disabled ?? 'disabled')) {\n return;\n }\n\n if (fromHandler) {\n props.onPick?.({\n value: lodashGet(item, keys?.value ?? 'value'),\n label: lodashGet(item, keys?.label ?? 'label'),\n level,\n index,\n });\n }\n\n if (props.checkStrictly && selectedValue.includes(String(value)) && fromHandler) {\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 initWithValue();\n\n if (open.value) {\n handleSelect(childrenInfo.value, childrenInfo.level, false);\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 {renderTNodeJSX('header')}\n <div class={`${cascaderClass.value}__content`}>\n {readerSteps()}\n {renderTNodeJSX('middleContent')}\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","lodashGet","label","children","_keys$children2","_keys$value2","_keys$children3","_keys$children4","res","_toConsumableArray","chooseSelect","item","_keys$label2","_lodashGet","_keys$children5","_lodashGet2","_keys$children7","String","_keys$children6","_keys$value3","map","toRaw","close","cancelSelect","_lodashGet3","_keys$children8","_lodashGet4","_keys$children0","_keys$children9","handleSelect","_keys$disabled","fromHandler","findIndex","_keys$value4","disabled","_props2$onPick","_keys$value5","_keys$label3","onPick","checkStrictly","includes","trigger","_props2$onClose","onClose","handleVisibleChange","updateCascaderValue","filter","onCloseBtn","onStepClick","onTabChange","Number","watch","emit","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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"}