pro-design-vue 1.3.17 → 1.3.19

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 (231) hide show
  1. package/dist/index.full.js +207 -102
  2. package/dist/index.full.min.js +8 -8
  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 +207 -102
  7. package/es/components/form/src/components/FormGroup.d.ts +2 -1
  8. package/es/components/form/src/components/FormList.d.ts +3 -2
  9. package/es/components/form/src/components/FormListContainer.d.ts +2 -1
  10. package/es/components/form/src/components/FormListItem.d.ts +1 -0
  11. package/es/components/form/src/components/FormSet.d.ts +2 -1
  12. package/es/components/form/src/components/FormTitle.d.ts +1 -0
  13. package/es/components/form/src/fields/FieldCascader.d.ts +1 -1
  14. package/es/components/form/src/fields/FieldCheckbox.d.ts +1 -1
  15. package/es/components/form/src/fields/FieldCheckboxGroup.d.ts +1 -1
  16. package/es/components/form/src/fields/FieldDatePicker.d.ts +1 -1
  17. package/es/components/form/src/fields/FieldDateRangePicker.d.ts +1 -1
  18. package/es/components/form/src/fields/FieldDigit.d.ts +1 -1
  19. package/es/components/form/src/fields/FieldDigitRange.d.ts +1 -1
  20. package/es/components/form/src/fields/FieldPassword.d.ts +1 -1
  21. package/es/components/form/src/fields/FieldRadioGroup.d.ts +1 -1
  22. package/es/components/form/src/fields/FieldRate.d.ts +1 -1
  23. package/es/components/form/src/fields/FieldSelect.d.ts +1 -1
  24. package/es/components/form/src/fields/FieldSlider.d.ts +1 -1
  25. package/es/components/form/src/fields/FieldSwitch.d.ts +1 -1
  26. package/es/components/form/src/fields/FieldText.d.ts +1 -1
  27. package/es/components/form/src/fields/FieldTextarea.d.ts +1 -1
  28. package/es/components/form/src/fields/FieldTimePicker.d.ts +1 -1
  29. package/es/components/form/src/fields/FieldTimeRangePicker.d.ts +1 -1
  30. package/es/components/form/src/fields/FieldTreeSelect.d.ts +1 -1
  31. package/es/components/form/src/fields/FieldUploadButton.d.ts +1 -1
  32. package/es/components/form/src/fields/FieldUploadDragger.d.ts +1 -1
  33. package/es/components/form/src/fields/FieldUploadPicture.d.ts +1 -1
  34. package/es/components/form/src/fields/FieldUploadPictureList.d.ts +1 -1
  35. package/es/components/form/src/type.d.ts +12 -7
  36. package/es/components/table/src/components/AutoHeightHeader/Header.vue.d.ts +4 -2
  37. package/es/components/table/src/components/AutoHeightHeader/HeaderRow.vue.d.ts +4 -2
  38. package/es/components/table/src/components/ColumnSetting/CheckboxList.vue.d.ts +1 -0
  39. package/es/components/table/src/components/ColumnSetting/CheckboxListItem.vue.d.ts +1 -0
  40. package/es/components/table/src/components/ColumnSetting/ColumnSetting.vue.d.ts +1 -0
  41. package/es/components/table/src/components/ColumnSetting/GroupCheckboxList.vue.d.ts +1 -0
  42. package/es/components/table/src/components/Filter/FilterDropdown.vue.d.ts +1 -1
  43. package/es/components/table/src/components/Header/Header.vue.d.ts +5 -2
  44. package/es/components/table/src/components/Header/HeaderCell.vue.d.ts +3 -1
  45. package/es/components/table/src/components/Header/HeaderCellTitle.vue.d.ts +1 -0
  46. package/es/components/table/src/components/Header/HeaderExtraCell.vue.d.ts +1 -1
  47. package/es/components/table/src/components/Header/HeaderGroupCell.vue.d.ts +1 -0
  48. package/es/components/table/src/components/Header/HeaderRows.vue.d.ts +5 -2
  49. package/es/components/table/src/components/Header/HeaderRowsWrap.vue.d.ts +5 -2
  50. package/es/components/table/src/components/Header/Sorter.vue.d.ts +1 -0
  51. package/es/components/table/src/components/InteralTable.vue.d.ts +9 -4
  52. package/es/components/table/src/components/ToolBar/ToolBar.vue.d.ts +1 -0
  53. package/es/index.d.ts +12 -7
  54. package/es/packages/components/form/src/components/FormItem.mjs +16 -11
  55. package/es/packages/components/form/src/components/FormItem.mjs.map +1 -1
  56. package/es/packages/components/form/src/components/FormTitle.mjs +14 -3
  57. package/es/packages/components/form/src/components/FormTitle.mjs.map +1 -1
  58. package/es/packages/components/form/src/fields/FieldCascader.mjs +6 -1
  59. package/es/packages/components/form/src/fields/FieldCascader.mjs.map +1 -1
  60. package/es/packages/components/form/src/fields/FieldDatePicker.mjs +5 -0
  61. package/es/packages/components/form/src/fields/FieldDatePicker.mjs.map +1 -1
  62. package/es/packages/components/form/src/fields/FieldDateRangePicker.mjs +5 -0
  63. package/es/packages/components/form/src/fields/FieldDateRangePicker.mjs.map +1 -1
  64. package/es/packages/components/form/src/fields/FieldDigit.mjs +5 -0
  65. package/es/packages/components/form/src/fields/FieldDigit.mjs.map +1 -1
  66. package/es/packages/components/form/src/fields/FieldDigitRange.mjs +5 -0
  67. package/es/packages/components/form/src/fields/FieldDigitRange.mjs.map +1 -1
  68. package/es/packages/components/form/src/fields/FieldPassword.mjs +5 -0
  69. package/es/packages/components/form/src/fields/FieldPassword.mjs.map +1 -1
  70. package/es/packages/components/form/src/fields/FieldRadioGroup.mjs +6 -1
  71. package/es/packages/components/form/src/fields/FieldRadioGroup.mjs.map +1 -1
  72. package/es/packages/components/form/src/fields/FieldRate.mjs +5 -0
  73. package/es/packages/components/form/src/fields/FieldRate.mjs.map +1 -1
  74. package/es/packages/components/form/src/fields/FieldReadonly.mjs +5 -1
  75. package/es/packages/components/form/src/fields/FieldReadonly.mjs.map +1 -1
  76. package/es/packages/components/form/src/fields/FieldSelect.mjs +5 -0
  77. package/es/packages/components/form/src/fields/FieldSelect.mjs.map +1 -1
  78. package/es/packages/components/form/src/fields/FieldSlider.mjs +5 -0
  79. package/es/packages/components/form/src/fields/FieldSlider.mjs.map +1 -1
  80. package/es/packages/components/form/src/fields/FieldSwitch.mjs +5 -0
  81. package/es/packages/components/form/src/fields/FieldSwitch.mjs.map +1 -1
  82. package/es/packages/components/form/src/fields/FieldText.mjs +5 -0
  83. package/es/packages/components/form/src/fields/FieldText.mjs.map +1 -1
  84. package/es/packages/components/form/src/fields/FieldTimePicker.mjs +5 -0
  85. package/es/packages/components/form/src/fields/FieldTimePicker.mjs.map +1 -1
  86. package/es/packages/components/form/src/fields/FieldTimeRangePicker.mjs +5 -0
  87. package/es/packages/components/form/src/fields/FieldTimeRangePicker.mjs.map +1 -1
  88. package/es/packages/components/form/src/fields/FieldTreeSelect.mjs +5 -0
  89. package/es/packages/components/form/src/fields/FieldTreeSelect.mjs.map +1 -1
  90. package/es/packages/components/form/src/fields/FieldUploadButton.mjs +11 -3
  91. package/es/packages/components/form/src/fields/FieldUploadButton.mjs.map +1 -1
  92. package/es/packages/components/form/src/fields/FieldUploadDragger.mjs +11 -3
  93. package/es/packages/components/form/src/fields/FieldUploadDragger.mjs.map +1 -1
  94. package/es/packages/components/form/src/layouts/QueryFilter.mjs +6 -0
  95. package/es/packages/components/form/src/layouts/QueryFilter.mjs.map +1 -1
  96. package/es/packages/components/table/src/components/ColumnSetting/CheckboxListItem.vue.mjs +8 -5
  97. package/es/packages/components/table/src/components/ColumnSetting/CheckboxListItem.vue.mjs.map +1 -1
  98. package/es/packages/components/table/src/components/ColumnSetting/CheckboxListItem.vue2.mjs +5 -1
  99. package/es/packages/components/table/src/components/ColumnSetting/CheckboxListItem.vue2.mjs.map +1 -1
  100. package/es/packages/components/table/src/components/Filter/FilterDropdown.vue.mjs.map +1 -1
  101. package/es/packages/components/table/src/components/Filter/FilterDropdown.vue2.mjs +3 -6
  102. package/es/packages/components/table/src/components/Filter/FilterDropdown.vue2.mjs.map +1 -1
  103. package/es/packages/components/table/src/components/Header/HeaderCell.vue.mjs +20 -26
  104. package/es/packages/components/table/src/components/Header/HeaderCell.vue.mjs.map +1 -1
  105. package/es/packages/components/table/src/components/Header/HeaderCell.vue2.mjs +4 -0
  106. package/es/packages/components/table/src/components/Header/HeaderCell.vue2.mjs.map +1 -1
  107. package/es/packages/components/table/src/components/Header/HeaderCellTitle.vue.mjs +29 -32
  108. package/es/packages/components/table/src/components/Header/HeaderCellTitle.vue.mjs.map +1 -1
  109. package/es/packages/components/table/src/components/Header/HeaderCellTitle.vue2.mjs +4 -0
  110. package/es/packages/components/table/src/components/Header/HeaderCellTitle.vue2.mjs.map +1 -1
  111. package/es/packages/components/table/src/components/Header/HeaderExtraCell.vue.mjs.map +1 -1
  112. package/es/packages/components/table/src/components/Header/HeaderExtraCell.vue2.mjs +3 -1
  113. package/es/packages/components/table/src/components/Header/HeaderExtraCell.vue2.mjs.map +1 -1
  114. package/es/packages/components/table/src/components/Table.mjs +3 -1
  115. package/es/packages/components/table/src/components/Table.mjs.map +1 -1
  116. package/es/version.d.ts +1 -1
  117. package/es/version.mjs +1 -1
  118. package/es/version.mjs.map +1 -1
  119. package/lib/components/form/src/components/FormGroup.d.ts +2 -1
  120. package/lib/components/form/src/components/FormList.d.ts +3 -2
  121. package/lib/components/form/src/components/FormListContainer.d.ts +2 -1
  122. package/lib/components/form/src/components/FormListItem.d.ts +1 -0
  123. package/lib/components/form/src/components/FormSet.d.ts +2 -1
  124. package/lib/components/form/src/components/FormTitle.d.ts +1 -0
  125. package/lib/components/form/src/fields/FieldCascader.d.ts +1 -1
  126. package/lib/components/form/src/fields/FieldCheckbox.d.ts +1 -1
  127. package/lib/components/form/src/fields/FieldCheckboxGroup.d.ts +1 -1
  128. package/lib/components/form/src/fields/FieldDatePicker.d.ts +1 -1
  129. package/lib/components/form/src/fields/FieldDateRangePicker.d.ts +1 -1
  130. package/lib/components/form/src/fields/FieldDigit.d.ts +1 -1
  131. package/lib/components/form/src/fields/FieldDigitRange.d.ts +1 -1
  132. package/lib/components/form/src/fields/FieldPassword.d.ts +1 -1
  133. package/lib/components/form/src/fields/FieldRadioGroup.d.ts +1 -1
  134. package/lib/components/form/src/fields/FieldRate.d.ts +1 -1
  135. package/lib/components/form/src/fields/FieldSelect.d.ts +1 -1
  136. package/lib/components/form/src/fields/FieldSlider.d.ts +1 -1
  137. package/lib/components/form/src/fields/FieldSwitch.d.ts +1 -1
  138. package/lib/components/form/src/fields/FieldText.d.ts +1 -1
  139. package/lib/components/form/src/fields/FieldTextarea.d.ts +1 -1
  140. package/lib/components/form/src/fields/FieldTimePicker.d.ts +1 -1
  141. package/lib/components/form/src/fields/FieldTimeRangePicker.d.ts +1 -1
  142. package/lib/components/form/src/fields/FieldTreeSelect.d.ts +1 -1
  143. package/lib/components/form/src/fields/FieldUploadButton.d.ts +1 -1
  144. package/lib/components/form/src/fields/FieldUploadDragger.d.ts +1 -1
  145. package/lib/components/form/src/fields/FieldUploadPicture.d.ts +1 -1
  146. package/lib/components/form/src/fields/FieldUploadPictureList.d.ts +1 -1
  147. package/lib/components/form/src/type.d.ts +12 -7
  148. package/lib/components/table/src/components/AutoHeightHeader/Header.vue.d.ts +4 -2
  149. package/lib/components/table/src/components/AutoHeightHeader/HeaderRow.vue.d.ts +4 -2
  150. package/lib/components/table/src/components/ColumnSetting/CheckboxList.vue.d.ts +1 -0
  151. package/lib/components/table/src/components/ColumnSetting/CheckboxListItem.vue.d.ts +1 -0
  152. package/lib/components/table/src/components/ColumnSetting/ColumnSetting.vue.d.ts +1 -0
  153. package/lib/components/table/src/components/ColumnSetting/GroupCheckboxList.vue.d.ts +1 -0
  154. package/lib/components/table/src/components/Filter/FilterDropdown.vue.d.ts +1 -1
  155. package/lib/components/table/src/components/Header/Header.vue.d.ts +5 -2
  156. package/lib/components/table/src/components/Header/HeaderCell.vue.d.ts +3 -1
  157. package/lib/components/table/src/components/Header/HeaderCellTitle.vue.d.ts +1 -0
  158. package/lib/components/table/src/components/Header/HeaderExtraCell.vue.d.ts +1 -1
  159. package/lib/components/table/src/components/Header/HeaderGroupCell.vue.d.ts +1 -0
  160. package/lib/components/table/src/components/Header/HeaderRows.vue.d.ts +5 -2
  161. package/lib/components/table/src/components/Header/HeaderRowsWrap.vue.d.ts +5 -2
  162. package/lib/components/table/src/components/Header/Sorter.vue.d.ts +1 -0
  163. package/lib/components/table/src/components/InteralTable.vue.d.ts +9 -4
  164. package/lib/components/table/src/components/ToolBar/ToolBar.vue.d.ts +1 -0
  165. package/lib/index.d.ts +12 -7
  166. package/lib/packages/components/form/src/components/FormItem.js +16 -11
  167. package/lib/packages/components/form/src/components/FormItem.js.map +1 -1
  168. package/lib/packages/components/form/src/components/FormTitle.js +14 -3
  169. package/lib/packages/components/form/src/components/FormTitle.js.map +1 -1
  170. package/lib/packages/components/form/src/fields/FieldCascader.js +6 -1
  171. package/lib/packages/components/form/src/fields/FieldCascader.js.map +1 -1
  172. package/lib/packages/components/form/src/fields/FieldDatePicker.js +5 -0
  173. package/lib/packages/components/form/src/fields/FieldDatePicker.js.map +1 -1
  174. package/lib/packages/components/form/src/fields/FieldDateRangePicker.js +5 -0
  175. package/lib/packages/components/form/src/fields/FieldDateRangePicker.js.map +1 -1
  176. package/lib/packages/components/form/src/fields/FieldDigit.js +5 -0
  177. package/lib/packages/components/form/src/fields/FieldDigit.js.map +1 -1
  178. package/lib/packages/components/form/src/fields/FieldDigitRange.js +5 -0
  179. package/lib/packages/components/form/src/fields/FieldDigitRange.js.map +1 -1
  180. package/lib/packages/components/form/src/fields/FieldPassword.js +5 -0
  181. package/lib/packages/components/form/src/fields/FieldPassword.js.map +1 -1
  182. package/lib/packages/components/form/src/fields/FieldRadioGroup.js +6 -1
  183. package/lib/packages/components/form/src/fields/FieldRadioGroup.js.map +1 -1
  184. package/lib/packages/components/form/src/fields/FieldRate.js +5 -0
  185. package/lib/packages/components/form/src/fields/FieldRate.js.map +1 -1
  186. package/lib/packages/components/form/src/fields/FieldReadonly.js +5 -1
  187. package/lib/packages/components/form/src/fields/FieldReadonly.js.map +1 -1
  188. package/lib/packages/components/form/src/fields/FieldSelect.js +5 -0
  189. package/lib/packages/components/form/src/fields/FieldSelect.js.map +1 -1
  190. package/lib/packages/components/form/src/fields/FieldSlider.js +5 -0
  191. package/lib/packages/components/form/src/fields/FieldSlider.js.map +1 -1
  192. package/lib/packages/components/form/src/fields/FieldSwitch.js +5 -0
  193. package/lib/packages/components/form/src/fields/FieldSwitch.js.map +1 -1
  194. package/lib/packages/components/form/src/fields/FieldText.js +5 -0
  195. package/lib/packages/components/form/src/fields/FieldText.js.map +1 -1
  196. package/lib/packages/components/form/src/fields/FieldTimePicker.js +5 -0
  197. package/lib/packages/components/form/src/fields/FieldTimePicker.js.map +1 -1
  198. package/lib/packages/components/form/src/fields/FieldTimeRangePicker.js +5 -0
  199. package/lib/packages/components/form/src/fields/FieldTimeRangePicker.js.map +1 -1
  200. package/lib/packages/components/form/src/fields/FieldTreeSelect.js +5 -0
  201. package/lib/packages/components/form/src/fields/FieldTreeSelect.js.map +1 -1
  202. package/lib/packages/components/form/src/fields/FieldUploadButton.js +11 -3
  203. package/lib/packages/components/form/src/fields/FieldUploadButton.js.map +1 -1
  204. package/lib/packages/components/form/src/fields/FieldUploadDragger.js +11 -3
  205. package/lib/packages/components/form/src/fields/FieldUploadDragger.js.map +1 -1
  206. package/lib/packages/components/form/src/layouts/QueryFilter.js +6 -0
  207. package/lib/packages/components/form/src/layouts/QueryFilter.js.map +1 -1
  208. package/lib/packages/components/table/src/components/ColumnSetting/CheckboxListItem.vue.js +8 -5
  209. package/lib/packages/components/table/src/components/ColumnSetting/CheckboxListItem.vue.js.map +1 -1
  210. package/lib/packages/components/table/src/components/ColumnSetting/CheckboxListItem.vue2.js +5 -1
  211. package/lib/packages/components/table/src/components/ColumnSetting/CheckboxListItem.vue2.js.map +1 -1
  212. package/lib/packages/components/table/src/components/Filter/FilterDropdown.vue.js.map +1 -1
  213. package/lib/packages/components/table/src/components/Filter/FilterDropdown.vue2.js +3 -6
  214. package/lib/packages/components/table/src/components/Filter/FilterDropdown.vue2.js.map +1 -1
  215. package/lib/packages/components/table/src/components/Header/HeaderCell.vue.js +19 -25
  216. package/lib/packages/components/table/src/components/Header/HeaderCell.vue.js.map +1 -1
  217. package/lib/packages/components/table/src/components/Header/HeaderCell.vue2.js +4 -0
  218. package/lib/packages/components/table/src/components/Header/HeaderCell.vue2.js.map +1 -1
  219. package/lib/packages/components/table/src/components/Header/HeaderCellTitle.vue.js +28 -31
  220. package/lib/packages/components/table/src/components/Header/HeaderCellTitle.vue.js.map +1 -1
  221. package/lib/packages/components/table/src/components/Header/HeaderCellTitle.vue2.js +4 -0
  222. package/lib/packages/components/table/src/components/Header/HeaderCellTitle.vue2.js.map +1 -1
  223. package/lib/packages/components/table/src/components/Header/HeaderExtraCell.vue.js.map +1 -1
  224. package/lib/packages/components/table/src/components/Header/HeaderExtraCell.vue2.js +3 -1
  225. package/lib/packages/components/table/src/components/Header/HeaderExtraCell.vue2.js.map +1 -1
  226. package/lib/packages/components/table/src/components/Table.js +3 -1
  227. package/lib/packages/components/table/src/components/Table.js.map +1 -1
  228. package/lib/version.d.ts +1 -1
  229. package/lib/version.js +1 -1
  230. package/lib/version.js.map +1 -1
  231. package/package.json +1 -1
@@ -5,6 +5,7 @@ import { useInjectSlots } from '../context/FormSlotsContext.mjs';
5
5
  import { commonFieldProps } from '../props.mjs';
6
6
  import { useInjectForm } from '../context/FormContext.mjs';
7
7
  import getSlot from '../utils/getSlot.mjs';
8
+ import { useInjectFormList } from '../context/FormListContext.mjs';
8
9
  import { useIntl } from '../../../config-provider/src/useIntl.mjs';
9
10
  import { RenderVNode } from '../../../../utils/render-vnode.mjs';
10
11
  import { isFunction } from '../../../../utils/validate.mjs';
@@ -83,6 +84,9 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
83
84
  prefixCls,
84
85
  formData
85
86
  } = useInjectForm();
87
+ const {
88
+ rowData
89
+ } = useInjectFormList();
86
90
  const formSlotsContext = useInjectSlots();
87
91
  const fileList = ref([]);
88
92
  const formItemContext = Form.useInjectFormItemContext();
@@ -97,6 +101,7 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
97
101
  "vnode": slot,
98
102
  "props": {
99
103
  formData: formData.value,
104
+ rowData: rowData == null ? void 0 : rowData.value,
100
105
  ...props2 != null ? props2 : {}
101
106
  }
102
107
  }, null);
@@ -110,7 +115,8 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
110
115
  return createVNode(RenderVNode, {
111
116
  "vnode": render,
112
117
  "props": {
113
- formData: formData.value
118
+ formData: formData.value,
119
+ rowData: rowData == null ? void 0 : rowData.value
114
120
  }
115
121
  }, null);
116
122
  }
@@ -122,7 +128,8 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
122
128
  return createVNode(RenderVNode, {
123
129
  "vnode": render,
124
130
  "props": {
125
- formData: formData.value
131
+ formData: formData.value,
132
+ rowData: rowData == null ? void 0 : rowData.value
126
133
  }
127
134
  }, null);
128
135
  }
@@ -134,7 +141,8 @@ var FieldUploadButton = /* @__PURE__ */ defineComponent({
134
141
  return createVNode(RenderVNode, {
135
142
  "vnode": render,
136
143
  "props": {
137
- formData: formData.value
144
+ formData: formData.value,
145
+ rowData: rowData == null ? void 0 : rowData.value
138
146
  }
139
147
  }, null);
140
148
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FieldUploadButton.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldUploadButton.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-11-05 09:59:50\n * @Description:\n */\nimport type { PropType } from 'vue'\n\nimport { computed, defineComponent, ref, watch } from 'vue'\nimport { Form, Button, Upload, type UploadChangeParam, type UploadProps } from 'ant-design-vue'\nimport { UploadOutlined } from '@ant-design/icons-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { isFunction, RenderVNode } from '@pro-design-vue/utils'\nimport { useInjectForm } from '../context/FormContext'\nimport getSlot from '../utils/getSlot'\n\nconst SLOT_NAMES = [\n 'downloadIcon',\n 'itemRender',\n 'previewIcon',\n 'removeIcon',\n 'description',\n 'title',\n]\n\nexport default defineComponent({\n name: 'FieldUploadButton',\n props: {\n ...commonFieldProps(),\n iconRender: {\n type: String,\n default: '',\n },\n downloadIcon: {\n type: String,\n default: '',\n },\n itemRender: {\n type: String,\n default: '',\n },\n previewIcon: {\n type: String,\n default: '',\n },\n removeIcon: {\n type: String,\n default: '',\n },\n title: {\n type: String,\n },\n description: {\n type: String,\n },\n name: {\n type: String,\n default: 'file',\n },\n maxCount: {\n type: Number,\n default: undefined,\n },\n disabled: {\n type: Boolean,\n default: undefined,\n },\n buttonProps: {\n type: Object,\n default: undefined,\n },\n fileList: {\n type: Array,\n default: undefined,\n },\n listType: {\n type: String as PropType<'text' | 'picture' | 'picture-card'>,\n default: 'text',\n },\n listIgnore: {\n type: Boolean,\n default: true,\n },\n showUploadList: {\n type: [Boolean, Object] as PropType<UploadProps['showUploadList']>,\n default: true,\n },\n customRequest: Function,\n beforeUpload: Function,\n },\n setup(props, { attrs }) {\n const intl = useIntl()\n const { prefixCls, formData } = useInjectForm()\n const formSlotsContext = useInjectSlots()\n const fileList = ref<any[]>([])\n const formItemContext = Form.useInjectFormItemContext()\n const baseClassName = computed(() => `${prefixCls}-upload`)\n const isPictureCard = computed(() => props.listType === 'picture-card')\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = (props) => (\n <RenderVNode vnode={slot} props={{ formData: formData.value, ...(props ?? {}) }} />\n )\n }\n })\n return temp\n })\n\n const icon = computed(() => {\n const render = getSlot(props.iconRender, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return <UploadOutlined />\n })\n\n const title = computed(() => {\n const render = getSlot(props.title, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return props.title || intl.getMessage('upload.button', '单击上传')\n })\n\n const description = computed(() => {\n const render = getSlot(props.description, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return props.description\n })\n\n const beforeUpload: UploadProps['beforeUpload'] = async (file, fileList) => {\n const result = await props.beforeUpload?.(file, fileList)\n if (!result && props.listIgnore) {\n return Upload.LIST_IGNORE\n }\n return result\n }\n\n const customRequest: UploadProps['customRequest'] = async (option) => {\n const formData = new FormData()\n formData.append(props.name, option.file)\n const onUploadProgress = (e) => {\n if (e.total > 0) {\n e.percent = (e.loaded / e.total) * 100\n }\n option?.onProgress?.(e)\n }\n const { success, error, data } =\n (await props.customRequest!(formData, onUploadProgress, option)) ?? {}\n if (success) {\n option.onSuccess?.(data)\n formItemContext.onFieldChange()\n } else {\n option.onError?.(error, data)\n }\n }\n\n const uploadProps = computed(() => {\n const newProps = { ...attrs }\n if (props.customRequest) {\n newProps.customRequest = customRequest\n }\n if (props.beforeUpload) {\n newProps.beforeUpload = beforeUpload\n }\n return newProps\n })\n\n watch(\n () => props.value,\n (newValue) => {\n if (newValue) {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n } else {\n fileList.value = []\n }\n },\n {\n immediate: true,\n },\n )\n\n const onUploadChange = (info: UploadChangeParam) => {\n props.onChange?.(\n info.fileList.map((item) => ({\n ...item,\n name: item.name || item.response?.name || item.url || item.response?.url,\n url: item.response?.url || item.url,\n })),\n info.file,\n )\n formItemContext.onFieldChange()\n }\n\n return () => (\n <Upload\n {...uploadProps.value}\n class={{ [`${baseClassName.value}-readonly`]: props.readonly }}\n fileList={fileList.value}\n name={props.name}\n maxCount={props.maxCount}\n listType={props.listType}\n showUploadList={props.readonly || props.showUploadList}\n disabled={props.readonly || props.disabled}\n style={(attrs as any)?.style}\n v-slots={slotsGetter.value}\n onChange={onUploadChange}\n >\n {isPictureCard.value ? (\n props.maxCount !== undefined &&\n fileList.value?.length < props.maxCount && (\n <div>\n {icon.value}\n <div style=\"margin-top: 8px\"> {title.value}</div>\n </div>\n )\n ) : (\n <>\n <Button disabled={props.disabled} {...props.buttonProps}>\n {icon.value}\n {title.value}\n </Button>\n {description.value && (\n <span style={{ marginInlineStart: '10px' }}>{description.value}</span>\n )}\n </>\n )}\n </Upload>\n )\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","iconRender","type","String","default","downloadIcon","itemRender","previewIcon","removeIcon","title","description","maxCount","Number","undefined","disabled","Boolean","buttonProps","Object","fileList","Array","listType","listIgnore","showUploadList","customRequest","Function","beforeUpload","setup","attrs","intl","useIntl","prefixCls","formData","useInjectForm","formSlotsContext","useInjectSlots","ref","formItemContext","Form","useInjectFormItemContext","baseClassName","computed","isPictureCard","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","value","icon","render","isFunction","UploadOutlined","getMessage","file","result","Upload","LIST_IGNORE","option","FormData","append","onUploadProgress","e","_a","total","percent","loaded","onProgress","success","error","data","onSuccess","onFieldChange","onError","uploadProps","newProps","watch","newValue","map","item","url","immediate","onUploadChange","info","onChange","response","_mergeProps","readonly","style","length","_createTextVNode","_Fragment","Button","marginInlineStart"],"mappings":"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"}
1
+ {"version":3,"file":"FieldUploadButton.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldUploadButton.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-11-25 15:31:16\n * @Description:\n */\nimport type { PropType } from 'vue'\n\nimport { computed, defineComponent, ref, watch } from 'vue'\nimport { Form, Button, Upload, type UploadChangeParam, type UploadProps } from 'ant-design-vue'\nimport { UploadOutlined } from '@ant-design/icons-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { isFunction, RenderVNode } from '@pro-design-vue/utils'\nimport { useInjectForm } from '../context/FormContext'\nimport getSlot from '../utils/getSlot'\nimport { useInjectFormList } from '../context/FormListContext'\n\nconst SLOT_NAMES = [\n 'downloadIcon',\n 'itemRender',\n 'previewIcon',\n 'removeIcon',\n 'description',\n 'title',\n]\n\nexport default defineComponent({\n name: 'FieldUploadButton',\n props: {\n ...commonFieldProps(),\n iconRender: {\n type: String,\n default: '',\n },\n downloadIcon: {\n type: String,\n default: '',\n },\n itemRender: {\n type: String,\n default: '',\n },\n previewIcon: {\n type: String,\n default: '',\n },\n removeIcon: {\n type: String,\n default: '',\n },\n title: {\n type: String,\n },\n description: {\n type: String,\n },\n name: {\n type: String,\n default: 'file',\n },\n maxCount: {\n type: Number,\n default: undefined,\n },\n disabled: {\n type: Boolean,\n default: undefined,\n },\n buttonProps: {\n type: Object,\n default: undefined,\n },\n fileList: {\n type: Array,\n default: undefined,\n },\n listType: {\n type: String as PropType<'text' | 'picture' | 'picture-card'>,\n default: 'text',\n },\n listIgnore: {\n type: Boolean,\n default: true,\n },\n showUploadList: {\n type: [Boolean, Object] as PropType<UploadProps['showUploadList']>,\n default: true,\n },\n customRequest: Function,\n beforeUpload: Function,\n },\n setup(props, { attrs }) {\n const intl = useIntl()\n const { prefixCls, formData } = useInjectForm()\n const { rowData } = useInjectFormList()\n\n const formSlotsContext = useInjectSlots()\n const fileList = ref<any[]>([])\n const formItemContext = Form.useInjectFormItemContext()\n const baseClassName = computed(() => `${prefixCls}-upload`)\n const isPictureCard = computed(() => props.listType === 'picture-card')\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = (props) => (\n <RenderVNode\n vnode={slot}\n props={{ formData: formData.value, rowData: rowData?.value, ...(props ?? {}) }}\n />\n )\n }\n })\n return temp\n })\n\n const icon = computed(() => {\n const render = getSlot(props.iconRender, formSlotsContext)\n if (isFunction(render)) {\n return (\n <RenderVNode\n vnode={render}\n props={{ formData: formData.value, rowData: rowData?.value }}\n />\n )\n }\n return <UploadOutlined />\n })\n\n const title = computed(() => {\n const render = getSlot(props.title, formSlotsContext)\n if (isFunction(render)) {\n return (\n <RenderVNode\n vnode={render}\n props={{ formData: formData.value, rowData: rowData?.value }}\n />\n )\n }\n return props.title || intl.getMessage('upload.button', '单击上传')\n })\n\n const description = computed(() => {\n const render = getSlot(props.description, formSlotsContext)\n if (isFunction(render)) {\n return (\n <RenderVNode\n vnode={render}\n props={{ formData: formData.value, rowData: rowData?.value }}\n />\n )\n }\n return props.description\n })\n\n const beforeUpload: UploadProps['beforeUpload'] = async (file, fileList) => {\n const result = await props.beforeUpload?.(file, fileList)\n if (!result && props.listIgnore) {\n return Upload.LIST_IGNORE\n }\n return result\n }\n\n const customRequest: UploadProps['customRequest'] = async (option) => {\n const formData = new FormData()\n formData.append(props.name, option.file)\n const onUploadProgress = (e) => {\n if (e.total > 0) {\n e.percent = (e.loaded / e.total) * 100\n }\n option?.onProgress?.(e)\n }\n const { success, error, data } =\n (await props.customRequest!(formData, onUploadProgress, option)) ?? {}\n if (success) {\n option.onSuccess?.(data)\n formItemContext.onFieldChange()\n } else {\n option.onError?.(error, data)\n }\n }\n\n const uploadProps = computed(() => {\n const newProps = { ...attrs }\n if (props.customRequest) {\n newProps.customRequest = customRequest\n }\n if (props.beforeUpload) {\n newProps.beforeUpload = beforeUpload\n }\n return newProps\n })\n\n watch(\n () => props.value,\n (newValue) => {\n if (newValue) {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n } else {\n fileList.value = []\n }\n },\n {\n immediate: true,\n },\n )\n\n const onUploadChange = (info: UploadChangeParam) => {\n props.onChange?.(\n info.fileList.map((item) => ({\n ...item,\n name: item.name || item.response?.name || item.url || item.response?.url,\n url: item.response?.url || item.url,\n })),\n info.file,\n )\n formItemContext.onFieldChange()\n }\n\n return () => (\n <Upload\n {...uploadProps.value}\n class={{ [`${baseClassName.value}-readonly`]: props.readonly }}\n fileList={fileList.value}\n name={props.name}\n maxCount={props.maxCount}\n listType={props.listType}\n showUploadList={props.readonly || props.showUploadList}\n disabled={props.readonly || props.disabled}\n style={(attrs as any)?.style}\n v-slots={slotsGetter.value}\n onChange={onUploadChange}\n >\n {isPictureCard.value ? (\n props.maxCount !== undefined &&\n fileList.value?.length < props.maxCount && (\n <div>\n {icon.value}\n <div style=\"margin-top: 8px\"> {title.value}</div>\n </div>\n )\n ) : (\n <>\n <Button disabled={props.disabled} {...props.buttonProps}>\n {icon.value}\n {title.value}\n </Button>\n {description.value && (\n <span style={{ marginInlineStart: '10px' }}>{description.value}</span>\n )}\n </>\n )}\n </Upload>\n )\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","iconRender","type","String","default","downloadIcon","itemRender","previewIcon","removeIcon","title","description","maxCount","Number","undefined","disabled","Boolean","buttonProps","Object","fileList","Array","listType","listIgnore","showUploadList","customRequest","Function","beforeUpload","setup","attrs","intl","useIntl","prefixCls","formData","useInjectForm","rowData","useInjectFormList","formSlotsContext","useInjectSlots","ref","formItemContext","Form","useInjectFormItemContext","baseClassName","computed","isPictureCard","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","value","icon","render","isFunction","UploadOutlined","getMessage","file","result","Upload","LIST_IGNORE","option","FormData","append","onUploadProgress","e","_a","total","percent","loaded","onProgress","success","error","data","onSuccess","onFieldChange","onError","uploadProps","newProps","watch","newValue","map","item","url","immediate","onUploadChange","info","onChange","response","_mergeProps","readonly","style","length","_createTextVNode","_Fragment","Button","marginInlineStart"],"mappings":"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"}
@@ -5,6 +5,7 @@ import { useInjectForm } from '../context/FormContext.mjs';
5
5
  import { useInjectSlots } from '../context/FormSlotsContext.mjs';
6
6
  import { commonFieldProps } from '../props.mjs';
7
7
  import getSlot from '../utils/getSlot.mjs';
8
+ import { useInjectFormList } from '../context/FormListContext.mjs';
8
9
  import { useIntl } from '../../../config-provider/src/useIntl.mjs';
9
10
  import { RenderVNode } from '../../../../utils/render-vnode.mjs';
10
11
  import { isFunction } from '../../../../utils/validate.mjs';
@@ -78,6 +79,9 @@ var FieldUploadDragger = /* @__PURE__ */ defineComponent({
78
79
  prefixCls,
79
80
  formData
80
81
  } = useInjectForm();
82
+ const {
83
+ rowData
84
+ } = useInjectFormList();
81
85
  const intl = useIntl();
82
86
  const formSlotsContext = useInjectSlots();
83
87
  const fileList = ref([]);
@@ -92,6 +96,7 @@ var FieldUploadDragger = /* @__PURE__ */ defineComponent({
92
96
  "vnode": slot,
93
97
  "props": {
94
98
  formData: formData.value,
99
+ rowData: rowData == null ? void 0 : rowData.value,
95
100
  ...props2 != null ? props2 : {}
96
101
  }
97
102
  }, null);
@@ -105,7 +110,8 @@ var FieldUploadDragger = /* @__PURE__ */ defineComponent({
105
110
  return createVNode(RenderVNode, {
106
111
  "vnode": render,
107
112
  "props": {
108
- formData: formData.value
113
+ formData: formData.value,
114
+ rowData: rowData == null ? void 0 : rowData.value
109
115
  }
110
116
  }, null);
111
117
  }
@@ -117,7 +123,8 @@ var FieldUploadDragger = /* @__PURE__ */ defineComponent({
117
123
  return createVNode(RenderVNode, {
118
124
  "vnode": render,
119
125
  "props": {
120
- formData: formData.value
126
+ formData: formData.value,
127
+ rowData: rowData == null ? void 0 : rowData.value
121
128
  }
122
129
  }, null);
123
130
  }
@@ -129,7 +136,8 @@ var FieldUploadDragger = /* @__PURE__ */ defineComponent({
129
136
  return createVNode(RenderVNode, {
130
137
  "vnode": render,
131
138
  "props": {
132
- formData: formData.value
139
+ formData: formData.value,
140
+ rowData: rowData == null ? void 0 : rowData.value
133
141
  }
134
142
  }, null);
135
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FieldUploadDragger.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldUploadDragger.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-11-05 10:00:00\n * @Description:\n */\nimport { computed, defineComponent, ref, watch, type PropType } from 'vue'\nimport { Form, Upload, type UploadChangeParam, type UploadProps } from 'ant-design-vue'\nimport { InboxOutlined } from '@ant-design/icons-vue'\nimport { useInjectForm } from '../context/FormContext'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { isFunction, RenderVNode } from '@pro-design-vue/utils'\nimport getSlot from '../utils/getSlot'\nconst SLOT_NAMES = ['downloadIcon', 'itemRender', 'previewIcon', 'removeIcon']\n\nexport default defineComponent({\n name: 'FieldUploadDragger',\n props: {\n ...commonFieldProps(),\n iconRender: {\n type: String,\n default: '',\n },\n downloadIcon: {\n type: String,\n default: '',\n },\n itemRender: {\n type: String,\n default: '',\n },\n previewIcon: {\n type: String,\n default: '',\n },\n removeIcon: {\n type: String,\n default: '',\n },\n title: {\n type: String,\n },\n description: {\n type: String,\n },\n name: {\n type: String,\n default: 'file',\n },\n max: {\n type: Number,\n default: undefined,\n },\n disabled: {\n type: Boolean,\n default: undefined,\n },\n buttonProps: {\n type: Object,\n default: undefined,\n },\n fileList: {\n type: Array,\n default: undefined,\n },\n listIgnore: {\n type: Boolean,\n default: true,\n },\n showUploadList: {\n type: [Boolean, Object] as PropType<UploadProps['showUploadList']>,\n default: true,\n },\n customRequest: Function,\n beforeUpload: Function,\n },\n setup(props, { attrs }) {\n const { prefixCls, formData } = useInjectForm()\n const intl = useIntl()\n const formSlotsContext = useInjectSlots()\n const fileList = ref<any[]>([])\n const formItemContext = Form.useInjectFormItemContext()\n const baseClassName = computed(() => `${prefixCls}-upload`)\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = (props) => (\n <RenderVNode vnode={slot} props={{ formData: formData.value, ...(props ?? {}) }} />\n )\n }\n })\n return temp\n })\n\n const icon = computed(() => {\n const render = getSlot(props.iconRender, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return <InboxOutlined />\n })\n\n const title = computed(() => {\n const render = getSlot(props.title, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return props.title || intl.getMessage('upload.dragger.text', '单击或拖动文件到此区域进行上传')\n })\n\n const description = computed(() => {\n const render = getSlot(props.description, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return props.description || intl.getMessage('upload.dragger.hint', '支持单次或批量上传')\n })\n\n const beforeUpload: UploadProps['beforeUpload'] = async (file, fileList) => {\n const result = await props.beforeUpload?.(file, fileList)\n if (!result && props.listIgnore) {\n return Upload.LIST_IGNORE\n }\n return result\n }\n\n const customRequest: UploadProps['customRequest'] = async (option) => {\n const formData = new FormData()\n formData.append(props.name, option.file)\n const onUploadProgress = (e) => {\n if (e.total > 0) {\n e.percent = (e.loaded / e.total) * 100\n }\n option?.onProgress?.(e)\n }\n const { success, error, data } =\n (await props.customRequest!(formData, onUploadProgress, option)) ?? {}\n if (success) {\n option.onSuccess?.(data)\n formItemContext.onFieldChange()\n } else {\n option.onError?.(error, data)\n }\n }\n\n const uploadProps = computed(() => {\n const newProps = { ...attrs }\n if (props.customRequest) {\n newProps.customRequest = customRequest\n }\n if (props.beforeUpload) {\n newProps.beforeUpload = beforeUpload\n }\n return newProps\n })\n\n watch(\n () => props.value,\n (newValue) => {\n if (newValue) {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n } else {\n fileList.value = []\n }\n },\n {\n immediate: true,\n },\n )\n\n const onUploadChange = (info: UploadChangeParam) => {\n props.onChange?.(\n info.fileList.map((item) => ({\n ...item,\n name: item.name || item.response?.name || item.url || item.response?.url,\n url: item.response?.url || item.url,\n })),\n info.file,\n )\n formItemContext.onFieldChange()\n }\n\n return () => (\n <Upload.Dragger\n {...uploadProps.value}\n class={{ [`${baseClassName.value}-readonly`]: props.readonly }}\n fileList={fileList.value}\n name={props.name}\n showUploadList={props.readonly || props.showUploadList}\n disabled={props.readonly || props.disabled}\n style={(attrs as any)?.style}\n v-slots={slotsGetter.value}\n onChange={onUploadChange}\n >\n <p class={`${baseClassName.value}-drag-icon`} style={{ color: 'hsl(var(--pro-primary))' }}>\n {icon.value}\n </p>\n <p class={`${baseClassName.value}-text`}>{title.value}</p>\n <p class={`${baseClassName.value}-hint`}>{description.value}</p>\n </Upload.Dragger>\n )\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","iconRender","type","String","default","downloadIcon","itemRender","previewIcon","removeIcon","title","description","max","Number","undefined","disabled","Boolean","buttonProps","Object","fileList","Array","listIgnore","showUploadList","customRequest","Function","beforeUpload","setup","attrs","prefixCls","formData","useInjectForm","intl","useIntl","formSlotsContext","useInjectSlots","ref","formItemContext","Form","useInjectFormItemContext","baseClassName","computed","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","value","icon","render","isFunction","InboxOutlined","getMessage","file","result","Upload","LIST_IGNORE","option","FormData","append","onUploadProgress","e","_a","total","percent","loaded","onProgress","success","error","data","onSuccess","onFieldChange","onError","uploadProps","newProps","watch","newValue","map","item","url","immediate","onUploadChange","info","onChange","response","Dragger","_mergeProps","readonly","style","color"],"mappings":"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"}
1
+ {"version":3,"file":"FieldUploadDragger.mjs","sources":["../../../../../../../../packages/components/form/src/fields/FieldUploadDragger.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-11-25 15:31:42\n * @Description:\n */\nimport { computed, defineComponent, ref, watch, type PropType } from 'vue'\nimport { Form, Upload, type UploadChangeParam, type UploadProps } from 'ant-design-vue'\nimport { InboxOutlined } from '@ant-design/icons-vue'\nimport { useInjectForm } from '../context/FormContext'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { isFunction, RenderVNode } from '@pro-design-vue/utils'\nimport getSlot from '../utils/getSlot'\nimport { useInjectFormList } from '../context/FormListContext'\nconst SLOT_NAMES = ['downloadIcon', 'itemRender', 'previewIcon', 'removeIcon']\n\nexport default defineComponent({\n name: 'FieldUploadDragger',\n props: {\n ...commonFieldProps(),\n iconRender: {\n type: String,\n default: '',\n },\n downloadIcon: {\n type: String,\n default: '',\n },\n itemRender: {\n type: String,\n default: '',\n },\n previewIcon: {\n type: String,\n default: '',\n },\n removeIcon: {\n type: String,\n default: '',\n },\n title: {\n type: String,\n },\n description: {\n type: String,\n },\n name: {\n type: String,\n default: 'file',\n },\n max: {\n type: Number,\n default: undefined,\n },\n disabled: {\n type: Boolean,\n default: undefined,\n },\n buttonProps: {\n type: Object,\n default: undefined,\n },\n fileList: {\n type: Array,\n default: undefined,\n },\n listIgnore: {\n type: Boolean,\n default: true,\n },\n showUploadList: {\n type: [Boolean, Object] as PropType<UploadProps['showUploadList']>,\n default: true,\n },\n customRequest: Function,\n beforeUpload: Function,\n },\n setup(props, { attrs }) {\n const { prefixCls, formData } = useInjectForm()\n const { rowData } = useInjectFormList()\n\n const intl = useIntl()\n const formSlotsContext = useInjectSlots()\n const fileList = ref<any[]>([])\n const formItemContext = Form.useInjectFormItemContext()\n const baseClassName = computed(() => `${prefixCls}-upload`)\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = (props) => (\n <RenderVNode\n vnode={slot}\n props={{ formData: formData.value, rowData: rowData?.value, ...(props ?? {}) }}\n />\n )\n }\n })\n return temp\n })\n\n const icon = computed(() => {\n const render = getSlot(props.iconRender, formSlotsContext)\n if (isFunction(render)) {\n return (\n <RenderVNode\n vnode={render}\n props={{ formData: formData.value, rowData: rowData?.value }}\n />\n )\n }\n return <InboxOutlined />\n })\n\n const title = computed(() => {\n const render = getSlot(props.title, formSlotsContext)\n if (isFunction(render)) {\n return (\n <RenderVNode\n vnode={render}\n props={{ formData: formData.value, rowData: rowData?.value }}\n />\n )\n }\n return props.title || intl.getMessage('upload.dragger.text', '单击或拖动文件到此区域进行上传')\n })\n\n const description = computed(() => {\n const render = getSlot(props.description, formSlotsContext)\n if (isFunction(render)) {\n return (\n <RenderVNode\n vnode={render}\n props={{ formData: formData.value, rowData: rowData?.value }}\n />\n )\n }\n return props.description || intl.getMessage('upload.dragger.hint', '支持单次或批量上传')\n })\n\n const beforeUpload: UploadProps['beforeUpload'] = async (file, fileList) => {\n const result = await props.beforeUpload?.(file, fileList)\n if (!result && props.listIgnore) {\n return Upload.LIST_IGNORE\n }\n return result\n }\n\n const customRequest: UploadProps['customRequest'] = async (option) => {\n const formData = new FormData()\n formData.append(props.name, option.file)\n const onUploadProgress = (e) => {\n if (e.total > 0) {\n e.percent = (e.loaded / e.total) * 100\n }\n option?.onProgress?.(e)\n }\n const { success, error, data } =\n (await props.customRequest!(formData, onUploadProgress, option)) ?? {}\n if (success) {\n option.onSuccess?.(data)\n formItemContext.onFieldChange()\n } else {\n option.onError?.(error, data)\n }\n }\n\n const uploadProps = computed(() => {\n const newProps = { ...attrs }\n if (props.customRequest) {\n newProps.customRequest = customRequest\n }\n if (props.beforeUpload) {\n newProps.beforeUpload = beforeUpload\n }\n return newProps\n })\n\n watch(\n () => props.value,\n (newValue) => {\n if (newValue) {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n } else {\n fileList.value = []\n }\n },\n {\n immediate: true,\n },\n )\n\n const onUploadChange = (info: UploadChangeParam) => {\n props.onChange?.(\n info.fileList.map((item) => ({\n ...item,\n name: item.name || item.response?.name || item.url || item.response?.url,\n url: item.response?.url || item.url,\n })),\n info.file,\n )\n formItemContext.onFieldChange()\n }\n\n return () => (\n <Upload.Dragger\n {...uploadProps.value}\n class={{ [`${baseClassName.value}-readonly`]: props.readonly }}\n fileList={fileList.value}\n name={props.name}\n showUploadList={props.readonly || props.showUploadList}\n disabled={props.readonly || props.disabled}\n style={(attrs as any)?.style}\n v-slots={slotsGetter.value}\n onChange={onUploadChange}\n >\n <p class={`${baseClassName.value}-drag-icon`} style={{ color: 'hsl(var(--pro-primary))' }}>\n {icon.value}\n </p>\n <p class={`${baseClassName.value}-text`}>{title.value}</p>\n <p class={`${baseClassName.value}-hint`}>{description.value}</p>\n </Upload.Dragger>\n )\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","iconRender","type","String","default","downloadIcon","itemRender","previewIcon","removeIcon","title","description","max","Number","undefined","disabled","Boolean","buttonProps","Object","fileList","Array","listIgnore","showUploadList","customRequest","Function","beforeUpload","setup","attrs","prefixCls","formData","useInjectForm","rowData","useInjectFormList","intl","useIntl","formSlotsContext","useInjectSlots","ref","formItemContext","Form","useInjectFormItemContext","baseClassName","computed","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","value","icon","render","isFunction","InboxOutlined","getMessage","file","result","Upload","LIST_IGNORE","option","FormData","append","onUploadProgress","e","_a","total","percent","loaded","onProgress","success","error","data","onSuccess","onFieldChange","onError","uploadProps","newProps","watch","newValue","map","item","url","immediate","onUploadChange","info","onChange","response","Dragger","_mergeProps","readonly","style","color"],"mappings":"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"}
@@ -71,6 +71,12 @@ const flatMapItems = (items, ignoreRules) => {
71
71
  };
72
72
  }
73
73
  return item;
74
+ }).sort((a, b) => {
75
+ var _a2, _b;
76
+ if (b.order || a.order) {
77
+ return ((_a2 = b.order) != null ? _a2 : 0) - ((_b = a.order) != null ? _b : 0);
78
+ }
79
+ return 0;
74
80
  });
75
81
  };
76
82
  const defaultWidth = isBrowser() ? (_a = document == null ? void 0 : document.body) == null ? void 0 : _a.clientWidth : 1024;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryFilter.mjs","sources":["../../../../../../../../packages/components/form/src/layouts/QueryFilter.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-28 13:01:45\n * @LastEditors: shen\n * @LastEditTime: 2025-10-13 17:22:46\n * @Description:\n */\nimport { ref, computed, defineComponent, watch, useTemplateRef } from 'vue'\nimport { queryFilterProps } from '../props'\nimport { useMergedState, usePrefixCls } from '@pro-design-vue/hooks'\nimport { isBrowser, merge, omit, omitUndefined } from '@pro-design-vue/utils'\nimport { ProFieldType } from '../fieldType'\nimport { DownOutlined } from '@ant-design/icons-vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { useFormExpose } from '../hooks/useFormExpose'\nimport { useIntl, useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport BaseForm from '../base/BaseForm'\n\nimport type { ProFormActionType, ProFormItemType, SpanConfig } from '../type'\nimport type { FormItemProps, FormProps } from 'ant-design-vue'\n\nconst CONFIG_SPAN_BREAKPOINTS = {\n xs: 513,\n sm: 513,\n md: 785,\n lg: 992,\n xl: 1057,\n xxl: Infinity,\n}\n/** 配置表单列变化的容器宽度断点 */\nconst BREAKPOINTS = {\n vertical: [\n // [breakpoint, cols, layout]\n [513, 1, 'vertical'],\n [785, 2, 'vertical'],\n [1057, 3, 'vertical'],\n [Infinity, 4, 'vertical'],\n ],\n default: [\n [513, 1, 'vertical'],\n [701, 2, 'vertical'],\n [1062, 3, 'horizontal'],\n [1352, 3, 'horizontal'],\n [Infinity, 4, 'horizontal'],\n ],\n}\n\n/**\n * 合并用户和默认的配置\n *\n * @param layout\n * @param width\n */\nconst getSpanConfig = (\n layout: FormProps['layout'] = 'horizontal',\n width: number,\n span?: SpanConfig,\n): { span: number; layout: FormProps['layout'] } => {\n if (span && typeof span === 'number') {\n return {\n span,\n layout,\n }\n }\n\n const spanConfig: (string | number)[][] = span\n ? ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].map((key) => [\n CONFIG_SPAN_BREAKPOINTS[key as 'xs'],\n 24 / (span as any)[key as 'sm'],\n 'horizontal',\n ])\n : BREAKPOINTS[(layout as 'default') || 'default']\n const breakPoint = (spanConfig || BREAKPOINTS.default).find(\n (item) => width < (item[0] as number) + 16, // 16 = 2 * (ant-row -8px margin)\n )\n if (!breakPoint) {\n return {\n span: 8,\n layout: 'horizontal',\n }\n }\n return {\n span: 24 / (breakPoint[1] as number),\n layout: breakPoint?.[2] as 'horizontal',\n }\n}\n\nconst flatMapItems = (items: ProFormItemType[], ignoreRules?: boolean): ProFormItemType[] => {\n return items?.flatMap((item: any) => {\n if (item.fieldType === ProFieldType.GROUP && !item.title) {\n return item.props.children\n }\n if (ignoreRules) {\n return {\n ...item,\n rules: [],\n formItemProps: {\n ...item.formItemProps,\n rules: [],\n },\n }\n }\n return item\n })\n}\n\nconst defaultWidth = isBrowser() ? document?.body?.clientWidth : 1024\nexport default defineComponent({\n name: 'ProQueryFilter',\n inheritAttrs: false,\n props: {\n ...queryFilterProps(),\n },\n emits: ['collapse', 'resize'],\n setup(props, { slots, emit, expose, attrs }) {\n const { form } = useProConfigInject()\n // totalSpan 统计控件占的位置,计算 offset 保证查询按钮在最后一列\n const totalSpan = ref(0)\n // totalSize 统计控件占的份数\n const totalSize = ref(0)\n // for split compute\n const currentSpan = ref(0)\n const intl = useIntl()\n const prefixCls = usePrefixCls('query-filter')\n const wrapEl = useTemplateRef<HTMLDivElement>('wrapper')\n const formRef = ref<InstanceType<typeof BaseForm> & ProFormActionType>()\n const processedList = ref<ProFormItemType[]>([])\n const [width, setWidth] = useMergedState(defaultWidth)\n const formExpose = useFormExpose(formRef)\n useResizeObserver(wrapEl, (entries) => {\n const entry = entries[0]\n const { width: newWidth, height } = entry?.contentRect || ({} as DOMRectReadOnly)\n if (width.value !== newWidth && newWidth > 17) {\n setWidth(newWidth)\n }\n emit('resize', newWidth, height)\n })\n\n const spanSize = computed(() => getSpanConfig(props.layout, width.value + 16, props.span))\n\n const showLength = computed(() => {\n if (props.defaultFormItemsNumber !== undefined) {\n return props.defaultFormItemsNumber\n }\n if (props.defaultColsNumber !== undefined) {\n const oneRowControlsNumber = 24 / spanSize.value.span - 1\n return props.defaultColsNumber > oneRowControlsNumber\n ? oneRowControlsNumber\n : props.defaultColsNumber\n }\n return Math.max(1, 24 / spanSize.value.span - 1)\n })\n\n const hiddenNum = computed(\n () => props.showHiddenNum && processedList.value.filter((item) => item.hidden).length,\n )\n\n const needCollapse = computed(() => {\n if (totalSpan.value < 24 || totalSize.value <= showLength.value) {\n return false\n }\n return true\n })\n\n const offset = computed(() => {\n const offsetSpan = (currentSpan.value % 24) + spanSize.value.span\n if (offsetSpan > 24) {\n return 24 - spanSize.value.span\n }\n return 24 - offsetSpan\n })\n\n /** 计算最大宽度防止溢出换行 */\n const formItemFixStyle = computed<FormItemProps | undefined>(() => {\n const labelWidth = props.labelWidth ?? form?.value?.labelWidth ?? '80'\n if (labelWidth && spanSize.value.layout !== 'vertical' && labelWidth !== 'auto') {\n return {\n labelCol: {\n flex: `0 0 ${labelWidth}px`,\n },\n wrapperCol: {\n style: {\n maxWidth: `calc(100% - ${labelWidth}px)`,\n },\n },\n style: {\n flexWrap: 'nowrap',\n },\n }\n }\n return undefined\n })\n\n const [collapsed, setCollapsed] = useMergedState<boolean | undefined>(\n () => props.defaultCollapsed && props.submitter !== false,\n {\n value: computed(() => props.collapsed),\n onChange: (val) => {\n emit('collapse', val)\n },\n },\n )\n\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'isKeyPressSubmit',\n 'defaultCollapsed',\n 'collapsed',\n 'grid',\n 'showLoading',\n 'defaultColsNumber',\n 'searchGutter',\n // 'onFinish',\n 'submitOnLoading',\n 'preserve',\n 'submitter',\n 'ignoreRules',\n 'searchText',\n 'resetText',\n 'labelWidth',\n 'layout',\n 'items',\n 'gridSubmitter',\n 'rowProps',\n 'defaultFormItemsNumber',\n 'showHiddenNum',\n 'ignoreRules',\n 'onCollapse',\n 'onReset',\n ]),\n ),\n }\n })\n\n const submitterConfig = computed(() => {\n if (props.submitter === false) {\n return false\n }\n\n return merge(\n {\n style: {\n justifyContent: 'flex-end',\n },\n reverse: true,\n searchConfig: {\n submitText:\n props.searchText ?? form?.value?.searchText ?? intl.getMessage('form.search', '搜索'),\n resetText:\n props.resetText ?? form?.value?.resetText ?? intl.getMessage('form.reset', '重置'),\n },\n colProps: {\n span: spanSize.value.span,\n offset: offset.value,\n },\n },\n props.submitter,\n )\n })\n\n watch(\n [spanSize, collapsed, () => props.items],\n () => {\n let firstRowFull = false\n currentSpan.value = 0\n totalSize.value = 0\n totalSpan.value = 0\n if (props.items?.length) {\n processedList.value = flatMapItems(props.items, props.ignoreRules).map((item, index) => {\n // 如果 formItem 自己配置了 hidden,默认使用它自己的\n const colSize = item.colSize ?? 1\n const colSpan = Math.min(spanSize.value.span * (colSize || 1), 24)\n // 计算总的 totalSpan 长度\n totalSpan.value += colSpan\n // 计算总的 colSize 长度\n totalSize.value += colSize\n\n if (index === 0) {\n firstRowFull = colSpan === 24 && !item.hidden\n }\n\n const hidden: boolean | undefined =\n item.hidden ||\n // 如果收起了\n\n (collapsed.value &&\n (firstRowFull ||\n // 如果 超过显示长度 且 总长度超过了 24\n totalSize.value > showLength.value) &&\n !!index)\n\n if (hidden) {\n if (!props.preserve) {\n return {\n ...item,\n colProps: { span: 0 },\n hidden: true,\n }\n }\n return {\n ...item,\n colProps: { span: colSpan },\n hidden: true,\n }\n }\n\n if (24 - (currentSpan.value % 24) < colSpan) {\n // 如果当前行空余位置放不下,那么折行\n totalSpan.value += 24 - (currentSpan.value % 24)\n currentSpan.value += 24 - (currentSpan.value % 24)\n }\n\n currentSpan.value += colSpan\n return {\n ...item,\n hidden,\n formItemProps: {\n ...(item.title ? formItemFixStyle.value : {}),\n ...item.formItemProps,\n },\n colProps: {\n span: colSpan,\n },\n }\n })\n } else {\n processedList.value = []\n }\n },\n {\n immediate: true,\n },\n )\n\n expose({\n formRef,\n ...formExpose,\n })\n\n return () => (\n <div class={`${prefixCls}-wrap`} ref=\"wrapper\" {...attrs}>\n <BaseForm\n ref={formRef}\n class={prefixCls}\n {...formProps.value}\n grid\n gridSubmitter\n rowProps={{\n gutter: props.searchGutter,\n justify: 'start',\n class: `${prefixCls}-row`,\n }}\n isKeyPressSubmit={props.isKeyPressSubmit ?? true}\n showLoading={false}\n submitter={submitterConfig.value}\n items={processedList.value}\n layout={spanSize.value.layout}\n v-slots={{\n ...slots,\n submitter: ({ props, action, defaultDoms }) => {\n return (\n <>\n {slots.submitter\n ? slots.submitter?.({ props, action, defaultDoms })\n : defaultDoms}\n {needCollapse.value !== false && (\n <a\n class={`${prefixCls}-collapse-button`}\n onClick={() => setCollapsed(!collapsed.value)}\n >\n {collapsed.value\n ? intl.getMessage('form.collapsed', '展开')\n : intl.getMessage('form.expand', '收起')}\n {!!hiddenNum.value && `(${hiddenNum.value})`}\n <DownOutlined\n style={{\n marginInlineStart: '0.5em',\n transition: '0.3s all',\n transform: `rotate(${collapsed.value ? 0 : 0.5}turn)`,\n }}\n />\n </a>\n )}\n </>\n )\n },\n }}\n onReset={(values) => {\n const resetOnSubmit = props.resetOnSubmit ?? form?.value?.resetOnSubmit\n if (resetOnSubmit) {\n formRef.value?.submit()\n }\n props.onReset?.(values)\n }}\n />\n </div>\n )\n },\n})\n"],"names":["CONFIG_SPAN_BREAKPOINTS","xs","sm","md","lg","xl","xxl","Infinity","BREAKPOINTS","vertical","default","getSpanConfig","layout","width","span","spanConfig","map","key","breakPoint","find","item","flatMapItems","items","ignoreRules","flatMap","fieldType","ProFieldType","GROUP","title","props","children","rules","formItemProps","defaultWidth","isBrowser","document","body","clientWidth","name","inheritAttrs","queryFilterProps","emits","setup","slots","emit","expose","attrs","form","useProConfigInject","totalSpan","ref","totalSize","currentSpan","intl","useIntl","prefixCls","usePrefixCls","wrapEl","useTemplateRef","formRef","processedList","setWidth","useMergedState","formExpose","useFormExpose","useResizeObserver","entries","entry","newWidth","height","contentRect","value","spanSize","computed","showLength","defaultFormItemsNumber","undefined","defaultColsNumber","oneRowControlsNumber","Math","max","hiddenNum","showHiddenNum","filter","hidden","length","needCollapse","offset","offsetSpan","formItemFixStyle","_a","labelWidth","labelCol","flex","wrapperCol","style","maxWidth","flexWrap","collapsed","setCollapsed","defaultCollapsed","submitter","onChange","val","formProps","omitUndefined","omit","submitterConfig","merge","justifyContent","reverse","searchConfig","submitText","searchText","getMessage","resetText","colProps","watch","firstRowFull","index","colSize","colSpan","min","preserve","immediate","_createVNode","_mergeProps","BaseForm","gutter","searchGutter","justify","class","isKeyPressSubmit","values","resetOnSubmit","submit","onReset","action","defaultDoms","_Fragment","onClick","DownOutlined","marginInlineStart","transition","transform"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAA,EAAA;AAqBA,MAAMA,uBAAAA,GAA0B;AAAA,EAC9BC,EAAAA,EAAI,GAAA;AAAA,EACJC,EAAAA,EAAI,GAAA;AAAA,EACJC,EAAAA,EAAI,GAAA;AAAA,EACJC,EAAAA,EAAI,GAAA;AAAA,EACJC,EAAAA,EAAI,IAAA;AAAA,EACJC,GAAAA,EAAKC;AACP,CAAA;AAEA,MAAMC,WAAAA,GAAc;AAAA,EAClBC,QAAAA,EAAU;AAAA;AAAA,IAER,CAAC,GAAA,EAAK,CAAA,EAAG,UAAU,CAAA;AAAA,IACnB,CAAC,GAAA,EAAK,CAAA,EAAG,UAAU,CAAA;AAAA,IACnB,CAAC,IAAA,EAAM,CAAA,EAAG,UAAU,CAAA;AAAA,IACpB,CAACF,QAAAA,EAAU,CAAA,EAAG,UAAU;AAAA,GAAC;AAAA,EAE3BG,OAAAA,EAAS,CACP,CAAC,GAAA,EAAK,CAAA,EAAG,UAAU,CAAA,EACnB,CAAC,GAAA,EAAK,CAAA,EAAG,UAAU,CAAA,EACnB,CAAC,MAAM,CAAA,EAAG,YAAY,CAAA,EACtB,CAAC,IAAA,EAAM,CAAA,EAAG,YAAY,CAAA,EACtB,CAACH,QAAAA,EAAU,CAAA,EAAG,YAAY,CAAC;AAE/B,CAAA;AAQA,MAAMI,aAAAA,GAAgBA,CACpBC,MAAAA,GAA8B,YAAA,EAC9BC,OACAC,IAAAA,KACkD;AAClD,EAAA,IAAIA,IAAAA,IAAQ,OAAOA,IAAAA,KAAS,QAAA,EAAU;AACpC,IAAA,OAAO;AAAA,MACLA,IAAAA;AAAAA,MACAF;AAAAA,KACF;AAAA,EACF;AAEA,EAAA,MAAMG,UAAAA,GAAoCD,IAAAA,GACtC,CAAC,IAAA,EAAM,IAAA,EAAM,MAAM,IAAA,EAAM,IAAA,EAAM,KAAK,CAAA,CAAEE,GAAAA,CAAKC,CAAAA,GAAAA,KAAQ,CACjDjB,uBAAAA,CAAwBiB,GAAG,CAAA,EAC3B,EAAA,GAAMH,IAAAA,CAAaG,GAAG,CAAA,EACtB,YAAY,CACb,CAAA,GACDT,WAAAA,CAAaI,MAAAA,IAAwB,SAAS,CAAA;AAClD,EAAA,MAAMM,UAAAA,GAAAA,CAAcH,UAAAA,IAAcP,WAAAA,CAAYE,OAAAA,EAASS,IAAAA;AAAAA,IACpDC,CAAAA,IAAAA,KAASP,KAAAA,GAASO,IAAAA,CAAK,CAAC,CAAA,GAAe;AAAA;AAAA,GAC1C;AACA,EAAA,IAAI,CAACF,UAAAA,EAAY;AACf,IAAA,OAAO;AAAA,MACLJ,IAAAA,EAAM,CAAA;AAAA,MACNF,MAAAA,EAAQ;AAAA,KACV;AAAA,EACF;AACA,EAAA,OAAO;AAAA,IACLE,IAAAA,EAAM,EAAA,GAAMI,UAAAA,CAAW,CAAC,CAAA;AAAA,IACxBN,QAAQM,UAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,UAAAA,CAAa,CAAA;AAAA,GACvB;AACF,CAAA;AAEA,MAAMG,YAAAA,GAAeA,CAACC,KAAAA,EAA0BC,WAAAA,KAA6C;AAC3F,EAAA,OAAOD,KAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,KAAAA,CAAOE,QAASJ,CAAAA,IAAAA,KAAc;AACnC,IAAA,IAAIA,KAAKK,SAAAA,KAAcC,YAAAA,CAAaC,KAAAA,IAAS,CAACP,KAAKQ,KAAAA,EAAO;AACxD,MAAA,OAAOR,KAAKS,KAAAA,CAAMC,QAAAA;AAAAA,IACpB;AACA,IAAA,IAAIP,WAAAA,EAAa;AACf,MAAA,OAAO;AAAA,QACL,GAAGH,IAAAA;AAAAA,QACHW,OAAO,EAAA;AAAA,QACPC,aAAAA,EAAe;AAAA,UACb,GAAGZ,IAAAA,CAAKY,aAAAA;AAAAA,UACRD,OAAO;AAAA;AACT,OACF;AAAA,IACF;AACA,IAAA,OAAOX,IAAAA;AAAAA,EACT,CAAA,CAAA;AACF,CAAA;AAEA,MAAMa,eAAeC,SAAAA,EAAU,GAAA,CAAIC,EAAAA,GAAAA,QAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,QAAAA,CAAUC,IAAAA,KAAVD,mBAAgBE,WAAAA,GAAc,IAAA;AACjE,kDAA+B;AAAA,EAC7BC,IAAAA,EAAM,gBAAA;AAAA,EACNC,YAAAA,EAAc,KAAA;AAAA,EACdV,KAAAA,EAAO;AAAA,IACL,GAAGW,gBAAAA;AAAiB,GACtB;AAAA,EACAC,KAAAA,EAAO,CAAC,UAAA,EAAY,QAAQ,CAAA;AAAA,EAC5BC,MAAMb,KAAAA,EAAO;AAAA,IAAEc,KAAAA;AAAAA,IAAOC,IAAAA;AAAAA,IAAMC,MAAAA;AAAAA,IAAQC;AAAAA,GAAM,EAAG;AAC3C,IAAA,MAAM;AAAA,MAAEC;AAAAA,QAASC,kBAAAA,EAAmB;AAEpC,IAAA,MAAMC,SAAAA,GAAYC,IAAI,CAAC,CAAA;AAEvB,IAAA,MAAMC,SAAAA,GAAYD,IAAI,CAAC,CAAA;AAEvB,IAAA,MAAME,WAAAA,GAAcF,IAAI,CAAC,CAAA;AACzB,IAAA,MAAMG,OAAOC,OAAAA,EAAQ;AACrB,IAAA,MAAMC,SAAAA,GAAYC,aAAa,cAAc,CAAA;AAC7C,IAAA,MAAMC,MAAAA,GAASC,eAA+B,SAAS,CAAA;AACvD,IAAA,MAAMC,UAAUT,GAAAA,EAAuD;AACvE,IAAA,MAAMU,aAAAA,GAAgBV,GAAAA,CAAuB,EAAE,CAAA;AAC/C,IAAA,MAAM,CAACrC,KAAAA,EAAOgD,QAAQ,CAAA,GAAIC,eAAe7B,YAAY,CAAA;AACrD,IAAA,MAAM8B,UAAAA,GAAaC,cAAcL,OAAO,CAAA;AACxCM,IAAAA,iBAAAA,CAAkBR,QAASS,CAAAA,OAAAA,KAAY;AACrC,MAAA,MAAMC,KAAAA,GAAQD,QAAQ,CAAC,CAAA;AACvB,MAAA,MAAM;AAAA,QAAErD,KAAAA,EAAOuD,QAAAA;AAAAA,QAAUC;AAAAA,OAAO,GAAA,CAAIF,KAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,KAAAA,CAAOG,WAAAA,KAAgB,EAAC;AAC5D,MAAA,IAAIzD,KAAAA,CAAM0D,KAAAA,KAAUH,QAAAA,IAAYA,QAAAA,GAAW,EAAA,EAAI;AAC7CP,QAAAA,QAAAA,CAASO,QAAQ,CAAA;AAAA,MACnB;AACAxB,MAAAA,IAAAA,CAAK,QAAA,EAAUwB,UAAUC,MAAM,CAAA;AAAA,IACjC,CAAC,CAAA;AAED,IAAA,MAAMG,QAAAA,GAAWC,QAAAA,CAAS,MAAM9D,aAAAA,CAAckB,KAAAA,CAAMjB,MAAAA,EAAQC,KAAAA,CAAM0D,KAAAA,GAAQ,EAAA,EAAI1C,KAAAA,CAAMf,IAAI,CAAC,CAAA;AAEzF,IAAA,MAAM4D,UAAAA,GAAaD,SAAS,MAAM;AAChC,MAAA,IAAI5C,KAAAA,CAAM8C,2BAA2BC,MAAAA,EAAW;AAC9C,QAAA,OAAO/C,KAAAA,CAAM8C,sBAAAA;AAAAA,MACf;AACA,MAAA,IAAI9C,KAAAA,CAAMgD,sBAAsBD,MAAAA,EAAW;AACzC,QAAA,MAAME,oBAAAA,GAAuB,EAAA,GAAKN,QAAAA,CAASD,KAAAA,CAAMzD,IAAAA,GAAO,CAAA;AACxD,QAAA,OAAOe,KAAAA,CAAMgD,iBAAAA,GAAoBC,oBAAAA,GAC7BA,oBAAAA,GACAjD,KAAAA,CAAMgD,iBAAAA;AAAAA,MACZ;AACA,MAAA,OAAOE,KAAKC,GAAAA,CAAI,CAAA,EAAG,KAAKR,QAAAA,CAASD,KAAAA,CAAMzD,OAAO,CAAC,CAAA;AAAA,IACjD,CAAC,CAAA;AAED,IAAA,MAAMmE,SAAAA,GAAYR,QAAAA,CAChB,MAAM5C,KAAAA,CAAMqD,aAAAA,IAAiBtB,aAAAA,CAAcW,KAAAA,CAAMY,MAAAA,CAAQ/D,CAAAA,IAAAA,KAASA,IAAAA,CAAKgE,MAAM,CAAA,CAAEC,MACjF,CAAA;AAEA,IAAA,MAAMC,YAAAA,GAAeb,SAAS,MAAM;AAClC,MAAA,IAAIxB,UAAUsB,KAAAA,GAAQ,EAAA,IAAMpB,SAAAA,CAAUoB,KAAAA,IAASG,WAAWH,KAAAA,EAAO;AAC/D,QAAA,OAAO,KAAA;AAAA,MACT;AACA,MAAA,OAAO,IAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAMgB,MAAAA,GAASd,SAAS,MAAM;AAC5B,MAAA,MAAMe,UAAAA,GAAcpC,WAAAA,CAAYmB,KAAAA,GAAQ,EAAA,GAAMC,SAASD,KAAAA,CAAMzD,IAAAA;AAC7D,MAAA,IAAI0E,aAAa,EAAA,EAAI;AACnB,QAAA,OAAO,EAAA,GAAKhB,SAASD,KAAAA,CAAMzD,IAAAA;AAAAA,MAC7B;AACA,MAAA,OAAO,EAAA,GAAK0E,UAAAA;AAAAA,IACd,CAAC,CAAA;AAGD,IAAA,MAAMC,gBAAAA,GAAmBhB,SAAoC,MAAM;AA7KvE,MAAA,IAAAiB,GAAAA,EAAA,EAAA,EAAA,EAAA;AA8KM,MAAA,MAAMC,UAAAA,GAAAA,CAAa9D,EAAAA,GAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAM8D,UAAAA,KAAN9D,IAAAA,GAAAA,EAAAA,GAAAA,CAAoBkB,GAAAA,GAAAA,6BAAMwB,KAAAA,KAANxB,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAa4C,UAAAA,KAAjC9D,IAAAA,GAAAA,EAAAA,GAA+C,IAAA;AAClE,MAAA,IAAI8D,cAAcnB,QAAAA,CAASD,KAAAA,CAAM3D,MAAAA,KAAW,UAAA,IAAc+E,eAAe,MAAA,EAAQ;AAC/E,QAAA,OAAO;AAAA,UACLC,QAAAA,EAAU;AAAA,YACRC,IAAAA,EAAM,OAAOF,UAAU,CAAA,EAAA;AAAA,WACzB;AAAA,UACAG,UAAAA,EAAY;AAAA,YACVC,KAAAA,EAAO;AAAA,cACLC,QAAAA,EAAU,eAAeL,UAAU,CAAA,GAAA;AAAA;AACrC,WACF;AAAA,UACAI,KAAAA,EAAO;AAAA,YACLE,QAAAA,EAAU;AAAA;AACZ,SACF;AAAA,MACF;AACA,MAAA,OAAOrB,MAAAA;AAAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAM,CAACsB,SAAAA,EAAWC,YAAY,CAAA,GAAIrC,cAAAA,CAChC,MAAMjC,KAAAA,CAAMuE,gBAAAA,IAAoBvE,KAAAA,CAAMwE,SAAAA,KAAc,KAAA,EACpD;AAAA,MACE9B,KAAAA,EAAOE,QAAAA,CAAS,MAAM5C,KAAAA,CAAMqE,SAAS,CAAA;AAAA,MACrCI,UAAWC,CAAAA,GAAAA,KAAQ;AACjB3D,QAAAA,IAAAA,CAAK,YAAY2D,GAAG,CAAA;AAAA,MACtB;AAAA,KAEJ,CAAA;AAEA,IAAA,MAAMC,SAAAA,GAAY/B,SAAS,MAAM;AAC/B,MAAA,OAAO;AAAA,QACL,GAAGgC,aAAAA,CACDC,IAAAA,CAAK7E,KAAAA,EAAO;AAAA,UACV,kBAAA;AAAA,UACA,kBAAA;AAAA,UACA,WAAA;AAAA,UACA,MAAA;AAAA,UACA,aAAA;AAAA,UACA,mBAAA;AAAA,UACA,cAAA;AAAA;AAAA,UAEA,iBAAA;AAAA,UACA,UAAA;AAAA,UACA,WAAA;AAAA,UACA,aAAA;AAAA,UACA,YAAA;AAAA,UACA,WAAA;AAAA,UACA,YAAA;AAAA,UACA,QAAA;AAAA,UACA,OAAA;AAAA,UACA,eAAA;AAAA,UACA,UAAA;AAAA,UACA,wBAAA;AAAA,UACA,eAAA;AAAA,UACA,aAAA;AAAA,UACA,YAAA;AAAA,UACA;AAAA,SACD,CACH;AAAA,OACF;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAM8E,eAAAA,GAAkBlC,SAAS,MAAM;AA5O3C,MAAA,IAAAiB,GAAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA6OM,MAAA,IAAI7D,KAAAA,CAAMwE,cAAc,KAAA,EAAO;AAC7B,QAAA,OAAO,KAAA;AAAA,MACT;AAEA,MAAA,OAAOO,KAAAA,CACL;AAAA,QACEb,KAAAA,EAAO;AAAA,UACLc,cAAAA,EAAgB;AAAA,SAClB;AAAA,QACAC,OAAAA,EAAS,IAAA;AAAA,QACTC,YAAAA,EAAc;AAAA,UACZC,UAAAA,EAAAA,CACEnF,EAAAA,GAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMoF,UAAAA,KAANpF,IAAAA,GAAAA,EAAAA,GAAAA,CAAoBkB,MAAAA,IAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,IAAAA,CAAMwB,KAAAA,KAANxB,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAakE,UAAAA,KAAjCpF,IAAAA,GAAAA,EAAAA,GAA+CwB,IAAAA,CAAK6D,UAAAA,CAAW,eAAe,cAAI,CAAA;AAAA,UACpFC,SAAAA,EAAAA,CACEtF,EAAAA,GAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMsF,SAAAA,KAANtF,IAAAA,GAAAA,EAAAA,GAAAA,CAAmBkB,EAAAA,GAAAA,IAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,IAAAA,CAAMwB,KAAAA,KAANxB,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAaoE,SAAAA,KAAhCtF,IAAAA,GAAAA,EAAAA,GAA6CwB,IAAAA,CAAK6D,UAAAA,CAAW,YAAA,EAAc,cAAI;AAAA,SACnF;AAAA,QACAE,QAAAA,EAAU;AAAA,UACRtG,IAAAA,EAAM0D,SAASD,KAAAA,CAAMzD,IAAAA;AAAAA,UACrByE,QAAQA,MAAAA,CAAOhB;AAAAA;AACjB,OACF,EACA1C,MAAMwE,SACR,CAAA;AAAA,IACF,CAAC,CAAA;AAEDgB,IAAAA,KAAAA,CACE,CAAC7C,QAAAA,EAAU0B,SAAAA,EAAW,MAAMrE,KAAAA,CAAMP,KAAK,GACvC,MAAM;AAxQZ,MAAA,IAAAoE,GAAAA;AAyQQ,MAAA,IAAI4B,YAAAA,GAAe,KAAA;AACnBlE,MAAAA,WAAAA,CAAYmB,KAAAA,GAAQ,CAAA;AACpBpB,MAAAA,SAAAA,CAAUoB,KAAAA,GAAQ,CAAA;AAClBtB,MAAAA,SAAAA,CAAUsB,KAAAA,GAAQ,CAAA;AAClB,MAAA,IAAA,CAAI1C,GAAAA,GAAAA,KAAAA,CAAMP,KAAAA,KAANO,IAAAA,GAAAA,MAAAA,GAAAA,IAAawD,MAAAA,EAAQ;AACvBzB,QAAAA,aAAAA,CAAcW,KAAAA,GAAQlD,YAAAA,CAAaQ,KAAAA,CAAMP,KAAAA,EAAOO,KAAAA,CAAMN,WAAW,CAAA,CAAEP,GAAAA,CAAI,CAACI,IAAAA,EAAMmG,KAAAA,KAAU;AA9QlG,UAAA,IAAA7B,GAAAA;AAgRY,UAAA,MAAM8B,OAAAA,GAAAA,CAAUpG,GAAAA,GAAAA,IAAAA,CAAKoG,OAAAA,KAALpG,OAAAA,GAAAA,GAAgB,CAAA;AAChC,UAAA,MAAMqG,OAAAA,GAAU1C,KAAK2C,GAAAA,CAAIlD,QAAAA,CAASD,MAAMzD,IAAAA,IAAQ0G,OAAAA,IAAW,IAAI,EAAE,CAAA;AAEjEvE,UAAAA,SAAAA,CAAUsB,KAAAA,IAASkD,OAAAA;AAEnBtE,UAAAA,SAAAA,CAAUoB,KAAAA,IAASiD,OAAAA;AAEnB,UAAA,IAAID,UAAU,CAAA,EAAG;AACfD,YAAAA,YAAAA,GAAeG,OAAAA,KAAY,EAAA,IAAM,CAACrG,IAAAA,CAAKgE,MAAAA;AAAAA,UACzC;AAEA,UAAA,MAAMA,SACJhE,IAAAA,CAAKgE,MAAAA;AAAAA,UAGJc,UAAU3B,KAAAA,KACR+C,YAAAA;AAAAA,UAECnE,SAAAA,CAAUoB,KAAAA,GAAQG,UAAAA,CAAWH,KAAAA,CAAAA,IAC/B,CAAC,CAACgD,KAAAA;AAEN,UAAA,IAAInC,MAAAA,EAAQ;AACV,YAAA,IAAI,CAACvD,MAAM8F,QAAAA,EAAU;AACnB,cAAA,OAAO;AAAA,gBACL,GAAGvG,IAAAA;AAAAA,gBACHgG,QAAAA,EAAU;AAAA,kBAAEtG,IAAAA,EAAM;AAAA,iBAAE;AAAA,gBACpBsE,MAAAA,EAAQ;AAAA,eACV;AAAA,YACF;AACA,YAAA,OAAO;AAAA,cACL,GAAGhE,IAAAA;AAAAA,cACHgG,QAAAA,EAAU;AAAA,gBAAEtG,IAAAA,EAAM2G;AAAAA,eAAQ;AAAA,cAC1BrC,MAAAA,EAAQ;AAAA,aACV;AAAA,UACF;AAEA,UAAA,IAAI,EAAA,GAAMhC,WAAAA,CAAYmB,KAAAA,GAAQ,EAAA,GAAMkD,OAAAA,EAAS;AAE3CxE,YAAAA,SAAAA,CAAUsB,KAAAA,IAAS,EAAA,GAAMnB,WAAAA,CAAYmB,KAAAA,GAAQ,EAAA;AAC7CnB,YAAAA,WAAAA,CAAYmB,KAAAA,IAAS,EAAA,GAAMnB,WAAAA,CAAYmB,KAAAA,GAAQ,EAAA;AAAA,UACjD;AAEAnB,UAAAA,WAAAA,CAAYmB,KAAAA,IAASkD,OAAAA;AACrB,UAAA,OAAO;AAAA,YACL,GAAGrG,IAAAA;AAAAA,YACHgE,MAAAA;AAAAA,YACApD,aAAAA,EAAe;AAAA,cACb,GAAIZ,IAAAA,CAAKQ,KAAAA,GAAQ6D,gBAAAA,CAAiBlB,QAAQ,EAAC;AAAA,cAC3C,GAAGnD,IAAAA,CAAKY;AAAAA,aACV;AAAA,YACAoF,QAAAA,EAAU;AAAA,cACRtG,IAAAA,EAAM2G;AAAAA;AACR,WACF;AAAA,QACF,CAAC,CAAA;AAAA,MACH,CAAA,MAAO;AACL7D,QAAAA,aAAAA,CAAcW,QAAQ,EAAA;AAAA,MACxB;AAAA,IACF,CAAA,EACA;AAAA,MACEqD,SAAAA,EAAW;AAAA,KAEf,CAAA;AAEA/E,IAAAA,MAAAA,CAAO;AAAA,MACLc,OAAAA;AAAAA,MACA,GAAGI;AAAAA,KACJ,CAAA;AAED,IAAA,OAAO,MAAA;AArVX,MAAA,IAAA2B,GAAAA;AAqVWmC,MAAAA,OAAAA,WAAAA,CAAA,OAAAC,UAAAA,CAAA;AAAA,QAAA,OAAA,EACO,GAAGvE,SAAS,CAAA,KAAA,CAAA;AAAA,QAAO,KAAA,EAAA;AAAA,SAAoBT,KAAK,CAAA,EAAA,CAAA+E,WAAAA,CAAAE,UAAAD,UAAAA,CAAA;AAAA,QAAA,KAAA,EAE/CnE,OAAAA;AAAAA,QAAO,OAAA,EACLJ;AAAAA,OAAS,EACZiD,UAAUjC,KAAAA,EAAK;AAAA,QAAA,MAAA,EAAA,IAAA;AAAA,QAAA,eAAA,EAAA,IAAA;AAAA,QAAA,UAAA,EAGT;AAAA,UACRyD,QAAQnG,KAAAA,CAAMoG,YAAAA;AAAAA,UACdC,OAAAA,EAAS,OAAA;AAAA,UACTC,KAAAA,EAAO,GAAG5E,SAAS,CAAA,IAAA;AAAA,SACrB;AAAA,QAAC,kBAAA,EAAA,CACiB1B,GAAAA,GAAAA,KAAAA,CAAMuG,gBAAAA,KAANvG,OAAAA,GAAAA,GAA0B,IAAA;AAAA,QAAI,aAAA,EACnC,KAAA;AAAA,QAAK,aACP8E,eAAAA,CAAgBpC,KAAAA;AAAAA,QAAK,SACzBX,aAAAA,CAAcW,KAAAA;AAAAA,QAAK,QAAA,EAClBC,SAASD,KAAAA,CAAM3D,MAAAA;AAAAA,QAAM,WA+BnByH,CAAAA,MAAAA,KAAW;AArY/B,UAAA,IAAA3C,GAAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAsYY,UAAA,MAAM4C,aAAAA,GAAAA,CAAgBzG,WAAMyG,aAAAA,KAANzG,IAAAA,GAAAA,EAAAA,GAAAA,CAAuBkB,MAAAA,IAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,IAAAA,CAAMwB,KAAAA,KAANxB,gBAAAA,GAAAA,CAAauF,aAAAA;AAC1D,UAAA,IAAIA,aAAAA,EAAe;AACjB3E,YAAAA,CAAAA,EAAAA,GAAAA,OAAAA,CAAQY,UAARZ,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAe4E,MAAAA,EAAAA;AAAAA,UACjB;AACA1G,UAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAM2G,YAAN3G,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,EAAgBwG,MAAAA,CAAAA;AAAAA,QAClB;AAAA,OAAC,CAAA,EApCQ;AAAA,QACP,GAAG1F,KAAAA;AAAAA,QACH0D,WAAWA,CAAC;AAAA,UAAExE,KAAAA,EAAAA,MAAAA;AAAAA,UAAO4G,MAAAA;AAAAA,UAAQC;AAAAA,SAAY,KAAM;AAzW3D,UAAA,IAAAhD,GAAAA;AA0Wc,UAAA,OAAAmC,WAAAA,CAAAc,QAAAA,EAAA,IAAA,EAAA,CAEKhG,KAAAA,CAAM0D,SAAAA,GAAAA,CACH1D,GAAAA,GAAAA,KAAAA,CAAM0D,SAAAA,KAAN1D,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAAA,IAAAA,CAAAA,KAAAA,EAAkB;AAAA,YAAEd,KAAAA,EAAAA,MAAAA;AAAAA,YAAO4G,MAAAA;AAAAA,YAAQC;AAAAA,eACnCA,WAAAA,EACHpD,YAAAA,CAAaf,KAAAA,KAAU,KAAA,IAAKsD,YAAA,GAAA,EAAA;AAAA,YAAA,OAAA,EAElB,GAAGtE,SAAS,CAAA,gBAAA,CAAA;AAAA,YAAkB,SAAA,EAC5BqF,MAAMzC,YAAAA,CAAa,CAACD,UAAU3B,KAAK;AAAA,WAAC,EAAA,CAE5C2B,SAAAA,CAAU3B,KAAAA,GACPlB,KAAK6D,UAAAA,CAAW,gBAAA,EAAkB,cAAI,CAAA,GACtC7D,IAAAA,CAAK6D,UAAAA,CAAW,eAAe,cAAI,CAAA,EACtC,CAAC,CAACjC,SAAAA,CAAUV,KAAAA,IAAS,IAAIU,SAAAA,CAAUV,KAAK,CAAA,CAAA,CAAA,EAAGsD,WAAAA,CAAAgB,YAAAA,EAAA;AAAA,YAAA,OAAA,EAEnC;AAAA,cACLC,iBAAAA,EAAmB,OAAA;AAAA,cACnBC,UAAAA,EAAY,UAAA;AAAA,cACZC,SAAAA,EAAW,CAAA,OAAA,EAAU9C,SAAAA,CAAU3B,KAAAA,GAAQ,IAAI,GAAG,CAAA,KAAA;AAAA;AAChD,WAAC,EAAA,IAAA,CAAA,CAAA,CAGN,CAAA,CAAA;AAAA,QAGP;AAAA,OACD,CAAA,CAAA,CAAA;AAAA,IAAA,CAAA;AAAA,EAWT;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"QueryFilter.mjs","sources":["../../../../../../../../packages/components/form/src/layouts/QueryFilter.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-28 13:01:45\n * @LastEditors: shen\n * @LastEditTime: 2025-11-25 09:24:37\n * @Description:\n */\nimport { ref, computed, defineComponent, watch, useTemplateRef } from 'vue'\nimport { queryFilterProps } from '../props'\nimport { useMergedState, usePrefixCls } from '@pro-design-vue/hooks'\nimport { isBrowser, merge, omit, omitUndefined } from '@pro-design-vue/utils'\nimport { ProFieldType } from '../fieldType'\nimport { DownOutlined } from '@ant-design/icons-vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { useFormExpose } from '../hooks/useFormExpose'\nimport { useIntl, useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport BaseForm from '../base/BaseForm'\n\nimport type { ProFormActionType, ProFormItemType, SpanConfig } from '../type'\nimport type { FormItemProps, FormProps } from 'ant-design-vue'\n\nconst CONFIG_SPAN_BREAKPOINTS = {\n xs: 513,\n sm: 513,\n md: 785,\n lg: 992,\n xl: 1057,\n xxl: Infinity,\n}\n/** 配置表单列变化的容器宽度断点 */\nconst BREAKPOINTS = {\n vertical: [\n // [breakpoint, cols, layout]\n [513, 1, 'vertical'],\n [785, 2, 'vertical'],\n [1057, 3, 'vertical'],\n [Infinity, 4, 'vertical'],\n ],\n default: [\n [513, 1, 'vertical'],\n [701, 2, 'vertical'],\n [1062, 3, 'horizontal'],\n [1352, 3, 'horizontal'],\n [Infinity, 4, 'horizontal'],\n ],\n}\n\n/**\n * 合并用户和默认的配置\n *\n * @param layout\n * @param width\n */\nconst getSpanConfig = (\n layout: FormProps['layout'] = 'horizontal',\n width: number,\n span?: SpanConfig,\n): { span: number; layout: FormProps['layout'] } => {\n if (span && typeof span === 'number') {\n return {\n span,\n layout,\n }\n }\n\n const spanConfig: (string | number)[][] = span\n ? ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].map((key) => [\n CONFIG_SPAN_BREAKPOINTS[key as 'xs'],\n 24 / (span as any)[key as 'sm'],\n 'horizontal',\n ])\n : BREAKPOINTS[(layout as 'default') || 'default']\n const breakPoint = (spanConfig || BREAKPOINTS.default).find(\n (item) => width < (item[0] as number) + 16, // 16 = 2 * (ant-row -8px margin)\n )\n if (!breakPoint) {\n return {\n span: 8,\n layout: 'horizontal',\n }\n }\n return {\n span: 24 / (breakPoint[1] as number),\n layout: breakPoint?.[2] as 'horizontal',\n }\n}\n\nconst flatMapItems = (items: ProFormItemType[], ignoreRules?: boolean): ProFormItemType[] => {\n return items\n ?.flatMap((item: any) => {\n if (item.fieldType === ProFieldType.GROUP && !item.title) {\n return item.props.children\n }\n if (ignoreRules) {\n return {\n ...item,\n rules: [],\n formItemProps: {\n ...item.formItemProps,\n rules: [],\n },\n }\n }\n return item\n })\n .sort((a, b) => {\n if (b.order || a.order) {\n return (b.order ?? 0) - (a.order ?? 0)\n }\n return 0\n })\n}\n\nconst defaultWidth = isBrowser() ? document?.body?.clientWidth : 1024\nexport default defineComponent({\n name: 'ProQueryFilter',\n inheritAttrs: false,\n props: {\n ...queryFilterProps(),\n },\n emits: ['collapse', 'resize'],\n setup(props, { slots, emit, expose, attrs }) {\n const { form } = useProConfigInject()\n // totalSpan 统计控件占的位置,计算 offset 保证查询按钮在最后一列\n const totalSpan = ref(0)\n // totalSize 统计控件占的份数\n const totalSize = ref(0)\n // for split compute\n const currentSpan = ref(0)\n const intl = useIntl()\n const prefixCls = usePrefixCls('query-filter')\n const wrapEl = useTemplateRef<HTMLDivElement>('wrapper')\n const formRef = ref<InstanceType<typeof BaseForm> & ProFormActionType>()\n const processedList = ref<ProFormItemType[]>([])\n const [width, setWidth] = useMergedState(defaultWidth)\n const formExpose = useFormExpose(formRef)\n useResizeObserver(wrapEl, (entries) => {\n const entry = entries[0]\n const { width: newWidth, height } = entry?.contentRect || ({} as DOMRectReadOnly)\n if (width.value !== newWidth && newWidth > 17) {\n setWidth(newWidth)\n }\n emit('resize', newWidth, height)\n })\n\n const spanSize = computed(() => getSpanConfig(props.layout, width.value + 16, props.span))\n\n const showLength = computed(() => {\n if (props.defaultFormItemsNumber !== undefined) {\n return props.defaultFormItemsNumber\n }\n if (props.defaultColsNumber !== undefined) {\n const oneRowControlsNumber = 24 / spanSize.value.span - 1\n return props.defaultColsNumber > oneRowControlsNumber\n ? oneRowControlsNumber\n : props.defaultColsNumber\n }\n return Math.max(1, 24 / spanSize.value.span - 1)\n })\n\n const hiddenNum = computed(\n () => props.showHiddenNum && processedList.value.filter((item) => item.hidden).length,\n )\n\n const needCollapse = computed(() => {\n if (totalSpan.value < 24 || totalSize.value <= showLength.value) {\n return false\n }\n return true\n })\n\n const offset = computed(() => {\n const offsetSpan = (currentSpan.value % 24) + spanSize.value.span\n if (offsetSpan > 24) {\n return 24 - spanSize.value.span\n }\n return 24 - offsetSpan\n })\n\n /** 计算最大宽度防止溢出换行 */\n const formItemFixStyle = computed<FormItemProps | undefined>(() => {\n const labelWidth = props.labelWidth ?? form?.value?.labelWidth ?? '80'\n if (labelWidth && spanSize.value.layout !== 'vertical' && labelWidth !== 'auto') {\n return {\n labelCol: {\n flex: `0 0 ${labelWidth}px`,\n },\n wrapperCol: {\n style: {\n maxWidth: `calc(100% - ${labelWidth}px)`,\n },\n },\n style: {\n flexWrap: 'nowrap',\n },\n }\n }\n return undefined\n })\n\n const [collapsed, setCollapsed] = useMergedState<boolean | undefined>(\n () => props.defaultCollapsed && props.submitter !== false,\n {\n value: computed(() => props.collapsed),\n onChange: (val) => {\n emit('collapse', val)\n },\n },\n )\n\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'isKeyPressSubmit',\n 'defaultCollapsed',\n 'collapsed',\n 'grid',\n 'showLoading',\n 'defaultColsNumber',\n 'searchGutter',\n // 'onFinish',\n 'submitOnLoading',\n 'preserve',\n 'submitter',\n 'ignoreRules',\n 'searchText',\n 'resetText',\n 'labelWidth',\n 'layout',\n 'items',\n 'gridSubmitter',\n 'rowProps',\n 'defaultFormItemsNumber',\n 'showHiddenNum',\n 'ignoreRules',\n 'onCollapse',\n 'onReset',\n ]),\n ),\n }\n })\n\n const submitterConfig = computed(() => {\n if (props.submitter === false) {\n return false\n }\n\n return merge(\n {\n style: {\n justifyContent: 'flex-end',\n },\n reverse: true,\n searchConfig: {\n submitText:\n props.searchText ?? form?.value?.searchText ?? intl.getMessage('form.search', '搜索'),\n resetText:\n props.resetText ?? form?.value?.resetText ?? intl.getMessage('form.reset', '重置'),\n },\n colProps: {\n span: spanSize.value.span,\n offset: offset.value,\n },\n },\n props.submitter,\n )\n })\n\n watch(\n [spanSize, collapsed, () => props.items],\n () => {\n let firstRowFull = false\n currentSpan.value = 0\n totalSize.value = 0\n totalSpan.value = 0\n if (props.items?.length) {\n processedList.value = flatMapItems(props.items, props.ignoreRules).map((item, index) => {\n // 如果 formItem 自己配置了 hidden,默认使用它自己的\n const colSize = item.colSize ?? 1\n const colSpan = Math.min(spanSize.value.span * (colSize || 1), 24)\n // 计算总的 totalSpan 长度\n totalSpan.value += colSpan\n // 计算总的 colSize 长度\n totalSize.value += colSize\n\n if (index === 0) {\n firstRowFull = colSpan === 24 && !item.hidden\n }\n\n const hidden: boolean | undefined =\n item.hidden ||\n // 如果收起了\n\n (collapsed.value &&\n (firstRowFull ||\n // 如果 超过显示长度 且 总长度超过了 24\n totalSize.value > showLength.value) &&\n !!index)\n\n if (hidden) {\n if (!props.preserve) {\n return {\n ...item,\n colProps: { span: 0 },\n hidden: true,\n }\n }\n return {\n ...item,\n colProps: { span: colSpan },\n hidden: true,\n }\n }\n\n if (24 - (currentSpan.value % 24) < colSpan) {\n // 如果当前行空余位置放不下,那么折行\n totalSpan.value += 24 - (currentSpan.value % 24)\n currentSpan.value += 24 - (currentSpan.value % 24)\n }\n\n currentSpan.value += colSpan\n return {\n ...item,\n hidden,\n formItemProps: {\n ...(item.title ? formItemFixStyle.value : {}),\n ...item.formItemProps,\n },\n colProps: {\n span: colSpan,\n },\n }\n })\n } else {\n processedList.value = []\n }\n },\n {\n immediate: true,\n },\n )\n\n expose({\n formRef,\n ...formExpose,\n })\n\n return () => (\n <div class={`${prefixCls}-wrap`} ref=\"wrapper\" {...attrs}>\n <BaseForm\n ref={formRef}\n class={prefixCls}\n {...formProps.value}\n grid\n gridSubmitter\n rowProps={{\n gutter: props.searchGutter,\n justify: 'start',\n class: `${prefixCls}-row`,\n }}\n isKeyPressSubmit={props.isKeyPressSubmit ?? true}\n showLoading={false}\n submitter={submitterConfig.value}\n items={processedList.value}\n layout={spanSize.value.layout}\n v-slots={{\n ...slots,\n submitter: ({ props, action, defaultDoms }) => {\n return (\n <>\n {slots.submitter\n ? slots.submitter?.({ props, action, defaultDoms })\n : defaultDoms}\n {needCollapse.value !== false && (\n <a\n class={`${prefixCls}-collapse-button`}\n onClick={() => setCollapsed(!collapsed.value)}\n >\n {collapsed.value\n ? intl.getMessage('form.collapsed', '展开')\n : intl.getMessage('form.expand', '收起')}\n {!!hiddenNum.value && `(${hiddenNum.value})`}\n <DownOutlined\n style={{\n marginInlineStart: '0.5em',\n transition: '0.3s all',\n transform: `rotate(${collapsed.value ? 0 : 0.5}turn)`,\n }}\n />\n </a>\n )}\n </>\n )\n },\n }}\n onReset={(values) => {\n const resetOnSubmit = props.resetOnSubmit ?? form?.value?.resetOnSubmit\n if (resetOnSubmit) {\n formRef.value?.submit()\n }\n props.onReset?.(values)\n }}\n />\n </div>\n )\n },\n})\n"],"names":["CONFIG_SPAN_BREAKPOINTS","xs","sm","md","lg","xl","xxl","Infinity","BREAKPOINTS","vertical","default","getSpanConfig","layout","width","span","spanConfig","map","key","breakPoint","find","item","flatMapItems","items","ignoreRules","flatMap","fieldType","ProFieldType","GROUP","title","props","children","rules","formItemProps","sort","a","b","_a","order","defaultWidth","isBrowser","document","body","clientWidth","name","inheritAttrs","queryFilterProps","emits","setup","slots","emit","expose","attrs","form","useProConfigInject","totalSpan","ref","totalSize","currentSpan","intl","useIntl","prefixCls","usePrefixCls","wrapEl","useTemplateRef","formRef","processedList","setWidth","useMergedState","formExpose","useFormExpose","useResizeObserver","entries","entry","newWidth","height","contentRect","value","spanSize","computed","showLength","defaultFormItemsNumber","undefined","defaultColsNumber","oneRowControlsNumber","Math","max","hiddenNum","showHiddenNum","filter","hidden","length","needCollapse","offset","offsetSpan","formItemFixStyle","labelWidth","labelCol","flex","wrapperCol","style","maxWidth","flexWrap","collapsed","setCollapsed","defaultCollapsed","submitter","onChange","val","formProps","omitUndefined","omit","submitterConfig","merge","justifyContent","reverse","searchConfig","submitText","searchText","getMessage","resetText","colProps","watch","firstRowFull","index","colSize","colSpan","min","preserve","immediate","_createVNode","_mergeProps","BaseForm","gutter","searchGutter","justify","class","isKeyPressSubmit","values","resetOnSubmit","submit","onReset","action","defaultDoms","_Fragment","onClick","DownOutlined","marginInlineStart","transition","transform"],"mappings":"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"}
@@ -34,6 +34,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
34
34
  [
35
35
  _ctx.fixed !== "left" ? (openBlock(), createBlock(_component_Tooltip, {
36
36
  key: 0,
37
+ getPopupContainer: _ctx.getPopupContainer,
37
38
  title: _ctx.intl.getMessage("tableToolBar.leftPin", "\u56FA\u5B9A\u5728\u5217\u9996")
38
39
  }, {
39
40
  default: withCtx(() => [
@@ -45,10 +46,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
45
46
  ]),
46
47
  _: 1
47
48
  /* STABLE */
48
- }, 8, ["title"])) : createCommentVNode("v-if", true),
49
+ }, 8, ["getPopupContainer", "title"])) : createCommentVNode("v-if", true),
49
50
  !!_ctx.fixed ? (openBlock(), createBlock(_component_Tooltip, {
50
51
  key: 1,
51
- title: _ctx.intl.getMessage("tableToolBar.noPin", "\u4E0D\u56FA\u5B9A")
52
+ title: _ctx.intl.getMessage("tableToolBar.noPin", "\u4E0D\u56FA\u5B9A"),
53
+ getPopupContainer: _ctx.getPopupContainer
52
54
  }, {
53
55
  default: withCtx(() => [
54
56
  createElementVNode("span", {
@@ -59,10 +61,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
59
61
  ]),
60
62
  _: 1
61
63
  /* STABLE */
62
- }, 8, ["title"])) : createCommentVNode("v-if", true),
64
+ }, 8, ["title", "getPopupContainer"])) : createCommentVNode("v-if", true),
63
65
  _ctx.fixed !== "right" ? (openBlock(), createBlock(_component_Tooltip, {
64
66
  key: 2,
65
- title: _ctx.intl.getMessage("tableToolBar.rightPin", "\u56FA\u5B9A\u5728\u5217\u5C3E")
67
+ title: _ctx.intl.getMessage("tableToolBar.rightPin", "\u56FA\u5B9A\u5728\u5217\u5C3E"),
68
+ getPopupContainer: _ctx.getPopupContainer
66
69
  }, {
67
70
  default: withCtx(() => [
68
71
  createElementVNode("span", {
@@ -73,7 +76,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
73
76
  ]),
74
77
  _: 1
75
78
  /* STABLE */
76
- }, 8, ["title"])) : createCommentVNode("v-if", true)
79
+ }, 8, ["title", "getPopupContainer"])) : createCommentVNode("v-if", true)
77
80
  ],
78
81
  2
79
82
  /* CLASS */
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxListItem.vue.mjs","sources":["../../../../../../../../../packages/components/table/src/components/ColumnSetting/CheckboxListItem.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-19 13:39:31\n * @LastEditors: shen\n * @LastEditTime: 2025-08-27 13:44:32\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { ColumnsState } from '../interface'\n\nimport { defineComponent } from 'vue'\nimport { Tooltip } from 'ant-design-vue'\nimport {\n VerticalAlignTopOutlined,\n VerticalAlignMiddleOutlined,\n VerticalAlignBottomOutlined,\n} from '@ant-design/icons-vue'\nimport { useInjectContainer } from '../../hooks/useContainer'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\n\nexport default defineComponent({\n name: 'CheckboxListItem',\n inheritAttrs: false,\n components: {\n Tooltip,\n VerticalAlignMiddleOutlined,\n VerticalAlignTopOutlined,\n VerticalAlignBottomOutlined,\n },\n props: {\n className: String,\n title: String,\n columnKey: [String, Number],\n fixed: [Boolean, String] as PropType<boolean | 'left' | 'right'>,\n isRoot: Boolean,\n },\n setup(props) {\n const { columnsMap, setColumnsMap } = useInjectContainer()\n const intl = useIntl()\n\n const onClick = (fixed?: 'left' | 'right') => {\n const config = columnsMap.value[props.columnKey ?? ''] || {}\n const columnKeyMap = {\n ...columnsMap.value,\n [props.columnKey ?? '']: { ...config, fixed } as ColumnsState,\n }\n setColumnsMap(columnKeyMap)\n }\n\n return {\n intl,\n onClick,\n }\n },\n})\n</script>\n\n<template>\n <span :class=\"`${className}-list-item`\" :key=\"columnKey\">\n <div :class=\"`${className}-list-item-title`\">\n <slot />\n </div>\n <span v-if=\"isRoot\" :class=\"`${className}-list-item-option`\">\n <Tooltip\n :title=\"intl.getMessage('tableToolBar.leftPin', '固定在列首')\"\n v-if=\"fixed !== 'left'\"\n >\n <span @click.stop.prevent=\"onClick('left')\">\n <VerticalAlignTopOutlined />\n </span>\n </Tooltip>\n <Tooltip :title=\"intl.getMessage('tableToolBar.noPin', '不固定')\" v-if=\"!!fixed\">\n <span @click.stop.prevent=\"onClick()\">\n <VerticalAlignMiddleOutlined />\n </span>\n </Tooltip>\n <Tooltip\n :title=\"intl.getMessage('tableToolBar.rightPin', '固定在列尾')\"\n v-if=\"fixed !== 'right'\"\n >\n <span @click.stop.prevent=\"onClick('right')\">\n <VerticalAlignBottomOutlined />\n </span>\n </Tooltip>\n </span>\n </span>\n</template>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot","_createBlock","_createVNode"],"mappings":";;;;;;;;;AA2DE,EAAA,OAAAA,WAAA,EAAAC,kBAAA;AAAA,IA2BO,MAAA;AAAA,IAAA;AAAA,MA3BA,KAAA,EAAKC,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,UAAA,CAAA,CAAA;AAAA,MAAe,KAAK,IAAA,CAAA;AAAA,KAAA;AAAA;MAC5CC,kBAAA;AAAA,QAEM,KAAA;AAAA,QAAA;AAAA,UAFA,KAAA,EAAKD,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,gBAAA,CAAA;AAAA,SAAA;AAAA;UACvBE,UAAA,CAAQ,IAAA,CAAA,MAAA,EAAA,SAAA;AAAA,SAAA;AAAA;;;MAEE,IAAA,CAAA,MAAA,IAAAJ,SAAA,EAAA,EAAZC,kBAAA;AAAA,QAsBO,MAAA;AAAA,QAAA;AAAA,UAAA,GAAA,EAAA,CAAA;AAAA,UAtBc,KAAA,EAAKC,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,iBAAA,CAAA;AAAA,SAAA;AAAA;UAG9B,KAAA,KAAA,KAAK,MAAA,iBAFbG,YAOU,kBAAA,EAAA;AAAA,YAAA,GAAA,EAAA,CAAA;AAAA,YANP,KAAA,EAAO,IAAA,MAAK,UAAA,CAAU,wBAAA,gCAAA;AAAA,WAAA,EAAA;AAAA,6BAGvB,MAEO;AAAA,cAFPF,mBAEO,MAAA,EAAA;AAAA,gBAFA,SAAK,MAAA,8CAAe,KAAA,OAAA,CAAO,MAAA,GAAA,CAAA,MAAA,EAAA,SAAA,CAAA,CAAA;AAAA,eAAA,EAAA;AAAA,gBAChCG,YAA4B,mCAAA;AAAA,eAAA;AAAA;;;;UAGuC,CAAA,CAAA,IAAA,CAAA,SAAAN,SAAA,EAAA,EAAvEK,YAIU,kBAAA,EAAA;AAAA,YAAA,GAAA,EAAA,CAAA;AAAA,YAJA,KAAA,EAAO,IAAA,MAAK,UAAA,CAAU,sBAAA,oBAAA;AAAA,WAAA,EAAA;AAAA,6BAC9B,MAEO;AAAA,cAFPF,mBAEO,MAAA,EAAA;AAAA,gBAFA,SAAK,MAAA,8CAAe,KAAA,OAAA,EAAO,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,CAAA;AAAA,eAAA,EAAA;AAAA,gBAChCG,YAA+B,sCAAA;AAAA,eAAA;AAAA;;;;UAK3B,KAAA,KAAA,KAAK,OAAA,iBAFbD,YAOU,kBAAA,EAAA;AAAA,YAAA,GAAA,EAAA,CAAA;AAAA,YANP,KAAA,EAAO,IAAA,MAAK,UAAA,CAAU,yBAAA,gCAAA;AAAA,WAAA,EAAA;AAAA,6BAGvB,MAEO;AAAA,cAFPF,mBAEO,MAAA,EAAA;AAAA,gBAFA,SAAK,MAAA,8CAAe,KAAA,OAAA,CAAO,OAAA,GAAA,CAAA,MAAA,EAAA,SAAA,CAAA,CAAA;AAAA,eAAA,EAAA;AAAA,gBAChCG,YAA+B,sCAAA;AAAA,eAAA;AAAA;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CheckboxListItem.vue.mjs","sources":["../../../../../../../../../packages/components/table/src/components/ColumnSetting/CheckboxListItem.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-19 13:39:31\n * @LastEditors: shen\n * @LastEditTime: 2025-11-25 08:52:59\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { ColumnsState } from '../interface'\n\nimport { defineComponent } from 'vue'\nimport { Tooltip } from 'ant-design-vue'\nimport {\n VerticalAlignTopOutlined,\n VerticalAlignMiddleOutlined,\n VerticalAlignBottomOutlined,\n} from '@ant-design/icons-vue'\nimport { useInjectContainer } from '../../hooks/useContainer'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\n\nexport default defineComponent({\n name: 'CheckboxListItem',\n inheritAttrs: false,\n components: {\n Tooltip,\n VerticalAlignMiddleOutlined,\n VerticalAlignTopOutlined,\n VerticalAlignBottomOutlined,\n },\n props: {\n className: String,\n title: String,\n columnKey: [String, Number],\n fixed: [Boolean, String] as PropType<boolean | 'left' | 'right'>,\n isRoot: Boolean,\n },\n setup(props) {\n const { columnsMap, setColumnsMap } = useInjectContainer()\n const intl = useIntl()\n\n const onClick = (fixed?: 'left' | 'right') => {\n const config = columnsMap.value[props.columnKey ?? ''] || {}\n const columnKeyMap = {\n ...columnsMap.value,\n [props.columnKey ?? '']: { ...config, fixed } as ColumnsState,\n }\n setColumnsMap(columnKeyMap)\n }\n\n const getPopupContainer = () => {\n return document.body\n }\n\n return {\n intl,\n onClick,\n getPopupContainer,\n }\n },\n})\n</script>\n\n<template>\n <span :class=\"`${className}-list-item`\" :key=\"columnKey\">\n <div :class=\"`${className}-list-item-title`\">\n <slot />\n </div>\n <span v-if=\"isRoot\" :class=\"`${className}-list-item-option`\">\n <Tooltip\n :getPopupContainer\n :title=\"intl.getMessage('tableToolBar.leftPin', '固定在列首')\"\n v-if=\"fixed !== 'left'\"\n >\n <span @click.stop.prevent=\"onClick('left')\">\n <VerticalAlignTopOutlined />\n </span>\n </Tooltip>\n <Tooltip\n :title=\"intl.getMessage('tableToolBar.noPin', '不固定')\"\n v-if=\"!!fixed\"\n :getPopupContainer\n >\n <span @click.stop.prevent=\"onClick()\">\n <VerticalAlignMiddleOutlined />\n </span>\n </Tooltip>\n <Tooltip\n :title=\"intl.getMessage('tableToolBar.rightPin', '固定在列尾')\"\n :getPopupContainer\n v-if=\"fixed !== 'right'\"\n >\n <span @click.stop.prevent=\"onClick('right')\">\n <VerticalAlignBottomOutlined />\n </span>\n </Tooltip>\n </span>\n </span>\n</template>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot","_createBlock","_createVNode"],"mappings":";;;;;;;;;AAgEE,EAAA,OAAAA,WAAA,EAAAC,kBAAA;AAAA,IAiCO,MAAA;AAAA,IAAA;AAAA,MAjCA,KAAA,EAAKC,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,UAAA,CAAA,CAAA;AAAA,MAAe,KAAK,IAAA,CAAA;AAAA,KAAA;AAAA;MAC5CC,kBAAA;AAAA,QAEM,KAAA;AAAA,QAAA;AAAA,UAFA,KAAA,EAAKD,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,gBAAA,CAAA;AAAA,SAAA;AAAA;UACvBE,UAAA,CAAQ,IAAA,CAAA,MAAA,EAAA,SAAA;AAAA,SAAA;AAAA;;;MAEE,IAAA,CAAA,MAAA,IAAAJ,SAAA,EAAA,EAAZC,kBAAA;AAAA,QA4BO,MAAA;AAAA,QAAA;AAAA,UAAA,GAAA,EAAA,CAAA;AAAA,UA5Bc,KAAA,EAAKC,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,iBAAA,CAAA;AAAA,SAAA;AAAA;UAI9B,KAAA,KAAA,KAAK,MAAA,iBAHbG,YAQU,kBAAA,EAAA;AAAA,YAAA,GAAA,EAAA,CAAA;AAAA,YAPP,mBAAA,IAAA,CAAA,iBAAA;AAAA,YACA,KAAA,EAAO,IAAA,MAAK,UAAA,CAAU,wBAAA,gCAAA;AAAA,WAAA,EAAA;AAAA,6BAGvB,MAEO;AAAA,cAFPF,mBAEO,MAAA,EAAA;AAAA,gBAFA,SAAK,MAAA,8CAAe,KAAA,OAAA,CAAO,MAAA,GAAA,CAAA,MAAA,EAAA,SAAA,CAAA,CAAA;AAAA,eAAA,EAAA;AAAA,gBAChCG,YAA4B,mCAAA;AAAA,eAAA;AAAA;;;;UAKtB,CAAA,CAAA,IAAA,CAAA,SAAAN,SAAA,EAAA,EAFVK,YAQU,kBAAA,EAAA;AAAA,YAAA,GAAA,EAAA,CAAA;AAAA,YAPP,KAAA,EAAO,IAAA,MAAK,UAAA,CAAU,sBAAA,oBAAA,CAAA;AAAA,YAEtB,mBAAA,IAAA,CAAA;AAAA,WAAA,EAAA;AAAA,6BAED,MAEO;AAAA,cAFPF,mBAEO,MAAA,EAAA;AAAA,gBAFA,SAAK,MAAA,8CAAe,KAAA,OAAA,EAAO,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,CAAA;AAAA,eAAA,EAAA;AAAA,gBAChCG,YAA+B,sCAAA;AAAA,eAAA;AAAA;;;;UAM3B,KAAA,KAAA,KAAK,OAAA,iBAHbD,YAQU,kBAAA,EAAA;AAAA,YAAA,GAAA,EAAA,CAAA;AAAA,YAPP,KAAA,EAAO,IAAA,MAAK,UAAA,CAAU,yBAAA,gCAAA,CAAA;AAAA,YACtB,mBAAA,IAAA,CAAA;AAAA,WAAA,EAAA;AAAA,6BAGD,MAEO;AAAA,cAFPF,mBAEO,MAAA,EAAA;AAAA,gBAFA,SAAK,MAAA,8CAAe,KAAA,OAAA,CAAO,OAAA,GAAA,CAAA,MAAA,EAAA,SAAA,CAAA,CAAA;AAAA,eAAA,EAAA;AAAA,gBAChCG,YAA+B,sCAAA;AAAA,eAAA;AAAA;;;;;;;;;;;;;;;;;"}
@@ -32,9 +32,13 @@ var _sfc_main = defineComponent({
32
32
  };
33
33
  setColumnsMap(columnKeyMap);
34
34
  };
35
+ const getPopupContainer = () => {
36
+ return document.body;
37
+ };
35
38
  return {
36
39
  intl,
37
- onClick
40
+ onClick,
41
+ getPopupContainer
38
42
  };
39
43
  }
40
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxListItem.vue2.mjs","sources":["../../../../../../../../../packages/components/table/src/components/ColumnSetting/CheckboxListItem.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-19 13:39:31\n * @LastEditors: shen\n * @LastEditTime: 2025-08-27 13:44:32\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { ColumnsState } from '../interface'\n\nimport { defineComponent } from 'vue'\nimport { Tooltip } from 'ant-design-vue'\nimport {\n VerticalAlignTopOutlined,\n VerticalAlignMiddleOutlined,\n VerticalAlignBottomOutlined,\n} from '@ant-design/icons-vue'\nimport { useInjectContainer } from '../../hooks/useContainer'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\n\nexport default defineComponent({\n name: 'CheckboxListItem',\n inheritAttrs: false,\n components: {\n Tooltip,\n VerticalAlignMiddleOutlined,\n VerticalAlignTopOutlined,\n VerticalAlignBottomOutlined,\n },\n props: {\n className: String,\n title: String,\n columnKey: [String, Number],\n fixed: [Boolean, String] as PropType<boolean | 'left' | 'right'>,\n isRoot: Boolean,\n },\n setup(props) {\n const { columnsMap, setColumnsMap } = useInjectContainer()\n const intl = useIntl()\n\n const onClick = (fixed?: 'left' | 'right') => {\n const config = columnsMap.value[props.columnKey ?? ''] || {}\n const columnKeyMap = {\n ...columnsMap.value,\n [props.columnKey ?? '']: { ...config, fixed } as ColumnsState,\n }\n setColumnsMap(columnKeyMap)\n }\n\n return {\n intl,\n onClick,\n }\n },\n})\n</script>\n\n<template>\n <span :class=\"`${className}-list-item`\" :key=\"columnKey\">\n <div :class=\"`${className}-list-item-title`\">\n <slot />\n </div>\n <span v-if=\"isRoot\" :class=\"`${className}-list-item-option`\">\n <Tooltip\n :title=\"intl.getMessage('tableToolBar.leftPin', '固定在列首')\"\n v-if=\"fixed !== 'left'\"\n >\n <span @click.stop.prevent=\"onClick('left')\">\n <VerticalAlignTopOutlined />\n </span>\n </Tooltip>\n <Tooltip :title=\"intl.getMessage('tableToolBar.noPin', '不固定')\" v-if=\"!!fixed\">\n <span @click.stop.prevent=\"onClick()\">\n <VerticalAlignMiddleOutlined />\n </span>\n </Tooltip>\n <Tooltip\n :title=\"intl.getMessage('tableToolBar.rightPin', '固定在列尾')\"\n v-if=\"fixed !== 'right'\"\n >\n <span @click.stop.prevent=\"onClick('right')\">\n <VerticalAlignBottomOutlined />\n </span>\n </Tooltip>\n </span>\n </span>\n</template>\n"],"names":[],"mappings":";;;;;;AAqBA,gBAAe,eAAA,CAAgB;AAAA,EAC7B,IAAA,EAAM,kBAAA;AAAA,EACN,YAAA,EAAc,KAAA;AAAA,EACd,UAAA,EAAY;AAAA,IACV,OAAA;AAAA,IACA,2BAAA;AAAA,IACA,wBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,KAAA,EAAO;AAAA,IACL,SAAA,EAAW,MAAA;AAAA,IACX,KAAA,EAAO,MAAA;AAAA,IACP,SAAA,EAAW,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IAC1B,KAAA,EAAO,CAAC,OAAA,EAAS,MAAM,CAAA;AAAA,IACvB,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,MAAM,KAAA,EAAO;AACX,IAAA,MAAM,EAAE,UAAA,EAAY,aAAA,EAAc,GAAI,kBAAA,EAAmB;AACzD,IAAA,MAAM,OAAO,OAAA,EAAQ;AAErB,IAAA,MAAM,OAAA,GAAU,CAAC,KAAA,KAA6B;;AAC5C,MAAA,MAAM,MAAA,GAAS,WAAW,KAAA,CAAA,CAAM,EAAA,GAAA,KAAA,CAAM,cAAN,IAAA,GAAA,EAAA,GAAmB,EAAE,KAAK,EAAC;AAC3D,MAAA,MAAM,YAAA,GAAe;AAAA,QACnB,GAAG,UAAA,CAAW,KAAA;AAAA,QACd,CAAA,CAAC,WAAM,SAAA,KAAN,IAAA,GAAA,EAAA,GAAmB,EAAE,GAAG,EAAE,GAAG,MAAA,EAAQ,KAAA;AAAM,OAC9C;AACA,MAAA,aAAA,CAAc,YAAY,CAAA;AAAA,IAC5B,CAAA;AAEA,IAAA,OAAO;AAAA,MACL,IAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"CheckboxListItem.vue2.mjs","sources":["../../../../../../../../../packages/components/table/src/components/ColumnSetting/CheckboxListItem.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-19 13:39:31\n * @LastEditors: shen\n * @LastEditTime: 2025-11-25 08:52:59\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { ColumnsState } from '../interface'\n\nimport { defineComponent } from 'vue'\nimport { Tooltip } from 'ant-design-vue'\nimport {\n VerticalAlignTopOutlined,\n VerticalAlignMiddleOutlined,\n VerticalAlignBottomOutlined,\n} from '@ant-design/icons-vue'\nimport { useInjectContainer } from '../../hooks/useContainer'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\n\nexport default defineComponent({\n name: 'CheckboxListItem',\n inheritAttrs: false,\n components: {\n Tooltip,\n VerticalAlignMiddleOutlined,\n VerticalAlignTopOutlined,\n VerticalAlignBottomOutlined,\n },\n props: {\n className: String,\n title: String,\n columnKey: [String, Number],\n fixed: [Boolean, String] as PropType<boolean | 'left' | 'right'>,\n isRoot: Boolean,\n },\n setup(props) {\n const { columnsMap, setColumnsMap } = useInjectContainer()\n const intl = useIntl()\n\n const onClick = (fixed?: 'left' | 'right') => {\n const config = columnsMap.value[props.columnKey ?? ''] || {}\n const columnKeyMap = {\n ...columnsMap.value,\n [props.columnKey ?? '']: { ...config, fixed } as ColumnsState,\n }\n setColumnsMap(columnKeyMap)\n }\n\n const getPopupContainer = () => {\n return document.body\n }\n\n return {\n intl,\n onClick,\n getPopupContainer,\n }\n },\n})\n</script>\n\n<template>\n <span :class=\"`${className}-list-item`\" :key=\"columnKey\">\n <div :class=\"`${className}-list-item-title`\">\n <slot />\n </div>\n <span v-if=\"isRoot\" :class=\"`${className}-list-item-option`\">\n <Tooltip\n :getPopupContainer\n :title=\"intl.getMessage('tableToolBar.leftPin', '固定在列首')\"\n v-if=\"fixed !== 'left'\"\n >\n <span @click.stop.prevent=\"onClick('left')\">\n <VerticalAlignTopOutlined />\n </span>\n </Tooltip>\n <Tooltip\n :title=\"intl.getMessage('tableToolBar.noPin', '不固定')\"\n v-if=\"!!fixed\"\n :getPopupContainer\n >\n <span @click.stop.prevent=\"onClick()\">\n <VerticalAlignMiddleOutlined />\n </span>\n </Tooltip>\n <Tooltip\n :title=\"intl.getMessage('tableToolBar.rightPin', '固定在列尾')\"\n :getPopupContainer\n v-if=\"fixed !== 'right'\"\n >\n <span @click.stop.prevent=\"onClick('right')\">\n <VerticalAlignBottomOutlined />\n </span>\n </Tooltip>\n </span>\n </span>\n</template>\n"],"names":[],"mappings":";;;;;;AAqBA,gBAAe,eAAA,CAAgB;AAAA,EAC7B,IAAA,EAAM,kBAAA;AAAA,EACN,YAAA,EAAc,KAAA;AAAA,EACd,UAAA,EAAY;AAAA,IACV,OAAA;AAAA,IACA,2BAAA;AAAA,IACA,wBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,KAAA,EAAO;AAAA,IACL,SAAA,EAAW,MAAA;AAAA,IACX,KAAA,EAAO,MAAA;AAAA,IACP,SAAA,EAAW,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IAC1B,KAAA,EAAO,CAAC,OAAA,EAAS,MAAM,CAAA;AAAA,IACvB,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,MAAM,KAAA,EAAO;AACX,IAAA,MAAM,EAAE,UAAA,EAAY,aAAA,EAAc,GAAI,kBAAA,EAAmB;AACzD,IAAA,MAAM,OAAO,OAAA,EAAQ;AAErB,IAAA,MAAM,OAAA,GAAU,CAAC,KAAA,KAA6B;;AAC5C,MAAA,MAAM,MAAA,GAAS,WAAW,KAAA,CAAA,CAAM,EAAA,GAAA,KAAA,CAAM,cAAN,IAAA,GAAA,EAAA,GAAmB,EAAE,KAAK,EAAC;AAC3D,MAAA,MAAM,YAAA,GAAe;AAAA,QACnB,GAAG,UAAA,CAAW,KAAA;AAAA,QACd,CAAA,CAAC,WAAM,SAAA,KAAN,IAAA,GAAA,EAAA,GAAmB,EAAE,GAAG,EAAE,GAAG,MAAA,EAAQ,KAAA;AAAM,OAC9C;AACA,MAAA,aAAA,CAAc,YAAY,CAAA;AAAA,IAC5B,CAAA;AAEA,IAAA,MAAM,oBAAoB,MAAM;AAC9B,MAAA,OAAO,QAAA,CAAS,IAAA;AAAA,IAClB,CAAA;AAEA,IAAA,OAAO;AAAA,MACL,IAAA;AAAA,MACA,OAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF;AACF,CAAC,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterDropdown.vue.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Filter/FilterDropdown.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-07 21:51:35\n * @LastEditors: shen\n * @LastEditTime: 2025-07-30 10:38:03\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { FinallyColumnType, DefaultRecordType, Key, FilterConfirmProps } from '../interface'\n\nimport { defineComponent, ref, computed, watch, onUnmounted } from 'vue'\nimport { Dropdown } from 'ant-design-vue'\nimport { FilterFilled } from '@ant-design/icons-vue'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectSlots } from '../context/TableSlotsContext'\nimport { isEqual, RenderVNode } from '@pro-design-vue/utils'\nimport { ProButton } from '../../../../button'\nimport eagerComputed from '../../utils/eagerComputed'\nimport FilterWrapper from './FilterWrapper'\nimport FilterItems from './FilterItems.vue'\nimport devWarning from '../../utils/devWarning'\n\nexport default defineComponent({\n name: 'FilterDropdown',\n components: {\n FilterFilled,\n Dropdown,\n FilterItems,\n ProButton,\n RenderVNode,\n FilterWrapper,\n },\n inheritAttrs: false,\n props: {\n prefixCls: { type: String, default: '' },\n column: { type: Object as PropType<FinallyColumnType<DefaultRecordType>>, required: true },\n },\n setup(props) {\n const tableContext = useInjectTable()\n const tableSlotsContext = useInjectSlots()\n\n const filteredKeys = ref<Key[]>([])\n const openKeys = ref<string[]>([])\n const dropdownPrefixCls = computed(() => tableContext.props.dropdownPrefixCls || 'ant-dropdown')\n const columnKey = computed(() => props.column.columnKey)\n const filterStates = computed(() => tableContext.filterStates.value)\n const filterState = computed(() =>\n filterStates.value.find(({ key }) => columnKey.value === key),\n )\n\n watch(\n filterState,\n () => {\n filteredKeys.value = filterState.value?.filteredKeys || []\n },\n { immediate: true },\n )\n\n const getPopupContainer = computed(\n () => props.column?.getPopupContainer ?? tableContext.props.getPopupContainer,\n )\n\n const showFilterDropdown = ref(false)\n\n devWarning(\n !('onFilterDropdownVisibleChange' in props.column),\n '@table',\n 'column.onFilterDropdownVisibleChange is deprecated. Please use column.onFilterDropdownOpenChange instead.',\n )\n devWarning(\n !('filterDropdownVisible' in props.column),\n '@table',\n 'column.filterDropdownVisible is deprecated. Please use column.filterDropdownOpen instead.',\n )\n\n const triggerOpen = (open: boolean) => {\n showFilterDropdown.value = open\n const { onFilterDropdownOpenChange, onFilterDropdownVisibleChange } = props.column || {}\n const onOpenChange = onFilterDropdownOpenChange || onFilterDropdownVisibleChange\n onOpenChange?.(open)\n }\n\n const mergedOpen = eagerComputed(() => {\n const { filterDropdownVisible, filterDropdownOpen } = props.column || {}\n const open = filterDropdownOpen ?? filterDropdownVisible\n return typeof open == 'boolean' ? open : showFilterDropdown.value\n })\n\n let openKeysTimer = 0\n const onOpenChange = (keys: string[]) => {\n openKeysTimer = window.setTimeout(() => {\n openKeys.value = keys\n })\n }\n const onMenuClick = () => {\n window.clearTimeout(openKeysTimer)\n }\n\n onUnmounted(() => {\n window.clearTimeout(openKeysTimer)\n })\n\n const changeFilter = (keys: Key[]) => {\n const newKeys = keys && keys.length ? keys : null\n const state = filterState.value\n\n if (!(newKeys !== null || (state && state.filteredKeys))) return null\n if (isEqual(newKeys, state?.filteredKeys)) return null\n\n const newFilterState = { column: props.column, key: columnKey.value, filteredKeys: newKeys }\n tableContext?.changeFilter(newFilterState)\n }\n\n const onSelectKeys = ({ selectedKeys }: { selectedKeys?: Key[] }) => {\n filteredKeys.value = selectedKeys || []\n }\n const onConfirm = () => {\n triggerOpen(false)\n changeFilter(filteredKeys.value)\n }\n const onReset = () => {\n filteredKeys.value = []\n triggerOpen(false)\n changeFilter([])\n }\n const doFilter = (param: FilterConfirmProps = { closeDropdown: true }) => {\n triggerOpen(!param.closeDropdown)\n changeFilter(filteredKeys.value)\n }\n\n const customFilterDropdown = computed(() => {\n const { filterDropdown, slots = {}, customFilterDropdown } = props.column\n return (\n filterDropdown ||\n (slots.filterDropdown && tableSlotsContext[slots.filterDropdown]) ||\n (customFilterDropdown && tableSlotsContext.customFilterDropdown)\n )\n })\n\n const custocustomFilterDropdownProps = computed(() => ({\n prefixCls: props.prefixCls,\n setSelectedKeys: (keys: Key[]) => onSelectKeys({ selectedKeys: keys }),\n selectedKeys: filteredKeys.value,\n confirm: doFilter,\n clearFilters: onReset,\n filters: props.column.filters,\n column: props.column.originColumn,\n open: mergedOpen.value,\n }))\n\n const customFilterIcon = computed(() => {\n return (\n props.column?.filterIcon ||\n (props.column?.slots?.filterIcon && tableSlotsContext[props.column?.slots?.filterIcon]) ||\n tableSlotsContext.customFilterIcon\n )\n })\n\n const filterItemsProps = computed(() => {\n const { column } = props\n return {\n filters: column.filters,\n prefixCls: props.prefixCls,\n filteredKeys: filteredKeys.value,\n filterMultiple:\n column.filterMultiple === null ||\n column.filterMultiple === undefined ||\n column.filterMultiple,\n locale: tableContext.locale.value,\n onSelectKeys: onSelectKeys,\n onOpenChange: onOpenChange,\n onMenuClick: onMenuClick,\n openKeys: openKeys.value,\n }\n })\n\n const filtered = eagerComputed(() => !!filteredKeys.value?.length)\n\n return {\n getPopupContainer,\n triggerOpen,\n mergedOpen,\n onReset,\n onConfirm,\n onDropdownOpenChange: (open: boolean) => {\n triggerOpen(open)\n if (!(open || customFilterDropdown.value)) {\n onConfirm()\n }\n },\n doFilter,\n filterItemsProps,\n onSelectKeys,\n filteredKeys,\n dropdownPrefixCls,\n filtered,\n locale: tableContext.locale,\n customFilterDropdown,\n customFilterIcon,\n custocustomFilterDropdownProps,\n }\n },\n})\n</script>\n\n<template>\n <Dropdown\n :trigger=\"['click']\"\n :open=\"mergedOpen\"\n :get-popup-container=\"getPopupContainer\"\n placement=\"bottomRight\"\n :overlay-class-name=\"`${prefixCls}-dropdown-root`\"\n @open-change=\"onDropdownOpenChange\"\n @click.stop\n >\n <template #overlay>\n <FilterWrapper :class=\"`${prefixCls}-dropdown`\">\n <RenderVNode\n v-if=\"customFilterDropdown\"\n :vnode=\"customFilterDropdown(custocustomFilterDropdownProps)\"\n ></RenderVNode>\n <template v-else>\n <FilterItems\n v-bind=\"filterItemsProps\"\n root\n :dropdown-prefix-cls=\"dropdownPrefixCls\"\n :get-popup-container=\"getPopupContainer\"\n :prefix-cls=\"prefixCls\"\n />\n <div :class=\"`${prefixCls}-dropdown-btns`\">\n <ProButton\n type=\"link\"\n size=\"small\"\n :disabled=\"filteredKeys.length === 0\"\n @click=\"onReset\"\n >\n {{ locale.filterReset }}\n </ProButton>\n <ProButton type=\"primary\" size=\"small\" @click=\"onConfirm\">\n {{ locale.filterConfirm }}\n </ProButton>\n </div>\n </template>\n </FilterWrapper>\n </template>\n <span :class=\"{ [`${prefixCls}-trigger`]: true, active: filtered }\">\n <RenderVNode\n v-if=\"customFilterIcon\"\n :vnode=\"\n customFilterIcon({\n column: column.originColumn,\n filtered: filtered,\n })\n \"\n />\n <FilterFilled v-else />\n </span>\n </Dropdown>\n</template>\n"],"names":["_createBlock","_withModifiers","_withCtx","_createVNode","_normalizeClass","_openBlock","_createElementBlock","_Fragment","_mergeProps","_createElementVNode","_createTextVNode","_toDisplayString"],"mappings":"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"}
1
+ {"version":3,"file":"FilterDropdown.vue.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Filter/FilterDropdown.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-07 21:51:35\n * @LastEditors: shen\n * @LastEditTime: 2025-11-25 08:57:24\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { FinallyColumnType, DefaultRecordType, Key, FilterConfirmProps } from '../interface'\n\nimport { defineComponent, ref, computed, watch, onUnmounted } from 'vue'\nimport { Dropdown } from 'ant-design-vue'\nimport { FilterFilled } from '@ant-design/icons-vue'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectSlots } from '../context/TableSlotsContext'\nimport { isEqual, RenderVNode } from '@pro-design-vue/utils'\nimport { ProButton } from '../../../../button'\nimport eagerComputed from '../../utils/eagerComputed'\nimport FilterWrapper from './FilterWrapper'\nimport FilterItems from './FilterItems.vue'\nimport devWarning from '../../utils/devWarning'\n\nexport default defineComponent({\n name: 'FilterDropdown',\n components: {\n FilterFilled,\n Dropdown,\n FilterItems,\n ProButton,\n RenderVNode,\n FilterWrapper,\n },\n inheritAttrs: false,\n props: {\n prefixCls: { type: String, default: '' },\n column: { type: Object as PropType<FinallyColumnType<DefaultRecordType>>, required: true },\n },\n setup(props) {\n const tableContext = useInjectTable()\n const tableSlotsContext = useInjectSlots()\n\n const filteredKeys = ref<Key[]>([])\n const openKeys = ref<string[]>([])\n const dropdownPrefixCls = computed(() => tableContext.props.dropdownPrefixCls || 'ant-dropdown')\n const columnKey = computed(() => props.column.columnKey)\n const filterStates = computed(() => tableContext.filterStates.value)\n const filterState = computed(() =>\n filterStates.value.find(({ key }) => columnKey.value === key),\n )\n\n watch(\n filterState,\n () => {\n filteredKeys.value = filterState.value?.filteredKeys || []\n },\n { immediate: true },\n )\n\n const showFilterDropdown = ref(false)\n\n devWarning(\n !('onFilterDropdownVisibleChange' in props.column),\n '@table',\n 'column.onFilterDropdownVisibleChange is deprecated. Please use column.onFilterDropdownOpenChange instead.',\n )\n devWarning(\n !('filterDropdownVisible' in props.column),\n '@table',\n 'column.filterDropdownVisible is deprecated. Please use column.filterDropdownOpen instead.',\n )\n\n const triggerOpen = (open: boolean) => {\n showFilterDropdown.value = open\n const { onFilterDropdownOpenChange, onFilterDropdownVisibleChange } = props.column || {}\n const onOpenChange = onFilterDropdownOpenChange || onFilterDropdownVisibleChange\n onOpenChange?.(open)\n }\n\n const mergedOpen = eagerComputed(() => {\n const { filterDropdownVisible, filterDropdownOpen } = props.column || {}\n const open = filterDropdownOpen ?? filterDropdownVisible\n return typeof open == 'boolean' ? open : showFilterDropdown.value\n })\n\n let openKeysTimer = 0\n const onOpenChange = (keys: string[]) => {\n openKeysTimer = window.setTimeout(() => {\n openKeys.value = keys\n })\n }\n const onMenuClick = () => {\n window.clearTimeout(openKeysTimer)\n }\n\n onUnmounted(() => {\n window.clearTimeout(openKeysTimer)\n })\n\n const changeFilter = (keys: Key[]) => {\n const newKeys = keys && keys.length ? keys : null\n const state = filterState.value\n\n if (!(newKeys !== null || (state && state.filteredKeys))) return null\n if (isEqual(newKeys, state?.filteredKeys)) return null\n\n const newFilterState = { column: props.column, key: columnKey.value, filteredKeys: newKeys }\n tableContext?.changeFilter(newFilterState)\n }\n\n const onSelectKeys = ({ selectedKeys }: { selectedKeys?: Key[] }) => {\n filteredKeys.value = selectedKeys || []\n }\n const onConfirm = () => {\n triggerOpen(false)\n changeFilter(filteredKeys.value)\n }\n const onReset = () => {\n filteredKeys.value = []\n triggerOpen(false)\n changeFilter([])\n }\n const doFilter = (param: FilterConfirmProps = { closeDropdown: true }) => {\n triggerOpen(!param.closeDropdown)\n changeFilter(filteredKeys.value)\n }\n\n const customFilterDropdown = computed(() => {\n const { filterDropdown, slots = {}, customFilterDropdown } = props.column\n return (\n filterDropdown ||\n (slots.filterDropdown && tableSlotsContext[slots.filterDropdown]) ||\n (customFilterDropdown && tableSlotsContext.customFilterDropdown)\n )\n })\n\n const custocustomFilterDropdownProps = computed(() => ({\n prefixCls: props.prefixCls,\n setSelectedKeys: (keys: Key[]) => onSelectKeys({ selectedKeys: keys }),\n selectedKeys: filteredKeys.value,\n confirm: doFilter,\n clearFilters: onReset,\n filters: props.column.filters,\n column: props.column.originColumn,\n open: mergedOpen.value,\n }))\n\n const customFilterIcon = computed(() => {\n return (\n props.column?.filterIcon ||\n (props.column?.slots?.filterIcon && tableSlotsContext[props.column?.slots?.filterIcon]) ||\n tableSlotsContext.customFilterIcon\n )\n })\n\n const filterItemsProps = computed(() => {\n const { column } = props\n return {\n filters: column.filters,\n prefixCls: props.prefixCls,\n filteredKeys: filteredKeys.value,\n filterMultiple:\n column.filterMultiple === null ||\n column.filterMultiple === undefined ||\n column.filterMultiple,\n locale: tableContext.locale.value,\n onSelectKeys: onSelectKeys,\n onOpenChange: onOpenChange,\n onMenuClick: onMenuClick,\n openKeys: openKeys.value,\n }\n })\n\n const filtered = eagerComputed(() => !!filteredKeys.value?.length)\n const getPopupContainer = () => {\n return document.body\n }\n return {\n getPopupContainer,\n triggerOpen,\n mergedOpen,\n onReset,\n onConfirm,\n onDropdownOpenChange: (open: boolean) => {\n triggerOpen(open)\n if (!(open || customFilterDropdown.value)) {\n onConfirm()\n }\n },\n doFilter,\n filterItemsProps,\n onSelectKeys,\n filteredKeys,\n dropdownPrefixCls,\n filtered,\n locale: tableContext.locale,\n customFilterDropdown,\n customFilterIcon,\n custocustomFilterDropdownProps,\n }\n },\n})\n</script>\n\n<template>\n <Dropdown\n :trigger=\"['click']\"\n :open=\"mergedOpen\"\n :get-popup-container=\"getPopupContainer\"\n placement=\"bottomRight\"\n :overlay-class-name=\"`${prefixCls}-dropdown-root`\"\n @open-change=\"onDropdownOpenChange\"\n @click.stop\n >\n <template #overlay>\n <FilterWrapper :class=\"`${prefixCls}-dropdown`\">\n <RenderVNode\n v-if=\"customFilterDropdown\"\n :vnode=\"customFilterDropdown(custocustomFilterDropdownProps)\"\n ></RenderVNode>\n <template v-else>\n <FilterItems\n v-bind=\"filterItemsProps\"\n root\n :dropdown-prefix-cls=\"dropdownPrefixCls\"\n :get-popup-container=\"getPopupContainer\"\n :prefix-cls=\"prefixCls\"\n />\n <div :class=\"`${prefixCls}-dropdown-btns`\">\n <ProButton\n type=\"link\"\n size=\"small\"\n :disabled=\"filteredKeys.length === 0\"\n @click=\"onReset\"\n >\n {{ locale.filterReset }}\n </ProButton>\n <ProButton type=\"primary\" size=\"small\" @click=\"onConfirm\">\n {{ locale.filterConfirm }}\n </ProButton>\n </div>\n </template>\n </FilterWrapper>\n </template>\n <span :class=\"{ [`${prefixCls}-trigger`]: true, active: filtered }\">\n <RenderVNode\n v-if=\"customFilterIcon\"\n :vnode=\"\n customFilterIcon({\n column: column.originColumn,\n filtered: filtered,\n })\n \"\n />\n <FilterFilled v-else />\n </span>\n </Dropdown>\n</template>\n"],"names":["_createBlock","_withModifiers","_withCtx","_createVNode","_normalizeClass","_openBlock","_createElementBlock","_Fragment","_mergeProps","_createElementVNode","_createTextVNode","_toDisplayString"],"mappings":";;;;;;;;;;;sBA6MEA,WAAA,CAmDW,mBAAA,EAAA;AAAA,IAlDR,OAAA,EAAS,CAAA,OAAA,CAAA;AAAA,IACT,MAAM,IAAA,CAAA,UAAA;AAAA,IACN,uBAAqB,IAAA,CAAA,iBAAA;AAAA,IACtB,SAAA,EAAU,aAAA;AAAA,IACT,oBAAA,EAAkB,CAAA,EAAK,IAAA,CAAA,SAAS,CAAA,cAAA,CAAA;AAAA,IAChC,cAAa,IAAA,CAAA,oBAAA;AAAA,IACb,OAAA,EAAK,OAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAAC,cAAN,MAAA;AAAA,IAAA,CAAA,EAAW,CAAA,MAAA,CAAA,CAAA;AAAA,GAAA,EAAA;AAAA,IAEA,OAAA,EAAOC,QAChB,MA2BgB;AAAA,MA3BhBC,YA2BgB,wBAAA,EAAA;AAAA,QA3BA,KAAA,EAAKC,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,SAAA,CAAA;AAAA,OAAA,EAAA;AAAA,yBACjC,MAGe;AAAA,UAFP,IAAA,sCADRJ,YAGe,sBAAA,EAAA;AAAA,YAAA,GAAA,EAAA,CAAA;AAAA,YADZ,KAAA,EAAO,IAAA,sBAAqB,IAAA,CAAA,8BAA8B;AAAA,WAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA,KAAAK,WAAA,EAE7DC,kBAAA;AAAA,YAqBWC,QAAA;AAAA,YAAA,EAAA,KAAA,CAAA,EAAA;AAAA,YAAA;AAAA,cApBTJ,WAAA,CAME,sBAAA,EANFK,UAAA,CAME,IAAA,CALQ,gBAAA,EAAgB;AAAA,gBACxB,IAAA,EAAA,EAAA;AAAA,gBACC,uBAAqB,IAAA,CAAA,iBAAA;AAAA,gBACrB,uBAAqB,IAAA,CAAA,iBAAA;AAAA,gBACrB,cAAY,IAAA,CAAA;AAAA,eAAA,GAAA,IAAA,EAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,qBAAA,EAAA,YAAA,CAAA,CAAA;AAAA,cAEfC,kBAAA;AAAA,gBAYM,KAAA;AAAA,gBAAA;AAAA,kBAZA,KAAA,EAAKL,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,cAAA,CAAA;AAAA,iBAAA;AAAA;kBACvBD,YAOY,oBAAA,EAAA;AAAA,oBANV,IAAA,EAAK,MAAA;AAAA,oBACL,IAAA,EAAK,OAAA;AAAA,oBACJ,QAAA,EAAU,IAAA,cAAa,MAAA,KAAM,CAAA;AAAA,oBAC7B,SAAO,IAAA,CAAA;AAAA,mBAAA,EAAA;AAAA,qCAER,MAAwB;AAAA,sBAAAO,eAAA;AAAA,wBAArBC,eAAA,CAAA,IAAA,CAAA,MAAA,CAAO,WAAW,CAAA;AAAA,wBAAA;AAAA;AAAA;AAAA,qBAAA,CAAA;AAAA;;;kBAEvBR,YAEY,oBAAA,EAAA;AAAA,oBAFD,IAAA,EAAK,SAAA;AAAA,oBAAU,IAAA,EAAK,OAAA;AAAA,oBAAS,SAAO,IAAA,CAAA;AAAA,mBAAA,EAAA;AAAA,qCAC7C,MAA0B;AAAA,sBAAAO,eAAA;AAAA,wBAAvBC,eAAA,CAAA,IAAA,CAAA,MAAA,CAAO,aAAa,CAAA;AAAA,wBAAA;AAAA;AAAA;AAAA,qBAAA,CAAA;AAAA;;;;;;;;;;;;;;;;qBAMjC,MAWO;AAAA,MAXPF,kBAAA;AAAA,QAWO,MAAA;AAAA,QAAA;AAAA,UAXA,KAAA,EAAKL,cAAA,CAAA,EAAA,CAAA,CAAA,EAAQ,IAAA,CAAA,SAAS,CAAA,QAAA,CAAA,GAAA,IAAA,EAAA,MAAA,EAA2B,IAAA,CAAA,UAAQ;AAAA,SAAA;AAAA;UAEtD,IAAA,CAAA,gBAAA,IAAAC,SAAA,EAAA,EADRL,YAQE,sBAAA,EAAA;AAAA,YAAA,GAAA,EAAA,CAAA;AAAA,YANC,KAAA,EAAkB,KAAA,gBAAA,CAAgB;AAAA,cAAA,MAAA,EAAuB,KAAA,MAAA,CAAO,YAAA;AAAA,cAAA,UAAoC,IAAA,CAAA;AAAA,aAAA;AAAA,kDAOvGA,WAAA,CAAuB,uBAAA,EAAA,EAAA,GAAA,EAAA,GAAA,CAAA;AAAA,SAAA;AAAA;;;;;;;;;;;;"}