@1money/component-ui 0.0.68 → 0.0.70

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 (69) hide show
  1. package/es/components/Icons/Wrapper.js +6 -4
  2. package/es/components/Icons/constants.d.ts +11 -0
  3. package/es/components/Icons/constants.js +32 -0
  4. package/es/components/Icons/index.d.ts +2 -0
  5. package/es/components/Icons/index.js +2 -1
  6. package/es/components/Icons/interface.d.ts +8 -1
  7. package/es/components/ProForm/interface.d.ts +3 -1
  8. package/es/components/ProForm/layouts/QueryFilter.js +5 -1
  9. package/es/components/ProTable/ProTable.d.ts +5 -0
  10. package/es/components/ProTable/ProTable.js +309 -0
  11. package/es/components/ProTable/constants.d.ts +12 -0
  12. package/es/components/ProTable/constants.js +12 -0
  13. package/es/components/ProTable/core/genColumns.d.ts +10 -0
  14. package/es/components/ProTable/core/genColumns.js +81 -0
  15. package/es/components/ProTable/core/genSearchFields.d.ts +19 -0
  16. package/es/components/ProTable/core/genSearchFields.js +103 -0
  17. package/es/components/ProTable/core/useAwaitableReload.d.ts +17 -0
  18. package/es/components/ProTable/core/useAwaitableReload.js +39 -0
  19. package/es/components/ProTable/core/utils.d.ts +12 -0
  20. package/es/components/ProTable/core/utils.js +21 -0
  21. package/es/components/ProTable/index.d.ts +4 -0
  22. package/es/components/ProTable/index.js +5 -0
  23. package/es/components/ProTable/interface.d.ts +132 -0
  24. package/es/components/ProTable/interface.js +2 -0
  25. package/es/components/ProTable/style/ProTable.css +47 -0
  26. package/es/components/ProTable/style/css.js +6 -0
  27. package/es/components/ProTable/style/index.d.ts +5 -0
  28. package/es/components/ProTable/style/index.js +6 -0
  29. package/es/components/ProTable/useFetchData.d.ts +48 -0
  30. package/es/components/ProTable/useFetchData.js +270 -0
  31. package/es/index.css +1 -1
  32. package/es/index.d.ts +3 -1
  33. package/es/index.js +2 -1
  34. package/lib/components/Icons/Wrapper.js +6 -4
  35. package/lib/components/Icons/constants.d.ts +11 -0
  36. package/lib/components/Icons/constants.js +38 -0
  37. package/lib/components/Icons/index.d.ts +2 -0
  38. package/lib/components/Icons/index.js +10 -2
  39. package/lib/components/Icons/interface.d.ts +8 -1
  40. package/lib/components/ProForm/interface.d.ts +3 -1
  41. package/lib/components/ProForm/layouts/QueryFilter.js +5 -1
  42. package/lib/components/ProTable/ProTable.d.ts +5 -0
  43. package/lib/components/ProTable/ProTable.js +316 -0
  44. package/lib/components/ProTable/constants.d.ts +12 -0
  45. package/lib/components/ProTable/constants.js +18 -0
  46. package/lib/components/ProTable/core/genColumns.d.ts +10 -0
  47. package/lib/components/ProTable/core/genColumns.js +87 -0
  48. package/lib/components/ProTable/core/genSearchFields.d.ts +19 -0
  49. package/lib/components/ProTable/core/genSearchFields.js +111 -0
  50. package/lib/components/ProTable/core/useAwaitableReload.d.ts +17 -0
  51. package/lib/components/ProTable/core/useAwaitableReload.js +46 -0
  52. package/lib/components/ProTable/core/utils.d.ts +12 -0
  53. package/lib/components/ProTable/core/utils.js +28 -0
  54. package/lib/components/ProTable/index.d.ts +4 -0
  55. package/lib/components/ProTable/index.js +33 -0
  56. package/lib/components/ProTable/interface.d.ts +132 -0
  57. package/lib/components/ProTable/interface.js +6 -0
  58. package/lib/components/ProTable/style/ProTable.css +47 -0
  59. package/lib/components/ProTable/style/css.js +8 -0
  60. package/lib/components/ProTable/style/index.d.ts +5 -0
  61. package/lib/components/ProTable/style/index.js +8 -0
  62. package/lib/components/ProTable/useFetchData.d.ts +48 -0
  63. package/lib/components/ProTable/useFetchData.js +277 -0
  64. package/lib/index.css +1 -1
  65. package/lib/index.d.ts +3 -1
  66. package/lib/index.js +8 -1
  67. package/package.json +6 -1
  68. package/scripts/mcp-server/examples.generated.json +168 -6
  69. package/scripts/mcp-server/index.generated.json +778 -4
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.applySearchTransforms = applySearchTransforms;
8
+ exports.genSearchFields = genSearchFields;
9
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ var _ProForm = require("../../ProForm");
12
+ var _utils = require("./utils");
13
+ function isSearchable(column) {
14
+ if (column.hideInSearch === true || column.search === false) return false;
15
+ return Boolean(column.renderFormItem || column.valueType);
16
+ }
17
+ /**
18
+ * Build the QueryFilter children (ProForm fields) from searchable columns, plus
19
+ * the aggregated initial values. `renderFormItem` overrides the valueType mapping.
20
+ */
21
+ function genSearchFields(columns) {
22
+ var initialValues = {};
23
+ var names = [];
24
+ var fields = columns.filter(isSearchable).map(function (column, index) {
25
+ return {
26
+ column: column,
27
+ name: (0, _utils.getColumnSearchName)(column),
28
+ index: index
29
+ };
30
+ }).filter(function (entry) {
31
+ return entry.name !== null;
32
+ }).sort(function (a, b) {
33
+ var _a, _b;
34
+ return ((_a = a.column.order) !== null && _a !== void 0 ? _a : a.index) - ((_b = b.column.order) !== null && _b !== void 0 ? _b : b.index);
35
+ }).map(function (_ref) {
36
+ var column = _ref.column,
37
+ name = _ref.name;
38
+ names.push(name);
39
+ if (column.initialValue !== undefined) initialValues[name] = column.initialValue;
40
+ if (column.renderFormItem) {
41
+ return (0, _jsxRuntime.jsx)("span", {
42
+ children: column.renderFormItem()
43
+ }, name);
44
+ }
45
+ var fieldProps = column.fieldProps;
46
+ // No labels — use the column title as the placeholder so the field stays self-describing.
47
+ var placeholder = typeof column.title === 'string' ? column.title : undefined;
48
+ switch (column.valueType) {
49
+ case 'select':
50
+ return (0, _jsxRuntime.jsx)(_ProForm.ProForm.Select, {
51
+ name: name,
52
+ placeholder: placeholder,
53
+ valueEnum: column.valueEnum,
54
+ fieldProps: fieldProps
55
+ }, name);
56
+ case 'date':
57
+ return (0, _jsxRuntime.jsx)(_ProForm.ProForm.DatePicker, {
58
+ name: name,
59
+ placeholder: placeholder,
60
+ fieldProps: fieldProps
61
+ }, name);
62
+ case 'dateRange':
63
+ return (0, _jsxRuntime.jsx)(_ProForm.ProForm.DatePicker, {
64
+ name: name,
65
+ placeholder: placeholder,
66
+ fieldProps: Object.assign({
67
+ selectionMode: 'range'
68
+ }, fieldProps)
69
+ }, name);
70
+ case 'digit':
71
+ return (0, _jsxRuntime.jsx)(_ProForm.ProForm.Text, {
72
+ name: name,
73
+ placeholder: placeholder,
74
+ fieldProps: Object.assign({
75
+ type: 'number'
76
+ }, fieldProps)
77
+ }, name);
78
+ case 'text':
79
+ default:
80
+ return (0, _jsxRuntime.jsx)(_ProForm.ProForm.Text, {
81
+ name: name,
82
+ placeholder: placeholder,
83
+ fieldProps: fieldProps
84
+ }, name);
85
+ }
86
+ });
87
+ return {
88
+ fields: fields,
89
+ initialValues: initialValues,
90
+ names: names
91
+ };
92
+ }
93
+ /**
94
+ * Apply per-column `search.transform` to submitted values, replacing the original
95
+ * field name with the mapped params.
96
+ */
97
+ function applySearchTransforms(values, columns) {
98
+ var result = Object.assign({}, values);
99
+ columns.forEach(function (column) {
100
+ if ((0, _typeof2["default"])(column.search) === 'object' && column.search.transform) {
101
+ var name = (0, _utils.getColumnSearchName)(column);
102
+ if (name && name in result) {
103
+ var mapped = column.search.transform(result[name]);
104
+ delete result[name];
105
+ Object.assign(result, mapped);
106
+ }
107
+ }
108
+ });
109
+ return result;
110
+ }
111
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvVGFibGUvY29yZS9nZW5TZWFyY2hGaWVsZHMuanMiLCJjb21wb25lbnRzL1Byb1RhYmxlL3NyYy9jb21wb25lbnRzL1Byb1RhYmxlL2NvcmUvZ2VuU2VhcmNoRmllbGRzLnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfUHJvRm9ybSIsIl91dGlscyIsImlzU2VhcmNoYWJsZSIsImNvbHVtbiIsImhpZGVJblNlYXJjaCIsInNlYXJjaCIsIkJvb2xlYW4iLCJyZW5kZXJGb3JtSXRlbSIsInZhbHVlVHlwZSIsImdlblNlYXJjaEZpZWxkcyIsImNvbHVtbnMiLCJpbml0aWFsVmFsdWVzIiwibmFtZXMiLCJmaWVsZHMiLCJmaWx0ZXIiLCJtYXAiLCJpbmRleCIsIm5hbWUiLCJnZXRDb2x1bW5TZWFyY2hOYW1lIiwiZW50cnkiLCJzb3J0IiwiYSIsImIiLCJfYSIsIl9iIiwib3JkZXIiLCJfcmVmIiwicHVzaCIsImluaXRpYWxWYWx1ZSIsInVuZGVmaW5lZCIsIl9qc3giLCJjaGlsZHJlbiIsImZpZWxkUHJvcHMiLCJwbGFjZWhvbGRlciIsInRpdGxlIiwiUHJvRm9ybSIsIlNlbGVjdCIsInZhbHVlRW51bSIsIkRhdGVQaWNrZXIiLCJPYmplY3QiLCJhc3NpZ24iLCJzZWxlY3Rpb25Nb2RlIiwiVGV4dCIsInR5cGUiLCJhcHBseVNlYXJjaFRyYW5zZm9ybXMiLCJ2YWx1ZXMiLCJyZXN1bHQiLCJmb3JFYWNoIiwiX3R5cGVvZjIiLCJ0cmFuc2Zvcm0iLCJtYXBwZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ0NBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUdBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQVNBLFNBQVNHLFlBQVlBLENBQXdCQyxNQUFxQixFQUFBO0VBQ2hFLElBQUlBLE1BQU0sQ0FBQ0MsWUFBWSxLQUFLLElBQUksSUFBSUQsTUFBTSxDQUFDRSxNQUFNLEtBQUssS0FBSyxFQUFFLE9BQU8sS0FBSztFQUN6RSxPQUFPQyxPQUFPLENBQUNILE1BQU0sQ0FBQ0ksY0FBYyxJQUFJSixNQUFNLENBQUNLLFNBQVMsQ0FBQztBQUMzRDtBQUVBO0FEVEE7QUFDQTtBQUNBO0FDV00sU0FBVUMsZUFBZUEsQ0FBd0JDLE9BQXdCLEVBQUE7RUFDN0UsSUFBTUMsYUFBYSxHQUE0QixDQUFBLENBQUU7RUFDakQsSUFBTUMsS0FBSyxHQUFhLEVBQUU7RUFFMUIsSUFBTUMsTUFBTSxHQUFHSCxPQUFPLENBQ25CSSxNQUFNLENBQUNaLFlBQVksQ0FBQyxDQUNwQmEsR0FBRyxDQUFDLFVBQUNaLE1BQU0sRUFBRWEsS0FBSztJQUFBLE9BQU07TUFBRWIsTUFBTSxFQUFOQSxNQUFNO01BQUVjLElBQUksRUFBRSxJQUFBQywwQkFBbUIsRUFBQ2YsTUFBTSxDQUFDO01BQUVhLEtBQUssRUFBTEE7SUFBSyxDQUFFO0VBQUEsQ0FBQyxDQUFDLENBQzlFRixNQUFNLENBQUMsVUFBQ0ssS0FBSztJQUFBLE9BQXNFQSxLQUFLLENBQUNGLElBQUksS0FBSyxJQUFJO0VBQUEsRUFBQyxDQUN2R0csSUFBSSxDQUFDLFVBQUNDLENBQUMsRUFBRUMsQ0FBQyxFQUFJO0lBQUEsSUFBQUMsRUFBQSxFQUFBQyxFQUFBO0lBQUMsT0FBQSxDQUFDLENBQUFELEVBQUEsR0FBQUYsQ0FBQyxDQUFDbEIsTUFBTSxDQUFDc0IsS0FBSyxNQUFBLElBQUEsSUFBQUYsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUlGLENBQUMsQ0FBQ0wsS0FBSyxLQUFLLENBQUFRLEVBQUEsR0FBQUYsQ0FBQyxDQUFDbkIsTUFBTSxDQUFDc0IsS0FBSyxNQUFBLElBQUEsSUFBQUQsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUlGLENBQUMsQ0FBQ04sS0FBSyxDQUFDO0VBQUEsQ0FBQSxDQUFDLENBQ3pFRCxHQUFHLENBQUMsVUFBQVcsSUFBQSxFQUFxQjtJQUFBLElBQWxCdkIsTUFBTSxHQUFBdUIsSUFBQSxDQUFOdkIsTUFBTTtNQUFFYyxJQUFJLEdBQUFTLElBQUEsQ0FBSlQsSUFBSTtJQUNsQkwsS0FBSyxDQUFDZSxJQUFJLENBQUNWLElBQUksQ0FBQztJQUNoQixJQUFJZCxNQUFNLENBQUN5QixZQUFZLEtBQUtDLFNBQVMsRUFBRWxCLGFBQWEsQ0FBQ00sSUFBSSxDQUFDLEdBQUdkLE1BQU0sQ0FBQ3lCLFlBQVk7SUFFaEYsSUFBSXpCLE1BQU0sQ0FBQ0ksY0FBYyxFQUFFO01BQ3pCLE9BQU8sSUFBQXVCLGVBQUEsRUFBQSxNQUFBLEVBQUE7UUFBQUMsUUFBQSxFQUFrQjVCLE1BQU0sQ0FBQ0ksY0FBYyxDQUFBO01BQUUsQ0FBQSxFQUE5QlUsSUFBSSxDQUFrQztJQUMxRDtJQUVBLElBQU1lLFVBQVUsR0FBRzdCLE1BQU0sQ0FBQzZCLFVBQVU7SUFDcEM7SUFDQSxJQUFNQyxXQUFXLEdBQUcsT0FBTzlCLE1BQU0sQ0FBQytCLEtBQUssS0FBSyxRQUFRLEdBQUcvQixNQUFNLENBQUMrQixLQUFLLEdBQUdMLFNBQVM7SUFFL0UsUUFBUTFCLE1BQU0sQ0FBQ0ssU0FBUztNQUN0QixLQUFLLFFBQVE7UUFDWCxPQUNFLElBQUFzQixlQUFBLEVBQUNLLGdCQUFPLENBQUNDLE1BQU0sRUFBQTtVQUVibkIsSUFBSSxFQUFFQSxJQUFJO1VBQ1ZnQixXQUFXLEVBQUVBLFdBQVc7VUFDeEJJLFNBQVMsRUFBRWxDLE1BQU0sQ0FBQ2tDLFNBQVM7VUFDM0JMLFVBQVUsRUFBRUE7UUFBVSxDQUFBLEVBSmpCZixJQUFJLENBS1Q7TUFFTixLQUFLLE1BQU07UUFDVCxPQUFPLElBQUFhLGVBQUEsRUFBQ0ssZ0JBQU8sQ0FBQ0csVUFBVSxFQUFBO1VBQVlyQixJQUFJLEVBQUVBLElBQUk7VUFBRWdCLFdBQVcsRUFBRUEsV0FBVztVQUFFRCxVQUFVLEVBQUVBO1FBQVUsQ0FBQSxFQUFsRWYsSUFBSSxDQUFrRTtNQUN4RyxLQUFLLFdBQVc7UUFDZCxPQUNFLElBQUFhLGVBQUEsRUFBQ0ssZ0JBQU8sQ0FBQ0csVUFBVSxFQUFBO1VBRWpCckIsSUFBSSxFQUFFQSxJQUFJO1VBQ1ZnQixXQUFXLEVBQUVBLFdBQVc7VUFDeEJELFVBQVUsRUFBQU8sTUFBQSxDQUFBQyxNQUFBLENBQUE7WUFBSUMsYUFBYSxFQUFFO1VBQU8sQ0FBQSxFQUFLVCxVQUFVO1FBQUEsQ0FBQSxFQUg5Q2YsSUFBSSxDQUlUO01BRU4sS0FBSyxPQUFPO1FBQ1YsT0FDRSxJQUFBYSxlQUFBLEVBQUNLLGdCQUFPLENBQUNPLElBQUksRUFBQTtVQUVYekIsSUFBSSxFQUFFQSxJQUFJO1VBQ1ZnQixXQUFXLEVBQUVBLFdBQVc7VUFDeEJELFVBQVUsRUFBQU8sTUFBQSxDQUFBQyxNQUFBLENBQUE7WUFBSUcsSUFBSSxFQUFFO1VBQVEsQ0FBQSxFQUFLWCxVQUFVO1FBQUEsQ0FBQSxFQUh0Q2YsSUFBSSxDQUlUO01BRU4sS0FBSyxNQUFNO01BQ1g7UUFDRSxPQUFPLElBQUFhLGVBQUEsRUFBQ0ssZ0JBQU8sQ0FBQ08sSUFBSSxFQUFBO1VBQVl6QixJQUFJLEVBQUVBLElBQUk7VUFBRWdCLFdBQVcsRUFBRUEsV0FBVztVQUFFRCxVQUFVLEVBQUVBO1FBQVUsQ0FBQSxFQUFsRWYsSUFBSSxDQUFrRTtJQUNwRztFQUNGLENBQUMsQ0FBQztFQUVKLE9BQU87SUFBRUosTUFBTSxFQUFOQSxNQUFNO0lBQUVGLGFBQWEsRUFBYkEsYUFBYTtJQUFFQyxLQUFLLEVBQUxBO0VBQUssQ0FBRTtBQUN6QztBQUVBO0FEcENBO0FBQ0E7QUFDQTtBQ3NDTSxTQUFVZ0MscUJBQXFCQSxDQUNuQ0MsTUFBK0IsRUFDL0JuQyxPQUF3QixFQUFBO0VBRXhCLElBQU1vQyxNQUFNLEdBQUFQLE1BQUEsQ0FBQUMsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUFpQ0ssTUFBTSxDQUFFO0VBQ3JEbkMsT0FBTyxDQUFDcUMsT0FBTyxDQUFDLFVBQUM1QyxNQUFNLEVBQUk7SUFDekIsSUFBSSxJQUFBNkMsUUFBQSxhQUFPN0MsTUFBTSxDQUFDRSxNQUFNLE1BQUssUUFBUSxJQUFJRixNQUFNLENBQUNFLE1BQU0sQ0FBQzRDLFNBQVMsRUFBRTtNQUNoRSxJQUFNaEMsSUFBSSxHQUFHLElBQUFDLDBCQUFtQixFQUFDZixNQUFNLENBQUM7TUFDeEMsSUFBSWMsSUFBSSxJQUFJQSxJQUFJLElBQUk2QixNQUFNLEVBQUU7UUFDMUIsSUFBTUksTUFBTSxHQUFHL0MsTUFBTSxDQUFDRSxNQUFNLENBQUM0QyxTQUFTLENBQUNILE1BQU0sQ0FBQzdCLElBQUksQ0FBQyxDQUFDO1FBQ3BELE9BQU82QixNQUFNLENBQUM3QixJQUFJLENBQUM7UUFDbkJzQixNQUFNLENBQUNDLE1BQU0sQ0FBQ00sTUFBTSxFQUFFSSxNQUFNLENBQUM7TUFDL0I7SUFDRjtFQUNGLENBQUMsQ0FBQztFQUNGLE9BQU9KLE1BQU07QUFDZiIsImZpbGUiOiJjb21wb25lbnRzL1Byb1RhYmxlL2NvcmUvZ2VuU2VhcmNoRmllbGRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IFByb0Zvcm0gfSBmcm9tICcuLi8uLi9Qcm9Gb3JtJztcbmltcG9ydCB7IGdldENvbHVtblNlYXJjaE5hbWUgfSBmcm9tICcuL3V0aWxzJztcbmZ1bmN0aW9uIGlzU2VhcmNoYWJsZShjb2x1bW4pIHtcbiAgICBpZiAoY29sdW1uLmhpZGVJblNlYXJjaCA9PT0gdHJ1ZSB8fCBjb2x1bW4uc2VhcmNoID09PSBmYWxzZSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiBCb29sZWFuKGNvbHVtbi5yZW5kZXJGb3JtSXRlbSB8fCBjb2x1bW4udmFsdWVUeXBlKTtcbn1cbi8qKlxuICogQnVpbGQgdGhlIFF1ZXJ5RmlsdGVyIGNoaWxkcmVuIChQcm9Gb3JtIGZpZWxkcykgZnJvbSBzZWFyY2hhYmxlIGNvbHVtbnMsIHBsdXNcbiAqIHRoZSBhZ2dyZWdhdGVkIGluaXRpYWwgdmFsdWVzLiBgcmVuZGVyRm9ybUl0ZW1gIG92ZXJyaWRlcyB0aGUgdmFsdWVUeXBlIG1hcHBpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5TZWFyY2hGaWVsZHMoY29sdW1ucykge1xuICAgIGNvbnN0IGluaXRpYWxWYWx1ZXMgPSB7fTtcbiAgICBjb25zdCBuYW1lcyA9IFtdO1xuICAgIGNvbnN0IGZpZWxkcyA9IGNvbHVtbnNcbiAgICAgICAgLmZpbHRlcihpc1NlYXJjaGFibGUpXG4gICAgICAgIC5tYXAoKGNvbHVtbiwgaW5kZXgpID0+ICh7IGNvbHVtbiwgbmFtZTogZ2V0Q29sdW1uU2VhcmNoTmFtZShjb2x1bW4pLCBpbmRleCB9KSlcbiAgICAgICAgLmZpbHRlcigoZW50cnkpID0+IGVudHJ5Lm5hbWUgIT09IG51bGwpXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoKF9hID0gYS5jb2x1bW4ub3JkZXIpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGEuaW5kZXgpIC0gKChfYiA9IGIuY29sdW1uLm9yZGVyKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBiLmluZGV4KTsgfSlcbiAgICAgICAgLm1hcCgoeyBjb2x1bW4sIG5hbWUgfSkgPT4ge1xuICAgICAgICBuYW1lcy5wdXNoKG5hbWUpO1xuICAgICAgICBpZiAoY29sdW1uLmluaXRpYWxWYWx1ZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgaW5pdGlhbFZhbHVlc1tuYW1lXSA9IGNvbHVtbi5pbml0aWFsVmFsdWU7XG4gICAgICAgIGlmIChjb2x1bW4ucmVuZGVyRm9ybUl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiBfanN4KFwic3BhblwiLCB7IGNoaWxkcmVuOiBjb2x1bW4ucmVuZGVyRm9ybUl0ZW0oKSB9LCBuYW1lKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmaWVsZFByb3BzID0gY29sdW1uLmZpZWxkUHJvcHM7XG4gICAgICAgIC8vIE5vIGxhYmVscyDigJQgdXNlIHRoZSBjb2x1bW4gdGl0bGUgYXMgdGhlIHBsYWNlaG9sZGVyIHNvIHRoZSBmaWVsZCBzdGF5cyBzZWxmLWRlc2NyaWJpbmcuXG4gICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyID0gdHlwZW9mIGNvbHVtbi50aXRsZSA9PT0gJ3N0cmluZycgPyBjb2x1bW4udGl0bGUgOiB1bmRlZmluZWQ7XG4gICAgICAgIHN3aXRjaCAoY29sdW1uLnZhbHVlVHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnc2VsZWN0JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gKF9qc3goUHJvRm9ybS5TZWxlY3QsIHsgbmFtZTogbmFtZSwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCB2YWx1ZUVudW06IGNvbHVtbi52YWx1ZUVudW0sIGZpZWxkUHJvcHM6IGZpZWxkUHJvcHMgfSwgbmFtZSkpO1xuICAgICAgICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9qc3goUHJvRm9ybS5EYXRlUGlja2VyLCB7IG5hbWU6IG5hbWUsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgZmllbGRQcm9wczogZmllbGRQcm9wcyB9LCBuYW1lKTtcbiAgICAgICAgICAgIGNhc2UgJ2RhdGVSYW5nZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIChfanN4KFByb0Zvcm0uRGF0ZVBpY2tlciwgeyBuYW1lOiBuYW1lLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIGZpZWxkUHJvcHM6IE9iamVjdC5hc3NpZ24oeyBzZWxlY3Rpb25Nb2RlOiAncmFuZ2UnIH0sIGZpZWxkUHJvcHMpIH0sIG5hbWUpKTtcbiAgICAgICAgICAgIGNhc2UgJ2RpZ2l0JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gKF9qc3goUHJvRm9ybS5UZXh0LCB7IG5hbWU6IG5hbWUsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgZmllbGRQcm9wczogT2JqZWN0LmFzc2lnbih7IHR5cGU6ICdudW1iZXInIH0sIGZpZWxkUHJvcHMpIH0sIG5hbWUpKTtcbiAgICAgICAgICAgIGNhc2UgJ3RleHQnOlxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gX2pzeChQcm9Gb3JtLlRleHQsIHsgbmFtZTogbmFtZSwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCBmaWVsZFByb3BzOiBmaWVsZFByb3BzIH0sIG5hbWUpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHsgZmllbGRzLCBpbml0aWFsVmFsdWVzLCBuYW1lcyB9O1xufVxuLyoqXG4gKiBBcHBseSBwZXItY29sdW1uIGBzZWFyY2gudHJhbnNmb3JtYCB0byBzdWJtaXR0ZWQgdmFsdWVzLCByZXBsYWNpbmcgdGhlIG9yaWdpbmFsXG4gKiBmaWVsZCBuYW1lIHdpdGggdGhlIG1hcHBlZCBwYXJhbXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVNlYXJjaFRyYW5zZm9ybXModmFsdWVzLCBjb2x1bW5zKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsdWVzKTtcbiAgICBjb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGNvbHVtbi5zZWFyY2ggPT09ICdvYmplY3QnICYmIGNvbHVtbi5zZWFyY2gudHJhbnNmb3JtKSB7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gZ2V0Q29sdW1uU2VhcmNoTmFtZShjb2x1bW4pO1xuICAgICAgICAgICAgaWYgKG5hbWUgJiYgbmFtZSBpbiByZXN1bHQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXBwZWQgPSBjb2x1bW4uc2VhcmNoLnRyYW5zZm9ybShyZXN1bHRbbmFtZV0pO1xuICAgICAgICAgICAgICAgIGRlbGV0ZSByZXN1bHRbbmFtZV07XG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihyZXN1bHQsIG1hcHBlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xufSIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -0,0 +1,17 @@
1
+ export interface AwaitableReload {
2
+ /** Include in the fetch effect deps; a change forces the effect to re-run. */
3
+ token: number;
4
+ /** Force a refetch; resolves once `settle()` runs after the triggered fetch completes. */
5
+ request: () => Promise<void>;
6
+ /** Resolve every pending `request()` promise. Call when the triggered fetch settles. */
7
+ settle: () => void;
8
+ }
9
+ /**
10
+ * Bridges imperative, awaitable reloads onto a reactive (effect-driven) fetch.
11
+ *
12
+ * `request()` bumps `token` (which the consuming effect depends on) and returns a
13
+ * promise; the effect calls `settle()` once the fetch it triggered finishes,
14
+ * resolving that promise. This keeps a single, fresh-closure fetch path while
15
+ * still letting callers `await` a reload — no stale refs, no duplicate fetches.
16
+ */
17
+ export declare function useAwaitableReload(): AwaitableReload;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useAwaitableReload = useAwaitableReload;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = require("react");
10
+ var _hooks = require("@1money/hooks");
11
+ /**
12
+ * Bridges imperative, awaitable reloads onto a reactive (effect-driven) fetch.
13
+ *
14
+ * `request()` bumps `token` (which the consuming effect depends on) and returns a
15
+ * promise; the effect calls `settle()` once the fetch it triggered finishes,
16
+ * resolving that promise. This keeps a single, fresh-closure fetch path while
17
+ * still letting callers `await` a reload — no stale refs, no duplicate fetches.
18
+ */
19
+ function useAwaitableReload() {
20
+ var _useSafeState = (0, _hooks.useSafeState)(0),
21
+ _useSafeState2 = (0, _slicedToArray2["default"])(_useSafeState, 2),
22
+ token = _useSafeState2[0],
23
+ setToken = _useSafeState2[1];
24
+ var resolversRef = (0, _react.useRef)([]);
25
+ var request = (0, _hooks.useMemoizedFn)(function () {
26
+ return new Promise(function (resolve) {
27
+ resolversRef.current.push(resolve);
28
+ setToken(function (value) {
29
+ return value + 1;
30
+ });
31
+ });
32
+ });
33
+ var settle = (0, _hooks.useMemoizedFn)(function () {
34
+ var resolvers = resolversRef.current;
35
+ resolversRef.current = [];
36
+ resolvers.forEach(function (resolve) {
37
+ return resolve();
38
+ });
39
+ });
40
+ return {
41
+ token: token,
42
+ request: request,
43
+ settle: settle
44
+ };
45
+ }
46
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvVGFibGUvc3JjL2NvbXBvbmVudHMvUHJvVGFibGUvY29yZS91c2VBd2FpdGFibGVSZWxvYWQudHMiLCJjb21wb25lbnRzL1Byb1RhYmxlL2NvcmUvdXNlQXdhaXRhYmxlUmVsb2FkLmpzIl0sIm5hbWVzIjpbIl9yZWFjdCIsInJlcXVpcmUiLCJfaG9va3MiLCJ1c2VBd2FpdGFibGVSZWxvYWQiLCJfdXNlU2FmZVN0YXRlIiwidXNlU2FmZVN0YXRlIiwiX3VzZVNhZmVTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJ0b2tlbiIsInNldFRva2VuIiwicmVzb2x2ZXJzUmVmIiwidXNlUmVmIiwicmVxdWVzdCIsInVzZU1lbW9pemVkRm4iLCJQcm9taXNlIiwicmVzb2x2ZSIsImN1cnJlbnQiLCJwdXNoIiwidmFsdWUiLCJzZXR0bGUiLCJyZXNvbHZlcnMiLCJmb3JFYWNoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQVdBO0FDVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QURXTSxTQUFVRSxrQkFBa0JBLENBQUEsRUFBQTtFQUNoQyxJQUFBQyxhQUFBLEdBQTBCLElBQUFDLG1CQUFZLEVBQUMsQ0FBQyxDQUFDO0lBQUFDLGNBQUEsT0FBQUMsZUFBQSxhQUFBSCxhQUFBO0lBQWxDSSxLQUFLLEdBQUFGLGNBQUE7SUFBRUcsUUFBUSxHQUFBSCxjQUFBO0VBQ3RCLElBQU1JLFlBQVksR0FBRyxJQUFBQyxhQUFNLEVBQW9CLEVBQUUsQ0FBQztFQUVsRCxJQUFNQyxPQUFPLEdBQUcsSUFBQUMsb0JBQWEsRUFDM0I7SUFBQSxPQUNFLElBQUlDLE9BQU8sQ0FBTyxVQUFDQyxPQUFPLEVBQUk7TUFDNUJMLFlBQVksQ0FBQ00sT0FBTyxDQUFDQyxJQUFJLENBQUNGLE9BQU8sQ0FBQztNQUNsQ04sUUFBUSxDQUFDLFVBQUNTLEtBQUs7UUFBQSxPQUFLQSxLQUFLLEdBQUcsQ0FBQztNQUFBLEVBQUM7SUFDaEMsQ0FBQyxDQUFDO0VBQUEsRUFDTDtFQUVELElBQU1DLE1BQU0sR0FBRyxJQUFBTixvQkFBYSxFQUFDLFlBQUs7SUFDaEMsSUFBTU8sU0FBUyxHQUFHVixZQUFZLENBQUNNLE9BQU87SUFDdENOLFlBQVksQ0FBQ00sT0FBTyxHQUFHLEVBQUU7SUFDekJJLFNBQVMsQ0FBQ0MsT0FBTyxDQUFDLFVBQUNOLE9BQU87TUFBQSxPQUFLQSxPQUFPLENBQUEsQ0FBRTtJQUFBLEVBQUM7RUFDM0MsQ0FBQyxDQUFDO0VBRUYsT0FBTztJQUFFUCxLQUFLLEVBQUxBLEtBQUs7SUFBRUksT0FBTyxFQUFQQSxPQUFPO0lBQUVPLE1BQU0sRUFBTkE7RUFBTSxDQUFFO0FBQ25DIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvVGFibGUvY29yZS91c2VBd2FpdGFibGVSZWxvYWQuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZU1lbW9pemVkRm4sIHVzZVNhZmVTdGF0ZSB9IGZyb20gJ0AxbW9uZXkvaG9va3MnO1xuLyoqXG4gKiBCcmlkZ2VzIGltcGVyYXRpdmUsIGF3YWl0YWJsZSByZWxvYWRzIG9udG8gYSByZWFjdGl2ZSAoZWZmZWN0LWRyaXZlbikgZmV0Y2guXG4gKlxuICogYHJlcXVlc3QoKWAgYnVtcHMgYHRva2VuYCAod2hpY2ggdGhlIGNvbnN1bWluZyBlZmZlY3QgZGVwZW5kcyBvbikgYW5kIHJldHVybnMgYVxuICogcHJvbWlzZTsgdGhlIGVmZmVjdCBjYWxscyBgc2V0dGxlKClgIG9uY2UgdGhlIGZldGNoIGl0IHRyaWdnZXJlZCBmaW5pc2hlcyxcbiAqIHJlc29sdmluZyB0aGF0IHByb21pc2UuIFRoaXMga2VlcHMgYSBzaW5nbGUsIGZyZXNoLWNsb3N1cmUgZmV0Y2ggcGF0aCB3aGlsZVxuICogc3RpbGwgbGV0dGluZyBjYWxsZXJzIGBhd2FpdGAgYSByZWxvYWQg4oCUIG5vIHN0YWxlIHJlZnMsIG5vIGR1cGxpY2F0ZSBmZXRjaGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQXdhaXRhYmxlUmVsb2FkKCkge1xuICAgIGNvbnN0IFt0b2tlbiwgc2V0VG9rZW5dID0gdXNlU2FmZVN0YXRlKDApO1xuICAgIGNvbnN0IHJlc29sdmVyc1JlZiA9IHVzZVJlZihbXSk7XG4gICAgY29uc3QgcmVxdWVzdCA9IHVzZU1lbW9pemVkRm4oKCkgPT4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgcmVzb2x2ZXJzUmVmLmN1cnJlbnQucHVzaChyZXNvbHZlKTtcbiAgICAgICAgc2V0VG9rZW4oKHZhbHVlKSA9PiB2YWx1ZSArIDEpO1xuICAgIH0pKTtcbiAgICBjb25zdCBzZXR0bGUgPSB1c2VNZW1vaXplZEZuKCgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzb2x2ZXJzID0gcmVzb2x2ZXJzUmVmLmN1cnJlbnQ7XG4gICAgICAgIHJlc29sdmVyc1JlZi5jdXJyZW50ID0gW107XG4gICAgICAgIHJlc29sdmVycy5mb3JFYWNoKChyZXNvbHZlKSA9PiByZXNvbHZlKCkpO1xuICAgIH0pO1xuICAgIHJldHVybiB7IHRva2VuLCByZXF1ZXN0LCBzZXR0bGUgfTtcbn0iXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1,12 @@
1
+ import type { TableRecord } from "../../Table";
2
+ import type { ProColumns } from '../interface';
3
+ /**
4
+ * Stable string key for a Pro column. Prefers an explicit `key`, then a string
5
+ * `dataIndex`, then an array `dataIndex` joined by `.`, falling back to the index.
6
+ */
7
+ export declare function getColumnKey<T extends TableRecord>(column: ProColumns<T>, index: number): string;
8
+ /**
9
+ * Name used for the generated search field / request param. Only a flat string
10
+ * key (`key` or string `dataIndex`) can be auto-mapped; otherwise returns null.
11
+ */
12
+ export declare function getColumnSearchName<T extends TableRecord>(column: ProColumns<T>): string | null;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getColumnKey = getColumnKey;
7
+ exports.getColumnSearchName = getColumnSearchName;
8
+ /**
9
+ * Stable string key for a Pro column. Prefers an explicit `key`, then a string
10
+ * `dataIndex`, then an array `dataIndex` joined by `.`, falling back to the index.
11
+ */
12
+ function getColumnKey(column, index) {
13
+ if (column.key !== undefined && column.key !== null) return String(column.key);
14
+ var dataIndex = column.dataIndex;
15
+ if (typeof dataIndex === 'string' || typeof dataIndex === 'number') return String(dataIndex);
16
+ if (Array.isArray(dataIndex)) return dataIndex.join('.');
17
+ return "col-".concat(index);
18
+ }
19
+ /**
20
+ * Name used for the generated search field / request param. Only a flat string
21
+ * key (`key` or string `dataIndex`) can be auto-mapped; otherwise returns null.
22
+ */
23
+ function getColumnSearchName(column) {
24
+ if (column.key !== undefined && column.key !== null) return String(column.key);
25
+ if (typeof column.dataIndex === 'string') return column.dataIndex;
26
+ return null;
27
+ }
28
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvVGFibGUvc3JjL2NvbXBvbmVudHMvUHJvVGFibGUvY29yZS91dGlscy50cyIsImNvbXBvbmVudHMvUHJvVGFibGUvY29yZS91dGlscy5qcyJdLCJuYW1lcyI6WyJnZXRDb2x1bW5LZXkiLCJjb2x1bW4iLCJpbmRleCIsImtleSIsInVuZGVmaW5lZCIsIlN0cmluZyIsImRhdGFJbmRleCIsIkFycmF5IiwiaXNBcnJheSIsImpvaW4iLCJjb25jYXQiLCJnZXRDb2x1bW5TZWFyY2hOYW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7QUNGQTtBQUNBO0FBQ0E7QURJTSxTQUFVQSxZQUFZQSxDQUF3QkMsTUFBcUIsRUFBRUMsS0FBYSxFQUFBO0VBQ3RGLElBQUlELE1BQU0sQ0FBQ0UsR0FBRyxLQUFLQyxTQUFTLElBQUlILE1BQU0sQ0FBQ0UsR0FBRyxLQUFLLElBQUksRUFBRSxPQUFPRSxNQUFNLENBQUNKLE1BQU0sQ0FBQ0UsR0FBRyxDQUFDO0VBQzlFLElBQVFHLFNBQVMsR0FBS0wsTUFBTSxDQUFwQkssU0FBUztFQUNqQixJQUFJLE9BQU9BLFNBQVMsS0FBSyxRQUFRLElBQUksT0FBT0EsU0FBUyxLQUFLLFFBQVEsRUFBRSxPQUFPRCxNQUFNLENBQUNDLFNBQVMsQ0FBQztFQUM1RixJQUFJQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0YsU0FBUyxDQUFDLEVBQUUsT0FBT0EsU0FBUyxDQUFDRyxJQUFJLENBQUMsR0FBRyxDQUFDO0VBQ3hELGNBQUFDLE1BQUEsQ0FBY1IsS0FBSztBQUNyQjtBQUVBO0FDQUE7QUFDQTtBQUNBO0FERU0sU0FBVVMsbUJBQW1CQSxDQUF3QlYsTUFBcUIsRUFBQTtFQUM5RSxJQUFJQSxNQUFNLENBQUNFLEdBQUcsS0FBS0MsU0FBUyxJQUFJSCxNQUFNLENBQUNFLEdBQUcsS0FBSyxJQUFJLEVBQUUsT0FBT0UsTUFBTSxDQUFDSixNQUFNLENBQUNFLEdBQUcsQ0FBQztFQUM5RSxJQUFJLE9BQU9GLE1BQU0sQ0FBQ0ssU0FBUyxLQUFLLFFBQVEsRUFBRSxPQUFPTCxNQUFNLENBQUNLLFNBQVM7RUFDakUsT0FBTyxJQUFJO0FBQ2IiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9UYWJsZS9jb3JlL3V0aWxzLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCIvKipcbiAqIFN0YWJsZSBzdHJpbmcga2V5IGZvciBhIFBybyBjb2x1bW4uIFByZWZlcnMgYW4gZXhwbGljaXQgYGtleWAsIHRoZW4gYSBzdHJpbmdcbiAqIGBkYXRhSW5kZXhgLCB0aGVuIGFuIGFycmF5IGBkYXRhSW5kZXhgIGpvaW5lZCBieSBgLmAsIGZhbGxpbmcgYmFjayB0byB0aGUgaW5kZXguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb2x1bW5LZXkoY29sdW1uLCBpbmRleCkge1xuICAgIGlmIChjb2x1bW4ua2V5ICE9PSB1bmRlZmluZWQgJiYgY29sdW1uLmtleSAhPT0gbnVsbClcbiAgICAgICAgcmV0dXJuIFN0cmluZyhjb2x1bW4ua2V5KTtcbiAgICBjb25zdCB7IGRhdGFJbmRleCB9ID0gY29sdW1uO1xuICAgIGlmICh0eXBlb2YgZGF0YUluZGV4ID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgZGF0YUluZGV4ID09PSAnbnVtYmVyJylcbiAgICAgICAgcmV0dXJuIFN0cmluZyhkYXRhSW5kZXgpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGFJbmRleCkpXG4gICAgICAgIHJldHVybiBkYXRhSW5kZXguam9pbignLicpO1xuICAgIHJldHVybiBgY29sLSR7aW5kZXh9YDtcbn1cbi8qKlxuICogTmFtZSB1c2VkIGZvciB0aGUgZ2VuZXJhdGVkIHNlYXJjaCBmaWVsZCAvIHJlcXVlc3QgcGFyYW0uIE9ubHkgYSBmbGF0IHN0cmluZ1xuICoga2V5IChga2V5YCBvciBzdHJpbmcgYGRhdGFJbmRleGApIGNhbiBiZSBhdXRvLW1hcHBlZDsgb3RoZXJ3aXNlIHJldHVybnMgbnVsbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvbHVtblNlYXJjaE5hbWUoY29sdW1uKSB7XG4gICAgaWYgKGNvbHVtbi5rZXkgIT09IHVuZGVmaW5lZCAmJiBjb2x1bW4ua2V5ICE9PSBudWxsKVxuICAgICAgICByZXR1cm4gU3RyaW5nKGNvbHVtbi5rZXkpO1xuICAgIGlmICh0eXBlb2YgY29sdW1uLmRhdGFJbmRleCA9PT0gJ3N0cmluZycpXG4gICAgICAgIHJldHVybiBjb2x1bW4uZGF0YUluZGV4O1xuICAgIHJldHVybiBudWxsO1xufSJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -0,0 +1,4 @@
1
+ import ProTable from './ProTable';
2
+ export { ProTable } from './ProTable';
3
+ export default ProTable;
4
+ export * from './interface';
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ var _exportNames = {
8
+ ProTable: true
9
+ };
10
+ Object.defineProperty(exports, "ProTable", {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _ProTable.ProTable;
14
+ }
15
+ });
16
+ exports["default"] = void 0;
17
+ var _ProTable = _interopRequireWildcard(require("./ProTable"));
18
+ var _interface = require("./interface");
19
+ Object.keys(_interface).forEach(function (key) {
20
+ if (key === "default" || key === "__esModule") return;
21
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
22
+ if (key in exports && exports[key] === _interface[key]) return;
23
+ Object.defineProperty(exports, key, {
24
+ enumerable: true,
25
+ get: function get() {
26
+ return _interface[key];
27
+ }
28
+ });
29
+ });
30
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
31
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
32
+ var _default = exports["default"] = _ProTable["default"];
33
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvVGFibGUvaW5kZXgudHMiXSwibmFtZXMiOlsiX1Byb1RhYmxlIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX2ludGVyZmFjZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiX2V4cG9ydE5hbWVzIiwiZXhwb3J0cyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsIm4iLCJfX3Byb3RvX18iLCJhIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImkiLCJzZXQiLCJfZGVmYXVsdCIsIlByb1RhYmxlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsU0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBTUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBQUFFLE1BQUEsQ0FBQUMsSUFBQSxDQUFBRixVQUFBLEVBQUFHLE9BQUEsV0FBQUMsR0FBQTtFQUFBLElBQUFBLEdBQUEsa0JBQUFBLEdBQUE7RUFBQSxJQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFDLFlBQUEsRUFBQUosR0FBQTtFQUFBLElBQUFBLEdBQUEsSUFBQUssT0FBQSxJQUFBQSxPQUFBLENBQUFMLEdBQUEsTUFBQUosVUFBQSxDQUFBSSxHQUFBO0VBQUFILE1BQUEsQ0FBQVMsY0FBQSxDQUFBRCxPQUFBLEVBQUFMLEdBQUE7SUFBQU8sVUFBQTtJQUFBQyxHQUFBLFdBQUFBLElBQUE7TUFBQSxPQUFBWixVQUFBLENBQUFJLEdBQUE7SUFBQTtFQUFBO0FBQUE7QUFBNEIsU0FBQVMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFoQix3QkFBQWdCLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUwsR0FBQSxDQUFBRSxDQUFBLE9BQUFPLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUF0QixNQUFBLENBQUFTLGNBQUEsSUFBQVQsTUFBQSxDQUFBdUIsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBWCxDQUFBLG9CQUFBVyxDQUFBLE9BQUFuQixjQUFBLENBQUFDLElBQUEsQ0FBQU8sQ0FBQSxFQUFBVyxDQUFBLFNBQUFDLENBQUEsR0FBQUgsQ0FBQSxHQUFBdEIsTUFBQSxDQUFBdUIsd0JBQUEsQ0FBQVYsQ0FBQSxFQUFBVyxDQUFBLFVBQUFDLENBQUEsS0FBQUEsQ0FBQSxDQUFBZCxHQUFBLElBQUFjLENBQUEsQ0FBQUMsR0FBQSxJQUFBMUIsTUFBQSxDQUFBUyxjQUFBLENBQUFXLENBQUEsRUFBQUksQ0FBQSxFQUFBQyxDQUFBLElBQUFMLENBQUEsQ0FBQUksQ0FBQSxJQUFBWCxDQUFBLENBQUFXLENBQUEsWUFBQUosQ0FBQSxjQUFBUCxDQUFBLEVBQUFHLENBQUEsSUFBQUEsQ0FBQSxDQUFBVSxHQUFBLENBQUFiLENBQUEsRUFBQU8sQ0FBQSxHQUFBQSxDQUFBO0FBQUEsSUFBQU8sUUFBQSxHQUFBbkIsT0FBQSxjQUZib0Isb0JBQVEiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9UYWJsZS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -0,0 +1,132 @@
1
+ import type { ReactNode, Ref } from 'react';
2
+ import type { TableChangeMeta, TableColumn, TableProps, TableRecord, TableRowSelection, TableSize, TableSortOrder } from "../Table";
3
+ import type { ProFormValueEnumObj } from "../ProForm";
4
+ import type { ProTableValueType } from './constants';
5
+ export type { ProTableValueType } from './constants';
6
+ export interface PageInfo {
7
+ current: number;
8
+ pageSize: number;
9
+ total: number;
10
+ }
11
+ /** Shape returned by the `request` prop. */
12
+ export interface RequestData<T> {
13
+ data: T[];
14
+ /** Total record count for server-side pagination. Defaults to `data.length`. */
15
+ total?: number;
16
+ /** `false` marks a soft failure — data is left untouched, no error thrown. */
17
+ success?: boolean;
18
+ }
19
+ export interface ProTablePaginationConfig {
20
+ pageSize?: number;
21
+ current?: number;
22
+ defaultCurrent?: number;
23
+ defaultPageSize?: number;
24
+ }
25
+ /** Sort params handed to `request` — `{ [columnKey]: 'ascend' | 'descend' }`. */
26
+ export type ProTableSortParam = Record<string, Exclude<TableSortOrder, null>>;
27
+ /** Filter params handed to `request`, keyed by column key. */
28
+ export type ProTableFilterParam = Record<string, (string | number | boolean)[] | null>;
29
+ /** Remap a single search-field value into one or more request params. */
30
+ export type SearchTransform = (value: unknown) => Record<string, unknown>;
31
+ /** Extra options passed to `request` — notably an `AbortSignal` for cancellation. */
32
+ export interface ProTableRequestOptions {
33
+ signal?: AbortSignal;
34
+ }
35
+ /** The `request` contract. The 4th `options` arg carries an `AbortSignal`. */
36
+ export type ProTableRequest<T, Params extends Record<string, unknown> = Record<string, unknown>> = (params: Params & {
37
+ current?: number;
38
+ pageSize?: number;
39
+ }, sort: ProTableSortParam, filter: ProTableFilterParam, options?: ProTableRequestOptions) => Promise<RequestData<T>>;
40
+ export interface ProColumnType<T extends TableRecord = TableRecord> extends TableColumn<T> {
41
+ /** Drives the default cell render and the auto-generated search-field type. */
42
+ valueType?: ProTableValueType;
43
+ /** Enum for `select` value type — used for both cell text and field options. */
44
+ valueEnum?: ProFormValueEnumObj;
45
+ /**
46
+ * Include this column in the search form. `false` hides it. Object form lets you
47
+ * remap the submitted value into request params (e.g. a range → `{ start, end }`).
48
+ */
49
+ search?: boolean | {
50
+ transform: SearchTransform;
51
+ };
52
+ /** Omit the column from the rendered table. */
53
+ hideInTable?: boolean;
54
+ /** Omit the column from the search form (alias of `search: false`). */
55
+ hideInSearch?: boolean;
56
+ /** Provide a custom search field — overrides `valueType`. */
57
+ renderFormItem?: () => ReactNode;
58
+ /** Extra props forwarded to the generated search field. */
59
+ fieldProps?: Record<string, unknown>;
60
+ /** Default value for the generated search field. */
61
+ initialValue?: unknown;
62
+ /** Sort order of the field within the search form (ascending). */
63
+ order?: number;
64
+ }
65
+ export type ProColumns<T extends TableRecord = TableRecord> = ProColumnType<T>;
66
+ export type SyncToUrl = boolean | ((values: Record<string, unknown>, type: 'get' | 'set') => Record<string, unknown>);
67
+ export interface SearchConfig {
68
+ defaultCollapsed?: boolean;
69
+ labelWidth?: number | 'auto';
70
+ /** Visible fields before the form collapses. */
71
+ defaultColsNumber?: number;
72
+ searchText?: string;
73
+ resetText?: string;
74
+ /**
75
+ * Sync the search values to the URL query string. `true` mirrors values 1:1;
76
+ * a function maps between form values and URL params (`type` is `'get'` on read,
77
+ * `'set'` on write). Restored URL values also seed the first request.
78
+ */
79
+ syncToUrl?: SyncToUrl;
80
+ }
81
+ export interface ProTableActionRef {
82
+ /** Refetch the current page. */
83
+ reload: () => Promise<void>;
84
+ /** Reset to page 1, then refetch. */
85
+ reloadAndRest: () => Promise<void>;
86
+ /** Reset the search form and pagination to their defaults. */
87
+ reset: () => void;
88
+ setPageInfo: (info: Partial<PageInfo>) => void;
89
+ }
90
+ export interface ProTableProps<T extends TableRecord = TableRecord, Params extends Record<string, unknown> = Record<string, unknown>> extends Pick<TableProps<T>, 'rowKey' | 'rowSelection' | 'variant' | 'bordered' | 'scroll' | 'sticky' | 'expandable' | 'empty' | 'tableLayout' | 'rowClassName' | 'onRow' | 'size' | 'summary' | 'footer'> {
91
+ prefixCls?: string;
92
+ className?: string;
93
+ /**
94
+ * Column definitions. Keep this array referentially stable (module-level or
95
+ * `useMemo`) — a new array each render re-derives the columns and search form.
96
+ */
97
+ columns: ProColumns<T>[];
98
+ /** Server data source. Mutually exclusive with `dataSource`. */
99
+ request?: ProTableRequest<T, Params>;
100
+ /** Extra params merged into every request; a change triggers a refetch (resets to page 1). */
101
+ params?: Params;
102
+ /** Controlled data — when provided, `request` is ignored (presentational mode). */
103
+ dataSource?: T[];
104
+ /** Controlled loading — overrides the internal request loading. */
105
+ loading?: boolean;
106
+ /** Initial data before the first request resolves. */
107
+ defaultData?: T[];
108
+ /** Skip the initial auto request; only fetch after the first search / `reload`. */
109
+ manualRequest?: boolean;
110
+ /** Debounce (ms) applied to every request trigger. */
111
+ debounceTime?: number;
112
+ /** Transform the response rows before they are rendered. */
113
+ postData?: (data: T[]) => T[];
114
+ /** Transform the whole search-param set before it is sent to `request`. */
115
+ beforeSearchSubmit?: (params: Record<string, unknown>) => Record<string, unknown>;
116
+ /** Placeholder rendered for empty cell values (defaults to `'-'`). */
117
+ columnEmptyText?: ReactNode;
118
+ /** Poll interval (ms), or a function of the current rows. `0`/falsy disables. */
119
+ polling?: number | ((data: T[]) => number);
120
+ /** Customize the rendered search form; receives the default QueryFilter node. */
121
+ searchFormRender?: (defaultDom: ReactNode) => ReactNode;
122
+ pagination?: false | ProTablePaginationConfig;
123
+ search?: false | SearchConfig;
124
+ rowSelection?: TableRowSelection<T>;
125
+ size?: TableSize;
126
+ actionRef?: Ref<ProTableActionRef>;
127
+ onLoad?: (data: T[]) => void;
128
+ onLoadingChange?: (loading: boolean) => void;
129
+ onRequestError?: (error: Error) => void;
130
+ /** Forwarded from the base Table (sort/filter changes). */
131
+ onChange?: (meta: TableChangeMeta<T>) => void;
132
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9UYWJsZS9pbnRlcmZhY2UuanMiLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMiLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvVGFibGUvaW50ZXJmYWNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTsiXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Retrieves the spacing value for a given token key.
3
+ *
4
+ * @param {string} $key - The spacing token key (e.g., '100', '200').
5
+ * @return {length|null} The computed spacing value or null if the key is invalid.
6
+ * @example
7
+ * .element {
8
+ * padding: om-spacing-token('200'); // Returns 8px if $om-sys-spacing-unit is 4px
9
+ * }
10
+ */
11
+ /**
12
+ * Computes the spacing value based on a token key or a direct length value.
13
+ *
14
+ * @param {string|length} $value - The spacing token key (e.g., '100') or a direct length value (e.g., '16px').
15
+ * @return {length} The computed spacing value.
16
+ * @example
17
+ * .element {
18
+ * margin: om-spacing-value('300'); // Returns 12px if $om-sys-spacing-unit is 4px
19
+ * padding: om-spacing-value(16px); // Returns 16px
20
+ * gap: om-spacing-value(2); // Returns 8px if $om-sys-spacing-unit is 4px
21
+ * }
22
+ */
23
+ .om-component-ui-pro-table {
24
+ box-sizing: border-box;
25
+ width: 100%;
26
+ }
27
+ .om-component-ui-pro-table-search {
28
+ margin-bottom: var(--om-spacing-400, 16px);
29
+ }
30
+ .om-component-ui-pro-table-search .om-component-ui-proform-query-filter {
31
+ display: flex;
32
+ flex-wrap: wrap;
33
+ align-items: center;
34
+ gap: var(--om-spacing-200, 8px);
35
+ }
36
+ .om-component-ui-pro-table-search .om-component-ui-form-item {
37
+ margin-bottom: 0;
38
+ }
39
+ .om-component-ui-pro-table-container {
40
+ position: relative;
41
+ box-sizing: border-box;
42
+ }
43
+ .om-component-ui-pro-table-pagination {
44
+ display: flex;
45
+ justify-content: flex-end;
46
+ padding-block: var(--om-spacing-300, 12px);
47
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ require("../../Button/style/css");
4
+ require("../../Pagination/style/css");
5
+ require("../../ProForm/style/css");
6
+ require("../../Table/style/css");
7
+ require("./ProTable.css");
8
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvVGFibGUvc3JjL2NvbXBvbmVudHMvUHJvVGFibGUvc3R5bGUvaW5kZXgudHMiXSwibmFtZXMiOlsicmVxdWlyZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBQTtBQUNBQSxPQUFBO0FBQ0FBLE9BQUE7QUFDQUEsT0FBQTtBQUNBQSxPQUFBIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvVGFibGUvc3R5bGUvY3NzLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1,5 @@
1
+ import "../../Button/style";
2
+ import "../../Pagination/style";
3
+ import "../../ProForm/style";
4
+ import "../../Table/style";
5
+ import './ProTable.css';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ require("../../Button/style");
4
+ require("../../Pagination/style");
5
+ require("../../ProForm/style");
6
+ require("../../Table/style");
7
+ require("./ProTable.css");
8
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvVGFibGUvc3JjL2NvbXBvbmVudHMvUHJvVGFibGUvc3R5bGUvaW5kZXgudHMiXSwibmFtZXMiOlsicmVxdWlyZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBQTtBQUNBQSxPQUFBO0FBQ0FBLE9BQUE7QUFDQUEsT0FBQTtBQUNBQSxPQUFBIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvVGFibGUvc3R5bGUvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -0,0 +1,48 @@
1
+ import type { PageInfo, ProTableFilterParam, ProTableRequest, ProTableSortParam } from './interface';
2
+ export interface UseFetchDataOptions<T, Params extends Record<string, unknown>> {
3
+ request?: ProTableRequest<T, Params>;
4
+ /** Skip all internal fetching (controlled `dataSource` mode). */
5
+ manual: boolean;
6
+ /** Skip only the initial auto request; later triggers still fetch. */
7
+ manualRequest?: boolean;
8
+ /** Debounce (ms) applied to every request trigger. */
9
+ debounceTime?: number;
10
+ /** Transform the response rows before they are stored. */
11
+ postData?: (data: T[]) => T[];
12
+ /** Poll interval (ms), or a function of the current rows. */
13
+ polling?: number | ((data: T[]) => number);
14
+ params?: Params;
15
+ defaultData?: T[];
16
+ paginated: boolean;
17
+ defaultCurrent: number;
18
+ defaultPageSize: number;
19
+ /** Submitted (and transformed) search-form values. */
20
+ searchParams: Record<string, unknown>;
21
+ sort: ProTableSortParam;
22
+ filter: ProTableFilterParam;
23
+ onLoad?: (data: T[]) => void;
24
+ onLoadingChange?: (loading: boolean) => void;
25
+ onRequestError?: (error: Error) => void;
26
+ }
27
+ export interface UseFetchDataResult<T> {
28
+ dataSource: T[];
29
+ loading: boolean;
30
+ pageInfo: PageInfo;
31
+ setPageInfo: (info: Partial<PageInfo>) => void;
32
+ /** Force a refetch; resolves once the triggered request settles. */
33
+ reload: () => Promise<void>;
34
+ reset: () => void;
35
+ }
36
+ /**
37
+ * Owns the request lifecycle for ProTable: data, loading, and pagination.
38
+ *
39
+ * One effect is the single fetch path. It reads its query inputs from the
40
+ * **render closure** (never a lagging ref), so every state change — search,
41
+ * sort, filter, params, page — refetches with correct values. An awaitable
42
+ * reload signal lets imperative callers force the same effect and `await` it.
43
+ *
44
+ * `runRequest` aborts the previous in-flight request (`AbortController`, exposed
45
+ * to `request` as `{ signal }`), tags itself with a request id, and drops stale
46
+ * or aborted responses.
47
+ */
48
+ export declare function useFetchData<T, Params extends Record<string, unknown>>(options: UseFetchDataOptions<T, Params>): UseFetchDataResult<T>;