{"version":3,"file":"table2.mjs","sources":["../../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n  <div ref=\"wrapRef\" :class=\"getWrapperClass\">\n    <BasicForm\n      v-if=\"getBindValues.useSearchForm\"\n      v-bind=\"getFormProps\"\n      ref=\"formRef\"\n      submit-on-reset\n      :table-action=\"tableAction\"\n      @register=\"registerForm\"\n      @submit=\"handleSearchInfoChange\"\n      @advanced-change=\"redoHeight\"\n    >\n      <template v-for=\"item in getFormSlotKeys\" #[replaceFormSlotKey(item)]=\"data\">\n        <slot :name=\"item\" v-bind=\"data || {}\" />\n      </template>\n    </BasicForm>\n    <!-- ::==================== i7eo：添加 ///// start ///// ====================:: -->\n    <div\n      v-show=\"showTableAction\"\n      ref=\"actionRef\"\n      class=\"ta-basic-table-operations flex flex-wrap align-center justify-between\"\n    >\n      <template v-if=\"useFilter.isVisible\">\n        <Filter\n          ref=\"filterElRef\"\n          :forms=\"getFilterProps\"\n          :table-action=\"tableAction\"\n          :filter-exclusion=\"filterExclusion\"\n        />\n      </template>\n      <template v-else>\n        <div class=\"ta-basic-table-custom-title\">\n          <slot name=\"customTitle\" v-bind=\"$slots['customTitle'] || {}\" />\n        </div>\n      </template>\n      <CustomAction\n        v-if=\"useInnerCustomAction.isVisible\"\n        :visible=\"useInnerCustomAction\"\n        :handlers=\"useInnerCustomAction\"\n        :table-action=\"tableAction\"\n      >\n        <slot name=\"customAction\" v-bind=\"$slots['customAction'] || {}\" />\n      </CustomAction>\n      <!-- <div v-if=\"!tableData.length\" class=\"ta-basic-table-operations-mask\"></div> -->\n    </div>\n    <!-- ::==================== i7eo：添加 ///// end  ///// ====================:: -->\n\n    <Table\n      v-show=\"getEmptyDataIsShowTable\"\n      ref=\"tableElRef\"\n      v-bind=\"getBindValues\"\n      :row-class-name=\"getRowClassName\"\n      @change=\"handleTableChange\"\n    >\n      <!-- headerCell插槽无法正常渲染，去掉先 -->\n      <template\n        v-for=\"column in columns\"\n        #[`header-${column.dataIndex}`]\n        :key=\"column.dataIndex?.toString()\"\n      >\n        <HeaderCell :column=\"column\" />\n      </template>\n      <!-- 增加对antdv3.x兼容 -->\n      <template #bodyCell=\"data\">\n        <slot name=\"bodyCell\" v-bind=\"data || {}\" />\n      </template>\n      <template #footer=\"data\"><slot name=\"footer\" v-bind=\"data || {}\" /></template>\n    </Table>\n\n    <!-- <div v-show=\"getBindValues.masking\" class=\"ta-basic-table-mask\"></div> -->\n  </div>\n</template>\n<script lang=\"ts\">\n/* eslint-disable @typescript-eslint/no-empty-function */\nimport {\n  computed,\n  defineComponent,\n  inject,\n  onActivated,\n  onMounted,\n  provide,\n  ref,\n  toRaw,\n  unref,\n  watch,\n  watchEffect,\n} from 'vue'\nimport { isEqual, omit } from 'lodash-es'\nimport { Table } from 'ant-design-vue'\nimport { mitt } from '@tav-ui/utils/mitt'\nimport { warn } from '@tav-ui/utils/log'\nimport { isFunction, isNullOrUnDef } from '@tav-ui/utils/is'\nimport { useGlobalConfig } from '@tav-ui/hooks/global/useGlobalConfig'\nimport { onUnmountedOrOnDeactivated } from '@tav-ui/hooks/core/onUnmountedOrOnDeactivated'\nimport { useForm } from '@tav-ui/components/form/src/hooks/useForm'\nimport BasicForm from '@tav-ui/components/form'\nimport CustomAction from './components/CustomAction.vue'\nimport expandIcon from './components/ExpandIcon'\nimport Filter from './components/Filter.vue'\nimport HeaderCell from './components/HeaderCell.vue'\nimport { useColumns } from './hooks/useColumns'\nimport { useCustomRow } from './hooks/useCustomRow'\nimport { useDataSource } from './hooks/useDataSource'\nimport { useLoading } from './hooks/useLoading'\nimport { useMasking } from './hooks/useMasking'\nimport { usePagination } from './hooks/usePagination'\nimport { useRowSelection } from './hooks/useRowSelection'\nimport { createTableContext } from './hooks/useTableContext'\nimport { useTableExpand } from './hooks/useTableExpand'\nimport { useTableFooter } from './hooks/useTableFooter'\nimport { useTableForm } from './hooks/useTableForm'\nimport { useTableHeader } from './hooks/useTableHeader'\nimport { useTableScroll } from './hooks/useTableScroll'\nimport { useTableScrollTo } from './hooks/useTableScrollTo'\nimport { useTableStyle } from './hooks/useTableStyle'\nimport { tableProps } from './props'\nimport type { Ref } from 'vue'\nimport type {\n  BasicTableProps,\n  ColumnChangeParam,\n  InnerHandlers,\n  SizeType,\n  TableActionType,\n} from './types/table'\n\nconst PageWrapperFixedHeightKey = 'PageWrapperFixedHeight'\ntype Recordable<T = any> = Record<string, T>\n\nexport default defineComponent({\n  name: 'TaTable',\n  components: {\n    Table,\n    BasicForm,\n    HeaderCell,\n    Filter,\n    CustomAction,\n  },\n  props: tableProps,\n  emits: [\n    'fetch-success',\n    'fetch-error',\n    'selection-change',\n    'register',\n    'row-click',\n    'row-dbClick',\n    'row-contextmenu',\n    'row-mouseenter',\n    'row-mouseleave',\n    'edit-end',\n    'edit-cancel',\n    'edit-row-end',\n    'edit-change',\n    'expanded-rows-change',\n    'change',\n    'columns-change',\n  ],\n  setup(props, { attrs, emit, slots, expose }) {\n    const tableEmitter = mitt()\n    provide('tableEmitter', tableEmitter)\n    const tableElRef = ref(null)\n    const tableData = ref<Recordable[]>([])\n\n    const wrapRef = ref(null)\n    const formRef = ref(null)\n    const actionRef = ref(null)\n    const innerPropsRef = ref<Partial<BasicTableProps>>()\n    const cacheActionWidths = ref<Record<string, any>>({})\n    const columnsForAction = ref<any[]>([])\n    const maxWidthForAction = ref<number>(0)\n\n    const prefixCls = 'ta-basic-table'\n    const [registerForm, formActions] = useForm()\n\n    const getProps = computed(() => {\n      return { ...props, ...unref(innerPropsRef) } as BasicTableProps\n    })\n\n    // ::==================== i7eo：添加 ///// start ///// ====================:: //\n    const filterElRef = ref(null)\n    const useFilter = computed(() => {\n      const { filter } = unref(getProps)\n      const result = {\n        isVisible: false,\n        isInputFormVisible: false,\n        isPannelFormVisible: false,\n      }\n      if (!filter) {\n        result.isVisible = false\n      } else {\n        const { inputForm, pannelForm } = filter\n        if (inputForm && Object.keys(inputForm).length > 0) {\n          result.isInputFormVisible = true\n        } else {\n          result.isInputFormVisible = false\n        }\n\n        if (pannelForm && pannelForm.length > 0) {\n          result.isPannelFormVisible = true\n        } else {\n          result.isPannelFormVisible = false\n        }\n\n        if (result.isInputFormVisible || result.isPannelFormVisible) {\n          result.isVisible = true\n        } else {\n          result.isVisible = false\n        }\n      }\n      return result\n    })\n\n    const getFilterProps = computed(() => {\n      return getProps.value.filter\n    })\n\n    const useInnerCustomAction = computed(() => {\n      const { useAdd, useDelete, useImport, useExport, useRefresh, permission } = unref(getProps)\n      let isAddVisible = false\n      let isDeleteVisible = false\n      let isImportVisible = false\n      let isExportVisible = false\n      let isRefreshVisible = false\n      const Permissions = useGlobalConfig('permissions') as Ref<Record<string, any>>\n\n      // 先判断 permission 是否有值，无值走正常的逻辑；有值判断 resourcemap中是否存在不存在走正常逻辑，存在就取值\n      isAddVisible = isNullOrUnDef(permission?.add)\n        ? useAdd?.ifShow\n        : unref(Permissions)[permission!.add]?.ifShow && useAdd?.ifShow\n      isDeleteVisible = isNullOrUnDef(permission?.delete)\n        ? useDelete?.ifShow\n        : unref(Permissions)[permission!.delete]?.ifShow && useDelete?.ifShow\n      isImportVisible = isNullOrUnDef(permission?.import)\n        ? useImport?.ifShow\n        : unref(Permissions)[permission!.import]?.ifShow && useImport?.ifShow\n      isExportVisible = isNullOrUnDef(permission?.export)\n        ? useExport?.ifShow\n        : unref(Permissions)[permission!.export]?.ifShow && useExport?.ifShow\n      isRefreshVisible = isNullOrUnDef(permission?.refresh)\n        ? useRefresh?.ifShow\n        : unref(Permissions)[permission!.refresh]?.ifShow && useRefresh?.ifShow\n\n      const result = {\n        isVisible:\n          isAddVisible ||\n          isDeleteVisible ||\n          isImportVisible ||\n          isExportVisible ||\n          isRefreshVisible ||\n          !!slots.customAction,\n        isAddVisible,\n        addHandle: useAdd?.handleAction,\n        isDeleteVisible,\n        deleteHandle: useDelete?.handleAction,\n        isImportVisible,\n        importHandle: useImport?.handleAction,\n        isExportVisible,\n        exportHandle: useExport?.handleAction,\n        isRefreshVisible,\n      }\n      return result\n    })\n    // ::==================== i7eo：添加 ///// end  ///// ====================:: //\n\n    const isFixedHeightPage = inject(PageWrapperFixedHeightKey, false)\n    watchEffect(() => {\n      unref(isFixedHeightPage) &&\n        props.canResize &&\n        warn(\n          \"'canResize' of BasicTable may not work in PageWrapper with 'fixedHeight' (especially in hot updates)\"\n        )\n    })\n\n    const { getLoading, setLoading } = useLoading(getProps)\n    const { getMasking, setMasking } = useMasking(getProps)\n    const {\n      getPaginationInfo,\n      getPagination,\n      setPagination,\n      setShowPagination,\n      getShowPagination,\n    } = usePagination(getProps)\n\n    const {\n      getRowSelection,\n      getRowSelectionRef,\n      getSelectRows,\n      clearSelectedRowKeys,\n      getSelectRowKeys,\n      deleteSelectRowByKey,\n      setSelectedRowKeys,\n    } = useRowSelection(getProps, tableData, emit)\n\n    const {\n      handleTableChange: onTableChange,\n      getDataSourceRef,\n      getDataSource,\n      getRawDataSource,\n      setTableData,\n      updateTableDataRecord,\n      deleteTableDataRecord,\n      insertTableDataRecord,\n      findTableDataRecord,\n      fetch,\n      getRowKey,\n      reload,\n      getAutoCreateKey,\n      updateTableData,\n    } = useDataSource(\n      tableElRef,\n      getProps,\n      {\n        tableData,\n        getPaginationInfo,\n        setLoading,\n        setPagination,\n        getFieldsValue: formActions.getFieldsValue,\n        clearSelectedRowKeys,\n      },\n      emit,\n      filterElRef\n    )\n\n    function handleTableChange(...args: any[]) {\n      // @ts-ignore\n      onTableChange.call(undefined, ...args)\n      emit('change', ...args)\n      // 解决通过useTable注册onChange时不起作用的问题\n      const { onChange } = unref(getProps)\n      // @ts-ignore\n      onChange && isFunction(onChange) && onChange.call(undefined, ...args)\n    }\n\n    const {\n      getViewColumns,\n      getColumns,\n      setCacheColumnsByField,\n      setColumns,\n      getColumnsRef,\n      getCacheColumns,\n    } = useColumns(getProps, getPaginationInfo)\n\n    const { getScrollRef, redoHeight, fnInit, keepScrollIns } = useTableScroll(\n      getProps,\n      tableElRef,\n      getColumnsRef,\n      getRowSelectionRef,\n      getDataSourceRef,\n      slots as any,\n      wrapRef,\n      formRef,\n      actionRef\n    )\n\n    // propsRef: ComputedRef<BasicTableProps>,\n    // tableElRef: Ref<ComponentRef>,\n    // columnsRef: ComputedRef<BasicColumn[]>,\n    // rowSelectionRef: ComputedRef<TableRowSelection | null>,\n    // getDataSourceRef: ComputedRef<Recordable[]>,\n    // wrapRef: Ref<HTMLElement | null>,\n    // formRef: Ref<HTMLElement | null>,\n    // actionRef: Ref<HTMLElement | null>\n\n    const { scrollTo } = useTableScrollTo(tableElRef, getDataSourceRef)\n\n    const { customRow } = useCustomRow(getProps, {\n      setSelectedRowKeys,\n      getSelectRowKeys,\n      clearSelectedRowKeys,\n      getAutoCreateKey,\n      emit,\n    })\n\n    const { getRowClassName } = useTableStyle(getProps, prefixCls)\n\n    const { getExpandOption, expandAll, expandRows, collapseAll } = useTableExpand(\n      getProps,\n      tableData,\n      emit\n    )\n\n    const handlers: InnerHandlers = {\n      onColumnsChange: (data: ColumnChangeParam[]) => {\n        emit('columns-change', data)\n        // support useTable\n        unref(getProps).onColumnsChange?.(data)\n      },\n    }\n\n    const { getHeaderProps } = useTableHeader(getProps, slots, handlers)\n\n    const { getFooterProps } = useTableFooter(getProps, getScrollRef, tableElRef, getDataSourceRef)\n\n    const { getFormProps, replaceFormSlotKey, getFormSlotKeys, handleSearchInfoChange } =\n      useTableForm(getProps, slots, fetch, getLoading)\n\n    const _getColumns = computed(() => {\n      let columns = unref(getViewColumns)\n      if (unref(columnsForAction) && unref(columnsForAction).length > 0) {\n        columns = unref(columnsForAction)\n      }\n      return columns\n    })\n\n    const getBindValues = computed(() => {\n      const dataSource = unref(getDataSourceRef)\n      let propsData: Recordable = {\n        // ...(dataSource.length === 0 ? { getPopupContainer: () => document.body } : {}),\n        ...attrs,\n        customRow,\n        expandIcon: slots.expandIcon ? null : expandIcon(),\n        ...unref(getProps),\n        ...unref(getHeaderProps),\n        scroll: unref(getScrollRef),\n        loading: unref(getLoading),\n        masking: unref(getMasking),\n        tableLayout: 'fixed',\n        rowSelection: unref(getRowSelectionRef),\n        rowKey: unref(getRowKey),\n        // columns: toRaw(unref(getViewColumns)),\n        columns: unref(_getColumns),\n        pagination: toRaw(unref(getPaginationInfo)),\n        dataSource,\n        footer: unref(getFooterProps),\n        ...unref(getExpandOption),\n      }\n      if (slots.expandedRowRender) {\n        propsData = omit(propsData, 'scroll')\n      }\n\n      propsData = omit(propsData, ['class', 'onChange'])\n      return propsData\n    })\n\n    const getWrapperClass = computed(() => {\n      const values = unref(getBindValues)\n      return [\n        prefixCls,\n        attrs.class,\n        {\n          [`${prefixCls}-form-container`]: values.useSearchForm,\n          [`${prefixCls}--inset`]: values.inset,\n          [`${prefixCls}--full-height`]: values.fullHeight,\n        },\n      ]\n    })\n\n    const getEmptyDataIsShowTable = computed(() => {\n      const { emptyDataIsShowTable, useSearchForm } = unref(getProps)\n      if (emptyDataIsShowTable || !useSearchForm) {\n        return true\n      }\n      return !!unref(getDataSourceRef).length\n    })\n\n    function setProps(props: Partial<BasicTableProps>) {\n      innerPropsRef.value = { ...unref(innerPropsRef), ...props }\n    }\n    const getFilterForm = () => {\n      //@ts-ignore\n      return filterElRef.value.pannelFormRef\n    }\n    // 统计 action 渲染数据，动态设置宽度\n    const setCacheActionWidths = ({ key = '', value = 0 }) => {\n      if (key) {\n        cacheActionWidths.value[key] = value\n      }\n    }\n    watch(\n      () => [unref(getViewColumns), cacheActionWidths],\n      ([newCol], [preCol]) => {\n        const _tableData = unref(tableData)\n        const maxWidth = Math.max(...Object.values(unref(cacheActionWidths)))\n        if (!isEqual(newCol, preCol) || (_tableData && maxWidth > unref(maxWidthForAction))) {\n          const columns = unref(getViewColumns).map((column) => {\n            if (\n              typeof column.dataIndex === 'string' &&\n              ['action', 'actions'].includes(column.dataIndex)\n            ) {\n              column.width = Math.ceil(maxWidth)\n              column.minWidth = Math.ceil(maxWidth)\n              return column\n            }\n            return column\n          })\n          columnsForAction.value = columns\n          maxWidthForAction.value = maxWidth\n        }\n      },\n      {\n        deep: true,\n      }\n    )\n    onMounted(() => {\n      fnInit()\n    })\n    onActivated(() => {\n      if (keepScrollIns.value) {\n        keepScrollIns.value.scrollFn()\n      }\n    })\n    onUnmountedOrOnDeactivated(() => {\n      cacheActionWidths.value = {}\n      columnsForAction.value = []\n      maxWidthForAction.value = 0\n    })\n    const tableAction: TableActionType = {\n      reload,\n      getSelectRows,\n      clearSelectedRowKeys,\n      getSelectRowKeys,\n      deleteSelectRowByKey,\n      setPagination,\n      setTableData,\n      updateTableDataRecord,\n      deleteTableDataRecord,\n      insertTableDataRecord,\n      findTableDataRecord,\n      redoHeight,\n      setSelectedRowKeys,\n      setColumns,\n      setLoading,\n      setMasking,\n      getDataSource,\n      getRawDataSource,\n      setProps,\n      getRowSelection,\n      getPaginationRef: getPagination,\n      getColumns,\n      getCacheColumns,\n      emit,\n      updateTableData,\n      setShowPagination,\n      getShowPagination,\n      setCacheColumnsByField,\n      expandAll,\n      expandRows,\n      scrollTo,\n      collapseAll,\n      getFilterForm,\n      getSize: () => {\n        return unref(getBindValues).size as SizeType\n      },\n    }\n    createTableContext({ ...tableAction, wrapRef, getBindValues, setCacheActionWidths })\n\n    // ::==================== i7eo：添加 ///// start ///// ====================:: //\n    watchEffect(() => {\n      // 数据渲染完毕后发送 dom，此时布局已经确定\n      // if (tableElRef.value && tableData.value.length) {\n      if (tableElRef.value) {\n        tableEmitter.emit('table:fetch-refs', {\n          table: (tableElRef.value as any).$el,\n        })\n      }\n    })\n    // ::==================== i7eo：添加 ///// end  ///// ====================:: //\n\n    expose(tableAction)\n\n    emit('register', tableAction, formActions)\n\n    return {\n      tableData,\n      filterElRef,\n      useFilter,\n      getFilterProps,\n      useInnerCustomAction,\n      tableElRef,\n      getBindValues,\n      getLoading,\n      registerForm,\n      handleSearchInfoChange,\n      getEmptyDataIsShowTable,\n      handleTableChange,\n      getRowClassName,\n      wrapRef,\n      tableAction,\n      redoHeight,\n      getFormProps: getFormProps as any,\n      replaceFormSlotKey,\n      getFormSlotKeys,\n      getWrapperClass,\n      columns: getViewColumns,\n      formRef,\n      actionRef,\n    }\n  },\n})\n</script>\n"],"names":["Table","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_createBlock","_mergeProps","_renderSlot","_normalizeProps","_guardReactiveProps","_withCtx","_createCommentVNode","_withDirectives","_createVNode","_createSlots","_vShow"],"mappings":"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"}