{"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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"}