pro-design-vue 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +31 -17
  3. package/dist/index.full.min.js +8 -8
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +8 -8
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +32 -18
  8. package/es/components/table/src/hooks/useContainer.d.ts +1 -0
  9. package/es/packages/components/config-provider/src/config-provider.vue2.mjs +12 -6
  10. package/es/packages/components/config-provider/src/config-provider.vue2.mjs.map +1 -1
  11. package/es/packages/components/config-provider/src/useCssVariables.mjs +4 -4
  12. package/es/packages/components/config-provider/src/useCssVariables.mjs.map +1 -1
  13. package/es/packages/components/table/src/components/AutoHeightHeader/Header.vue.mjs.map +1 -1
  14. package/es/packages/components/table/src/components/AutoHeightHeader/Header.vue2.mjs +3 -1
  15. package/es/packages/components/table/src/components/AutoHeightHeader/Header.vue2.mjs.map +1 -1
  16. package/es/packages/components/table/src/components/Form/Form.mjs +1 -0
  17. package/es/packages/components/table/src/components/Form/Form.mjs.map +1 -1
  18. package/es/packages/components/table/src/components/Header/Header.vue.mjs.map +1 -1
  19. package/es/packages/components/table/src/components/Header/Header.vue2.mjs +3 -1
  20. package/es/packages/components/table/src/components/Header/Header.vue2.mjs.map +1 -1
  21. package/es/packages/components/table/src/components/InteralTable.vue.mjs.map +1 -1
  22. package/es/packages/components/table/src/components/InteralTable.vue2.mjs +3 -1
  23. package/es/packages/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
  24. package/es/packages/components/table/src/components/Table.mjs +4 -1
  25. package/es/packages/components/table/src/components/Table.mjs.map +1 -1
  26. package/es/packages/components/table/src/hooks/useContainer.mjs +2 -1
  27. package/es/packages/components/table/src/hooks/useContainer.mjs.map +1 -1
  28. package/es/packages/utils/antd/confirm.mjs +1 -1
  29. package/es/packages/utils/antd/confirm.mjs.map +1 -1
  30. package/es/version.d.ts +1 -1
  31. package/es/version.mjs +1 -1
  32. package/es/version.mjs.map +1 -1
  33. package/lib/components/table/src/hooks/useContainer.d.ts +1 -0
  34. package/lib/packages/components/config-provider/src/config-provider.vue2.js +11 -5
  35. package/lib/packages/components/config-provider/src/config-provider.vue2.js.map +1 -1
  36. package/lib/packages/components/config-provider/src/useCssVariables.js +4 -4
  37. package/lib/packages/components/config-provider/src/useCssVariables.js.map +1 -1
  38. package/lib/packages/components/table/src/components/AutoHeightHeader/Header.vue.js.map +1 -1
  39. package/lib/packages/components/table/src/components/AutoHeightHeader/Header.vue2.js +3 -1
  40. package/lib/packages/components/table/src/components/AutoHeightHeader/Header.vue2.js.map +1 -1
  41. package/lib/packages/components/table/src/components/Form/Form.js +1 -0
  42. package/lib/packages/components/table/src/components/Form/Form.js.map +1 -1
  43. package/lib/packages/components/table/src/components/Header/Header.vue.js.map +1 -1
  44. package/lib/packages/components/table/src/components/Header/Header.vue2.js +3 -1
  45. package/lib/packages/components/table/src/components/Header/Header.vue2.js.map +1 -1
  46. package/lib/packages/components/table/src/components/InteralTable.vue.js.map +1 -1
  47. package/lib/packages/components/table/src/components/InteralTable.vue2.js +3 -1
  48. package/lib/packages/components/table/src/components/InteralTable.vue2.js.map +1 -1
  49. package/lib/packages/components/table/src/components/Table.js +4 -1
  50. package/lib/packages/components/table/src/components/Table.js.map +1 -1
  51. package/lib/packages/components/table/src/hooks/useContainer.js +2 -1
  52. package/lib/packages/components/table/src/hooks/useContainer.js.map +1 -1
  53. package/lib/packages/utils/antd/confirm.js +1 -1
  54. package/lib/packages/utils/antd/confirm.js.map +1 -1
  55. package/lib/version.d.ts +1 -1
  56. package/lib/version.js +1 -1
  57. package/lib/version.js.map +1 -1
  58. package/package.json +1 -1
  59. package/theme-chalk/css-var.css +1 -1
  60. package/theme-chalk/index.css +1 -1
  61. package/theme-chalk/pro-form.css +1 -1
  62. package/theme-chalk/src/css-var.less +28 -28
  63. package/theme-chalk/src/form.less +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","sources":["../../../../../../../../../packages/components/table/src/components/Form/Form.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-07 15:07:59\n * @LastEditors: shen\n * @LastEditTime: 2025-10-10 11:05:53\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { Bordered, SearchConfig } from '../interface'\nimport type { ProFormItemType, ProQueryFilterProps } from '@pro-design-vue/components/form'\n\nimport { computed, defineComponent, ref } from 'vue'\nimport { ProQueryFilter } from '@pro-design-vue/components/form'\nimport { Card } from 'ant-design-vue'\nimport { isBordered } from '../../utils/util'\nimport { omit, omitUndefined } from '@pro-design-vue/utils'\n\nexport default defineComponent({\n props: {\n prefixCls: String,\n items: {\n type: Array as PropType<ProFormItemType[]>,\n default: () => [],\n },\n search: {\n type: Object as PropType<SearchConfig>,\n default: undefined,\n },\n cardBordered: {\n type: [Boolean, Object] as PropType<Bordered>,\n default: undefined,\n },\n loading: Boolean,\n manual: Boolean,\n tableShowCard: Boolean,\n beforeSearchSubmit: {\n type: Function as PropType<(params: Partial<any>) => any>,\n default: (searchParams: Partial<any>) => searchParams,\n },\n onSubmit: {\n type: Function as PropType<ProQueryFilterProps['onFinish']>,\n default: undefined,\n },\n onReset: {\n type: Function as PropType<ProQueryFilterProps['onReset']>,\n default: undefined,\n },\n onFormSearchSubmit: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n onSearchTabChange: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n },\n setup: (props, { slots }) => {\n const activeTabKey = ref(\n props.search?.cardProps !== false ? props.search?.cardProps?.activeTabKey : '',\n )\n\n const cardProps = computed(() => {\n if (!props.search?.cardProps) {\n return {}\n }\n return props.search?.cardProps\n })\n\n /** 提交表单,根据两种模式不同,方法不相同 */\n const submit = async (values: any, firstLoad: boolean) => {\n const tabParams = cardProps.value?.tabList?.length\n ? {\n [props.search?.tabName ?? 'tab']:\n cardProps.value.activeTabKey || cardProps.value?.tabList?.[0]?.key,\n }\n : {}\n const submitParams = omitUndefined(\n props.beforeSearchSubmit({\n ...values,\n ...tabParams,\n }),\n )\n props.onFormSearchSubmit?.(submitParams)\n if (props.onSubmit && !firstLoad) {\n props.onSubmit(submitParams)\n }\n }\n\n const onTabChange = (key: string) => {\n activeTabKey.value = key\n props.onSearchTabChange?.({\n [props.search?.tabName ?? 'tab']: key,\n })\n cardProps.value?.onTabChange?.(key)\n }\n\n return () => {\n const searchDom = (\n <ProQueryFilter\n class={`${props.prefixCls}-form`}\n {...omit(props.search || {}, ['cardProps', 'tabName'])}\n items={props.items}\n loading={props.loading}\n style={{\n marginBlockEnd: props.search?.cardProps !== false && props.tableShowCard ? 0 : '30px',\n ...props.search?.style,\n }}\n onReset={props.onReset}\n onFinish={(values) => {\n submit(values, false)\n }}\n onValuesChange={(values) => {\n if (props.search?.submitter === false) {\n submit(values, true)\n }\n props.search?.onValuesChange?.(values)\n }}\n v-slots={slots}\n onInit={(values) => {\n submit(values, true)\n }}\n />\n )\n if (props.search?.cardProps !== false && props.tableShowCard) {\n return (\n <Card\n class={`${props.prefixCls}-search`}\n activeTabKey={activeTabKey.value}\n bordered={isBordered('search', props.cardBordered)}\n style={{ marginBlockEnd: '16px' }}\n {...omit(cardProps.value ?? {}, ['onTabChange', 'activeTabKey'])}\n onTabChange={onTabChange}\n >\n {searchDom}\n </Card>\n )\n }\n return searchDom\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","props","prefixCls","String","items","type","Array","default","search","undefined","cardBordered","Boolean","loading","manual","tableShowCard","beforeSearchSubmit","Function","searchParams","onSubmit","onReset","onFormSearchSubmit","onSearchTabChange","setup","slots","activeTabKey","ref","cardProps","computed","_a","_b","submit","values","firstLoad","_c","tabParams","value","tabList","length","tabName","key","submitParams","omitUndefined","onTabChange","searchDom","_createVNode","ProQueryFilter","_mergeProps","omit","marginBlockEnd","style","submitter","onValuesChange","Card","isBordered"],"mappings":"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"}
1
+ {"version":3,"file":"Form.js","sources":["../../../../../../../../../packages/components/table/src/components/Form/Form.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-07 15:07:59\n * @LastEditors: shen\n * @LastEditTime: 2025-10-13 10:56:16\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { Bordered, SearchConfig } from '../interface'\nimport type { ProFormItemType, ProQueryFilterProps } from '@pro-design-vue/components/form'\n\nimport { computed, defineComponent, ref } from 'vue'\nimport { ProQueryFilter } from '@pro-design-vue/components/form'\nimport { Card } from 'ant-design-vue'\nimport { isBordered } from '../../utils/util'\nimport { omit, omitUndefined } from '@pro-design-vue/utils'\n\nexport default defineComponent({\n props: {\n prefixCls: String,\n items: {\n type: Array as PropType<ProFormItemType[]>,\n default: () => [],\n },\n search: {\n type: Object as PropType<SearchConfig>,\n default: undefined,\n },\n cardBordered: {\n type: [Boolean, Object] as PropType<Bordered>,\n default: undefined,\n },\n loading: Boolean,\n manual: Boolean,\n tableShowCard: Boolean,\n beforeSearchSubmit: {\n type: Function as PropType<(params: Partial<any>) => any>,\n default: (searchParams: Partial<any>) => searchParams,\n },\n onSubmit: {\n type: Function as PropType<ProQueryFilterProps['onFinish']>,\n default: undefined,\n },\n onReset: {\n type: Function as PropType<ProQueryFilterProps['onReset']>,\n default: undefined,\n },\n onFormSearchSubmit: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n onSearchTabChange: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n },\n setup: (props, { slots }) => {\n const activeTabKey = ref(\n props.search?.cardProps !== false ? props.search?.cardProps?.activeTabKey : '',\n )\n\n const cardProps = computed(() => {\n if (!props.search?.cardProps) {\n return {}\n }\n return props.search?.cardProps\n })\n\n /** 提交表单,根据两种模式不同,方法不相同 */\n const submit = async (values: any, firstLoad: boolean) => {\n const tabParams = cardProps.value?.tabList?.length\n ? {\n [props.search?.tabName ?? 'tab']:\n cardProps.value.activeTabKey || cardProps.value?.tabList?.[0]?.key,\n }\n : {}\n const submitParams = omitUndefined(\n props.beforeSearchSubmit({\n ...values,\n ...tabParams,\n }),\n )\n props.onFormSearchSubmit?.(submitParams)\n if (props.onSubmit && !firstLoad) {\n props.onSubmit(submitParams)\n }\n }\n\n const onTabChange = (key: string) => {\n activeTabKey.value = key\n props.onSearchTabChange?.({\n [props.search?.tabName ?? 'tab']: key,\n })\n cardProps.value?.onTabChange?.(key)\n }\n console.log('🚀 ~ return ~ cardProps.value:', cardProps.value)\n return () => {\n const searchDom = (\n <ProQueryFilter\n class={`${props.prefixCls}-form`}\n {...omit(props.search || {}, ['cardProps', 'tabName'])}\n items={props.items}\n loading={props.loading}\n style={{\n marginBlockEnd: props.search?.cardProps !== false && props.tableShowCard ? 0 : '30px',\n ...props.search?.style,\n }}\n onReset={props.onReset}\n onFinish={(values) => {\n submit(values, false)\n }}\n onValuesChange={(values) => {\n if (props.search?.submitter === false) {\n submit(values, true)\n }\n props.search?.onValuesChange?.(values)\n }}\n v-slots={slots}\n onInit={(values) => {\n submit(values, true)\n }}\n />\n )\n if (props.search?.cardProps !== false && props.tableShowCard) {\n return (\n <Card\n class={`${props.prefixCls}-search`}\n activeTabKey={activeTabKey.value}\n bordered={isBordered('search', props.cardBordered)}\n style={{ marginBlockEnd: '16px' }}\n {...omit(cardProps.value ?? {}, ['onTabChange', 'activeTabKey'])}\n onTabChange={onTabChange}\n >\n {searchDom}\n </Card>\n )\n }\n return searchDom\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","props","prefixCls","String","items","type","Array","default","search","undefined","cardBordered","Boolean","loading","manual","tableShowCard","beforeSearchSubmit","Function","searchParams","onSubmit","onReset","onFormSearchSubmit","onSearchTabChange","setup","slots","activeTabKey","ref","cardProps","computed","_a","_b","submit","values","firstLoad","_c","tabParams","value","tabList","length","tabName","key","submitParams","omitUndefined","onTabChange","console","log","searchDom","_createVNode","ProQueryFilter","_mergeProps","omit","marginBlockEnd","style","submitter","onValuesChange","Card","isBordered"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Header.vue.js","sources":["../../../../../../../../../packages/components/table/src/components/Header/Header.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 16:03:18\n * @LastEditors: shen\n * @LastEditTime: 2025-08-27 13:46:08\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType, CSSProperties } from 'vue'\nimport type { HeaderSticky } from '../interface'\n\nimport { defineComponent, ref, provide, computed, onMounted, onBeforeUnmount } from 'vue'\nimport { VIEWPORT_REF } from '../../utils/constant'\nimport { useHScrollSyncInject } from '../../hooks/useHScrollSync'\nimport { useInjectTable } from '../context/TableContext'\nimport { resize } from '@pro-design-vue/directives'\nimport XScroll from '../Scrollbar/XScroll'\nimport HeaderRowsWrap from './HeaderRowsWrap.vue'\n\nexport default defineComponent({\n name: 'TableHeader',\n components: { XScroll, HeaderRowsWrap },\n inheritAttrs: false,\n directives: { resize },\n props: {\n prefixCls: String,\n wrapText: { type: Boolean, default: false },\n sticky: { type: [Boolean, Object] as PropType<boolean | HeaderSticky>, default: false },\n },\n emits: ['scrollLeft', 'resizeheight'],\n setup(props, { emit }) {\n const headerRef = ref<HTMLDivElement>()\n const viewportRef = ref<HTMLDivElement>()\n const tableContext = useInjectTable()\n\n provide(VIEWPORT_REF, viewportRef)\n const maxHeaderHeight = computed(() => tableContext.maxHeaderHeight.value)\n const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject()\n\n onMounted(() => {\n addHScrollDom(viewportRef.value!)\n })\n onBeforeUnmount(() => {\n removeHScrollDom(viewportRef.value!)\n })\n\n const showHeaderScrollbar = computed(() => tableContext.props.showHeaderScrollbar)\n const headerClass = computed(() => ({\n [`${props.prefixCls}-header`]: true,\n [`${props.prefixCls}-sticky-header`]: props.sticky,\n [`${props.prefixCls}-show-header-scrollbar`]: showHeaderScrollbar.value,\n }))\n const viewportClass = computed(() => ({ [`${props.prefixCls}-center-viewport`]: true }))\n const viewportStyle = computed(() => ({\n height: `calc(100% + ${tableContext.showHorizontalScrollbar.value ? tableContext.scrollBarSize.value || 15 : 0}px)`,\n }))\n\n const headerStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = { height: `${maxHeaderHeight.value}px` }\n if (props.sticky) {\n style.top = `${(typeof props.sticky == 'object' ? props.sticky.offsetHeader : 0) || 0}px`\n }\n return style\n })\n\n return {\n headerClass,\n viewportClass,\n viewportStyle,\n scrollbarStyle: computed<CSSProperties>(() => {\n const barSize = `${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value : 0}px`\n return {\n display: '0px' === barSize ? 'none' : 'block',\n width: barSize,\n minWidth: barSize,\n maxWidth: barSize,\n position: 'sticky',\n right: `-${barSize}`,\n }\n }),\n headerStyle,\n headerRef,\n viewportRef,\n maxHeaderHeight,\n showHeaderScrollbar,\n handleHeightResize: (e: CustomEvent) => {\n emit('resizeheight', e)\n },\n }\n },\n})\n</script>\n\n<template>\n <div\n v-resize:height\n key=\"header\"\n role=\"presentation\"\n :class=\"headerClass\"\n :style=\"headerStyle\"\n @resizeheight=\"handleHeightResize\"\n >\n <div ref=\"viewportRef\" :class=\"viewportClass\" :style=\"viewportStyle\">\n <div :class=\"`${prefixCls}-header-container`\">\n <HeaderRowsWrap key=\"left\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"left\" />\n <HeaderRowsWrap key=\"center\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"center\" />\n <HeaderRowsWrap key=\"right\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"right\" />\n </div>\n </div>\n <div :class=\"`${prefixCls}-header-scrollbar`\" :style=\"scrollbarStyle\"></div>\n <XScroll v-if=\"showHeaderScrollbar\" only-auto-show />\n </div>\n <XScroll v-if=\"showHeaderScrollbar\" not-show-auto />\n</template>\n"],"names":["_withDirectives","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_createVNode","_createBlock","_createCommentVNode"],"mappings":";;;;;;;;;;;;;;;;MA8FEA,kBAAA,EAAAC,eAAA,EAAAC,sBAAA;AAAA,QAiBM,KAAA;AAAA,QAAA;AAAA,UAfJ,GAAA,EAAI,QAAA;AAAA,UACJ,IAAA,EAAK,cAAA;AAAA,UACJ,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,WAAW,CAAA;AAAA,UAClB,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,WAAW,CAAA;AAAA,UAClB,cAAA,EAAY,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,kBAAA,IAAA,IAAA,CAAA,kBAAA,CAAA,GAAA,IAAA,CAAA;AAAA,SAAA;AAAA;UAEfC,sBAAA;AAAA,YAMM,KAAA;AAAA,YAAA;AAAA,cAND,GAAA,EAAI,aAAA;AAAA,cAAe,KAAA,EAAKF,kBAAA,CAAE,IAAA,CAAA,aAAa,CAAA;AAAA,cAAG,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,aAAa;AAAA,aAAA;AAAA;cACjEC,sBAAA;AAAA,gBAIM,KAAA;AAAA,gBAAA;AAAA,kBAJA,KAAA,EAAKF,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,iBAAA,CAAA;AAAA,iBAAA;AAAA;kBACvBG,gBAAuF,yBAAA,EAAA;AAAA,oBAAvE,GAAA,EAAI,MAAA;AAAA,oBAAQ,cAAY,IAAA,CAAA,SAAA;AAAA,oBAAY,aAAW,IAAA,CAAA,QAAA;AAAA,oBAAU,IAAA,EAAK;AAAA,qBAAA,IAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,WAAA,CAAA,CAAA;AAAA,kBAC9EA,gBAA2F,yBAAA,EAAA;AAAA,oBAA3E,GAAA,EAAI,QAAA;AAAA,oBAAU,cAAY,IAAA,CAAA,SAAA;AAAA,oBAAY,aAAW,IAAA,CAAA,QAAA;AAAA,oBAAU,IAAA,EAAK;AAAA,qBAAA,IAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,WAAA,CAAA,CAAA;AAAA,kBAChFA,gBAAyF,yBAAA,EAAA;AAAA,oBAAzE,GAAA,EAAI,OAAA;AAAA,oBAAS,cAAY,IAAA,CAAA,SAAA;AAAA,oBAAY,aAAW,IAAA,CAAA,QAAA;AAAA,oBAAU,IAAA,EAAK;AAAA,qBAAA,IAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,WAAA,CAAA;AAAA;;;;;;;;UAGnFD,sBAAA;AAAA,YAA4E,KAAA;AAAA,YAAA;AAAA,cAAtE,KAAA,EAAKF,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,iBAAA,CAAA,CAAA;AAAA,cAAsB,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,cAAc;AAAA,aAAA;AAAA;;;;UACrD,IAAA,CAAA,mBAAA,IAAAH,aAAA,EAAA,EAAfM,gBAAqD,kBAAA,EAAA;AAAA,YAAA,GAAA,EAAA,CAAA;AAAA,YAAjB,gBAAA,EAAA;AAAA,WAAA,CAAA,IAAAC,sBAAA,CAAA,MAAA,EAAA,IAAA;AAAA;;;;oCAf3B,QAAM;AAAA,OAAA,CAAA;AAAA,MAiBF,IAAA,CAAA,mBAAA,IAAAP,aAAA,EAAA,EAAfM,gBAAoD,kBAAA,EAAA;AAAA,QAAA,GAAA,EAAA,CAAA;AAAA,QAAhB,eAAA,EAAA;AAAA,OAAA,CAAA,IAAAC,sBAAA,CAAA,MAAA,EAAA,IAAA;AAAA;;;;;;;;;"}
1
+ {"version":3,"file":"Header.vue.js","sources":["../../../../../../../../../packages/components/table/src/components/Header/Header.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 16:03:18\n * @LastEditors: shen\n * @LastEditTime: 2025-08-27 13:46:08\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType, CSSProperties } from 'vue'\nimport type { HeaderSticky } from '../interface'\n\nimport { defineComponent, ref, provide, computed, onMounted, onBeforeUnmount } from 'vue'\nimport { VIEWPORT_REF } from '../../utils/constant'\nimport { useHScrollSyncInject } from '../../hooks/useHScrollSync'\nimport { useInjectTable } from '../context/TableContext'\nimport { resize } from '@pro-design-vue/directives'\nimport { useInjectContainer } from '../../hooks/useContainer'\nimport XScroll from '../Scrollbar/XScroll'\nimport HeaderRowsWrap from './HeaderRowsWrap.vue'\n\nexport default defineComponent({\n name: 'TableHeader',\n components: { XScroll, HeaderRowsWrap },\n inheritAttrs: false,\n directives: { resize },\n props: {\n prefixCls: String,\n wrapText: { type: Boolean, default: false },\n sticky: { type: [Boolean, Object] as PropType<boolean | HeaderSticky>, default: false },\n },\n emits: ['scrollLeft', 'resizeheight'],\n setup(props, { emit }) {\n const headerRef = ref<HTMLDivElement>()\n const viewportRef = ref<HTMLDivElement>()\n const tableContext = useInjectTable()\n const counter = useInjectContainer()\n provide(VIEWPORT_REF, viewportRef)\n const maxHeaderHeight = computed(() => tableContext.maxHeaderHeight.value)\n const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject()\n\n onMounted(() => {\n addHScrollDom(viewportRef.value!)\n })\n onBeforeUnmount(() => {\n removeHScrollDom(viewportRef.value!)\n })\n\n const showHeaderScrollbar = computed(() => tableContext.props.showHeaderScrollbar)\n const headerClass = computed(() => ({\n [`${props.prefixCls}-header`]: true,\n [`${props.prefixCls}-sticky-header`]: props.sticky,\n [`${props.prefixCls}-show-header-scrollbar`]: showHeaderScrollbar.value,\n }))\n const viewportClass = computed(() => ({ [`${props.prefixCls}-center-viewport`]: true }))\n const viewportStyle = computed(() => ({\n height: `calc(100% + ${tableContext.showHorizontalScrollbar.value ? tableContext.scrollBarSize.value || 15 : 0}px)`,\n }))\n\n const headerStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = { height: `${maxHeaderHeight.value}px` }\n if (props.sticky) {\n style.top = counter.hasFullScreen.value\n ? '0px'\n : `${(typeof props.sticky == 'object' ? props.sticky.offsetHeader : 0) || 0}px`\n }\n return style\n })\n\n return {\n headerClass,\n viewportClass,\n viewportStyle,\n scrollbarStyle: computed<CSSProperties>(() => {\n const barSize = `${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value : 0}px`\n return {\n display: '0px' === barSize ? 'none' : 'block',\n width: barSize,\n minWidth: barSize,\n maxWidth: barSize,\n position: 'sticky',\n right: `-${barSize}`,\n }\n }),\n headerStyle,\n headerRef,\n viewportRef,\n maxHeaderHeight,\n showHeaderScrollbar,\n handleHeightResize: (e: CustomEvent) => {\n emit('resizeheight', e)\n },\n }\n },\n})\n</script>\n\n<template>\n <div\n v-resize:height\n key=\"header\"\n role=\"presentation\"\n :class=\"headerClass\"\n :style=\"headerStyle\"\n @resizeheight=\"handleHeightResize\"\n >\n <div ref=\"viewportRef\" :class=\"viewportClass\" :style=\"viewportStyle\">\n <div :class=\"`${prefixCls}-header-container`\">\n <HeaderRowsWrap key=\"left\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"left\" />\n <HeaderRowsWrap key=\"center\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"center\" />\n <HeaderRowsWrap key=\"right\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"right\" />\n </div>\n </div>\n <div :class=\"`${prefixCls}-header-scrollbar`\" :style=\"scrollbarStyle\"></div>\n <XScroll v-if=\"showHeaderScrollbar\" only-auto-show />\n </div>\n <XScroll v-if=\"showHeaderScrollbar\" not-show-auto />\n</template>\n"],"names":["_withDirectives","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_createVNode","_createBlock","_createCommentVNode"],"mappings":";;;;;;;;;;;;;;;;MAiGEA,kBAAA,EAAAC,eAAA,EAAAC,sBAAA;AAAA,QAiBM,KAAA;AAAA,QAAA;AAAA,UAfJ,GAAA,EAAI,QAAA;AAAA,UACJ,IAAA,EAAK,cAAA;AAAA,UACJ,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,WAAW,CAAA;AAAA,UAClB,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,WAAW,CAAA;AAAA,UAClB,cAAA,EAAY,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,kBAAA,IAAA,IAAA,CAAA,kBAAA,CAAA,GAAA,IAAA,CAAA;AAAA,SAAA;AAAA;UAEfC,sBAAA;AAAA,YAMM,KAAA;AAAA,YAAA;AAAA,cAND,GAAA,EAAI,aAAA;AAAA,cAAe,KAAA,EAAKF,kBAAA,CAAE,IAAA,CAAA,aAAa,CAAA;AAAA,cAAG,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,aAAa;AAAA,aAAA;AAAA;cACjEC,sBAAA;AAAA,gBAIM,KAAA;AAAA,gBAAA;AAAA,kBAJA,KAAA,EAAKF,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,iBAAA,CAAA;AAAA,iBAAA;AAAA;kBACvBG,gBAAuF,yBAAA,EAAA;AAAA,oBAAvE,GAAA,EAAI,MAAA;AAAA,oBAAQ,cAAY,IAAA,CAAA,SAAA;AAAA,oBAAY,aAAW,IAAA,CAAA,QAAA;AAAA,oBAAU,IAAA,EAAK;AAAA,qBAAA,IAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,WAAA,CAAA,CAAA;AAAA,kBAC9EA,gBAA2F,yBAAA,EAAA;AAAA,oBAA3E,GAAA,EAAI,QAAA;AAAA,oBAAU,cAAY,IAAA,CAAA,SAAA;AAAA,oBAAY,aAAW,IAAA,CAAA,QAAA;AAAA,oBAAU,IAAA,EAAK;AAAA,qBAAA,IAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,WAAA,CAAA,CAAA;AAAA,kBAChFA,gBAAyF,yBAAA,EAAA;AAAA,oBAAzE,GAAA,EAAI,OAAA;AAAA,oBAAS,cAAY,IAAA,CAAA,SAAA;AAAA,oBAAY,aAAW,IAAA,CAAA,QAAA;AAAA,oBAAU,IAAA,EAAK;AAAA,qBAAA,IAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,WAAA,CAAA;AAAA;;;;;;;;UAGnFD,sBAAA;AAAA,YAA4E,KAAA;AAAA,YAAA;AAAA,cAAtE,KAAA,EAAKF,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,iBAAA,CAAA,CAAA;AAAA,cAAsB,KAAA,EAAKC,kBAAA,CAAE,IAAA,CAAA,cAAc;AAAA,aAAA;AAAA;;;;UACrD,IAAA,CAAA,mBAAA,IAAAH,aAAA,EAAA,EAAfM,gBAAqD,kBAAA,EAAA;AAAA,YAAA,GAAA,EAAA,CAAA;AAAA,YAAjB,gBAAA,EAAA;AAAA,WAAA,CAAA,IAAAC,sBAAA,CAAA,MAAA,EAAA,IAAA;AAAA;;;;oCAf3B,QAAM;AAAA,OAAA,CAAA;AAAA,MAiBF,IAAA,CAAA,mBAAA,IAAAP,aAAA,EAAA,EAAfM,gBAAoD,kBAAA,EAAA;AAAA,QAAA,GAAA,EAAA,CAAA;AAAA,QAAhB,eAAA,EAAA;AAAA,OAAA,CAAA,IAAAC,sBAAA,CAAA,MAAA,EAAA,IAAA;AAAA;;;;;;;;;"}
@@ -6,6 +6,7 @@ var vue = require('vue');
6
6
  var constant = require('../../utils/constant.js');
7
7
  var useHScrollSync = require('../../hooks/useHScrollSync.js');
8
8
  var TableContext = require('../context/TableContext.js');
9
+ var useContainer = require('../../hooks/useContainer.js');
9
10
  var XScroll = require('../Scrollbar/XScroll.js');
10
11
  var HeaderRowsWrap = require('./HeaderRowsWrap.vue.js');
11
12
  var resize = require('../../../../../directives/resize.js');
@@ -25,6 +26,7 @@ var _sfc_main = vue.defineComponent({
25
26
  const headerRef = vue.ref();
26
27
  const viewportRef = vue.ref();
27
28
  const tableContext = TableContext.useInjectTable();
29
+ const counter = useContainer.useInjectContainer();
28
30
  vue.provide(constant.VIEWPORT_REF, viewportRef);
29
31
  const maxHeaderHeight = vue.computed(() => tableContext.maxHeaderHeight.value);
30
32
  const { addHScrollDom, removeHScrollDom } = useHScrollSync.useHScrollSyncInject();
@@ -47,7 +49,7 @@ var _sfc_main = vue.defineComponent({
47
49
  const headerStyle = vue.computed(() => {
48
50
  const style = { height: `${maxHeaderHeight.value}px` };
49
51
  if (props.sticky) {
50
- style.top = `${(typeof props.sticky == "object" ? props.sticky.offsetHeader : 0) || 0}px`;
52
+ style.top = counter.hasFullScreen.value ? "0px" : `${(typeof props.sticky == "object" ? props.sticky.offsetHeader : 0) || 0}px`;
51
53
  }
52
54
  return style;
53
55
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Header.vue2.js","sources":["../../../../../../../../../packages/components/table/src/components/Header/Header.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 16:03:18\n * @LastEditors: shen\n * @LastEditTime: 2025-08-27 13:46:08\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType, CSSProperties } from 'vue'\nimport type { HeaderSticky } from '../interface'\n\nimport { defineComponent, ref, provide, computed, onMounted, onBeforeUnmount } from 'vue'\nimport { VIEWPORT_REF } from '../../utils/constant'\nimport { useHScrollSyncInject } from '../../hooks/useHScrollSync'\nimport { useInjectTable } from '../context/TableContext'\nimport { resize } from '@pro-design-vue/directives'\nimport XScroll from '../Scrollbar/XScroll'\nimport HeaderRowsWrap from './HeaderRowsWrap.vue'\n\nexport default defineComponent({\n name: 'TableHeader',\n components: { XScroll, HeaderRowsWrap },\n inheritAttrs: false,\n directives: { resize },\n props: {\n prefixCls: String,\n wrapText: { type: Boolean, default: false },\n sticky: { type: [Boolean, Object] as PropType<boolean | HeaderSticky>, default: false },\n },\n emits: ['scrollLeft', 'resizeheight'],\n setup(props, { emit }) {\n const headerRef = ref<HTMLDivElement>()\n const viewportRef = ref<HTMLDivElement>()\n const tableContext = useInjectTable()\n\n provide(VIEWPORT_REF, viewportRef)\n const maxHeaderHeight = computed(() => tableContext.maxHeaderHeight.value)\n const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject()\n\n onMounted(() => {\n addHScrollDom(viewportRef.value!)\n })\n onBeforeUnmount(() => {\n removeHScrollDom(viewportRef.value!)\n })\n\n const showHeaderScrollbar = computed(() => tableContext.props.showHeaderScrollbar)\n const headerClass = computed(() => ({\n [`${props.prefixCls}-header`]: true,\n [`${props.prefixCls}-sticky-header`]: props.sticky,\n [`${props.prefixCls}-show-header-scrollbar`]: showHeaderScrollbar.value,\n }))\n const viewportClass = computed(() => ({ [`${props.prefixCls}-center-viewport`]: true }))\n const viewportStyle = computed(() => ({\n height: `calc(100% + ${tableContext.showHorizontalScrollbar.value ? tableContext.scrollBarSize.value || 15 : 0}px)`,\n }))\n\n const headerStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = { height: `${maxHeaderHeight.value}px` }\n if (props.sticky) {\n style.top = `${(typeof props.sticky == 'object' ? props.sticky.offsetHeader : 0) || 0}px`\n }\n return style\n })\n\n return {\n headerClass,\n viewportClass,\n viewportStyle,\n scrollbarStyle: computed<CSSProperties>(() => {\n const barSize = `${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value : 0}px`\n return {\n display: '0px' === barSize ? 'none' : 'block',\n width: barSize,\n minWidth: barSize,\n maxWidth: barSize,\n position: 'sticky',\n right: `-${barSize}`,\n }\n }),\n headerStyle,\n headerRef,\n viewportRef,\n maxHeaderHeight,\n showHeaderScrollbar,\n handleHeightResize: (e: CustomEvent) => {\n emit('resizeheight', e)\n },\n }\n },\n})\n</script>\n\n<template>\n <div\n v-resize:height\n key=\"header\"\n role=\"presentation\"\n :class=\"headerClass\"\n :style=\"headerStyle\"\n @resizeheight=\"handleHeightResize\"\n >\n <div ref=\"viewportRef\" :class=\"viewportClass\" :style=\"viewportStyle\">\n <div :class=\"`${prefixCls}-header-container`\">\n <HeaderRowsWrap key=\"left\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"left\" />\n <HeaderRowsWrap key=\"center\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"center\" />\n <HeaderRowsWrap key=\"right\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"right\" />\n </div>\n </div>\n <div :class=\"`${prefixCls}-header-scrollbar`\" :style=\"scrollbarStyle\"></div>\n <XScroll v-if=\"showHeaderScrollbar\" only-auto-show />\n </div>\n <XScroll v-if=\"showHeaderScrollbar\" not-show-auto />\n</template>\n"],"names":["defineComponent","XScroll","HeaderRowsWrap","resize","ref","useInjectTable","provide","VIEWPORT_REF","computed","useHScrollSyncInject","onMounted","onBeforeUnmount"],"mappings":"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"}
1
+ {"version":3,"file":"Header.vue2.js","sources":["../../../../../../../../../packages/components/table/src/components/Header/Header.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 16:03:18\n * @LastEditors: shen\n * @LastEditTime: 2025-08-27 13:46:08\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType, CSSProperties } from 'vue'\nimport type { HeaderSticky } from '../interface'\n\nimport { defineComponent, ref, provide, computed, onMounted, onBeforeUnmount } from 'vue'\nimport { VIEWPORT_REF } from '../../utils/constant'\nimport { useHScrollSyncInject } from '../../hooks/useHScrollSync'\nimport { useInjectTable } from '../context/TableContext'\nimport { resize } from '@pro-design-vue/directives'\nimport { useInjectContainer } from '../../hooks/useContainer'\nimport XScroll from '../Scrollbar/XScroll'\nimport HeaderRowsWrap from './HeaderRowsWrap.vue'\n\nexport default defineComponent({\n name: 'TableHeader',\n components: { XScroll, HeaderRowsWrap },\n inheritAttrs: false,\n directives: { resize },\n props: {\n prefixCls: String,\n wrapText: { type: Boolean, default: false },\n sticky: { type: [Boolean, Object] as PropType<boolean | HeaderSticky>, default: false },\n },\n emits: ['scrollLeft', 'resizeheight'],\n setup(props, { emit }) {\n const headerRef = ref<HTMLDivElement>()\n const viewportRef = ref<HTMLDivElement>()\n const tableContext = useInjectTable()\n const counter = useInjectContainer()\n provide(VIEWPORT_REF, viewportRef)\n const maxHeaderHeight = computed(() => tableContext.maxHeaderHeight.value)\n const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject()\n\n onMounted(() => {\n addHScrollDom(viewportRef.value!)\n })\n onBeforeUnmount(() => {\n removeHScrollDom(viewportRef.value!)\n })\n\n const showHeaderScrollbar = computed(() => tableContext.props.showHeaderScrollbar)\n const headerClass = computed(() => ({\n [`${props.prefixCls}-header`]: true,\n [`${props.prefixCls}-sticky-header`]: props.sticky,\n [`${props.prefixCls}-show-header-scrollbar`]: showHeaderScrollbar.value,\n }))\n const viewportClass = computed(() => ({ [`${props.prefixCls}-center-viewport`]: true }))\n const viewportStyle = computed(() => ({\n height: `calc(100% + ${tableContext.showHorizontalScrollbar.value ? tableContext.scrollBarSize.value || 15 : 0}px)`,\n }))\n\n const headerStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = { height: `${maxHeaderHeight.value}px` }\n if (props.sticky) {\n style.top = counter.hasFullScreen.value\n ? '0px'\n : `${(typeof props.sticky == 'object' ? props.sticky.offsetHeader : 0) || 0}px`\n }\n return style\n })\n\n return {\n headerClass,\n viewportClass,\n viewportStyle,\n scrollbarStyle: computed<CSSProperties>(() => {\n const barSize = `${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value : 0}px`\n return {\n display: '0px' === barSize ? 'none' : 'block',\n width: barSize,\n minWidth: barSize,\n maxWidth: barSize,\n position: 'sticky',\n right: `-${barSize}`,\n }\n }),\n headerStyle,\n headerRef,\n viewportRef,\n maxHeaderHeight,\n showHeaderScrollbar,\n handleHeightResize: (e: CustomEvent) => {\n emit('resizeheight', e)\n },\n }\n },\n})\n</script>\n\n<template>\n <div\n v-resize:height\n key=\"header\"\n role=\"presentation\"\n :class=\"headerClass\"\n :style=\"headerStyle\"\n @resizeheight=\"handleHeightResize\"\n >\n <div ref=\"viewportRef\" :class=\"viewportClass\" :style=\"viewportStyle\">\n <div :class=\"`${prefixCls}-header-container`\">\n <HeaderRowsWrap key=\"left\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"left\" />\n <HeaderRowsWrap key=\"center\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"center\" />\n <HeaderRowsWrap key=\"right\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"right\" />\n </div>\n </div>\n <div :class=\"`${prefixCls}-header-scrollbar`\" :style=\"scrollbarStyle\"></div>\n <XScroll v-if=\"showHeaderScrollbar\" only-auto-show />\n </div>\n <XScroll v-if=\"showHeaderScrollbar\" not-show-auto />\n</template>\n"],"names":["defineComponent","XScroll","HeaderRowsWrap","resize","ref","useInjectTable","useInjectContainer","provide","VIEWPORT_REF","computed","useHScrollSyncInject","onMounted","onBeforeUnmount"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InteralTable.vue.js","sources":["../../../../../../../../packages/components/table/src/components/InteralTable.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-01 09:29:27\n * @LastEditors: shen\n * @LastEditTime: 2025-10-12 13:45:48\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { WatchStopHandle } from 'vue'\nimport {\n computed,\n defineComponent,\n shallowRef,\n ref,\n watchEffect,\n inject,\n watch,\n toRaw,\n triggerRef,\n onActivated,\n isReactive,\n toRef,\n} from 'vue'\nimport { Spin, Pagination } from 'ant-design-vue'\nimport { baseTableProps } from './interface'\nimport { DOWN, LEFT, UP } from './Drag/constant'\nimport { addNestItemData, deleteNestItemData } from '../utils/util'\nimport { useEditProvider } from '../hooks/useEdit'\nimport { useProvidePopup } from './context/PopupContext'\nimport { useHScrollSyncProvide } from '../hooks/useHScrollSync'\nimport { useVScrollSyncProvide } from '../hooks/useVScrollSync'\nimport { useProvideTable } from './context/TableContext'\nimport { useProvideRangeStore } from '../hooks/useRangeStore'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { resize } from '@pro-design-vue/directives'\nimport { omit, debounce, isPromise } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\n\nimport useKVMap from '../hooks/useKVMap'\nimport useLicense from '../hooks/useLicense'\nimport devWarning from '../utils/devWarning'\nimport eagerComputed from '../utils/eagerComputed'\nimport getScrollBarSize from '../utils/getScrollBarSize'\nimport useColumns from '../hooks/useColumns'\nimport useSorter from '../hooks/useSorter'\nimport useFilter from '../hooks/useFilter'\nimport useCal from '../hooks/useCal'\nimport useFlattenRecords from '../hooks/useFlattenRecords'\nimport useSelection from '../hooks/useRowSelection'\nimport usePagination, { getPaginationParam } from '../hooks/usePagination'\nimport raf from '../utils/raf'\nimport easeoutScroll from '../utils/easeoutScroll'\nimport useData from '../hooks/useData'\nimport supportSticky from '../utils/supportSticky'\nimport classNames from '../utils/classNames'\nimport useCellProps from '../hooks/useCellProps'\nimport KeyCode from '../utils/KeyCode'\nimport TableSlotsContextProvider from './context/TableSlotsContext'\nimport MeasureWidth from './MeasureWidth.vue'\nimport PopupContainer from './PopupContainer.vue'\nimport AutoHeightHeader from './AutoHeightHeader/Header.vue'\nimport Header from './Header/Header.vue'\nimport Body from './Body/Body.vue'\n\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type {\n GetRowKey,\n Key,\n SorterResult,\n TableLocale,\n ColumnType,\n ResizeActionType,\n DragRowEventInfo,\n DragColumnEventInfo,\n DefaultRecordType,\n TableAction,\n} from './interface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { RangeCell } from '../hooks/RangeInterface'\nimport type { SortState } from '../hooks/useSorter'\nimport type { FilterState } from '../hooks/useFilter'\nimport type { ContextSlots } from './context/TableSlotsContext'\nimport { DEFAULT_LOCALE } from '@pro-design-vue/constants'\n\nexport type FilterValue = (Key | boolean)[]\nexport interface ChangeEventInfo<RecordType> {\n pagination: {\n current?: number\n pageSize?: number\n total?: number\n }\n filters: Record<string, FilterValue | null>\n sorter: SorterResult<RecordType> | SorterResult<RecordType>[]\n filterStates: FilterState<RecordType>[]\n sorterStates: SortState<RecordType>[]\n currentDataSource: RecordType[]\n action: TableAction\n}\nconst EMPTY_LIST: any[] = []\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n directives: { resize },\n components: {\n TableSlotsContextProvider,\n Spin,\n MeasureWidth,\n Pagination,\n PopupContainer,\n AutoHeightHeader,\n ProHeader: Header,\n ProBody: Body,\n },\n props: baseTableProps(),\n emits: [\n 'update:pagination',\n 'scroll',\n 'update:selectedRowKeys',\n 'update:expandedRowKeys',\n 'update:columns',\n 'update:sorter',\n 'update:filters',\n 'expand',\n 'expandedRowsChange',\n 'resizeColumn',\n 'update:dataSource',\n 'cellKeydown',\n ],\n slots: {} as CustomSlotsType<ContextSlots>,\n setup(props, { expose, emit, slots }) {\n const { table } = useProConfigInject()\n const rowKey = computed(() => props.rowKey ?? table?.value?.rowKey ?? 'id')\n const popupContainer = shallowRef<any>(null)\n const customUiCls = usePrefixCls('custom-ui')\n const { editCellKeys, openEditor, closeEditor } = useEditProvider()\n\n useProvidePopup()\n\n const getPopupContainer = computed(() => props.getPopupContainer!)\n const { status, watermarkMsg } = useLicense()\n\n const dragRowsHandle = new Map<Key, Set<HTMLSpanElement>>()\n const draggingRowKey = ref<Key | null>(null)\n const insertToRowKey = ref<Key | null>(null)\n const dragColumnsHandle = new Map<Key, Set<HTMLDivElement>>()\n const draggingColumnKey = ref<Key>('')\n const latestRangeStartCell = shallowRef<RangeCell | null>(null)\n const mergedSummaryFixed = computed(() =>\n props.summaryFixed === true || props.summaryFixed === ('' as any)\n ? 'bottom'\n : (props.summaryFixed ?? table?.value?.summaryFixed ?? false),\n )\n const realHeaderHeight = ref(0)\n\n watchEffect(() => {\n devWarning(\n !(typeof rowKey.value == 'function' && rowKey.value.length > 1),\n 'table',\n '`index` parameter of `rowKey` function is deprecated. There is no guarantee that it will work as expected.',\n )\n })\n\n const localeData: any = inject('localeData', {\n antLocale: {\n Table: {\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting',\n },\n },\n })\n\n const locale = computed<TableLocale>(() => {\n const antLocale = localeData?.antLocale || {}\n return {\n ...(antLocale.locale === DEFAULT_LOCALE.toLocaleLowerCase()\n ? {\n triggerDesc: '\\u70B9\\u51FB\\u964D\\u5E8F',\n triggerAsc: '\\u70B9\\u51FB\\u5347\\u5E8F',\n cancelSort: '\\u53D6\\u6D88\\u6392\\u5E8F',\n }\n : {}),\n ...(antLocale.Table || {}),\n ...(props.locale || {}),\n }\n })\n\n const scrollTop = ref(0)\n const scrollLeft = ref(0)\n const rootRef = ref<HTMLDivElement>()\n const bodyWidth = ref(0)\n const bodyHeight = ref(0)\n const measureWidthRef = shallowRef<HTMLDivElement>()\n\n const mergedScrollX = eagerComputed(() => props.scrollX ?? props.scroll?.x)\n const mergedScrollY = eagerComputed(() => props.scroll?.y ?? props.height ?? props.maxHeight)\n const bodyScrollWidth = ref(typeof mergedScrollX.value == 'number' ? mergedScrollX.value : 0)\n\n watch(mergedScrollX, () => {\n bodyScrollWidth.value = typeof mergedScrollX.value == 'number' ? mergedScrollX.value : 0\n })\n\n const virtual = eagerComputed<boolean>(() => !(props.virtual === false || !mergedScrollY.value))\n const xVirtual = eagerComputed<boolean>(\n () => props.xVirtual || (props.virtual !== false && props.xVirtual !== false),\n )\n\n const getRowKey = computed<GetRowKey>(() =>\n typeof rowKey.value == 'function'\n ? rowKey.value\n : (record: Record<string, any>) => {\n return record?.[rowKey.value as string]\n },\n )\n\n const rawData = shallowRef<DefaultRecordType[]>([])\n const rawColumns = shallowRef<ColumnType[]>([])\n\n let dataSourceWatchStopHandle: WatchStopHandle\n let columnsWatchStopHandle: WatchStopHandle\n watch(\n () => props.deepWatchDataSource,\n () => {\n dataSourceWatchStopHandle && dataSourceWatchStopHandle()\n dataSourceWatchStopHandle = watch(\n () => props.dataSource,\n () => {\n rawData.value = toRaw(props.dataSource) || EMPTY_LIST\n triggerRef(rawData)\n },\n { immediate: true, deep: !!props.deepWatchDataSource },\n )\n },\n { immediate: true, deep: true },\n )\n\n watch(\n () => props.deepWatchColumns,\n () => {\n columnsWatchStopHandle && columnsWatchStopHandle()\n columnsWatchStopHandle = watch(\n () => props.columns,\n () => {\n rawColumns.value = toRaw(props.columns) || EMPTY_LIST\n triggerRef(rawColumns)\n },\n { immediate: true, deep: true },\n )\n },\n { immediate: true, deep: !!props.deepWatchColumns },\n )\n\n const childrenColumnName = computed(\n () => props.childrenColumnName ?? table?.value?.childrenColumnName ?? 'children',\n )\n\n const { getRecordByKey, getIndexsByKey, getKeyByIndexs, allDataRowKeys, allDataRootRowKeys } =\n useKVMap(rawData, childrenColumnName, getRowKey)\n\n const defaultExpandedRowKeys = shallowRef<Key[]>([])\n watchEffect(() => {\n props.defaultExpandedRowKeys && (defaultExpandedRowKeys.value = props.defaultExpandedRowKeys)\n props.defaultExpandAllRows && (defaultExpandedRowKeys.value = allDataRowKeys.value)\n })\n\n const mergedRowSelection = computed(() => {\n const rowSelection = props.rowSelection || {}\n const { checkStrictly = true } = rowSelection\n return { ...rowSelection, checkStrictly }\n })\n\n const expandedRowKeys = computed(\n () => new Set(props.expandedRowKeys || defaultExpandedRowKeys.value || []),\n )\n\n const spinProps = computed<SpinProps>(() => {\n if (typeof props.loading === 'boolean') {\n return { spinning: props.loading }\n } else if (typeof props.loading === 'object') {\n return { spinning: true, ...props.loading }\n } else {\n return { spinning: false }\n }\n })\n\n onActivated(() => {\n scrollTo({ left: 0, top: 0 })\n })\n\n let triggerOnChange: any = () => {}\n\n const scrollBarSize = shallowRef(getScrollBarSize())\n const baseHeight = computed(() =>\n props.size === 'small' ? 39 : props.size === 'middle' ? 47 : 55,\n )\n const expandedRowRender = computed(() => props.expandedRowRender)\n const expandType = eagerComputed(() =>\n rawData.value.some((column) => column?.[childrenColumnName.value])\n ? 'nest'\n : expandedRowRender.value\n ? 'row'\n : null,\n )\n const expandable = eagerComputed(() => !!props.expandedRowRender)\n\n const columns = useColumns({\n props,\n rawColumns,\n bodyScrollWidth,\n baseHeight,\n measureWidthRef,\n expandable,\n expandType,\n scrollLeft,\n bodyWidth,\n xVirtual,\n draggingColumnKey,\n latestRangeStartCell,\n })\n\n const { sortedData, sorterStates, sorter, changeSorter } = useSorter(\n props,\n rawData,\n columns.allColumns,\n (sorter, sorterStates) => {\n scrollTop.value > bodyHeight.value && updateAnimate()\n triggerOnChange({ sorter, sorterStates }, 'sort', false)\n },\n )\n\n const { filterData, filterStates, filters, changeFilter } = useFilter(\n props,\n sortedData,\n columns.allColumns,\n (filters, filterStates) => {\n triggerOnChange({ filters, filterStates }, 'filter', true)\n },\n )\n\n const total = eagerComputed(() => filterData.value.length)\n const paginationParam = computed(() => {\n if (props.pagination === false) {\n return {}\n }\n return getPaginationParam(props.pagination, mergedPagination.value)\n })\n\n const triggeronPaginationChange = (current: number, pageSize: number) => {\n const pagination = { ...paginationParam.value, current, pageSize }\n props['onUpdate:pagination'] &&\n emit(\n 'update:pagination',\n isReactive(props.pagination)\n ? Object.assign(props.pagination || {}, pagination)\n : pagination,\n )\n }\n\n const {\n mergedPagination,\n pos,\n refreshPagination,\n onChange: onPaginationChange,\n onShowSizeChange,\n pageData,\n } = usePagination(total, props, filterData, (current, pageSize) => {\n const pagination = { ...paginationParam.value, current, pageSize }\n triggeronPaginationChange(current, pageSize)\n updateAnimate()\n triggerOnChange({ pagination }, 'paginate')\n })\n\n const {\n flattenData,\n keyEntities,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n checkboxPropsMap,\n getRowFlattenIndexByKey,\n isMyChildren,\n getRowByFlattenIndex,\n } = useFlattenRecords(\n pageData,\n childrenColumnName,\n expandedRowKeys,\n getRowKey,\n expandType,\n mergedRowSelection,\n )\n\n const cal = useCal(props, flattenData, bodyHeight, scrollTop, virtual, keyEntities)\n\n const { rowPosition, viewportHeight, startIndex, endIndex } = cal\n const { leftWidth, rightWidth, centerWidth, bodyMaxWidth } = columns\n\n const selection = useSelection(props, mergedRowSelection, rawData, {\n prefixCls: computed(() => props.prefixCls!),\n pageData,\n getRowKey,\n getRecordByKey,\n childrenColumnName,\n locale,\n flattenData,\n keyEntities,\n checkboxPropsMap,\n allDataRowKeys,\n allDataRootRowKeys,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n })\n\n const bodyRef = ref<HTMLDivElement>()\n let leftRaf: any, topRaf: any\n\n const scrollTo = (options: any = {}, type = 'auto', isAnimate = false) => {\n if (!isAnimate) {\n updateAnimate()\n }\n const mergeOptions = typeof options == 'number' ? { top: options } : options\n let left, top\n if ('left' in mergeOptions) {\n left = mergeOptions.left || 0\n } else if ('columnIndex' in mergeOptions) {\n const position = columns.getColumnPosition(mergeOptions.columnIndex!)\n if (position) {\n left = position.left - leftWidth.value\n }\n } else if ('columnKey' in mergeOptions) {\n const position = columns.getColumnPositionByKey(mergeOptions.columnKey!)\n if (position) {\n left = position.left - leftWidth.value\n }\n }\n if ('top' in mergeOptions) {\n top = Math.min(Math.max(mergeOptions.top || 0, 0), maxScrollTop.value)\n } else if ('rowKey' in mergeOptions) {\n const pos = cal.getRowPositionByKey(mergeOptions.rowKey!)\n if (pos) {\n top = pos\n }\n }\n\n left = Math.max(Math.min(maxScrollLeft.value, left || 0), 0)\n if (!showVerticalScrollbar.value) {\n top = 0\n }\n if (type === 'smooth') {\n if (left !== undefined) {\n raf.cancel(leftRaf)\n leftRaf = easeoutScroll(scrollLeft.value, left, (val: number) => {\n scrollLeft.value = val\n })\n }\n if (top !== undefined) {\n raf.cancel(topRaf)\n topRaf = easeoutScroll(scrollTop.value, top, (val: number) => {\n scrollTop.value = val\n })\n }\n } else {\n if (left !== undefined) {\n scrollLeft.value = left\n }\n if (top !== undefined) {\n scrollTop.value = top\n }\n }\n }\n\n const useAnimate = ref(false)\n const animateRows = computed(() => {\n return !!(props.animateRows ?? table?.value?.animateRows)\n })\n\n let timer: any\n watch(\n animateRows,\n (newVal) => {\n useAnimate.value = newVal\n },\n { immediate: true },\n )\n\n const updateAnimate = () => {\n useAnimate.value = false\n clearTimeout(timer)\n timer = setTimeout(() => {\n useAnimate.value = animateRows.value\n }, 100)\n }\n\n const maxScrollLeft = computed(() => bodyMaxWidth.value - bodyWidth.value)\n const maxScrollTop = computed(() => viewportHeight.value - bodyHeight.value)\n const onScroll = (e) => {\n emit('scroll', e)\n }\n\n useHScrollSyncProvide({ scrollLeft, maxScrollLeft, onScroll, bodyWidth })\n useVScrollSyncProvide({ scrollTop, maxScrollTop, onScroll, updateAnimate, bodyWidth })\n\n const { data, pos: dataRowPosition } = useData(\n props,\n rowPosition,\n flattenData,\n startIndex,\n endIndex,\n draggingRowKey,\n useAnimate,\n getRowFlattenIndexByKey,\n latestRangeStartCell,\n )\n\n const pingedLeft = ref(false)\n const pingedRight = ref(false)\n const noPinged = ref(false)\n\n watchEffect(() => {\n pingedLeft.value = supportSticky && !!scrollLeft.value\n pingedRight.value =\n supportSticky &&\n centerWidth.value - (bodyWidth.value - leftWidth.value - rightWidth.value) >\n scrollLeft.value\n noPinged.value = !pingedLeft.value && !pingedRight.value\n })\n\n const rootClass = computed(() =>\n classNames({\n [`${props.prefixCls}`]: true,\n [`${props.prefixCls}-support-sticky`]: supportSticky,\n [`${props.prefixCls}-stripe`]: props.stripe,\n [`${props.prefixCls}-bordered`]: props.bordered ?? table?.value?.bordered,\n [`${props.prefixCls}-${props.size}`]: true,\n [`${props.prefixCls}-ping-left`]: pingedLeft.value,\n [`${props.prefixCls}-ping-right`]: pingedRight.value,\n [`${props.prefixCls}-no-ping`]: noPinged.value,\n [`${props.prefixCls}-has-animate`]: animateRows.value,\n }),\n )\n const rootStyle = computed(() => ({\n height: typeof props.height == 'number' ? `${props.height}px` : props.height,\n maxHeight: typeof props.maxHeight == 'number' ? `${props.maxHeight}px` : props.maxHeight,\n minHeight: typeof props.minHeight == 'number' ? `${props.minHeight}px` : props.minHeight,\n }))\n\n const showHorizontalScrollbar = ref(false)\n const debounceFn = debounce(() => {\n showHorizontalScrollbar.value = bodyMaxWidth.value > bodyWidth.value\n if (bodyWidth.value > bodyScrollWidth.value) {\n bodyScrollWidth.value = bodyWidth.value\n }\n }, 100)\n\n watch([bodyMaxWidth, bodyWidth], () => {\n debounceFn()\n })\n\n const showVerticalScrollbar = eagerComputed(\n () => !!mergedScrollY.value && bodyHeight.value + 0.9 < viewportHeight.value,\n )\n const scrollToFirstRow = eagerComputed(\n () => !props.scroll || (props.scroll && props.scroll.scrollToFirstRowOnChange !== false),\n )\n\n triggerOnChange = (\n info: Partial<ChangeEventInfo<DefaultRecordType>>,\n action: TableAction,\n reset = false,\n ) => {\n if (reset) {\n refreshPagination()\n triggeronPaginationChange(1, mergedPagination.value.pageSize!)\n if (props.pagination) {\n props.pagination.onChange?.(1, mergedPagination.value.pageSize)\n }\n }\n if (scrollToFirstRow.value) {\n scrollTop.value = 0\n }\n props.onChange?.(\n info.pagination || mergedPagination.value,\n info.filters || filters.value,\n info.sorter || sorter.value,\n {\n currentDataSource: info.currentDataSource || filterData.value,\n action,\n },\n )\n }\n\n const paginationProps = computed(() => {\n return omit(mergedPagination.value, ['position', 'onChange', 'onShowSizeChange'])\n })\n\n const paginationClass = computed(() => {\n return {\n [`${props.prefixCls}-pagination`]: true,\n [`${props.prefixCls}-pagination-${pos.value.bottom}`]: true,\n [`${customUiCls}`]: true,\n }\n })\n const bottomPaginationHeight = ref(0)\n const bottomPaginationStyle = computed<any>(() => {\n if (!props.paginationSticky) {\n return {}\n }\n if (props.paginationSticky === true) {\n return { position: 'sticky', 'z-index': 9, bottom: '0px' }\n }\n return {\n position: 'sticky',\n 'z-index': 9,\n bottom: `${props.paginationSticky?.offsetBottom ?? 0}px`,\n }\n })\n\n const indentSize = computed(() => (typeof props.indentSize == 'number' ? props.indentSize : 15))\n\n const cellProps = useCellProps({\n leftColumns: columns.leftColumns,\n rightColumns: columns.rightColumns,\n visibleCenterColumns: columns.visibleCenterColumns,\n allColumns: columns.allColumns,\n data,\n mergedRowHeights: cal.mergedRowHeights,\n startIndex,\n getColumnPosition: columns.getColumnPosition,\n bodyWidth,\n leftWidth,\n centerWidth,\n getRowHeight: cal.getRowHeight,\n customCell: toRef(props, 'customCell'),\n })\n\n watch(\n [realHeaderHeight, scrollLeft],\n () => {\n popupContainer.value?.alignPopup?.()\n },\n { flush: 'post' },\n )\n\n useProvideTable({\n ...cal,\n ...columns,\n ...cellProps,\n rootRef,\n rawData,\n getRowFlattenIndexByKey,\n prefixCls: computed(() => props.prefixCls!),\n draggingRowKey,\n insertToRowKey,\n status,\n useAnimate,\n animateRows,\n watermarkMsg,\n onResizeColumn: (w: number, col: ColumnType, action: ResizeActionType) => {\n const width = col.width\n const result = props.onResizeColumn?.(w, col, action)\n if (result !== false) {\n if (!(width === w && col.width === w)) {\n col.width = width !== col.width ? col.width : w\n triggerRef(rawColumns)\n }\n if (action === 'end') {\n emit('update:columns', rawColumns.value, 'resize')\n }\n }\n },\n onRowDragEnd: (opt: DragRowEventInfo) => {\n const { insertToRowKey, record, fromIndexs, rowKey, dir, preTargetInfo, nextTargetInfo } =\n opt\n const rawRecord = toRaw(record)\n const dragEnd = props.onRowDragEnd?.({ ...opt, record: rawRecord, fromIndexs })\n if (dragEnd === false) {\n return\n }\n\n const handler = () => {\n if (!isMyChildren(rowKey, preTargetInfo?.rowKey as Key) && insertToRowKey !== rowKey) {\n if (insertToRowKey !== null) {\n const parentRecord = getRecordByKey(insertToRowKey)\n if (\n insertToRowKey === preTargetInfo?.rowKey ||\n insertToRowKey === nextTargetInfo?.rowKey\n ) {\n if (dir === DOWN) {\n addNestItemData(\n parentRecord[childrenColumnName.value],\n [],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n parentRecord[childrenColumnName.value],\n [],\n childrenColumnName.value,\n rawRecord,\n )\n }\n } else {\n if (dir === DOWN) {\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs as number[],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs as number[],\n childrenColumnName.value,\n rawRecord,\n )\n }\n }\n } else {\n if (dir === DOWN && preTargetInfo) {\n addNestItemData(\n rawData.value,\n [preTargetInfo.indexs[0]!],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else if (dir === UP && nextTargetInfo) {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs ? [preTargetInfo!.indexs[0]!] : [],\n childrenColumnName.value,\n rawRecord,\n )\n }\n }\n triggerRef(rawData)\n emit('update:dataSource', rawData.value)\n }\n }\n if (isPromise(dragEnd)) {\n dragEnd\n .then(() => {\n handler()\n })\n .catch(() => {})\n } else {\n handler()\n }\n },\n virtual,\n xVirtual,\n dataRowPosition,\n rawColumns,\n bodyHeight,\n scrollTop,\n scrollLeft,\n supportSticky,\n childrenColumnName,\n bodyScrollWidth,\n baseHeight,\n startIndex,\n data,\n pageData,\n getRecordByKey,\n getIndexsByKey,\n expandType,\n flattenData,\n expandedRowKeys,\n indentSize,\n props,\n bodyWidth,\n scrollTo,\n scrollBarSize,\n leftWidth,\n rightWidth,\n centerWidth,\n showVerticalScrollbar,\n showHorizontalScrollbar,\n getRowKey,\n selection,\n updateSelectedRowKeys: (keys: Key[]) => {\n emit('update:selectedRowKeys', keys)\n },\n locale,\n sorterStates,\n changeSorter,\n changeFilter,\n filterStates,\n onTriggerExpand: (record, key: Key) => {\n let keys: Key[]\n const hasKey = expandedRowKeys.value.has(key)\n if (hasKey) {\n expandedRowKeys.value.delete(key)\n keys = [...expandedRowKeys.value]\n } else {\n keys = [...expandedRowKeys.value, key]\n }\n defaultExpandedRowKeys.value = keys\n emit('update:expandedRowKeys', keys)\n emit('expand', !hasKey, record)\n emit('expandedRowsChange', keys)\n },\n keyEntities,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n checkboxPropsMap,\n mergedRowSelection,\n getPopupContainer,\n allDataRowKeys,\n allDataRootRowKeys,\n dragRowsHandle,\n isMyChildren,\n getKeyByIndexs,\n getRowByFlattenIndex,\n draggingColumnKey,\n dragColumnsHandle,\n onColumnDragEnd: (arg: DragColumnEventInfo) => {\n const { dir, column, targetColumn } = arg\n const dragEnd = props.onColumnDragEnd?.(arg)\n if (dragEnd === false) {\n return\n }\n\n const handler = () => {\n if (column === targetColumn || column.key === targetColumn.key) return\n const index = rawColumns.value.findIndex(\n (col) => col === column || col.key === column.key,\n )\n const targetIndex = rawColumns.value.findIndex(\n (col) => col === targetColumn || col.key === targetColumn.key,\n )\n if (dir === LEFT) {\n rawColumns.value.splice(index, 1)\n rawColumns.value.splice(targetIndex, 0, column)\n } else {\n rawColumns.value.splice(targetIndex + 1, 0, column)\n rawColumns.value.splice(index, 1)\n }\n triggerRef(rawColumns)\n emit('update:columns', rawColumns.value, 'drag')\n }\n\n if (isPromise(dragEnd)) {\n dragEnd\n .then(() => {\n handler()\n })\n .catch(() => {})\n } else {\n handler()\n }\n },\n onColumnDrag: () => {},\n columnDrag: computed(() => props.columnDrag),\n summaryFixed: mergedSummaryFixed,\n realHeaderHeight,\n bottomPaginationHeight,\n pos,\n })\n\n const tabGuardTopRef = ref()\n const tabGuardBottomRef = ref()\n\n const {\n navigationService,\n getSelectedRange,\n clearAllSelectedRange,\n copySelectedRange,\n appendCellToSelectedRange,\n onBodyKeydown,\n } = useProvideRangeStore({\n allColumns: columns.allColumns,\n flattenData,\n rangeSelection: computed(() => props.rangeSelection),\n getRowByFlattenIndex,\n rootRef,\n prefixCls: computed(() => props.prefixCls!),\n allCellProps: cellProps.allCellProps,\n tabGuardTopRef,\n tabGuardBottomRef,\n ensureCellColumnVisible: (cell: RangeCell) => {\n if (!cell.column || cell.column.fixed) return\n const sl = scrollLeft.value\n const pos = columns.getColumnPositionByKey(cell.column.columnKey)\n if (pos) {\n const { width, left } = pos\n const lw = leftWidth.value\n const rw = rightWidth.value\n left - lw < sl\n ? (scrollLeft.value = left - lw)\n : left + width > sl + bodyWidth.value - rw &&\n (scrollLeft.value = left + width - bodyWidth.value + rw)\n }\n },\n ensureCellRowVisible: (cell: RangeCell) => {\n const { rowIndex } = cell\n const st = scrollTop.value\n const row = getRowByFlattenIndex(rowIndex)\n const pos = cal.getRowPositionByKey(row.rowKey)\n const cprops =\n (cellProps.allCellProps.value[row.rowKey]?.[cell.column!.columnKey] || {}).props || {}\n const height = cal.getRowHeight(rowIndex, cprops.rowSpan)\n if (pos !== undefined) {\n updateAnimate()\n if (pos < st) {\n scrollTop.value = pos\n } else {\n if (pos + height > st + bodyHeight.value) {\n scrollTop.value = pos + height - bodyHeight.value\n }\n }\n }\n },\n latestRangeStartCell,\n bodyRef: computed(() => {\n return (bodyRef.value as any)?.bodyRef\n }),\n scrollLeft,\n scrollTop,\n scrollTo,\n showVerticalScrollbar,\n showHorizontalScrollbar,\n getIndexsByKey,\n formatRangeCellText: (parmas) => {\n if (props.formatRangeCellText) {\n return props.formatRangeCellText(parmas)\n } else if (parmas.value) {\n return parmas.value\n }\n return ''\n },\n editCellKeys,\n copyDelimiter: computed(() => props.copyDelimiter),\n })\n\n expose({\n scrollTo,\n scrollLeft,\n scrollTop,\n bodyRef: computed(() => {\n return (bodyRef.value as any)?.bodyRef\n }),\n getSelectedRange,\n clearAllSelectedRange,\n copySelectedRange,\n appendCellToSelectedRange,\n openEditor: (cellInfos: any[]) => {\n openEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`))\n },\n closeEditor: (cellInfos: any[]) => {\n if (cellInfos) {\n closeEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`))\n } else {\n closeEditor()\n }\n },\n })\n\n return {\n bodyRef,\n spinProps,\n rowPosition,\n viewportHeight,\n startIndex,\n data,\n watermarkMsg,\n rootStyle,\n rootClass,\n onBodyKeydown,\n watermarkStyle: computed<any>(() => ({\n minWidth: '100px!important',\n minHeight: '40px!important',\n position: 'absolute!important',\n fontSize: '20px!important',\n opacity: '0.8!important',\n bottom: '40px!important',\n right: '40px!important',\n pointerEvents: 'none',\n display: 'block!important',\n zIndex: '999999!important',\n color: '#000000!important',\n margin: '0px!important',\n padding: '0px!important',\n transform: 'unset!important',\n })),\n mergedPagination,\n pos,\n onPaginationChange,\n scrollBarSize,\n scrollTop,\n bodyScrollWidth,\n bodyWidth,\n scrollLeft,\n cal,\n selection,\n locale,\n paginationProps,\n slots,\n mergedScrollX,\n mergedScrollY,\n bodyHeight,\n measureWidthRef,\n flattenData,\n rootRef,\n mergedSummaryFixed,\n handleResize: (e: CustomEvent) => {\n realHeaderHeight.value = e.detail.height\n },\n handlePaginationResize: (e: CustomEvent) => {\n bottomPaginationHeight.value = e.detail.height\n },\n popupContainer,\n handleGuardTopKeydown: (e: KeyboardEvent) => {\n e.keyCode !== KeyCode.TAB ||\n e.shiftKey ||\n (navigationService.getFirstCellToFocus(e.shiftKey), e.preventDefault())\n },\n handleGuardBottomKeydown: (e: KeyboardEvent) => {\n e.keyCode === KeyCode.TAB &&\n e.shiftKey &&\n (navigationService.getLastCellToFocus(e.shiftKey), e.preventDefault())\n },\n tabGuardTopRef,\n tabGuardBottomRef,\n onShowSizeChange,\n customUiCls,\n paginationClass,\n bottomPaginationStyle,\n }\n },\n})\n</script>\n\n<template>\n <TableSlotsContextProvider :value=\"{ ...slots }\">\n <Spin v-bind=\"spinProps\">\n <Pagination\n v-if=\"pos.top\"\n :class=\"`${prefixCls}-pagination ${prefixCls}-pagination-${pos.top} ${customUiCls}`\"\n v-bind=\"paginationProps\"\n @change=\"onPaginationChange\"\n @show-size-change=\"onShowSizeChange\"\n />\n <div\n ref=\"tabGuardTopRef\"\n role=\"presentation\"\n tabindex=\"0\"\n :style=\"{ position: 'absolute', width: '0', height: '0' }\"\n @keydown=\"handleGuardTopKeydown\"\n ></div>\n <div key=\"content\" ref=\"ref\" :class=\"rootClass\" :style=\"rootStyle\">\n <template v-if=\"showHeader\">\n <AutoHeightHeader\n v-if=\"autoHeaderHeight\"\n :prefix-cls=\"prefixCls\"\n :sticky=\"sticky\"\n @resizeheight=\"handleResize\"\n />\n <ProHeader v-else :prefix-cls=\"prefixCls\" :sticky=\"sticky\" @resizeheight=\"handleResize\" />\n </template>\n <ProBody\n ref=\"bodyRef\"\n v-model:bodyScrollWidth=\"bodyScrollWidth\"\n v-model:bodyWidth=\"bodyWidth\"\n v-model:bodyHeight=\"bodyHeight\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n :scroll-x=\"mergedScrollX\"\n :height=\"mergedScrollY\"\n :summary-fixed=\"mergedSummaryFixed\"\n :summary=\"$slots.summary\"\n :empty-text=\"$slots.emptyText\"\n @keydown=\"onBodyKeydown\"\n />\n </div>\n <div\n ref=\"tabGuardBottomRef\"\n role=\"presentation\"\n tabindex=\"0\"\n :style=\"{ position: 'absolute', width: '0', height: '0' }\"\n @keydown=\"handleGuardBottomKeydown\"\n ></div>\n <div v-if=\"$slots.footer\" key=\"footer\" :class=\"`${prefixCls}-footer`\">\n <slot name=\"footer\" />\n </div>\n <PopupContainer ref=\"popupContainer\" :prefix-cls=\"prefixCls\" />\n <div\n v-if=\"pos.bottom\"\n v-resize:height\n :style=\"bottomPaginationStyle\"\n :class=\"`${prefixCls}-pagination-wrap`\"\n @resizeheight=\"handlePaginationResize\"\n >\n <Pagination\n :class=\"paginationClass\"\n v-bind=\"paginationProps\"\n @change=\"onPaginationChange\"\n @show-size-change=\"onShowSizeChange\"\n />\n </div>\n </Spin>\n <MeasureWidth ref=\"measureWidthRef\" />\n </TableSlotsContextProvider>\n</template>\n"],"names":["_createBlock","_createVNode","_normalizeProps","_guardReactiveProps","_withCtx","_openBlock","_mergeProps","_createCommentVNode","_createElementVNode","_normalizeClass","_normalizeStyle","_createElementBlock","_Fragment","_renderSlot","_withDirectives"],"mappings":"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"}
1
+ {"version":3,"file":"InteralTable.vue.js","sources":["../../../../../../../../packages/components/table/src/components/InteralTable.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-01 09:29:27\n * @LastEditors: shen\n * @LastEditTime: 2025-10-13 11:10:50\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { WatchStopHandle } from 'vue'\nimport {\n computed,\n defineComponent,\n shallowRef,\n ref,\n watchEffect,\n inject,\n watch,\n toRaw,\n triggerRef,\n onActivated,\n isReactive,\n toRef,\n} from 'vue'\nimport { Spin, Pagination } from 'ant-design-vue'\nimport { baseTableProps } from './interface'\nimport { DOWN, LEFT, UP } from './Drag/constant'\nimport { addNestItemData, deleteNestItemData } from '../utils/util'\nimport { useEditProvider } from '../hooks/useEdit'\nimport { useProvidePopup } from './context/PopupContext'\nimport { useHScrollSyncProvide } from '../hooks/useHScrollSync'\nimport { useVScrollSyncProvide } from '../hooks/useVScrollSync'\nimport { useProvideTable } from './context/TableContext'\nimport { useProvideRangeStore } from '../hooks/useRangeStore'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { resize } from '@pro-design-vue/directives'\nimport { omit, debounce, isPromise } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport { DEFAULT_LOCALE } from '@pro-design-vue/constants'\nimport { useInjectContainer } from '../hooks/useContainer'\nimport useKVMap from '../hooks/useKVMap'\nimport useLicense from '../hooks/useLicense'\nimport devWarning from '../utils/devWarning'\nimport eagerComputed from '../utils/eagerComputed'\nimport getScrollBarSize from '../utils/getScrollBarSize'\nimport useColumns from '../hooks/useColumns'\nimport useSorter from '../hooks/useSorter'\nimport useFilter from '../hooks/useFilter'\nimport useCal from '../hooks/useCal'\nimport useFlattenRecords from '../hooks/useFlattenRecords'\nimport useSelection from '../hooks/useRowSelection'\nimport usePagination, { getPaginationParam } from '../hooks/usePagination'\nimport raf from '../utils/raf'\nimport easeoutScroll from '../utils/easeoutScroll'\nimport useData from '../hooks/useData'\nimport supportSticky from '../utils/supportSticky'\nimport classNames from '../utils/classNames'\nimport useCellProps from '../hooks/useCellProps'\nimport KeyCode from '../utils/KeyCode'\nimport TableSlotsContextProvider from './context/TableSlotsContext'\nimport MeasureWidth from './MeasureWidth.vue'\nimport PopupContainer from './PopupContainer.vue'\nimport AutoHeightHeader from './AutoHeightHeader/Header.vue'\nimport Header from './Header/Header.vue'\nimport Body from './Body/Body.vue'\n\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type {\n GetRowKey,\n Key,\n SorterResult,\n TableLocale,\n ColumnType,\n ResizeActionType,\n DragRowEventInfo,\n DragColumnEventInfo,\n DefaultRecordType,\n TableAction,\n} from './interface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { RangeCell } from '../hooks/RangeInterface'\nimport type { SortState } from '../hooks/useSorter'\nimport type { FilterState } from '../hooks/useFilter'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport type FilterValue = (Key | boolean)[]\nexport interface ChangeEventInfo<RecordType> {\n pagination: {\n current?: number\n pageSize?: number\n total?: number\n }\n filters: Record<string, FilterValue | null>\n sorter: SorterResult<RecordType> | SorterResult<RecordType>[]\n filterStates: FilterState<RecordType>[]\n sorterStates: SortState<RecordType>[]\n currentDataSource: RecordType[]\n action: TableAction\n}\nconst EMPTY_LIST: any[] = []\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n directives: { resize },\n components: {\n TableSlotsContextProvider,\n Spin,\n MeasureWidth,\n Pagination,\n PopupContainer,\n AutoHeightHeader,\n ProHeader: Header,\n ProBody: Body,\n },\n props: baseTableProps(),\n emits: [\n 'update:pagination',\n 'scroll',\n 'update:selectedRowKeys',\n 'update:expandedRowKeys',\n 'update:columns',\n 'update:sorter',\n 'update:filters',\n 'expand',\n 'expandedRowsChange',\n 'resizeColumn',\n 'update:dataSource',\n 'cellKeydown',\n ],\n slots: {} as CustomSlotsType<ContextSlots>,\n setup(props, { expose, emit, slots }) {\n const { table } = useProConfigInject()\n const counter = useInjectContainer()\n const rowKey = computed(() => props.rowKey ?? table?.value?.rowKey ?? 'id')\n const popupContainer = shallowRef<any>(null)\n const customUiCls = usePrefixCls('custom-ui')\n const { editCellKeys, openEditor, closeEditor } = useEditProvider()\n\n useProvidePopup()\n\n const getPopupContainer = computed(() => props.getPopupContainer!)\n const { status, watermarkMsg } = useLicense()\n\n const dragRowsHandle = new Map<Key, Set<HTMLSpanElement>>()\n const draggingRowKey = ref<Key | null>(null)\n const insertToRowKey = ref<Key | null>(null)\n const dragColumnsHandle = new Map<Key, Set<HTMLDivElement>>()\n const draggingColumnKey = ref<Key>('')\n const latestRangeStartCell = shallowRef<RangeCell | null>(null)\n const mergedSummaryFixed = computed(() =>\n props.summaryFixed === true || props.summaryFixed === ('' as any)\n ? 'bottom'\n : (props.summaryFixed ?? table?.value?.summaryFixed ?? false),\n )\n const realHeaderHeight = ref(0)\n\n watchEffect(() => {\n devWarning(\n !(typeof rowKey.value == 'function' && rowKey.value.length > 1),\n 'table',\n '`index` parameter of `rowKey` function is deprecated. There is no guarantee that it will work as expected.',\n )\n })\n\n const localeData: any = inject('localeData', {\n antLocale: {\n Table: {\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting',\n },\n },\n })\n\n const locale = computed<TableLocale>(() => {\n const antLocale = localeData?.antLocale || {}\n return {\n ...(antLocale.locale === DEFAULT_LOCALE.toLocaleLowerCase()\n ? {\n triggerDesc: '\\u70B9\\u51FB\\u964D\\u5E8F',\n triggerAsc: '\\u70B9\\u51FB\\u5347\\u5E8F',\n cancelSort: '\\u53D6\\u6D88\\u6392\\u5E8F',\n }\n : {}),\n ...(antLocale.Table || {}),\n ...(props.locale || {}),\n }\n })\n\n const scrollTop = ref(0)\n const scrollLeft = ref(0)\n const rootRef = ref<HTMLDivElement>()\n const bodyWidth = ref(0)\n const bodyHeight = ref(0)\n const measureWidthRef = shallowRef<HTMLDivElement>()\n\n const mergedScrollX = eagerComputed(() => props.scrollX ?? props.scroll?.x)\n const mergedScrollY = eagerComputed(() => props.scroll?.y ?? props.height ?? props.maxHeight)\n const bodyScrollWidth = ref(typeof mergedScrollX.value == 'number' ? mergedScrollX.value : 0)\n\n watch(mergedScrollX, () => {\n bodyScrollWidth.value = typeof mergedScrollX.value == 'number' ? mergedScrollX.value : 0\n })\n\n const virtual = eagerComputed<boolean>(() => !(props.virtual === false || !mergedScrollY.value))\n const xVirtual = eagerComputed<boolean>(\n () => props.xVirtual || (props.virtual !== false && props.xVirtual !== false),\n )\n\n const getRowKey = computed<GetRowKey>(() =>\n typeof rowKey.value == 'function'\n ? rowKey.value\n : (record: Record<string, any>) => {\n return record?.[rowKey.value as string]\n },\n )\n\n const rawData = shallowRef<DefaultRecordType[]>([])\n const rawColumns = shallowRef<ColumnType[]>([])\n\n let dataSourceWatchStopHandle: WatchStopHandle\n let columnsWatchStopHandle: WatchStopHandle\n watch(\n () => props.deepWatchDataSource,\n () => {\n dataSourceWatchStopHandle && dataSourceWatchStopHandle()\n dataSourceWatchStopHandle = watch(\n () => props.dataSource,\n () => {\n rawData.value = toRaw(props.dataSource) || EMPTY_LIST\n triggerRef(rawData)\n },\n { immediate: true, deep: !!props.deepWatchDataSource },\n )\n },\n { immediate: true, deep: true },\n )\n\n watch(\n () => props.deepWatchColumns,\n () => {\n columnsWatchStopHandle && columnsWatchStopHandle()\n columnsWatchStopHandle = watch(\n () => props.columns,\n () => {\n rawColumns.value = toRaw(props.columns) || EMPTY_LIST\n triggerRef(rawColumns)\n },\n { immediate: true, deep: true },\n )\n },\n { immediate: true, deep: !!props.deepWatchColumns },\n )\n\n const childrenColumnName = computed(\n () => props.childrenColumnName ?? table?.value?.childrenColumnName ?? 'children',\n )\n\n const { getRecordByKey, getIndexsByKey, getKeyByIndexs, allDataRowKeys, allDataRootRowKeys } =\n useKVMap(rawData, childrenColumnName, getRowKey)\n\n const defaultExpandedRowKeys = shallowRef<Key[]>([])\n watchEffect(() => {\n props.defaultExpandedRowKeys && (defaultExpandedRowKeys.value = props.defaultExpandedRowKeys)\n props.defaultExpandAllRows && (defaultExpandedRowKeys.value = allDataRowKeys.value)\n })\n\n const mergedRowSelection = computed(() => {\n const rowSelection = props.rowSelection || {}\n const { checkStrictly = true } = rowSelection\n return { ...rowSelection, checkStrictly }\n })\n\n const expandedRowKeys = computed(\n () => new Set(props.expandedRowKeys || defaultExpandedRowKeys.value || []),\n )\n\n const spinProps = computed<SpinProps>(() => {\n if (typeof props.loading === 'boolean') {\n return { spinning: props.loading }\n } else if (typeof props.loading === 'object') {\n return { spinning: true, ...props.loading }\n } else {\n return { spinning: false }\n }\n })\n\n onActivated(() => {\n scrollTo({ left: 0, top: 0 })\n })\n\n let triggerOnChange: any = () => {}\n\n const scrollBarSize = shallowRef(getScrollBarSize())\n const baseHeight = computed(() =>\n props.size === 'small' ? 39 : props.size === 'middle' ? 47 : 55,\n )\n const expandedRowRender = computed(() => props.expandedRowRender)\n const expandType = eagerComputed(() =>\n rawData.value.some((column) => column?.[childrenColumnName.value])\n ? 'nest'\n : expandedRowRender.value\n ? 'row'\n : null,\n )\n const expandable = eagerComputed(() => !!props.expandedRowRender)\n\n const columns = useColumns({\n props,\n rawColumns,\n bodyScrollWidth,\n baseHeight,\n measureWidthRef,\n expandable,\n expandType,\n scrollLeft,\n bodyWidth,\n xVirtual,\n draggingColumnKey,\n latestRangeStartCell,\n })\n\n const { sortedData, sorterStates, sorter, changeSorter } = useSorter(\n props,\n rawData,\n columns.allColumns,\n (sorter, sorterStates) => {\n scrollTop.value > bodyHeight.value && updateAnimate()\n triggerOnChange({ sorter, sorterStates }, 'sort', false)\n },\n )\n\n const { filterData, filterStates, filters, changeFilter } = useFilter(\n props,\n sortedData,\n columns.allColumns,\n (filters, filterStates) => {\n triggerOnChange({ filters, filterStates }, 'filter', true)\n },\n )\n\n const total = eagerComputed(() => filterData.value.length)\n const paginationParam = computed(() => {\n if (props.pagination === false) {\n return {}\n }\n return getPaginationParam(props.pagination, mergedPagination.value)\n })\n\n const triggeronPaginationChange = (current: number, pageSize: number) => {\n const pagination = { ...paginationParam.value, current, pageSize }\n props['onUpdate:pagination'] &&\n emit(\n 'update:pagination',\n isReactive(props.pagination)\n ? Object.assign(props.pagination || {}, pagination)\n : pagination,\n )\n }\n\n const {\n mergedPagination,\n pos,\n refreshPagination,\n onChange: onPaginationChange,\n onShowSizeChange,\n pageData,\n } = usePagination(total, props, filterData, (current, pageSize) => {\n const pagination = { ...paginationParam.value, current, pageSize }\n triggeronPaginationChange(current, pageSize)\n updateAnimate()\n triggerOnChange({ pagination }, 'paginate')\n })\n\n const {\n flattenData,\n keyEntities,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n checkboxPropsMap,\n getRowFlattenIndexByKey,\n isMyChildren,\n getRowByFlattenIndex,\n } = useFlattenRecords(\n pageData,\n childrenColumnName,\n expandedRowKeys,\n getRowKey,\n expandType,\n mergedRowSelection,\n )\n\n const cal = useCal(props, flattenData, bodyHeight, scrollTop, virtual, keyEntities)\n\n const { rowPosition, viewportHeight, startIndex, endIndex } = cal\n const { leftWidth, rightWidth, centerWidth, bodyMaxWidth } = columns\n\n const selection = useSelection(props, mergedRowSelection, rawData, {\n prefixCls: computed(() => props.prefixCls!),\n pageData,\n getRowKey,\n getRecordByKey,\n childrenColumnName,\n locale,\n flattenData,\n keyEntities,\n checkboxPropsMap,\n allDataRowKeys,\n allDataRootRowKeys,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n })\n\n const bodyRef = ref<HTMLDivElement>()\n let leftRaf: any, topRaf: any\n\n const scrollTo = (options: any = {}, type = 'auto', isAnimate = false) => {\n if (!isAnimate) {\n updateAnimate()\n }\n const mergeOptions = typeof options == 'number' ? { top: options } : options\n let left, top\n if ('left' in mergeOptions) {\n left = mergeOptions.left || 0\n } else if ('columnIndex' in mergeOptions) {\n const position = columns.getColumnPosition(mergeOptions.columnIndex!)\n if (position) {\n left = position.left - leftWidth.value\n }\n } else if ('columnKey' in mergeOptions) {\n const position = columns.getColumnPositionByKey(mergeOptions.columnKey!)\n if (position) {\n left = position.left - leftWidth.value\n }\n }\n if ('top' in mergeOptions) {\n top = Math.min(Math.max(mergeOptions.top || 0, 0), maxScrollTop.value)\n } else if ('rowKey' in mergeOptions) {\n const pos = cal.getRowPositionByKey(mergeOptions.rowKey!)\n if (pos) {\n top = pos\n }\n }\n\n left = Math.max(Math.min(maxScrollLeft.value, left || 0), 0)\n if (!showVerticalScrollbar.value) {\n top = 0\n }\n if (type === 'smooth') {\n if (left !== undefined) {\n raf.cancel(leftRaf)\n leftRaf = easeoutScroll(scrollLeft.value, left, (val: number) => {\n scrollLeft.value = val\n })\n }\n if (top !== undefined) {\n raf.cancel(topRaf)\n topRaf = easeoutScroll(scrollTop.value, top, (val: number) => {\n scrollTop.value = val\n })\n }\n } else {\n if (left !== undefined) {\n scrollLeft.value = left\n }\n if (top !== undefined) {\n scrollTop.value = top\n }\n }\n }\n\n const useAnimate = ref(false)\n const animateRows = computed(() => {\n return !!(props.animateRows ?? table?.value?.animateRows)\n })\n\n let timer: any\n watch(\n animateRows,\n (newVal) => {\n useAnimate.value = newVal\n },\n { immediate: true },\n )\n\n const updateAnimate = () => {\n useAnimate.value = false\n clearTimeout(timer)\n timer = setTimeout(() => {\n useAnimate.value = animateRows.value\n }, 100)\n }\n\n const maxScrollLeft = computed(() => bodyMaxWidth.value - bodyWidth.value)\n const maxScrollTop = computed(() => viewportHeight.value - bodyHeight.value)\n const onScroll = (e) => {\n emit('scroll', e)\n }\n\n useHScrollSyncProvide({ scrollLeft, maxScrollLeft, onScroll, bodyWidth })\n useVScrollSyncProvide({ scrollTop, maxScrollTop, onScroll, updateAnimate, bodyWidth })\n\n const { data, pos: dataRowPosition } = useData(\n props,\n rowPosition,\n flattenData,\n startIndex,\n endIndex,\n draggingRowKey,\n useAnimate,\n getRowFlattenIndexByKey,\n latestRangeStartCell,\n )\n\n const pingedLeft = ref(false)\n const pingedRight = ref(false)\n const noPinged = ref(false)\n\n watchEffect(() => {\n pingedLeft.value = supportSticky && !!scrollLeft.value\n pingedRight.value =\n supportSticky &&\n centerWidth.value - (bodyWidth.value - leftWidth.value - rightWidth.value) >\n scrollLeft.value\n noPinged.value = !pingedLeft.value && !pingedRight.value\n })\n\n const rootClass = computed(() =>\n classNames({\n [`${props.prefixCls}`]: true,\n [`${props.prefixCls}-support-sticky`]: supportSticky,\n [`${props.prefixCls}-stripe`]: props.stripe,\n [`${props.prefixCls}-bordered`]: props.bordered ?? table?.value?.bordered,\n [`${props.prefixCls}-${props.size}`]: true,\n [`${props.prefixCls}-ping-left`]: pingedLeft.value,\n [`${props.prefixCls}-ping-right`]: pingedRight.value,\n [`${props.prefixCls}-no-ping`]: noPinged.value,\n [`${props.prefixCls}-has-animate`]: animateRows.value,\n }),\n )\n const rootStyle = computed(() => ({\n height: typeof props.height == 'number' ? `${props.height}px` : props.height,\n maxHeight: typeof props.maxHeight == 'number' ? `${props.maxHeight}px` : props.maxHeight,\n minHeight: typeof props.minHeight == 'number' ? `${props.minHeight}px` : props.minHeight,\n }))\n\n const showHorizontalScrollbar = ref(false)\n const debounceFn = debounce(() => {\n showHorizontalScrollbar.value = bodyMaxWidth.value > bodyWidth.value\n if (bodyWidth.value > bodyScrollWidth.value) {\n bodyScrollWidth.value = bodyWidth.value\n }\n }, 100)\n\n watch([bodyMaxWidth, bodyWidth], () => {\n debounceFn()\n })\n\n const showVerticalScrollbar = eagerComputed(\n () => !!mergedScrollY.value && bodyHeight.value + 0.9 < viewportHeight.value,\n )\n const scrollToFirstRow = eagerComputed(\n () => !props.scroll || (props.scroll && props.scroll.scrollToFirstRowOnChange !== false),\n )\n\n triggerOnChange = (\n info: Partial<ChangeEventInfo<DefaultRecordType>>,\n action: TableAction,\n reset = false,\n ) => {\n if (reset) {\n refreshPagination()\n triggeronPaginationChange(1, mergedPagination.value.pageSize!)\n if (props.pagination) {\n props.pagination.onChange?.(1, mergedPagination.value.pageSize)\n }\n }\n if (scrollToFirstRow.value) {\n scrollTop.value = 0\n }\n props.onChange?.(\n info.pagination || mergedPagination.value,\n info.filters || filters.value,\n info.sorter || sorter.value,\n {\n currentDataSource: info.currentDataSource || filterData.value,\n action,\n },\n )\n }\n\n const paginationProps = computed(() => {\n return omit(mergedPagination.value, ['position', 'onChange', 'onShowSizeChange'])\n })\n\n const paginationClass = computed(() => {\n return {\n [`${props.prefixCls}-pagination`]: true,\n [`${props.prefixCls}-pagination-${pos.value.bottom}`]: true,\n [`${customUiCls}`]: true,\n }\n })\n const bottomPaginationHeight = ref(0)\n const bottomPaginationStyle = computed<any>(() => {\n if (!props.paginationSticky) {\n return {}\n }\n if (props.paginationSticky === true) {\n return { position: 'sticky', 'z-index': 9, bottom: '0px' }\n }\n return {\n position: 'sticky',\n 'z-index': 9,\n bottom: counter.hasFullScreen.value\n ? '0px'\n : `${props.paginationSticky?.offsetBottom ?? 0}px`,\n }\n })\n\n const indentSize = computed(() => (typeof props.indentSize == 'number' ? props.indentSize : 15))\n\n const cellProps = useCellProps({\n leftColumns: columns.leftColumns,\n rightColumns: columns.rightColumns,\n visibleCenterColumns: columns.visibleCenterColumns,\n allColumns: columns.allColumns,\n data,\n mergedRowHeights: cal.mergedRowHeights,\n startIndex,\n getColumnPosition: columns.getColumnPosition,\n bodyWidth,\n leftWidth,\n centerWidth,\n getRowHeight: cal.getRowHeight,\n customCell: toRef(props, 'customCell'),\n })\n\n watch(\n [realHeaderHeight, scrollLeft],\n () => {\n popupContainer.value?.alignPopup?.()\n },\n { flush: 'post' },\n )\n\n useProvideTable({\n ...cal,\n ...columns,\n ...cellProps,\n rootRef,\n rawData,\n getRowFlattenIndexByKey,\n prefixCls: computed(() => props.prefixCls!),\n draggingRowKey,\n insertToRowKey,\n status,\n useAnimate,\n animateRows,\n watermarkMsg,\n onResizeColumn: (w: number, col: ColumnType, action: ResizeActionType) => {\n const width = col.width\n const result = props.onResizeColumn?.(w, col, action)\n if (result !== false) {\n if (!(width === w && col.width === w)) {\n col.width = width !== col.width ? col.width : w\n triggerRef(rawColumns)\n }\n if (action === 'end') {\n emit('update:columns', rawColumns.value, 'resize')\n }\n }\n },\n onRowDragEnd: (opt: DragRowEventInfo) => {\n const { insertToRowKey, record, fromIndexs, rowKey, dir, preTargetInfo, nextTargetInfo } =\n opt\n const rawRecord = toRaw(record)\n const dragEnd = props.onRowDragEnd?.({ ...opt, record: rawRecord, fromIndexs })\n if (dragEnd === false) {\n return\n }\n\n const handler = () => {\n if (!isMyChildren(rowKey, preTargetInfo?.rowKey as Key) && insertToRowKey !== rowKey) {\n if (insertToRowKey !== null) {\n const parentRecord = getRecordByKey(insertToRowKey)\n if (\n insertToRowKey === preTargetInfo?.rowKey ||\n insertToRowKey === nextTargetInfo?.rowKey\n ) {\n if (dir === DOWN) {\n addNestItemData(\n parentRecord[childrenColumnName.value],\n [],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n parentRecord[childrenColumnName.value],\n [],\n childrenColumnName.value,\n rawRecord,\n )\n }\n } else {\n if (dir === DOWN) {\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs as number[],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs as number[],\n childrenColumnName.value,\n rawRecord,\n )\n }\n }\n } else {\n if (dir === DOWN && preTargetInfo) {\n addNestItemData(\n rawData.value,\n [preTargetInfo.indexs[0]!],\n childrenColumnName.value,\n rawRecord,\n )\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n } else if (dir === UP && nextTargetInfo) {\n deleteNestItemData(rawData.value, fromIndexs, childrenColumnName.value)\n addNestItemData(\n rawData.value,\n preTargetInfo?.indexs ? [preTargetInfo!.indexs[0]!] : [],\n childrenColumnName.value,\n rawRecord,\n )\n }\n }\n triggerRef(rawData)\n emit('update:dataSource', rawData.value)\n }\n }\n if (isPromise(dragEnd)) {\n dragEnd\n .then(() => {\n handler()\n })\n .catch(() => {})\n } else {\n handler()\n }\n },\n virtual,\n xVirtual,\n dataRowPosition,\n rawColumns,\n bodyHeight,\n scrollTop,\n scrollLeft,\n supportSticky,\n childrenColumnName,\n bodyScrollWidth,\n baseHeight,\n startIndex,\n data,\n pageData,\n getRecordByKey,\n getIndexsByKey,\n expandType,\n flattenData,\n expandedRowKeys,\n indentSize,\n props,\n bodyWidth,\n scrollTo,\n scrollBarSize,\n leftWidth,\n rightWidth,\n centerWidth,\n showVerticalScrollbar,\n showHorizontalScrollbar,\n getRowKey,\n selection,\n updateSelectedRowKeys: (keys: Key[]) => {\n emit('update:selectedRowKeys', keys)\n },\n locale,\n sorterStates,\n changeSorter,\n changeFilter,\n filterStates,\n onTriggerExpand: (record, key: Key) => {\n let keys: Key[]\n const hasKey = expandedRowKeys.value.has(key)\n if (hasKey) {\n expandedRowKeys.value.delete(key)\n keys = [...expandedRowKeys.value]\n } else {\n keys = [...expandedRowKeys.value, key]\n }\n defaultExpandedRowKeys.value = keys\n emit('update:expandedRowKeys', keys)\n emit('expand', !hasKey, record)\n emit('expandedRowsChange', keys)\n },\n keyEntities,\n pageDataRowKeys,\n pageDataEnableRowKeys,\n checkboxPropsMap,\n mergedRowSelection,\n getPopupContainer,\n allDataRowKeys,\n allDataRootRowKeys,\n dragRowsHandle,\n isMyChildren,\n getKeyByIndexs,\n getRowByFlattenIndex,\n draggingColumnKey,\n dragColumnsHandle,\n onColumnDragEnd: (arg: DragColumnEventInfo) => {\n const { dir, column, targetColumn } = arg\n const dragEnd = props.onColumnDragEnd?.(arg)\n if (dragEnd === false) {\n return\n }\n\n const handler = () => {\n if (column === targetColumn || column.key === targetColumn.key) return\n const index = rawColumns.value.findIndex(\n (col) => col === column || col.key === column.key,\n )\n const targetIndex = rawColumns.value.findIndex(\n (col) => col === targetColumn || col.key === targetColumn.key,\n )\n if (dir === LEFT) {\n rawColumns.value.splice(index, 1)\n rawColumns.value.splice(targetIndex, 0, column)\n } else {\n rawColumns.value.splice(targetIndex + 1, 0, column)\n rawColumns.value.splice(index, 1)\n }\n triggerRef(rawColumns)\n emit('update:columns', rawColumns.value, 'drag')\n }\n\n if (isPromise(dragEnd)) {\n dragEnd\n .then(() => {\n handler()\n })\n .catch(() => {})\n } else {\n handler()\n }\n },\n onColumnDrag: () => {},\n columnDrag: computed(() => props.columnDrag),\n summaryFixed: mergedSummaryFixed,\n realHeaderHeight,\n bottomPaginationHeight,\n pos,\n })\n\n const tabGuardTopRef = ref()\n const tabGuardBottomRef = ref()\n\n const {\n navigationService,\n getSelectedRange,\n clearAllSelectedRange,\n copySelectedRange,\n appendCellToSelectedRange,\n onBodyKeydown,\n } = useProvideRangeStore({\n allColumns: columns.allColumns,\n flattenData,\n rangeSelection: computed(() => props.rangeSelection),\n getRowByFlattenIndex,\n rootRef,\n prefixCls: computed(() => props.prefixCls!),\n allCellProps: cellProps.allCellProps,\n tabGuardTopRef,\n tabGuardBottomRef,\n ensureCellColumnVisible: (cell: RangeCell) => {\n if (!cell.column || cell.column.fixed) return\n const sl = scrollLeft.value\n const pos = columns.getColumnPositionByKey(cell.column.columnKey)\n if (pos) {\n const { width, left } = pos\n const lw = leftWidth.value\n const rw = rightWidth.value\n left - lw < sl\n ? (scrollLeft.value = left - lw)\n : left + width > sl + bodyWidth.value - rw &&\n (scrollLeft.value = left + width - bodyWidth.value + rw)\n }\n },\n ensureCellRowVisible: (cell: RangeCell) => {\n const { rowIndex } = cell\n const st = scrollTop.value\n const row = getRowByFlattenIndex(rowIndex)\n const pos = cal.getRowPositionByKey(row.rowKey)\n const cprops =\n (cellProps.allCellProps.value[row.rowKey]?.[cell.column!.columnKey] || {}).props || {}\n const height = cal.getRowHeight(rowIndex, cprops.rowSpan)\n if (pos !== undefined) {\n updateAnimate()\n if (pos < st) {\n scrollTop.value = pos\n } else {\n if (pos + height > st + bodyHeight.value) {\n scrollTop.value = pos + height - bodyHeight.value\n }\n }\n }\n },\n latestRangeStartCell,\n bodyRef: computed(() => {\n return (bodyRef.value as any)?.bodyRef\n }),\n scrollLeft,\n scrollTop,\n scrollTo,\n showVerticalScrollbar,\n showHorizontalScrollbar,\n getIndexsByKey,\n formatRangeCellText: (parmas) => {\n if (props.formatRangeCellText) {\n return props.formatRangeCellText(parmas)\n } else if (parmas.value) {\n return parmas.value\n }\n return ''\n },\n editCellKeys,\n copyDelimiter: computed(() => props.copyDelimiter),\n })\n\n expose({\n scrollTo,\n scrollLeft,\n scrollTop,\n bodyRef: computed(() => {\n return (bodyRef.value as any)?.bodyRef\n }),\n getSelectedRange,\n clearAllSelectedRange,\n copySelectedRange,\n appendCellToSelectedRange,\n openEditor: (cellInfos: any[]) => {\n openEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`))\n },\n closeEditor: (cellInfos: any[]) => {\n if (cellInfos) {\n closeEditor(cellInfos.map((info) => `${info.rowKey} ${info.columnKey}`))\n } else {\n closeEditor()\n }\n },\n })\n\n return {\n bodyRef,\n spinProps,\n rowPosition,\n viewportHeight,\n startIndex,\n data,\n watermarkMsg,\n rootStyle,\n rootClass,\n onBodyKeydown,\n watermarkStyle: computed<any>(() => ({\n minWidth: '100px!important',\n minHeight: '40px!important',\n position: 'absolute!important',\n fontSize: '20px!important',\n opacity: '0.8!important',\n bottom: '40px!important',\n right: '40px!important',\n pointerEvents: 'none',\n display: 'block!important',\n zIndex: '999999!important',\n color: '#000000!important',\n margin: '0px!important',\n padding: '0px!important',\n transform: 'unset!important',\n })),\n mergedPagination,\n pos,\n onPaginationChange,\n scrollBarSize,\n scrollTop,\n bodyScrollWidth,\n bodyWidth,\n scrollLeft,\n cal,\n selection,\n locale,\n paginationProps,\n slots,\n mergedScrollX,\n mergedScrollY,\n bodyHeight,\n measureWidthRef,\n flattenData,\n rootRef,\n mergedSummaryFixed,\n handleResize: (e: CustomEvent) => {\n realHeaderHeight.value = e.detail.height\n },\n handlePaginationResize: (e: CustomEvent) => {\n bottomPaginationHeight.value = e.detail.height\n },\n popupContainer,\n handleGuardTopKeydown: (e: KeyboardEvent) => {\n e.keyCode !== KeyCode.TAB ||\n e.shiftKey ||\n (navigationService.getFirstCellToFocus(e.shiftKey), e.preventDefault())\n },\n handleGuardBottomKeydown: (e: KeyboardEvent) => {\n e.keyCode === KeyCode.TAB &&\n e.shiftKey &&\n (navigationService.getLastCellToFocus(e.shiftKey), e.preventDefault())\n },\n tabGuardTopRef,\n tabGuardBottomRef,\n onShowSizeChange,\n customUiCls,\n paginationClass,\n bottomPaginationStyle,\n }\n },\n})\n</script>\n\n<template>\n <TableSlotsContextProvider :value=\"{ ...slots }\">\n <Spin v-bind=\"spinProps\">\n <Pagination\n v-if=\"pos.top\"\n :class=\"`${prefixCls}-pagination ${prefixCls}-pagination-${pos.top} ${customUiCls}`\"\n v-bind=\"paginationProps\"\n @change=\"onPaginationChange\"\n @show-size-change=\"onShowSizeChange\"\n />\n <div\n ref=\"tabGuardTopRef\"\n role=\"presentation\"\n tabindex=\"0\"\n :style=\"{ position: 'absolute', width: '0', height: '0' }\"\n @keydown=\"handleGuardTopKeydown\"\n ></div>\n <div key=\"content\" ref=\"ref\" :class=\"rootClass\" :style=\"rootStyle\">\n <template v-if=\"showHeader\">\n <AutoHeightHeader\n v-if=\"autoHeaderHeight\"\n :prefix-cls=\"prefixCls\"\n :sticky=\"sticky\"\n @resizeheight=\"handleResize\"\n />\n <ProHeader v-else :prefix-cls=\"prefixCls\" :sticky=\"sticky\" @resizeheight=\"handleResize\" />\n </template>\n <ProBody\n ref=\"bodyRef\"\n v-model:bodyScrollWidth=\"bodyScrollWidth\"\n v-model:bodyWidth=\"bodyWidth\"\n v-model:bodyHeight=\"bodyHeight\"\n :prefix-cls=\"prefixCls\"\n :wrap-text=\"wrapText\"\n :scroll-x=\"mergedScrollX\"\n :height=\"mergedScrollY\"\n :summary-fixed=\"mergedSummaryFixed\"\n :summary=\"$slots.summary\"\n :empty-text=\"$slots.emptyText\"\n @keydown=\"onBodyKeydown\"\n />\n </div>\n <div\n ref=\"tabGuardBottomRef\"\n role=\"presentation\"\n tabindex=\"0\"\n :style=\"{ position: 'absolute', width: '0', height: '0' }\"\n @keydown=\"handleGuardBottomKeydown\"\n ></div>\n <div v-if=\"$slots.footer\" key=\"footer\" :class=\"`${prefixCls}-footer`\">\n <slot name=\"footer\" />\n </div>\n <PopupContainer ref=\"popupContainer\" :prefix-cls=\"prefixCls\" />\n <div\n v-if=\"pos.bottom\"\n v-resize:height\n :style=\"bottomPaginationStyle\"\n :class=\"`${prefixCls}-pagination-wrap`\"\n @resizeheight=\"handlePaginationResize\"\n >\n <Pagination\n :class=\"paginationClass\"\n v-bind=\"paginationProps\"\n @change=\"onPaginationChange\"\n @show-size-change=\"onShowSizeChange\"\n />\n </div>\n </Spin>\n <MeasureWidth ref=\"measureWidthRef\" />\n </TableSlotsContextProvider>\n</template>\n"],"names":["_createBlock","_createVNode","_normalizeProps","_guardReactiveProps","_withCtx","_openBlock","_mergeProps","_createCommentVNode","_createElementVNode","_normalizeClass","_normalizeStyle","_createElementBlock","_Fragment","_renderSlot","_withDirectives"],"mappings":"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"}
@@ -13,6 +13,7 @@ var useHScrollSync = require('../hooks/useHScrollSync.js');
13
13
  var useVScrollSync = require('../hooks/useVScrollSync.js');
14
14
  var TableContext = require('./context/TableContext.js');
15
15
  var useRangeStore = require('../hooks/useRangeStore.js');
16
+ var useContainer = require('../hooks/useContainer.js');
16
17
  var useKVMap = require('../hooks/useKVMap.js');
17
18
  var useLicense = require('../hooks/useLicense.js');
18
19
  var devWarning = require('../utils/devWarning.js');
@@ -79,6 +80,7 @@ var _sfc_main = vue.defineComponent({
79
80
  slots: {},
80
81
  setup(props, { expose, emit, slots }) {
81
82
  const { table } = context.useProConfigInject();
83
+ const counter = useContainer.useInjectContainer();
82
84
  const rowKey = vue.computed(() => {
83
85
  var _a, _b, _c;
84
86
  return (_c = (_b = props.rowKey) != null ? _b : (_a = table == null ? void 0 : table.value) == null ? void 0 : _a.rowKey) != null ? _c : "id";
@@ -505,7 +507,7 @@ var _sfc_main = vue.defineComponent({
505
507
  return {
506
508
  position: "sticky",
507
509
  "z-index": 9,
508
- bottom: `${(_b = (_a = props.paginationSticky) == null ? void 0 : _a.offsetBottom) != null ? _b : 0}px`
510
+ bottom: counter.hasFullScreen.value ? "0px" : `${(_b = (_a = props.paginationSticky) == null ? void 0 : _a.offsetBottom) != null ? _b : 0}px`
509
511
  };
510
512
  });
511
513
  const indentSize = vue.computed(() => typeof props.indentSize == "number" ? props.indentSize : 15);