pro-design-vue 1.0.0 → 1.1.1

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 (145) hide show
  1. package/dist/index.full.js +52 -22
  2. package/dist/index.full.min.js +7 -7
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +8 -8
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +52 -22
  7. package/es/components/config-provider/src/config-provider-container.vue2.mjs +2 -0
  8. package/es/components/config-provider/src/config-provider-container.vue2.mjs.map +1 -1
  9. package/es/components/config-provider/src/config-provider.vue2.mjs +4 -2
  10. package/es/components/config-provider/src/config-provider.vue2.mjs.map +1 -1
  11. package/es/components/config-provider/src/typing.d.ts +6 -0
  12. package/es/components/config-provider/src/useTokens.d.ts +24 -0
  13. package/es/components/config-provider/src/useTokens.mjs +58 -0
  14. package/es/components/config-provider/src/useTokens.mjs.map +1 -0
  15. package/es/components/counter/src/counter.vue.d.ts +2 -2
  16. package/es/components/form/src/Form.d.ts +10 -10
  17. package/es/components/form/src/base/BaseForm.d.ts +1 -1
  18. package/es/components/form/src/base/StepForm.d.ts +1 -1
  19. package/es/components/form/src/components/FormGroup.d.ts +50 -50
  20. package/es/components/form/src/components/FormList.d.ts +54 -54
  21. package/es/components/form/src/components/FormListContainer.d.ts +17 -17
  22. package/es/components/form/src/components/FormListItem.d.ts +16 -16
  23. package/es/components/form/src/components/FormRowWrapper.d.ts +12 -12
  24. package/es/components/form/src/components/FormSet.d.ts +51 -51
  25. package/es/components/form/src/fields/FieldCascader.d.ts +3 -3
  26. package/es/components/form/src/fields/FieldCheckbox.d.ts +1 -1
  27. package/es/components/form/src/fields/FieldCheckboxGroup.d.ts +1 -1
  28. package/es/components/form/src/fields/FieldDatePicker.d.ts +1 -1
  29. package/es/components/form/src/fields/FieldDateRangePicker.d.ts +2 -2
  30. package/es/components/form/src/fields/FieldDigit.d.ts +2 -2
  31. package/es/components/form/src/fields/FieldDigitRange.d.ts +3 -3
  32. package/es/components/form/src/fields/FieldPassword.d.ts +3 -3
  33. package/es/components/form/src/fields/FieldRadioGroup.d.ts +1 -1
  34. package/es/components/form/src/fields/FieldRate.d.ts +1 -1
  35. package/es/components/form/src/fields/FieldReadonly.d.ts +1 -1
  36. package/es/components/form/src/fields/FieldSelect.d.ts +1 -1
  37. package/es/components/form/src/fields/FieldSlider.d.ts +1 -1
  38. package/es/components/form/src/fields/FieldSwitch.d.ts +1 -1
  39. package/es/components/form/src/fields/FieldText.d.ts +3 -3
  40. package/es/components/form/src/fields/FieldTextarea.d.ts +3 -3
  41. package/es/components/form/src/fields/FieldTimePicker.d.ts +1 -1
  42. package/es/components/form/src/fields/FieldTimeRangePicker.d.ts +2 -2
  43. package/es/components/form/src/fields/FieldTreeSelect.d.ts +2 -2
  44. package/es/components/form/src/fields/FieldUploadButton.d.ts +2 -2
  45. package/es/components/form/src/fields/FieldUploadDragger.d.ts +2 -2
  46. package/es/components/form/src/fields/FieldUploadPicture.d.ts +6 -6
  47. package/es/components/form/src/fields/FieldUploadPictureList.d.ts +2 -2
  48. package/es/components/form/src/layouts/DrawerForm.d.ts +5 -5
  49. package/es/components/form/src/layouts/ModalForm.d.ts +1 -1
  50. package/es/components/form/src/layouts/QueryFilter.d.ts +10 -10
  51. package/es/components/form/src/layouts/StepsForm.d.ts +1 -1
  52. package/es/components/form/src/layouts/StepsForm.mjs +27 -17
  53. package/es/components/form/src/layouts/StepsForm.mjs.map +1 -1
  54. package/es/components/layout/src/layout.vue.d.ts +2 -2
  55. package/es/components/table/src/components/AutoHeightHeader/Header.vue.d.ts +3 -3
  56. package/es/components/table/src/components/AutoHeightHeader/HeaderRow.vue.d.ts +2 -2
  57. package/es/components/table/src/components/Body/EditInput.vue.d.ts +1 -1
  58. package/es/components/table/src/components/ColumnSetting/CheckboxList.vue.d.ts +1 -1
  59. package/es/components/table/src/components/ColumnSetting/ColumnSetting.vue.d.ts +2 -2
  60. package/es/components/table/src/components/ColumnSetting/GroupCheckboxList.vue.d.ts +1 -1
  61. package/es/components/table/src/components/Form/Form.d.ts +1 -1
  62. package/es/components/table/src/components/Header/Header.vue.d.ts +4 -4
  63. package/es/components/table/src/components/Header/HeaderCell.vue.d.ts +2 -2
  64. package/es/components/table/src/components/Header/HeaderGroupCell.vue.d.ts +1 -1
  65. package/es/components/table/src/components/Header/HeaderRows.vue.d.ts +3 -3
  66. package/es/components/table/src/components/Header/HeaderRowsWrap.vue.d.ts +3 -3
  67. package/es/components/table/src/components/InteralTable.vue.d.ts +12 -12
  68. package/es/components/table/src/components/Table.d.ts +5 -5
  69. package/es/components/table/src/components/ToolBar/ToolBar.vue.d.ts +3 -3
  70. package/es/components/table/src/hooks/useFetchData.mjs +20 -2
  71. package/es/components/table/src/hooks/useFetchData.mjs.map +1 -1
  72. package/es/index.d.ts +42 -37
  73. package/es/version.d.ts +1 -1
  74. package/es/version.mjs +1 -1
  75. package/es/version.mjs.map +1 -1
  76. package/lib/components/config-provider/src/config-provider-container.vue2.js +2 -0
  77. package/lib/components/config-provider/src/config-provider-container.vue2.js.map +1 -1
  78. package/lib/components/config-provider/src/config-provider.vue2.js +4 -2
  79. package/lib/components/config-provider/src/config-provider.vue2.js.map +1 -1
  80. package/lib/components/config-provider/src/typing.d.ts +6 -0
  81. package/lib/components/config-provider/src/useTokens.d.ts +24 -0
  82. package/lib/components/config-provider/src/useTokens.js +60 -0
  83. package/lib/components/config-provider/src/useTokens.js.map +1 -0
  84. package/lib/components/counter/src/counter.vue.d.ts +2 -2
  85. package/lib/components/form/src/Form.d.ts +10 -10
  86. package/lib/components/form/src/base/BaseForm.d.ts +1 -1
  87. package/lib/components/form/src/base/StepForm.d.ts +1 -1
  88. package/lib/components/form/src/components/FormGroup.d.ts +50 -50
  89. package/lib/components/form/src/components/FormList.d.ts +54 -54
  90. package/lib/components/form/src/components/FormListContainer.d.ts +17 -17
  91. package/lib/components/form/src/components/FormListItem.d.ts +16 -16
  92. package/lib/components/form/src/components/FormRowWrapper.d.ts +12 -12
  93. package/lib/components/form/src/components/FormSet.d.ts +51 -51
  94. package/lib/components/form/src/fields/FieldCascader.d.ts +3 -3
  95. package/lib/components/form/src/fields/FieldCheckbox.d.ts +1 -1
  96. package/lib/components/form/src/fields/FieldCheckboxGroup.d.ts +1 -1
  97. package/lib/components/form/src/fields/FieldDatePicker.d.ts +1 -1
  98. package/lib/components/form/src/fields/FieldDateRangePicker.d.ts +2 -2
  99. package/lib/components/form/src/fields/FieldDigit.d.ts +2 -2
  100. package/lib/components/form/src/fields/FieldDigitRange.d.ts +3 -3
  101. package/lib/components/form/src/fields/FieldPassword.d.ts +3 -3
  102. package/lib/components/form/src/fields/FieldRadioGroup.d.ts +1 -1
  103. package/lib/components/form/src/fields/FieldRate.d.ts +1 -1
  104. package/lib/components/form/src/fields/FieldReadonly.d.ts +1 -1
  105. package/lib/components/form/src/fields/FieldSelect.d.ts +1 -1
  106. package/lib/components/form/src/fields/FieldSlider.d.ts +1 -1
  107. package/lib/components/form/src/fields/FieldSwitch.d.ts +1 -1
  108. package/lib/components/form/src/fields/FieldText.d.ts +3 -3
  109. package/lib/components/form/src/fields/FieldTextarea.d.ts +3 -3
  110. package/lib/components/form/src/fields/FieldTimePicker.d.ts +1 -1
  111. package/lib/components/form/src/fields/FieldTimeRangePicker.d.ts +2 -2
  112. package/lib/components/form/src/fields/FieldTreeSelect.d.ts +2 -2
  113. package/lib/components/form/src/fields/FieldUploadButton.d.ts +2 -2
  114. package/lib/components/form/src/fields/FieldUploadDragger.d.ts +2 -2
  115. package/lib/components/form/src/fields/FieldUploadPicture.d.ts +6 -6
  116. package/lib/components/form/src/fields/FieldUploadPictureList.d.ts +2 -2
  117. package/lib/components/form/src/layouts/DrawerForm.d.ts +5 -5
  118. package/lib/components/form/src/layouts/ModalForm.d.ts +1 -1
  119. package/lib/components/form/src/layouts/QueryFilter.d.ts +10 -10
  120. package/lib/components/form/src/layouts/StepsForm.d.ts +1 -1
  121. package/lib/components/form/src/layouts/StepsForm.js +26 -16
  122. package/lib/components/form/src/layouts/StepsForm.js.map +1 -1
  123. package/lib/components/layout/src/layout.vue.d.ts +2 -2
  124. package/lib/components/table/src/components/AutoHeightHeader/Header.vue.d.ts +3 -3
  125. package/lib/components/table/src/components/AutoHeightHeader/HeaderRow.vue.d.ts +2 -2
  126. package/lib/components/table/src/components/Body/EditInput.vue.d.ts +1 -1
  127. package/lib/components/table/src/components/ColumnSetting/CheckboxList.vue.d.ts +1 -1
  128. package/lib/components/table/src/components/ColumnSetting/ColumnSetting.vue.d.ts +2 -2
  129. package/lib/components/table/src/components/ColumnSetting/GroupCheckboxList.vue.d.ts +1 -1
  130. package/lib/components/table/src/components/Form/Form.d.ts +1 -1
  131. package/lib/components/table/src/components/Header/Header.vue.d.ts +4 -4
  132. package/lib/components/table/src/components/Header/HeaderCell.vue.d.ts +2 -2
  133. package/lib/components/table/src/components/Header/HeaderGroupCell.vue.d.ts +1 -1
  134. package/lib/components/table/src/components/Header/HeaderRows.vue.d.ts +3 -3
  135. package/lib/components/table/src/components/Header/HeaderRowsWrap.vue.d.ts +3 -3
  136. package/lib/components/table/src/components/InteralTable.vue.d.ts +12 -12
  137. package/lib/components/table/src/components/Table.d.ts +5 -5
  138. package/lib/components/table/src/components/ToolBar/ToolBar.vue.d.ts +3 -3
  139. package/lib/components/table/src/hooks/useFetchData.js +20 -2
  140. package/lib/components/table/src/hooks/useFetchData.js.map +1 -1
  141. package/lib/index.d.ts +42 -37
  142. package/lib/version.d.ts +1 -1
  143. package/lib/version.js +1 -1
  144. package/lib/version.js.map +1 -1
  145. package/package.json +1 -1
@@ -55,10 +55,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
55
55
  };
56
56
  }>> & Readonly<{}>, {
57
57
  draggable: boolean;
58
+ checkable: boolean;
58
59
  listHeight: number;
59
60
  showTitle: boolean;
60
61
  list: any[];
61
- checkable: boolean;
62
62
  }, {}, {
63
63
  Tree: {
64
64
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
@@ -54,8 +54,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
54
54
  };
55
55
  }>> & Readonly<{}>, {
56
56
  draggable: boolean;
57
- columns: any[];
58
57
  checkable: boolean;
58
+ columns: any[];
59
59
  listsHeight: number;
60
60
  checkedReset: boolean;
61
61
  }, {}, {
@@ -923,10 +923,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
923
923
  };
924
924
  }>> & Readonly<{}>, {
925
925
  draggable: boolean;
926
+ checkable: boolean;
926
927
  listHeight: number;
927
928
  showTitle: boolean;
928
929
  list: any[];
929
- checkable: boolean;
930
930
  }, {}, {
931
931
  Tree: {
932
932
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
@@ -105,10 +105,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
105
105
  };
106
106
  }>> & Readonly<{}>, {
107
107
  draggable: boolean;
108
+ checkable: boolean;
108
109
  listHeight: number;
109
110
  showTitle: boolean;
110
111
  list: any[];
111
- checkable: boolean;
112
112
  }, {}, {
113
113
  Tree: {
114
114
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
@@ -81,9 +81,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
81
81
  onReset: ((formData?: import("pro-design-vue").Entity | undefined) => void) | undefined;
82
82
  onSubmit: ((formData: import("pro-design-vue").Entity) => Promise<boolean | void> | boolean | void) | undefined;
83
83
  items: ProFormItemType[];
84
- manual: boolean;
85
84
  beforeSearchSubmit: (params: Partial<any>) => any;
86
85
  cardBordered: Bordered;
86
+ manual: boolean;
87
87
  onFormSearchSubmit: (params: any) => void;
88
88
  tableShowCard: boolean;
89
89
  onSearchTabChange: (params: any) => void;
@@ -41,8 +41,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
41
41
  onScrollLeft?: ((...args: any[]) => any) | undefined;
42
42
  onResizeheight?: ((...args: any[]) => any) | undefined;
43
43
  }>, {
44
- sticky: boolean | HeaderSticky;
45
44
  wrapText: boolean;
45
+ sticky: boolean | HeaderSticky;
46
46
  }, {}, {
47
47
  XScroll: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
48
48
  onlyAutoShow: {
@@ -194,8 +194,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
194
194
  default: boolean;
195
195
  };
196
196
  }>> & Readonly<{}>, {
197
- column: import("../interface").FinallyColumnType<import("../interface").DefaultRecordType>;
198
197
  wrapText: boolean;
198
+ column: import("../interface").FinallyColumnType<import("../interface").DefaultRecordType>;
199
199
  }, {}, {
200
200
  HeaderCellTitle: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
201
201
  column: {
@@ -1760,10 +1760,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1760
1760
  };
1761
1761
  additionalProps: ObjectConstructor;
1762
1762
  }>> & Readonly<{}>, {
1763
- component: string;
1764
1763
  level: number;
1765
- column: import("../interface").FinallyColumnType<import("../interface").DefaultRecordType>;
1766
1764
  wrapText: boolean;
1765
+ component: string;
1766
+ column: import("../interface").FinallyColumnType<import("../interface").DefaultRecordType>;
1767
1767
  }, {}, {
1768
1768
  Sorter: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
1769
1769
  column: {
@@ -893,10 +893,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
893
893
  };
894
894
  additionalProps: ObjectConstructor;
895
895
  }>> & Readonly<{}>, {
896
- component: string;
897
896
  level: number;
898
- column: FinallyColumnType<import("../interface").DefaultRecordType>;
899
897
  wrapText: boolean;
898
+ component: string;
899
+ column: FinallyColumnType<import("../interface").DefaultRecordType>;
900
900
  }, {}, {
901
901
  Sorter: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
902
902
  column: {
@@ -23,8 +23,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
23
23
  default: boolean;
24
24
  };
25
25
  }>> & Readonly<{}>, {
26
- column: FinallyColumnType<DefaultRecordType>;
27
26
  wrapText: boolean;
27
+ column: FinallyColumnType<DefaultRecordType>;
28
28
  }, {}, {
29
29
  HeaderCellTitle: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
30
30
  column: {
@@ -81,8 +81,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
81
81
  default: boolean;
82
82
  };
83
83
  }>> & Readonly<{}>, {
84
- column: FinallyColumnType<DefaultRecordType>;
85
84
  wrapText: boolean;
85
+ column: FinallyColumnType<DefaultRecordType>;
86
86
  }, {}, {
87
87
  HeaderCellTitle: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
88
88
  column: {
@@ -1647,10 +1647,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1647
1647
  };
1648
1648
  additionalProps: ObjectConstructor;
1649
1649
  }>> & Readonly<{}>, {
1650
- component: string;
1651
1650
  level: number;
1652
- column: FinallyColumnType<DefaultRecordType>;
1653
1651
  wrapText: boolean;
1652
+ component: string;
1653
+ column: FinallyColumnType<DefaultRecordType>;
1654
1654
  }, {}, {
1655
1655
  Sorter: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
1656
1656
  column: {
@@ -132,8 +132,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
132
132
  default: boolean;
133
133
  };
134
134
  }>> & Readonly<{}>, {
135
- column: import("../interface").FinallyColumnType<import("../interface").DefaultRecordType>;
136
135
  wrapText: boolean;
136
+ column: import("../interface").FinallyColumnType<import("../interface").DefaultRecordType>;
137
137
  }, {}, {
138
138
  HeaderCellTitle: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
139
139
  column: {
@@ -1698,10 +1698,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1698
1698
  };
1699
1699
  additionalProps: ObjectConstructor;
1700
1700
  }>> & Readonly<{}>, {
1701
- component: string;
1702
1701
  level: number;
1703
- column: import("../interface").FinallyColumnType<import("../interface").DefaultRecordType>;
1704
1702
  wrapText: boolean;
1703
+ component: string;
1704
+ column: import("../interface").FinallyColumnType<import("../interface").DefaultRecordType>;
1705
1705
  }, {}, {
1706
1706
  Sorter: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
1707
1707
  column: {
@@ -994,19 +994,15 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
994
994
  locale: TableLocale;
995
995
  virtual: boolean;
996
996
  pagination: false | import("pro-design-vue").ProTablePaginationConfig;
997
- expandIcon: import("./interface").RenderExpandIcon<DefaultRecordType>;
998
- options: false | import("./interface").OptionConfig;
999
997
  onLoadingChange: (loading: boolean | SpinProps | undefined) => void;
1000
998
  bordered: boolean;
1001
- manual: boolean;
1002
- sticky: boolean | import("./interface").HeaderSticky;
1003
- columns: import("pro-design-vue").ProTableColumnsType<DefaultRecordType>;
1004
999
  ignoreCellKey: boolean;
1005
1000
  showHeaderScrollbar: boolean;
1006
1001
  deepWatchDataSource: boolean;
1007
1002
  deepWatchColumns: boolean;
1008
1003
  columnDrag: boolean;
1009
1004
  animateRows: boolean;
1005
+ columns: import("pro-design-vue").ProTableColumnsType<DefaultRecordType>;
1010
1006
  dataSource: DefaultRecordType[];
1011
1007
  xVirtual: boolean;
1012
1008
  rowHeight: import("pro-design-vue").RowHeight;
@@ -1014,6 +1010,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1014
1010
  wrapText: boolean;
1015
1011
  stripe: boolean;
1016
1012
  rowClassName: string | import("./interface").RowClassName<DefaultRecordType>;
1013
+ sticky: boolean | import("./interface").HeaderSticky;
1017
1014
  selectedRowKeys: Key[];
1018
1015
  expandFixed: import("./interface").FixedType;
1019
1016
  expandColumnWidth: number;
@@ -1021,6 +1018,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1021
1018
  defaultExpandedRowKeys: Key[];
1022
1019
  expandedRowRender: import("./interface").ExpandedRowRender<DefaultRecordType>;
1023
1020
  expandRowByClick: boolean;
1021
+ expandIcon: import("./interface").RenderExpandIcon<DefaultRecordType>;
1024
1022
  onExpand: (expanded: boolean, record: DefaultRecordType) => void;
1025
1023
  onExpandedRowsChange: (expandedKeys: Key[]) => void;
1026
1024
  defaultExpandAllRows: boolean;
@@ -1122,7 +1120,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1122
1120
  onCloseEditor: (opt: import("pro-design-vue").CellRenderArgs) => void;
1123
1121
  columnEmptyText: string | false;
1124
1122
  toolBar: boolean;
1123
+ options: false | import("./interface").OptionConfig;
1125
1124
  alwaysShowAlert: boolean;
1125
+ manual: boolean;
1126
1126
  manualRequest: boolean;
1127
1127
  onRequestError: (e: Error) => void;
1128
1128
  onSizeChange: (size: import("./interface").DensitySize) => void;
@@ -1614,8 +1614,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1614
1614
  onScrollLeft?: ((...args: any[]) => any) | undefined;
1615
1615
  onResizeheight?: ((...args: any[]) => any) | undefined;
1616
1616
  }>, {
1617
- sticky: boolean | import("./interface").HeaderSticky;
1618
1617
  wrapText: boolean;
1618
+ sticky: boolean | import("./interface").HeaderSticky;
1619
1619
  }, {}, {
1620
1620
  XScroll: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
1621
1621
  onlyAutoShow: {
@@ -4476,10 +4476,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
4476
4476
  };
4477
4477
  additionalProps: ObjectConstructor;
4478
4478
  }>> & Readonly<{}>, {
4479
- component: string;
4480
4479
  level: number;
4481
- column: import("./interface").FinallyColumnType<DefaultRecordType>;
4482
4480
  wrapText: boolean;
4481
+ component: string;
4482
+ column: import("./interface").FinallyColumnType<DefaultRecordType>;
4483
4483
  }, {}, {
4484
4484
  Sorter: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4485
4485
  column: {
@@ -8546,8 +8546,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
8546
8546
  onScrollLeft?: ((...args: any[]) => any) | undefined;
8547
8547
  onResizeheight?: ((...args: any[]) => any) | undefined;
8548
8548
  }>, {
8549
- sticky: boolean | import("./interface").HeaderSticky;
8550
8549
  wrapText: boolean;
8550
+ sticky: boolean | import("./interface").HeaderSticky;
8551
8551
  }, {}, {
8552
8552
  XScroll: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
8553
8553
  onlyAutoShow: {
@@ -8699,8 +8699,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
8699
8699
  default: boolean;
8700
8700
  };
8701
8701
  }>> & Readonly<{}>, {
8702
- column: import("./interface").FinallyColumnType<DefaultRecordType>;
8703
8702
  wrapText: boolean;
8703
+ column: import("./interface").FinallyColumnType<DefaultRecordType>;
8704
8704
  }, {}, {
8705
8705
  HeaderCellTitle: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
8706
8706
  column: {
@@ -10265,10 +10265,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
10265
10265
  };
10266
10266
  additionalProps: ObjectConstructor;
10267
10267
  }>> & Readonly<{}>, {
10268
- component: string;
10269
10268
  level: number;
10270
- column: import("./interface").FinallyColumnType<DefaultRecordType>;
10271
10269
  wrapText: boolean;
10270
+ component: string;
10271
+ column: import("./interface").FinallyColumnType<DefaultRecordType>;
10272
10272
  }, {}, {
10273
10273
  Sorter: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
10274
10274
  column: {
@@ -996,13 +996,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
996
996
  locale: import("./interface").TableLocale;
997
997
  virtual: boolean;
998
998
  pagination: false | import("pro-design-vue").ProTablePaginationConfig;
999
- expandIcon: import("./interface").RenderExpandIcon<import("./interface").DefaultRecordType>;
1000
- options: false | import("./interface").OptionConfig;
1001
999
  onLoadingChange: (loading: boolean | import("ant-design-vue").SpinProps | undefined) => void;
1002
1000
  bordered: boolean;
1003
- manual: boolean;
1004
- sticky: boolean | import("./interface").HeaderSticky;
1005
- columns: ColumnsType<import("./interface").DefaultRecordType>;
1006
1001
  cardProps: false | Partial<import("vue").ExtractPropTypes<{
1007
1002
  prefixCls: StringConstructor;
1008
1003
  title: import("node_modules/vue-types/dist/index").VueTypeValidableDef<any>;
@@ -1053,6 +1048,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1053
1048
  deepWatchColumns: boolean;
1054
1049
  columnDrag: boolean;
1055
1050
  animateRows: boolean;
1051
+ columns: ColumnsType<import("./interface").DefaultRecordType>;
1056
1052
  dataSource: import("./interface").DefaultRecordType[];
1057
1053
  xVirtual: boolean;
1058
1054
  rowHeight: import("pro-design-vue").RowHeight;
@@ -1060,6 +1056,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1060
1056
  wrapText: boolean;
1061
1057
  stripe: boolean;
1062
1058
  rowClassName: string | import("./interface").RowClassName<import("./interface").DefaultRecordType>;
1059
+ sticky: boolean | import("./interface").HeaderSticky;
1063
1060
  selectedRowKeys: Key[];
1064
1061
  expandFixed: import("./interface").FixedType;
1065
1062
  expandColumnWidth: number;
@@ -1067,6 +1064,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1067
1064
  defaultExpandedRowKeys: Key[];
1068
1065
  expandedRowRender: import("./interface").ExpandedRowRender<import("./interface").DefaultRecordType>;
1069
1066
  expandRowByClick: boolean;
1067
+ expandIcon: import("./interface").RenderExpandIcon<import("./interface").DefaultRecordType>;
1070
1068
  onExpand: (expanded: boolean, record: import("./interface").DefaultRecordType) => void;
1071
1069
  onExpandedRowsChange: (expandedKeys: Key[]) => void;
1072
1070
  defaultExpandAllRows: boolean;
@@ -1168,7 +1166,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1168
1166
  onCloseEditor: (opt: import("pro-design-vue").CellRenderArgs) => void;
1169
1167
  columnEmptyText: string | false;
1170
1168
  toolBar: boolean;
1169
+ options: false | import("./interface").OptionConfig;
1171
1170
  alwaysShowAlert: boolean;
1171
+ manual: boolean;
1172
1172
  manualRequest: boolean;
1173
1173
  onRequestError: (e: Error) => void;
1174
1174
  onSizeChange: (size: import("./interface").DensitySize) => void;
@@ -65,8 +65,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
65
65
  default: undefined;
66
66
  };
67
67
  }>> & Readonly<{}>, {
68
- options: false | OptionConfig;
69
68
  selectedRowKeys: Key[];
69
+ options: false | OptionConfig;
70
70
  selectedRows: any[];
71
71
  tableColumn: any[];
72
72
  onFormSearchSubmit: (params: any) => void;
@@ -2741,8 +2741,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2741
2741
  };
2742
2742
  }>> & Readonly<{}>, {
2743
2743
  draggable: boolean;
2744
- columns: any[];
2745
2744
  checkable: boolean;
2745
+ columns: any[];
2746
2746
  listsHeight: number;
2747
2747
  checkedReset: boolean;
2748
2748
  }, {}, {
@@ -3610,10 +3610,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
3610
3610
  };
3611
3611
  }>> & Readonly<{}>, {
3612
3612
  draggable: boolean;
3613
+ checkable: boolean;
3613
3614
  listHeight: number;
3614
3615
  showTitle: boolean;
3615
3616
  list: any[];
3616
- checkable: boolean;
3617
3617
  }, {}, {
3618
3618
  Tree: {
3619
3619
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
@@ -1,10 +1,12 @@
1
1
  import { ref, computed, isReactive, watch, onMounted, onActivated, onUnmounted, onDeactivated, toRaw } from 'vue';
2
2
  import { usePrevious, useDebounceFn } from '@vueuse/core';
3
3
  import { useIntl } from '../../../config-provider/src/useIntl.mjs';
4
+ import { useProConfigInject } from '../../../config-provider/src/context.mjs';
4
5
  import { useMergedState } from '../../../../hooks/use-merged-state/index.mjs';
6
+ import { merge } from 'lodash-unified';
5
7
  import { runFunction } from '../../../../utils/run-function.mjs';
6
8
 
7
- const mergePropsAndPagination = ({ pagination }, intl) => {
9
+ const mergePropsAndPagination = (intl, pagination) => {
8
10
  if (pagination) {
9
11
  const { current, pageSize, total, showTotal, showSizeChanger, ...rest } = pagination;
10
12
  return {
@@ -66,6 +68,7 @@ const useFetchData = (getData, props) => {
66
68
  const pollingLoading = ref(false);
67
69
  const keyword = ref("");
68
70
  const intl = useIntl();
71
+ const { pro } = useProConfigInject();
69
72
  const innerParams = ref({});
70
73
  const sorters = ref();
71
74
  const filter = ref();
@@ -94,8 +97,23 @@ const useFetchData = (getData, props) => {
94
97
  // }
95
98
  }
96
99
  );
100
+ const contextTable = computed(() => {
101
+ var _a2, _b;
102
+ return (_b = (_a2 = pro == null ? void 0 : pro.value) == null ? void 0 : _a2.table) != null ? _b : {};
103
+ });
104
+ const contextTablePagination = computed(() => {
105
+ var _a2, _b;
106
+ if (props.pagination === false) {
107
+ return false;
108
+ }
109
+ if (props.pagination && ((_a2 = contextTable.value) == null ? void 0 : _a2.pagination)) {
110
+ return merge(contextTable.value.pagination, props.pagination);
111
+ } else {
112
+ return (_b = props.pagination) != null ? _b : contextTable.value.pagination;
113
+ }
114
+ });
97
115
  const [pagination, setPagination] = useMergedState(
98
- () => mergePropsAndPagination(props, intl),
116
+ () => mergePropsAndPagination(intl, contextTablePagination.value),
99
117
  {
100
118
  onChange(value) {
101
119
  var _a2, _b, _c;
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchData.mjs","sources":["../../../../../../../packages/components/table/src/hooks/useFetchData.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-12 12:24:29\n * @LastEditors: shen\n * @LastEditTime: 2025-10-04 16:03:27\n * @Description:\n */\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type { ComputedRef, Ref } from 'vue'\nimport type { RequestData, ProTableProps, SorterResult } from '../components/interface'\nimport type { IntlType } from '@pro-design-vue/components/config-provider'\n\nimport {\n ref,\n computed,\n watch,\n onUnmounted,\n onMounted,\n isReactive,\n toRaw,\n onDeactivated,\n onActivated,\n} from 'vue'\nimport { useDebounceFn, usePrevious } from '@vueuse/core'\nimport { useMergedState } from '@pro-design-vue/hooks'\nimport { runFunction } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nexport type PageInfo = {\n pageSize: number\n total: number\n current: number\n}\n\nexport type UseFetchDataAction<T = any> = {\n dataSource: Ref<T[]>\n keyword: Ref<string>\n formSearch: Ref<Record<string, any> | undefined>\n loading: ComputedRef<boolean | SpinProps | undefined>\n setParams: (key: string, value: any) => void\n reload: (resetPageIndex?: boolean) => Promise<void>\n fullScreen?: () => void\n reset: () => void\n pollingLoading: Ref<boolean>\n pagination: Ref<PageInfo>\n setFormSearch: (val: Record<string, any> | undefined) => void\n setPagination: (val: PageInfo) => void\n onTableChange: ProTableProps['onChange']\n}\n\n/**\n * 组合用户的配置和默认值\n *\n * @param param0\n */\nconst mergePropsAndPagination = ({ pagination }: ProTableProps, intl: IntlType) => {\n if (pagination) {\n const { current, pageSize, total, showTotal, showSizeChanger, ...rest } = pagination\n return {\n ...rest,\n current: current || 1,\n total: total || 0,\n pageSize: pageSize || 10,\n showSizeChanger: showSizeChanger ?? true,\n showTotal:\n showTotal ||\n ((total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`),\n }\n }\n return {\n current: 1,\n total: 0,\n pageSize: 10,\n showSizeChanger: true,\n showTotal: (total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`,\n }\n}\n\nconst formatSorters = (\n sorter: SorterResult<any> | SorterResult<any>[],\n): SorterResult<any>[] | undefined => {\n if (!sorter) {\n return\n }\n let result: SorterResult<any>[]\n if (!Array.isArray(sorter)) {\n result = [{ ...sorter }]\n } else {\n result = [...sorter]\n }\n result = result.filter((sort) => !!sort.order)\n if (!result.length) {\n return\n }\n if (result.length > 1) {\n result = result.sort(\n (a, b) =>\n ((b.column?.sorter as any)?.multiple || 0) - ((a.column?.sorter as any)?.multiple || 0),\n )\n }\n return result.map((item) => ({\n field: item.field,\n order: item.order,\n })) as SorterResult<any>[]\n}\n\nexport const useFetchData = (\n getData: ComputedRef<\n | ((\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => Promise<RequestData>)\n | undefined\n >,\n props: ProTableProps,\n): UseFetchDataAction => {\n /**\n * 用于保存组件是否被卸载的状态的引用\n */\n const umountRef = ref<boolean>(false)\n /**\n * 用于保存 AbortController 实例的引用,方便需要时进行请求的取消操作\n */\n const abortRef = ref<AbortController | null>(null)\n /** 是否首次加载的指示器 */\n const manualRequestRef = ref<boolean>(!!(props.manual || props.manualRequest))\n /** 轮询的setTime ID 存储 */\n const pollingSetTimeRef = ref<any>()\n const pollingLoading = ref<boolean>(false)\n const keyword = ref<string>('')\n const intl = useIntl()\n const innerParams = ref<Record<string, any>>({})\n const sorters = ref<SorterResult<any>[]>()\n const filter = ref<Record<string, any>>()\n const keywordName = computed(() => {\n if (props.options !== false && props.options!.search !== false) {\n return props.options!.search === true || !props.options!.search!.name\n ? undefined\n : props.options!.search!.name!\n }\n return undefined\n })\n const [tableLoading, setTableLoading] = useMergedState(false, {\n value: computed(() => {\n return typeof props.loading === 'object' ? props.loading.spinning : props.loading\n }),\n onChange: props.onLoadingChange,\n })\n\n const [tableDataList, setTableDataList] = useMergedState<any[] | undefined>(\n props.defaultData ?? [],\n {\n value: computed(() => {\n return props.request ? undefined : props.dataSource\n }),\n // onChange(value) {\n // \tif (!props.request) {\n // \t\tprops['onUpdate:dataSource']?.(value ?? [])\n // \t}\n // }\n },\n )\n\n const [pagination, setPagination] = useMergedState<PageInfo>(\n () => mergePropsAndPagination(props, intl),\n {\n onChange(value) {\n if (props.pagination !== false) {\n props['onUpdate:pagination']?.(\n isReactive(props.pagination) ? Object.assign(props.pagination || {}, value) : value,\n )\n props.pagination?.onChange?.(value.current, value?.pageSize)\n }\n },\n },\n )\n\n const [formSearch, setFormSearch] = useMergedState<Record<string, any> | undefined>(() => {\n // 如果手动模式,或者 search 不存在的时候设置为 undefined\n // undefined 就不会触发首次加载\n if (manualRequestRef.value || props.search !== false) {\n return undefined\n }\n return {}\n })\n\n const prePage = usePrevious(computed(() => pagination.value?.current))\n const prePageSize = usePrevious(computed(() => pagination.value?.pageSize))\n\n const requestFinally = () => {\n setTableLoading(false)\n pollingLoading.value = false\n }\n\n const fetchList = async (isPolling: boolean) => {\n // 需要手动触发的首次请求\n if (manualRequestRef.value) {\n manualRequestRef.value = false\n return\n }\n\n if (!isPolling) {\n setTableLoading(true)\n } else {\n pollingLoading.value = true\n }\n\n const { current, pageSize } = pagination.value\n const params: Record<string, any> = { ...innerParams.value, ...formSearch.value }\n if (props?.pagination !== false) {\n params.current = current\n params.pageSize = pageSize\n }\n if (keyword.value) {\n params[keywordName.value ?? 'keyword'] = keyword.value\n }\n try {\n const {\n data = [],\n success,\n total = 0,\n ...rest\n } = (await getData.value?.(params, toRaw(sorters.value), toRaw(filter.value))) || {}\n // 如果失败了,直接返回,不走剩下的逻辑了\n if (success === false) return []\n setTableDataList(data)\n if (pagination.value?.total !== total) {\n pagination.value.total = total || data.length\n // setPagination({\n // \t...pagination.value,\n // \ttotal: total || data.length\n // })\n }\n props.onLoad?.(data, rest)\n return data\n } catch (e) {\n if (props.onRequestError === undefined) throw new Error(e as string)\n if (tableDataList.value === undefined) setTableDataList([])\n props.onRequestError(e as Error)\n } finally {\n requestFinally()\n }\n }\n\n const fetchListDebounce = useDebounceFn(async (isPolling: boolean) => {\n if (pollingSetTimeRef.value) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!getData) {\n return\n }\n const abort = new AbortController()\n abortRef.value = abort\n\n try {\n const msg = (await Promise.race([\n fetchList(isPolling),\n new Promise((_, reject) => {\n abortRef.value?.signal.addEventListener('abort', () => {\n reject('aborted')\n requestFinally()\n })\n }),\n ])) as any[]\n\n if (abort.signal.aborted) return\n // 放到请求前面会导致数据是上一次的\n const needPolling = runFunction(props.polling, msg)\n if (needPolling && !umountRef.value) {\n pollingSetTimeRef.value = setTimeout(\n () => {\n fetchListDebounce(needPolling)\n // 这里判断最小要2000ms,不然一直loading\n },\n Math.max(needPolling, 2000),\n )\n }\n } catch (error) {\n if (error === 'aborted') {\n return\n }\n throw error\n }\n }, props.debounceTime || 30)\n\n const abortFetch = () => {\n abortRef.value?.abort()\n requestFinally()\n }\n\n watch(\n () => props.polling,\n (newPolling, prePolling) => {\n if (!newPolling) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!prePolling && newPolling) {\n fetchListDebounce(true)\n }\n },\n )\n\n watch([() => props.manual, () => props.manualRequest], () => {\n abortFetch()\n fetchListDebounce(false)\n if (!props.manual || !props.manualRequest) {\n // 如果 manual 标志未设置,则将 manualRequestRef 设置为 false。\n // 用于跟踪当前的请求是否是手动发起的。\n manualRequestRef.value = false\n }\n })\n\n watch(\n () => pagination.value.current,\n () => {\n const { current, pageSize } = pagination.value || {}\n if (\n (!prePage || prePage.value === current) &&\n (!prePageSize || prePageSize.value === pageSize)\n ) {\n return\n }\n\n if (\n (props.pagination && tableDataList.value && tableDataList.value?.length > pageSize) ||\n 0\n ) {\n return\n }\n\n if (current !== undefined && tableDataList.value && tableDataList.value.length <= pageSize) {\n abortFetch()\n fetchListDebounce(false)\n }\n },\n )\n\n watch(\n () => pagination.value.pageSize,\n () => {\n if (!prePageSize.value) {\n return\n }\n abortFetch()\n fetchListDebounce(false)\n },\n )\n\n watch(sorters, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(filter, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(\n () => props.params,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n innerParams,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n formSearch,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n immediate: true,\n },\n )\n\n const onTableChange: ProTableProps['onChange'] = (pageInfo, filt, sort, extra) => {\n if (extra.action === 'paginate') {\n setPagination({ ...pagination.value, ...pageInfo })\n }\n if (extra.action === 'sort') {\n sorters.value = formatSorters(sort)\n }\n\n if (extra.action === 'filter') {\n filter.value = filt\n }\n props.onChange?.(pageInfo, filt, sort, extra)\n }\n\n onMounted(() => {\n umountRef.value = false\n if (props.search === false) {\n fetchListDebounce(false)\n }\n })\n\n onActivated(() => {\n if (props.polling) {\n fetchListDebounce(true)\n }\n })\n\n onUnmounted(() => {\n umountRef.value = true\n abortFetch()\n clearTimeout(pollingSetTimeRef.value)\n })\n onDeactivated(() => {\n clearTimeout(pollingSetTimeRef.value)\n })\n\n return {\n keyword,\n formSearch,\n dataSource: tableDataList,\n loading: computed(() =>\n typeof props?.loading === 'object'\n ? { ...props?.loading, spinning: tableLoading.value }\n : tableLoading.value,\n ),\n setParams: (key: string, value: any) => {\n innerParams.value[key] = value\n },\n reload: async (resetPageIndex?: boolean) => {\n if (resetPageIndex) {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n }\n abortFetch()\n return fetchListDebounce(false)\n },\n pollingLoading,\n pagination,\n reset: async () => {\n const { pagination: optionPageInfo } = props || {}\n const { current = 1, pageSize = 10 } = optionPageInfo || {}\n const initialPageInfo = {\n current,\n total: 0,\n pageSize,\n }\n setPagination(initialPageInfo)\n },\n setPagination,\n setFormSearch,\n onTableChange,\n } as UseFetchDataAction\n}\n"],"names":["total","_a"],"mappings":"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"}
1
+ {"version":3,"file":"useFetchData.mjs","sources":["../../../../../../../packages/components/table/src/hooks/useFetchData.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-12 12:24:29\n * @LastEditors: shen\n * @LastEditTime: 2025-10-09 10:34:48\n * @Description:\n */\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type { ComputedRef, Ref } from 'vue'\nimport type { RequestData, ProTableProps, SorterResult } from '../components/interface'\nimport type { IntlType } from '@pro-design-vue/components/config-provider'\nimport {\n ref,\n computed,\n watch,\n onUnmounted,\n onMounted,\n isReactive,\n toRaw,\n onDeactivated,\n onActivated,\n} from 'vue'\nimport { useDebounceFn, usePrevious } from '@vueuse/core'\nimport { useMergedState } from '@pro-design-vue/hooks'\nimport { merge, runFunction } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\n\nexport type PageInfo = {\n pageSize: number\n total: number\n current: number\n}\n\nexport type UseFetchDataAction<T = any> = {\n dataSource: Ref<T[]>\n keyword: Ref<string>\n formSearch: Ref<Record<string, any> | undefined>\n loading: ComputedRef<boolean | SpinProps | undefined>\n setParams: (key: string, value: any) => void\n reload: (resetPageIndex?: boolean) => Promise<void>\n fullScreen?: () => void\n reset: () => void\n pollingLoading: Ref<boolean>\n pagination: Ref<PageInfo>\n setFormSearch: (val: Record<string, any> | undefined) => void\n setPagination: (val: PageInfo) => void\n onTableChange: ProTableProps['onChange']\n}\n\n/**\n * 组合用户的配置和默认值\n *\n * @param param0\n */\nconst mergePropsAndPagination = (intl: IntlType, pagination?: ProTableProps['pagination']) => {\n if (pagination) {\n const { current, pageSize, total, showTotal, showSizeChanger, ...rest } = pagination\n return {\n ...rest,\n current: current || 1,\n total: total || 0,\n pageSize: pageSize || 10,\n showSizeChanger: showSizeChanger ?? true,\n showTotal:\n showTotal ||\n ((total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`),\n }\n }\n return {\n current: 1,\n total: 0,\n pageSize: 10,\n showSizeChanger: true,\n showTotal: (total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`,\n }\n}\n\nconst formatSorters = (\n sorter: SorterResult<any> | SorterResult<any>[],\n): SorterResult<any>[] | undefined => {\n if (!sorter) {\n return\n }\n let result: SorterResult<any>[]\n if (!Array.isArray(sorter)) {\n result = [{ ...sorter }]\n } else {\n result = [...sorter]\n }\n result = result.filter((sort) => !!sort.order)\n if (!result.length) {\n return\n }\n if (result.length > 1) {\n result = result.sort(\n (a, b) =>\n ((b.column?.sorter as any)?.multiple || 0) - ((a.column?.sorter as any)?.multiple || 0),\n )\n }\n return result.map((item) => ({\n field: item.field,\n order: item.order,\n })) as SorterResult<any>[]\n}\n\nexport const useFetchData = (\n getData: ComputedRef<\n | ((\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => Promise<RequestData>)\n | undefined\n >,\n props: ProTableProps,\n): UseFetchDataAction => {\n /**\n * 用于保存组件是否被卸载的状态的引用\n */\n const umountRef = ref<boolean>(false)\n /**\n * 用于保存 AbortController 实例的引用,方便需要时进行请求的取消操作\n */\n const abortRef = ref<AbortController | null>(null)\n /** 是否首次加载的指示器 */\n const manualRequestRef = ref<boolean>(!!(props.manual || props.manualRequest))\n /** 轮询的setTime ID 存储 */\n const pollingSetTimeRef = ref<any>()\n const pollingLoading = ref<boolean>(false)\n const keyword = ref<string>('')\n const intl = useIntl()\n const { pro } = useProConfigInject()\n const innerParams = ref<Record<string, any>>({})\n const sorters = ref<SorterResult<any>[]>()\n const filter = ref<Record<string, any>>()\n const keywordName = computed(() => {\n if (props.options !== false && props.options!.search !== false) {\n return props.options!.search === true || !props.options!.search!.name\n ? undefined\n : props.options!.search!.name!\n }\n return undefined\n })\n const [tableLoading, setTableLoading] = useMergedState(false, {\n value: computed(() => {\n return typeof props.loading === 'object' ? props.loading.spinning : props.loading\n }),\n onChange: props.onLoadingChange,\n })\n\n const [tableDataList, setTableDataList] = useMergedState<any[] | undefined>(\n props.defaultData ?? [],\n {\n value: computed(() => {\n return props.request ? undefined : props.dataSource\n }),\n // onChange(value) {\n // \tif (!props.request) {\n // \t\tprops['onUpdate:dataSource']?.(value ?? [])\n // \t}\n // }\n },\n )\n\n const contextTable = computed(() => pro?.value?.table ?? {})\n const contextTablePagination = computed(() => {\n if (props.pagination === false) {\n return false\n }\n if (props.pagination && contextTable.value?.pagination) {\n return merge(contextTable.value.pagination, props.pagination)\n } else {\n return props.pagination ?? contextTable.value.pagination\n }\n })\n\n const [pagination, setPagination] = useMergedState<PageInfo>(\n () => mergePropsAndPagination(intl, contextTablePagination.value),\n {\n onChange(value) {\n if (props.pagination !== false) {\n props['onUpdate:pagination']?.(\n isReactive(props.pagination) ? Object.assign(props.pagination || {}, value) : value,\n )\n props.pagination?.onChange?.(value.current, value?.pageSize)\n }\n },\n },\n )\n\n const [formSearch, setFormSearch] = useMergedState<Record<string, any> | undefined>(() => {\n // 如果手动模式,或者 search 不存在的时候设置为 undefined\n // undefined 就不会触发首次加载\n if (manualRequestRef.value || props.search !== false) {\n return undefined\n }\n return {}\n })\n\n const prePage = usePrevious(computed(() => pagination.value?.current))\n const prePageSize = usePrevious(computed(() => pagination.value?.pageSize))\n\n const requestFinally = () => {\n setTableLoading(false)\n pollingLoading.value = false\n }\n\n const fetchList = async (isPolling: boolean) => {\n // 需要手动触发的首次请求\n if (manualRequestRef.value) {\n manualRequestRef.value = false\n return\n }\n\n if (!isPolling) {\n setTableLoading(true)\n } else {\n pollingLoading.value = true\n }\n\n const { current, pageSize } = pagination.value\n const params: Record<string, any> = { ...innerParams.value, ...formSearch.value }\n if (props?.pagination !== false) {\n params.current = current\n params.pageSize = pageSize\n }\n if (keyword.value) {\n params[keywordName.value ?? 'keyword'] = keyword.value\n }\n try {\n const {\n data = [],\n success,\n total = 0,\n ...rest\n } = (await getData.value?.(params, toRaw(sorters.value), toRaw(filter.value))) || {}\n // 如果失败了,直接返回,不走剩下的逻辑了\n if (success === false) return []\n setTableDataList(data)\n if (pagination.value?.total !== total) {\n pagination.value.total = total || data.length\n // setPagination({\n // \t...pagination.value,\n // \ttotal: total || data.length\n // })\n }\n props.onLoad?.(data, rest)\n return data\n } catch (e) {\n if (props.onRequestError === undefined) throw new Error(e as string)\n if (tableDataList.value === undefined) setTableDataList([])\n props.onRequestError(e as Error)\n } finally {\n requestFinally()\n }\n }\n\n const fetchListDebounce = useDebounceFn(async (isPolling: boolean) => {\n if (pollingSetTimeRef.value) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!getData) {\n return\n }\n const abort = new AbortController()\n abortRef.value = abort\n\n try {\n const msg = (await Promise.race([\n fetchList(isPolling),\n new Promise((_, reject) => {\n abortRef.value?.signal.addEventListener('abort', () => {\n reject('aborted')\n requestFinally()\n })\n }),\n ])) as any[]\n\n if (abort.signal.aborted) return\n // 放到请求前面会导致数据是上一次的\n const needPolling = runFunction(props.polling, msg)\n if (needPolling && !umountRef.value) {\n pollingSetTimeRef.value = setTimeout(\n () => {\n fetchListDebounce(needPolling)\n // 这里判断最小要2000ms,不然一直loading\n },\n Math.max(needPolling, 2000),\n )\n }\n } catch (error) {\n if (error === 'aborted') {\n return\n }\n throw error\n }\n }, props.debounceTime || 30)\n\n const abortFetch = () => {\n abortRef.value?.abort()\n requestFinally()\n }\n\n watch(\n () => props.polling,\n (newPolling, prePolling) => {\n if (!newPolling) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!prePolling && newPolling) {\n fetchListDebounce(true)\n }\n },\n )\n\n watch([() => props.manual, () => props.manualRequest], () => {\n abortFetch()\n fetchListDebounce(false)\n if (!props.manual || !props.manualRequest) {\n // 如果 manual 标志未设置,则将 manualRequestRef 设置为 false。\n // 用于跟踪当前的请求是否是手动发起的。\n manualRequestRef.value = false\n }\n })\n\n watch(\n () => pagination.value.current,\n () => {\n const { current, pageSize } = pagination.value || {}\n if (\n (!prePage || prePage.value === current) &&\n (!prePageSize || prePageSize.value === pageSize)\n ) {\n return\n }\n\n if (\n (props.pagination && tableDataList.value && tableDataList.value?.length > pageSize) ||\n 0\n ) {\n return\n }\n\n if (current !== undefined && tableDataList.value && tableDataList.value.length <= pageSize) {\n abortFetch()\n fetchListDebounce(false)\n }\n },\n )\n\n watch(\n () => pagination.value.pageSize,\n () => {\n if (!prePageSize.value) {\n return\n }\n abortFetch()\n fetchListDebounce(false)\n },\n )\n\n watch(sorters, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(filter, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(\n () => props.params,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n innerParams,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n formSearch,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n immediate: true,\n },\n )\n\n const onTableChange: ProTableProps['onChange'] = (pageInfo, filt, sort, extra) => {\n if (extra.action === 'paginate') {\n setPagination({ ...pagination.value, ...pageInfo })\n }\n if (extra.action === 'sort') {\n sorters.value = formatSorters(sort)\n }\n\n if (extra.action === 'filter') {\n filter.value = filt\n }\n props.onChange?.(pageInfo, filt, sort, extra)\n }\n\n onMounted(() => {\n umountRef.value = false\n if (props.search === false) {\n fetchListDebounce(false)\n }\n })\n\n onActivated(() => {\n if (props.polling) {\n fetchListDebounce(true)\n }\n })\n\n onUnmounted(() => {\n umountRef.value = true\n abortFetch()\n clearTimeout(pollingSetTimeRef.value)\n })\n onDeactivated(() => {\n clearTimeout(pollingSetTimeRef.value)\n })\n\n return {\n keyword,\n formSearch,\n dataSource: tableDataList,\n loading: computed(() =>\n typeof props?.loading === 'object'\n ? { ...props?.loading, spinning: tableLoading.value }\n : tableLoading.value,\n ),\n setParams: (key: string, value: any) => {\n innerParams.value[key] = value\n },\n reload: async (resetPageIndex?: boolean) => {\n if (resetPageIndex) {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n }\n abortFetch()\n return fetchListDebounce(false)\n },\n pollingLoading,\n pagination,\n reset: async () => {\n const { pagination: optionPageInfo } = props || {}\n const { current = 1, pageSize = 10 } = optionPageInfo || {}\n const initialPageInfo = {\n current,\n total: 0,\n pageSize,\n }\n setPagination(initialPageInfo)\n },\n setPagination,\n setFormSearch,\n onTableChange,\n } as UseFetchDataAction\n}\n"],"names":["total","_a"],"mappings":"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"}