UNPKG

tdesign-vue-next

Version:
1 lines 20.6 kB
{"version":3,"file":"transfer.mjs","sources":["../../../components/transfer/transfer.tsx"],"sourcesContent":["import { defineComponent, computed, toRefs } from 'vue';\nimport { pick, isFunction } from 'lodash-es';\n\nimport TransferList from './components/transfer-list';\nimport TransferOperations from './components/transfer-operations';\nimport { TransferListType, CheckedOptions, TransferValue, EmptyType, TargetParams, SearchEvent } from './types';\n\nimport {\n getTransferListOption,\n getDataValues,\n getTransferData,\n filterTransferData,\n TRANSFER_NAME,\n SOURCE,\n TARGET,\n} from './utils';\nimport { PageInfo, TdPaginationProps } from '../pagination/type';\nimport props from './props';\nimport { TNode } from '../common';\n\n// hooks\nimport { useVModel, useDisabled, usePrefixClass, useDefaultValue } from '@tdesign/shared-hooks';\n\nexport default defineComponent({\n name: TRANSFER_NAME,\n props,\n\n setup(props, { slots }) {\n const disabled = useDisabled();\n const classPrefix = usePrefixClass();\n const { value, modelValue, checked } = toRefs(props);\n const [innerValue, setInnerValue] = useVModel(value, modelValue, props.defaultValue, props.onChange);\n // @ts-ignore TODO\n const [innerChecked] = useDefaultValue(checked, props.defaultChecked, props.onCheckedChange, 'checked');\n const valueList = computed(() => innerValue.value);\n\n const isTreeMode = computed(() => {\n const treeSlot = slots.tree;\n return isFunction(treeSlot);\n });\n\n const leftButtonDisabled = computed(() => props.direction === 'right');\n const rightButtonDisabled = computed(() => props.direction === 'left');\n // props 传入的 data 格式化后的数据\n const transferData = computed(() => {\n return getTransferData(props.data, props.keys, isTreeMode.value);\n });\n const sourceList = computed(() => {\n return filterTransferData(transferData.value, valueList.value as TransferValue[], false, isTreeMode.value);\n });\n const targetList = computed(() => {\n return filterTransferData(transferData.value, valueList.value as TransferValue[], true, isTreeMode.value);\n });\n // 被选中的value\n const checkedValue = computed(() => {\n return {\n [SOURCE]: getDataValues(sourceList.value, innerChecked.value, { isTreeMode: isTreeMode.value }),\n [TARGET]: getDataValues(targetList.value, innerChecked.value, { isTreeMode: isTreeMode.value }),\n };\n });\n const hasFooter = computed(() => {\n return !!slots.footer || !!props.footer;\n });\n const showPagination = computed(() => {\n // 翻页在自定义列表无效\n return !!props.pagination && !slots.content;\n });\n const showSearch = computed(() => {\n // 翻页在自定义列表无效\n return !!props.search;\n });\n const footerOption = computed(() => {\n const footer = props.footer || '';\n return getTransferListOption<string | Function>(footer);\n });\n const emptyOption = computed(() => {\n return getTransferListOption<EmptyType>(props.empty);\n });\n const searchOption = computed(() => {\n return getTransferListOption<boolean>(props.search);\n });\n const checkAllOption = computed(() => {\n return getTransferListOption<boolean>(props.showCheckAll);\n });\n const disabledOption = computed(() => {\n return getTransferListOption<boolean>(disabled.value);\n });\n const titleOption = computed(() => {\n return getTransferListOption<string | TNode<{ type: TransferListType }>>(props.title);\n });\n const paginationOption = computed(() => {\n return getTransferListOption<TdPaginationProps>(props.pagination);\n });\n\n const handleCheckedChange = (val: Array<TransferValue>, listType: TransferListType) => {\n const sourceChecked = listType === SOURCE ? val : checkedValue.value[SOURCE];\n const targetChecked = listType === TARGET ? val : checkedValue.value[TARGET];\n const checked = [...sourceChecked, ...targetChecked];\n const event: CheckedOptions = {\n checked,\n sourceChecked,\n targetChecked,\n type: listType,\n };\n // TODO onCheckedChange 参数有点不合理\n innerChecked.value = checked;\n props.onCheckedChange?.(event);\n };\n\n const transferTo = (toDirection: TransferListType) => {\n const oldTargetValue: Array<TransferValue> = JSON.parse(JSON.stringify(valueList.value));\n let newTargetValue: Array<TransferValue>;\n const selfCheckedValue = toDirection === TARGET ? checkedValue.value[SOURCE] : checkedValue.value[TARGET];\n // target->source\n if (toDirection === SOURCE) {\n newTargetValue = oldTargetValue.filter((v) => !selfCheckedValue.includes(v));\n } else if (props.targetSort === 'original') {\n // 按照原始顺序\n const remainValue = transferData.value.reduce((acc, data) => {\n if (oldTargetValue.includes(data.value) && data.disabled) {\n return acc.concat(data.value);\n }\n return acc;\n }, []);\n newTargetValue = getDataValues(transferData.value, oldTargetValue.concat(selfCheckedValue), {\n isTreeMode: isTreeMode.value,\n remainValue,\n });\n } else if (props.targetSort === 'unshift') {\n newTargetValue = selfCheckedValue.concat(oldTargetValue);\n } else {\n newTargetValue = oldTargetValue.concat(selfCheckedValue);\n }\n\n // 清空checked。与toDirection相反\n handleCheckedChange([], toDirection === SOURCE ? TARGET : SOURCE);\n\n const params: TargetParams = {\n type: toDirection,\n movedValue: selfCheckedValue,\n };\n setInnerValue(newTargetValue, params);\n };\n\n // 点击移到右边按钮触发的函数\n const transferToRight = () => {\n transferTo(TARGET);\n };\n // 点击移到左边按钮触发的函数\n const transferToLeft = () => {\n transferTo(SOURCE);\n };\n\n const handleScroll = (e: Event, listType: TransferListType) => {\n const target = e.target as HTMLElement;\n const bottomDistance = target.scrollHeight - target.scrollTop - target.clientHeight;\n const event: { e: Event; bottomDistance: number; type: TransferListType } = {\n e,\n bottomDistance,\n type: listType,\n };\n props.onScroll?.(event);\n };\n const handleSearch = (e: SearchEvent) => {\n props.onSearch?.(e);\n };\n const handlePageChange = (pageInfo: PageInfo, listType: TransferListType) => {\n props.onPageChange?.(pageInfo, { type: listType });\n };\n\n const handleDataChange = (data: Array<TransferValue>, movedValue: Array<TransferValue>) => {\n setInnerValue(data, {\n type: TARGET,\n movedValue,\n });\n };\n const renderTransferList = (listType: TransferListType) => {\n const scopedSlots = pick(slots, ['title', 'empty', 'footer', 'operation', 'transferItem', 'default', 'tree']);\n return (\n <TransferList\n checkboxProps={props.checkboxProps}\n transferItem={props.transferItem}\n list-type={listType}\n title={titleOption.value[listType]}\n data-source={listType === SOURCE ? sourceList.value : targetList.value}\n checked-value={checkedValue.value[listType]}\n disabled={disabledOption.value[listType]}\n search={searchOption.value[listType]}\n pagination={paginationOption.value[listType]}\n check-all={checkAllOption.value[listType]}\n footer={footerOption.value[listType]}\n empty={emptyOption.value[listType]}\n onCheckedChange={($event: any) => handleCheckedChange($event, listType)}\n onScroll={($event: any) => handleScroll($event, listType)}\n onSearch={handleSearch}\n onPageChange={($event: any) => handlePageChange($event, listType)}\n isTreeMode={isTreeMode.value}\n onDataChange={handleDataChange}\n currentValue={valueList.value}\n draggable={props.targetDraggable && listType === TARGET}\n >\n {scopedSlots}\n </TransferList>\n );\n };\n\n return () => (\n <div\n class={[\n `${classPrefix.value}-transfer`,\n showSearch.value ? `${classPrefix.value}-transfer__search` : '',\n hasFooter.value ? `${classPrefix.value}-transfer__footer` : '',\n showPagination.value ? `${classPrefix.value}-transfer__pagination` : '',\n isTreeMode.value ? `${classPrefix.value}-transfer--with-tree` : '',\n ]}\n >\n {renderTransferList(SOURCE)}\n <TransferOperations\n leftDisabled={\n disabledOption.value[TARGET] || leftButtonDisabled.value || checkedValue.value[TARGET].length === 0\n }\n rightDisabled={\n disabledOption.value[SOURCE] || rightButtonDisabled.value || checkedValue.value[SOURCE].length === 0\n }\n operation={props.operation}\n onMoveToRight={transferToRight}\n onMoveToLeft={transferToLeft}\n v-slots={{ operation: slots.operation }}\n />\n {renderTransferList(TARGET)}\n </div>\n );\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","TRANSFER_NAME","props","setup","slots","_ref","disabled","useDisabled","classPrefix","usePrefixClass","_toRefs","toRefs","value","modelValue","checked","_useVModel","useVModel","defaultValue","onChange","_useVModel2","_slicedToArray","innerValue","setInnerValue","_useDefaultValue","useDefaultValue","defaultChecked","onCheckedChange","_useDefaultValue2","innerChecked","valueList","computed","isTreeMode","treeSlot","tree","isFunction","leftButtonDisabled","direction","rightButtonDisabled","transferData","getTransferData","data","keys","sourceList","filterTransferData","targetList","checkedValue","_defineProperty","SOURCE","getDataValues","TARGET","hasFooter","footer","showPagination","pagination","content","showSearch","search","footerOption","getTransferListOption","emptyOption","empty","searchOption","checkAllOption","showCheckAll","disabledOption","titleOption","title","paginationOption","handleCheckedChange","val","listType","_props2$onCheckedChan","sourceChecked","targetChecked","concat","_toConsumableArray","event","type","transferTo","toDirection","oldTargetValue","JSON","parse","stringify","newTargetValue","selfCheckedValue","filter","v","includes","targetSort","remainValue","reduce","acc","params","movedValue","transferToRight","transferToLeft","handleScroll","e","_props2$onScroll","target","bottomDistance","scrollHeight","scrollTop","clientHeight","onScroll","handleSearch","_props2$onSearch","onSearch","handlePageChange","pageInfo","_props2$onPageChange","onPageChange","handleDataChange","renderTransferList","scopedSlots","pick","_createVNode","TransferList","checkboxProps","transferItem","$event","targetDraggable","TransferOperations","length","operation"],"mappings":"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"}