{"version":3,"file":"transfer-list.mjs","sources":["../../../src/transfer/components/transfer-list.tsx"],"sourcesContent":["import { defineComponent, VNode, PropType, ref, computed, watch } from 'vue';\nimport {\n  EmptyType,\n  SearchEvent,\n  SearchOption,\n  TransferValue,\n  TdTransferProps,\n  TransferListType,\n  TransferItemOption,\n} from '../interface';\nimport { PageInfo, TdPaginationProps, Pagination } from '../../pagination';\nimport { Checkbox as TCheckbox, CheckboxGroup as TCheckboxGroup, CheckboxProps } from '../../checkbox';\nimport { getLefCount, getDataValues } from '../utils';\nimport Search from './transfer-search';\nimport { useTNodeDefault } from '../../hooks/tnode';\n\nimport { useConfig, usePrefixClass } from '../../hooks/useConfig';\nimport isString from 'lodash/isString';\n\nconst props = {\n  checkboxProps: {\n    type: Object as PropType<CheckboxProps>,\n    default: () => ({}),\n  },\n  dataSource: {\n    type: Array as PropType<Array<TransferItemOption>>,\n    default(): Array<TransferItemOption> {\n      return [];\n    },\n  },\n  listType: {\n    type: String as PropType<TransferListType>,\n    default: 'target',\n  },\n  title: {\n    type: [String, Function],\n  },\n  checkedValue: {\n    type: Array as PropType<Array<TransferValue>>,\n    default(): Array<TransferValue> {\n      return [];\n    },\n  },\n  disabled: {\n    type: Boolean,\n    default: false,\n  },\n  search: {\n    type: [Boolean, Object] as PropType<SearchOption>,\n    default: false,\n  },\n  transferItem: Function as PropType<TdTransferProps['transferItem']>,\n  empty: {\n    type: [Function, String] as PropType<EmptyType>,\n  },\n  pagination: [Boolean, Object],\n  footer: [Function, String],\n  checkAll: Boolean,\n  isTreeMode: {\n    type: Boolean as PropType<boolean>,\n    default: false,\n  },\n  onCheckedChange: Function as PropType<(event: Array<TransferValue>) => void>,\n  onPageChange: Function,\n  onScroll: Function,\n  onSearch: Function,\n};\n\nexport default defineComponent({\n  name: 'XTransferList',\n  props: { ...props },\n  setup(props) {\n    const classPrefix = usePrefixClass();\n    const { t, globalConfig } = useConfig('transfer');\n    // 搜索框输入内容\n    const filterValue = ref('');\n    // 用于兼容处理 Pagination 的非受控属性（非受控属性仅有 change 事件变化，无 props 变化，因此只需监听事件）\n    const defaultCurrent = ref(1);\n    // 用于兼容处理 Pagination 的非受控属性\n    const defaultPageSize = ref(0);\n\n    const currentPage = computed(() => {\n      const pagination = props.pagination as any;\n      return pagination?.current || defaultCurrent.value || pagination?.defaultCurrent;\n    });\n    const pageSize = computed(() => {\n      const pagination = props.pagination as any;\n      return pagination?.pageSize || defaultPageSize.value || pagination?.defaultPageSize;\n    });\n    const filteredData = computed(() => {\n      return props.dataSource.filter((item: TransferItemOption) => {\n        const label = item && item.label.toString();\n        return label.toLowerCase().indexOf(filterValue.value.toLowerCase()) > -1;\n      });\n    });\n\n    const pageTotal = computed(() => {\n      return (filteredData.value && filteredData.value.length) || 0;\n    });\n\n    const curPageData = computed(() => {\n      let pageData = filteredData.value;\n      if (!props.pagination) return pageData;\n      if (pageSize.value === 0) return pageData;\n      const startIndex = (currentPage.value - 1) * pageSize.value;\n      const endIndex = currentPage.value * pageSize.value;\n      pageData = pageData.slice(startIndex, endIndex);\n      return pageData;\n    });\n    const paginationProps = computed(() => {\n      const defaultPaginationProps: TdPaginationProps = {\n        size: 'small',\n        theme: 'simple',\n        totalContent: false,\n        pageSizeOptions: [],\n      };\n      return typeof props.pagination === 'object'\n        ? {\n            ...defaultPaginationProps,\n            ...props.pagination,\n            current: currentPage.value,\n            total: pageTotal.value,\n            pageSize: pageSize.value,\n          }\n        : {};\n    });\n\n    const isAllChecked = computed(() => {\n      const allValue = getDataValues(props.dataSource, [], { isTreeMode: props.isTreeMode, include: false });\n\n      return (\n        props.checkedValue.length > 0 &&\n        (props.isTreeMode\n          ? allValue.every((item) => props.checkedValue.includes(item))\n          : (props.search ? filteredData.value : props.dataSource).every(\n              (item: TransferItemOption) => item.disabled || props.checkedValue.includes(item.value),\n            ))\n      );\n    });\n    const indeterminate = computed(() => {\n      return !isAllChecked.value && props.checkedValue.length > 0;\n    });\n\n    const totalCount = computed(() => {\n      return getLefCount(props.dataSource);\n    });\n\n    watch(totalCount, (val) => {\n      if (val <= (currentPage.value - 1) * pageSize.value) {\n        const lastPage = Math.ceil(val / pageSize.value);\n        defaultCurrent.value = lastPage;\n      }\n    });\n\n    const handlePaginationChange = (pageInfo: PageInfo) => {\n      props.onPageChange?.(pageInfo);\n      defaultCurrent.value = pageInfo.current;\n      defaultPageSize.value = pageInfo.pageSize;\n    };\n    const handleCheckedChange = (val: Array<TransferValue>) => {\n      props.onCheckedChange?.(val);\n    };\n    const handleCheckedAllChange = (checked: boolean) => {\n      if (checked) {\n        const allValue = getDataValues(props.search ? filteredData.value : props.dataSource, [], {\n          isTreeMode: props.isTreeMode,\n          include: false,\n        });\n        handleCheckedChange(allValue);\n      } else {\n        handleCheckedChange([]);\n      }\n    };\n    const scroll = (e: Event) => {\n      props.onScroll?.(e);\n    };\n    const handleSearch = (e: any) => {\n      const event: SearchEvent = {\n        query: e.value,\n        type: props.listType as TransferListType,\n        e: e.e,\n        trigger: e.trigger,\n      };\n      filterValue.value = e.value;\n      props.onSearch?.(event);\n    };\n    const renderTNodeJSX = useTNodeDefault();\n    const renderTitle = () => {\n      const defaultNode = props.title && isString(props.title) ? <template>{props.title}</template> : null;\n      const titleNode = renderTNodeJSX('title', {\n        defaultNode,\n        params: {\n          type: props.listType,\n        },\n      });\n      return <span>{titleNode}</span>;\n    };\n    const renderContent = () => {\n      const defaultNode = (\n        <TCheckboxGroup value={props.checkedValue} onChange={handleCheckedChange}>\n          {curPageData.value.map((item, index) => (\n            <TCheckbox\n              disabled={props.disabled || item.disabled}\n              value={item.value}\n              needRipple={true}\n              class={[\n                `${classPrefix.value}-transfer__list-item`,\n                props.checkedValue.includes(item.value) ? `${classPrefix.value}-is-checked` : '',\n              ]}\n              key={item.key}\n              {...props.checkboxProps}\n            >\n              {renderTNodeJSX('transferItem', {\n                defaultNode: <span>{item.label}</span>,\n                params: { data: item.data, index, type: props.listType },\n              })}\n            </TCheckbox>\n          ))}\n        </TCheckboxGroup>\n      );\n      return (\n        <div class={`${classPrefix.value}-transfer__list-content narrow-scrollbar`} onScroll={scroll}>\n          {renderTNodeJSX('tree', {\n            defaultNode,\n            params: {\n              data: curPageData.value,\n              value: props.checkedValue,\n              onChange: handleCheckedChange,\n            },\n          })}\n        </div>\n      );\n    };\n    const renderEmpty = () => {\n      const empty = props.empty || t(globalConfig.value.empty);\n      const defaultNode: VNode = isString(empty) ? <span>{empty}</span> : null;\n      return (\n        <div class={`${classPrefix.value}-transfer__empty`}>\n          {renderTNodeJSX('empty', {\n            defaultNode,\n            params: {\n              type: props.listType,\n            },\n          })}\n        </div>\n      );\n    };\n    const renderFooter = () => {\n      const defaultNode = isString(props.footer) ? (\n        <div class={`${classPrefix.value}-transfer__footer`}>{props.footer}</div>\n      ) : null;\n      return renderTNodeJSX('footer', {\n        defaultNode,\n        params: {\n          type: props.listType,\n        },\n      });\n    };\n\n    return () => (\n      <div class={`${classPrefix.value}-transfer__list ${classPrefix.value}-transfer__list-${props.listType}`}>\n        <div class={`${classPrefix.value}-transfer__list-header`}>\n          <div>\n            {props.checkAll && (\n              <TCheckbox\n                disabled={props.disabled || !props.dataSource.length}\n                checked={isAllChecked.value}\n                indeterminate={indeterminate.value}\n                onChange={handleCheckedAllChange}\n              />\n            )}\n            <span>\n              {t(globalConfig.value.title, {\n                checked: props.checkedValue.length,\n                total: totalCount.value,\n              })}\n            </span>\n          </div>\n          {renderTitle()}\n        </div>\n        <div\n          class={[\n            `${classPrefix.value}-transfer__list-body`,\n            props.search ? `${classPrefix.value}-transfer__list--with-search` : '',\n          ]}\n        >\n          {props.search && (\n            <Search\n              searchValue={filterValue.value}\n              placeholder={t(globalConfig.value.placeholder)}\n              onChange={handleSearch}\n              disabled={props.disabled}\n              search={props.search}\n            />\n          )}\n          {curPageData.value.length > 0 ? renderContent() : renderEmpty()}\n        </div>\n        {props.pagination && pageSize.value > 0 && pageTotal.value > 0 && (\n          <div class={`${classPrefix.value}-transfer__list-pagination`}>\n            <Pagination {...paginationProps.value} onChange={handlePaginationChange} />\n          </div>\n        )}\n        {renderFooter()}\n      </div>\n    );\n  },\n});\n"],"names":["_isVNode","checkboxProps","type","dataSource","listType","title","checkedValue","disabled","search","transferItem","empty","pagination","footer","checkAll","isTreeMode","onCheckedChange","onPageChange","onScroll","onSearch","name","props","size","theme","totalContent","pageSizeOptions","include","watch","defaultCurrent","defaultPageSize","filterValue","isString","_createVNode","defaultNode","params","TCheckboxGroup","index","onChange","checked"],"mappings":"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"}