@nokecy/qc-ui 1.0.81 → 1.0.83

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 (85) hide show
  1. package/dist/cjs/ag-grid-plus/_utils/processColumnGroups.d.ts +9 -0
  2. package/dist/cjs/ag-grid-plus/_utils/processColumnGroups.js +43 -0
  3. package/dist/cjs/ag-grid-plus/ag-gridPlus.js +245 -130
  4. package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +131 -79
  5. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.d.ts +1 -1
  6. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.js +1 -1
  7. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.js +60 -14
  8. package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.js +12 -26
  9. package/dist/cjs/ag-grid-plus/schemes/types.d.ts +8 -5
  10. package/dist/cjs/ag-grid-plus/schemes/utils/validator.js +14 -18
  11. package/dist/cjs/ag-grid-plus/setting/ColumnConfigForm.d.ts +16 -0
  12. package/dist/cjs/ag-grid-plus/setting/ColumnConfigForm.js +348 -0
  13. package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.d.ts +20 -0
  14. package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.js +940 -0
  15. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.d.ts +1 -1
  16. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +210 -250
  17. package/dist/cjs/ag-grid-plus/setting/MoveNodeModal.d.ts +15 -0
  18. package/dist/cjs/ag-grid-plus/setting/MoveNodeModal.js +160 -0
  19. package/dist/cjs/ag-grid-plus/setting/NameColumnRenderer.d.ts +18 -0
  20. package/dist/cjs/ag-grid-plus/setting/NameColumnRenderer.js +94 -0
  21. package/dist/cjs/ag-grid-plus/setting/columnGroupTypes.d.ts +59 -0
  22. package/dist/cjs/ag-grid-plus/setting/columnGroupTypes.js +5 -0
  23. package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.d.ts +75 -0
  24. package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.js +281 -0
  25. package/dist/cjs/ag-grid-plus/setting/index.d.ts +2 -1
  26. package/dist/cjs/ag-grid-plus/setting/index.js +5 -13
  27. package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.d.ts +2 -1
  28. package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.js +11 -8
  29. package/dist/cjs/ag-grid-plus/types.d.ts +2 -0
  30. package/dist/cjs/array-table/index.js +30 -118
  31. package/dist/cjs/draggableModal/index.d.ts +1 -1
  32. package/dist/cjs/draggableModal/index.js +251 -25
  33. package/dist/cjs/draggableModal/style.less +185 -12
  34. package/dist/esm/ag-grid-plus/_utils/processColumnGroups.d.ts +9 -0
  35. package/dist/esm/ag-grid-plus/_utils/processColumnGroups.js +44 -0
  36. package/dist/esm/ag-grid-plus/ag-gridPlus.js +245 -130
  37. package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +131 -79
  38. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.d.ts +1 -1
  39. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.js +1 -1
  40. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.js +60 -14
  41. package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.js +13 -27
  42. package/dist/esm/ag-grid-plus/schemes/types.d.ts +8 -5
  43. package/dist/esm/ag-grid-plus/schemes/utils/validator.js +14 -18
  44. package/dist/esm/ag-grid-plus/setting/ColumnConfigForm.d.ts +16 -0
  45. package/dist/esm/ag-grid-plus/setting/ColumnConfigForm.js +338 -0
  46. package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.d.ts +20 -0
  47. package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.js +932 -0
  48. package/dist/esm/ag-grid-plus/setting/ColumnSetting.d.ts +1 -1
  49. package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +209 -249
  50. package/dist/esm/ag-grid-plus/setting/MoveNodeModal.d.ts +15 -0
  51. package/dist/esm/ag-grid-plus/setting/MoveNodeModal.js +150 -0
  52. package/dist/esm/ag-grid-plus/setting/NameColumnRenderer.d.ts +18 -0
  53. package/dist/esm/ag-grid-plus/setting/NameColumnRenderer.js +87 -0
  54. package/dist/esm/ag-grid-plus/setting/columnGroupTypes.d.ts +59 -0
  55. package/dist/esm/ag-grid-plus/setting/columnGroupTypes.js +1 -0
  56. package/dist/esm/ag-grid-plus/setting/columnGroupUtils.d.ts +75 -0
  57. package/dist/esm/ag-grid-plus/setting/columnGroupUtils.js +265 -0
  58. package/dist/esm/ag-grid-plus/setting/index.d.ts +2 -1
  59. package/dist/esm/ag-grid-plus/setting/index.js +5 -13
  60. package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.d.ts +2 -1
  61. package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.js +11 -8
  62. package/dist/esm/ag-grid-plus/types.d.ts +2 -0
  63. package/dist/esm/array-table/index.js +31 -119
  64. package/dist/esm/draggableModal/index.d.ts +1 -1
  65. package/dist/esm/draggableModal/index.js +252 -27
  66. package/dist/esm/draggableModal/style.less +185 -12
  67. package/dist/umd/qc-ui.min.css +1 -1
  68. package/dist/umd/qc-ui.min.js +1 -1
  69. package/package.json +1 -1
  70. package/dist/cjs/ag-grid-plus/gridManager/index.d.ts +0 -7
  71. package/dist/cjs/ag-grid-plus/gridManager/index.js +0 -40
  72. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.d.ts +0 -7
  73. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.js +0 -32
  74. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.d.ts +0 -7
  75. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.js +0 -32
  76. package/dist/cjs/ag-grid-plus/setting/diySetting/index.d.ts +0 -10
  77. package/dist/cjs/ag-grid-plus/setting/diySetting/index.js +0 -268
  78. package/dist/esm/ag-grid-plus/gridManager/index.d.ts +0 -7
  79. package/dist/esm/ag-grid-plus/gridManager/index.js +0 -35
  80. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.d.ts +0 -7
  81. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.js +0 -27
  82. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.d.ts +0 -7
  83. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.js +0 -27
  84. package/dist/esm/ag-grid-plus/setting/diySetting/index.d.ts +0 -10
  85. package/dist/esm/ag-grid-plus/setting/diySetting/index.js +0 -259
@@ -10,10 +10,13 @@ var _antd = require("antd");
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _reactDraggable = _interopRequireDefault(require("react-draggable"));
12
12
  require("./style.less");
13
+ var _excluded = ["wrapClassName", "width"];
13
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
15
  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); }
15
16
  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 && Object.prototype.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; }
16
17
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
18
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
19
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
17
20
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
18
21
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
22
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -21,9 +24,9 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
21
24
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
22
25
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
23
26
  /**
24
- * 可拖拽Modal
25
- * @param props
26
- * @returns
27
+ * 可拖拽Modal - 支持拖拽、全屏切换和缩放
28
+ * @param props
29
+ * @returns
27
30
  */
28
31
  var DraggableModal = function DraggableModal(props) {
29
32
  var _useState = (0, _react.useState)(true),
@@ -44,6 +47,39 @@ var DraggableModal = function DraggableModal(props) {
44
47
  _useState6 = _slicedToArray(_useState5, 2),
45
48
  fullScreen = _useState6[0],
46
49
  setFullScreen = _useState6[1];
50
+ var _useState7 = (0, _react.useState)('normal'),
51
+ _useState8 = _slicedToArray(_useState7, 2),
52
+ zoom = _useState8[0],
53
+ setZoom = _useState8[1];
54
+
55
+ // 调整大小相关状态
56
+ var _useState9 = (0, _react.useState)(false),
57
+ _useState10 = _slicedToArray(_useState9, 2),
58
+ isResizing = _useState10[0],
59
+ setIsResizing = _useState10[1];
60
+ var _useState11 = (0, _react.useState)(''),
61
+ _useState12 = _slicedToArray(_useState11, 2),
62
+ resizeDirection = _useState12[0],
63
+ setResizeDirection = _useState12[1];
64
+ var _useState13 = (0, _react.useState)({
65
+ width: 0,
66
+ height: 0
67
+ }),
68
+ _useState14 = _slicedToArray(_useState13, 2),
69
+ modalSize = _useState14[0],
70
+ setModalSize = _useState14[1];
71
+ var _useState15 = (0, _react.useState)({
72
+ x: 0,
73
+ y: 0
74
+ }),
75
+ _useState16 = _slicedToArray(_useState15, 2),
76
+ modalPosition = _useState16[0],
77
+ setModalPosition = _useState16[1];
78
+
79
+ // 解构 props,分离出 wrapClassName
80
+ var propsWrapClassName = props.wrapClassName,
81
+ width = props.width,
82
+ restProps = _objectWithoutProperties(props, _excluded);
47
83
  var _onStart = function onStart(_event, uiData) {
48
84
  var _draggleRef$current;
49
85
  var _window$document$docu = window.document.documentElement,
@@ -63,50 +99,240 @@ var DraggableModal = function DraggableModal(props) {
63
99
  var toggleFullScreen = function toggleFullScreen() {
64
100
  setFullScreen(!fullScreen);
65
101
  };
66
- var titleRender = function titleRender() {
67
- var title = props.title;
68
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, title, /*#__PURE__*/_react.default.createElement("button", {
69
- type: "button",
70
- className: "ant-modal-close",
71
- style: {
72
- right: 42
73
- },
74
- onClick: toggleFullScreen
75
- }, /*#__PURE__*/_react.default.createElement("span", {
76
- className: "ant-modal-close-x"
77
- }, fullScreen ? /*#__PURE__*/_react.default.createElement(_icons.ShrinkOutlined, null) : /*#__PURE__*/_react.default.createElement(_icons.ArrowsAltOutlined, null))));
102
+ var handleZoomIn = function handleZoomIn() {
103
+ if (zoom === 'small') {
104
+ setZoom('normal');
105
+ } else if (zoom === 'normal') {
106
+ setZoom('large');
107
+ }
108
+ };
109
+ var handleZoomOut = function handleZoomOut() {
110
+ if (zoom === 'large') {
111
+ setZoom('normal');
112
+ } else if (zoom === 'normal') {
113
+ setZoom('small');
114
+ }
115
+ };
116
+
117
+ // 拖动调整大小的处理函数
118
+ var handleResizeMouseDown = function handleResizeMouseDown(e, direction) {
119
+ var _draggleRef$current2;
120
+ e.preventDefault();
121
+ e.stopPropagation();
122
+ if (fullScreen) return;
123
+
124
+ // 查找.ant-modal,它在draggleRef的父级
125
+ var modal = (_draggleRef$current2 = draggleRef.current) === null || _draggleRef$current2 === void 0 ? void 0 : _draggleRef$current2.closest('.ant-modal');
126
+ if (!modal) {
127
+ return;
128
+ }
129
+ var rect = modal.getBoundingClientRect();
130
+ setModalSize({
131
+ width: rect.width,
132
+ height: rect.height
133
+ });
134
+ setModalPosition({
135
+ x: rect.left,
136
+ y: rect.top
137
+ });
138
+ setResizeDirection(direction);
139
+ setIsResizing(true);
140
+ var startX = e.clientX;
141
+ var startY = e.clientY;
142
+ var startWidth = rect.width;
143
+ var startHeight = rect.height;
144
+ var startLeft = rect.left;
145
+ var startTop = rect.top;
146
+ var handleMouseMove = function handleMouseMove(moveEvent) {
147
+ var deltaX = moveEvent.clientX - startX;
148
+ var deltaY = moveEvent.clientY - startY;
149
+ var newWidth = startWidth;
150
+ var newHeight = startHeight;
151
+ var newLeft = startLeft;
152
+ var newTop = startTop;
153
+
154
+ // 根据方向计算新尺寸
155
+ if (direction.includes('e')) {
156
+ newWidth = Math.max(400, startWidth + deltaX);
157
+ }
158
+ if (direction.includes('w')) {
159
+ newWidth = Math.max(400, startWidth - deltaX);
160
+ newLeft = startLeft + (startWidth - newWidth);
161
+ }
162
+ if (direction.includes('s')) {
163
+ newHeight = Math.max(300, startHeight + deltaY);
164
+ }
165
+ if (direction.includes('n')) {
166
+ newHeight = Math.max(300, startHeight - deltaY);
167
+ newTop = startTop + (startHeight - newHeight);
168
+ }
169
+
170
+ // 限制最大尺寸
171
+ var maxWidth = window.innerWidth * 0.95;
172
+ var maxHeight = window.innerHeight * 0.95;
173
+ newWidth = Math.min(newWidth, maxWidth);
174
+ newHeight = Math.min(newHeight, maxHeight);
175
+
176
+ // 直接更新DOM以实现实时效果
177
+ modal.style.width = "".concat(newWidth, "px");
178
+ modal.style.height = "".concat(newHeight, "px");
179
+
180
+ // 同时更新 modal-content 的高度
181
+ var modalContent = modal.querySelector('.ant-modal-content');
182
+ if (modalContent) {
183
+ modalContent.style.height = "".concat(newHeight, "px");
184
+ modalContent.style.display = 'flex';
185
+ modalContent.style.flexDirection = 'column';
186
+ }
187
+
188
+ // 仍然更新state以保持React状态同步
189
+ setModalSize({
190
+ width: newWidth,
191
+ height: newHeight
192
+ });
193
+ setModalPosition({
194
+ x: newLeft,
195
+ y: newTop
196
+ });
197
+ };
198
+ var handleMouseUp = function handleMouseUp() {
199
+ setIsResizing(false);
200
+ setResizeDirection('');
201
+ document.removeEventListener('mousemove', handleMouseMove);
202
+ document.removeEventListener('mouseup', handleMouseUp);
203
+ };
204
+ document.addEventListener('mousemove', handleMouseMove);
205
+ document.addEventListener('mouseup', handleMouseUp);
78
206
  };
207
+
208
+ // 合并类名
209
+ var zoomClass = !fullScreen && zoom !== 'normal' ? "modal-wrap-zoom-".concat(zoom) : '';
210
+ var fullScreenClass = fullScreen ? 'modal-wrap-fullscreen' : '';
211
+ var resizingClass = isResizing ? 'modal-wrap-resizing' : '';
212
+ var mergedWrapClassName = [propsWrapClassName, fullScreenClass, zoomClass, resizingClass].filter(Boolean).join(' ');
79
213
  return /*#__PURE__*/_react.default.createElement(_antd.Modal, _extends({
80
214
  maskClosable: false,
81
- wrapClassName: "".concat(fullScreen ? 'modal-wrap-fullscreen' : '')
82
- }, props, {
215
+ width: width
216
+ }, restProps, {
217
+ wrapClassName: mergedWrapClassName,
83
218
  title: /*#__PURE__*/_react.default.createElement("div", {
84
219
  style: {
85
220
  width: '100%',
86
- cursor: 'move'
221
+ cursor: fullScreen ? 'default' : 'move'
87
222
  },
88
223
  onMouseOver: function onMouseOver() {
89
- if (disabled) {
224
+ if (!fullScreen && disabled) {
90
225
  setDisabled(false);
91
226
  }
92
227
  },
93
228
  onMouseOut: function onMouseOut() {
94
- setDisabled(true);
229
+ if (!fullScreen) {
230
+ setDisabled(true);
231
+ }
95
232
  },
96
233
  onFocus: function onFocus() {},
97
234
  onBlur: function onBlur() {}
98
- }, titleRender()),
235
+ }, props.title, !fullScreen && zoom !== 'large' && /*#__PURE__*/_react.default.createElement("button", {
236
+ type: "button",
237
+ className: "ant-modal-close",
238
+ style: {
239
+ right: 106
240
+ },
241
+ onClick: function onClick(e) {
242
+ e.stopPropagation();
243
+ handleZoomIn();
244
+ },
245
+ title: "\u653E\u5927"
246
+ }, /*#__PURE__*/_react.default.createElement("span", {
247
+ className: "ant-modal-close-x"
248
+ }, /*#__PURE__*/_react.default.createElement(_icons.ZoomInOutlined, null))), !fullScreen && zoom !== 'small' && /*#__PURE__*/_react.default.createElement("button", {
249
+ type: "button",
250
+ className: "ant-modal-close",
251
+ style: {
252
+ right: 74
253
+ },
254
+ onClick: function onClick(e) {
255
+ e.stopPropagation();
256
+ handleZoomOut();
257
+ },
258
+ title: "\u7F29\u5C0F"
259
+ }, /*#__PURE__*/_react.default.createElement("span", {
260
+ className: "ant-modal-close-x"
261
+ }, /*#__PURE__*/_react.default.createElement(_icons.ZoomOutOutlined, null))), /*#__PURE__*/_react.default.createElement("button", {
262
+ type: "button",
263
+ className: "ant-modal-close",
264
+ style: {
265
+ right: 42
266
+ },
267
+ onClick: function onClick(e) {
268
+ e.stopPropagation();
269
+ toggleFullScreen();
270
+ },
271
+ title: fullScreen ? '退出全屏' : '全屏'
272
+ }, /*#__PURE__*/_react.default.createElement("span", {
273
+ className: "ant-modal-close-x"
274
+ }, fullScreen ? /*#__PURE__*/_react.default.createElement(_icons.ShrinkOutlined, null) : /*#__PURE__*/_react.default.createElement(_icons.ArrowsAltOutlined, null)))),
99
275
  modalRender: function modalRender(modal) {
100
276
  return /*#__PURE__*/_react.default.createElement(_reactDraggable.default, {
101
- disabled: disabled,
277
+ disabled: disabled || fullScreen,
102
278
  bounds: bounds,
103
279
  nodeRef: draggleRef,
104
280
  onStart: function onStart(event, uiData) {
105
281
  return _onStart(event, uiData);
106
- }
282
+ },
283
+ cancel: ".resize-handle"
107
284
  }, /*#__PURE__*/_react.default.createElement("div", {
108
- ref: draggleRef
109
- }, modal));
285
+ ref: draggleRef,
286
+ style: isResizing && modalSize.width > 0 ? {
287
+ position: 'relative',
288
+ height: '100%',
289
+ '--modal-width': "".concat(modalSize.width, "px"),
290
+ '--modal-height': "".concat(modalSize.height, "px")
291
+ } : {
292
+ position: 'relative',
293
+ height: '100%'
294
+ }
295
+ }, modal, !fullScreen && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
296
+ className: "resize-handle resize-handle-e",
297
+ onMouseDown: function onMouseDown(e) {
298
+ return handleResizeMouseDown(e, 'e');
299
+ }
300
+ }), /*#__PURE__*/_react.default.createElement("div", {
301
+ className: "resize-handle resize-handle-s",
302
+ onMouseDown: function onMouseDown(e) {
303
+ return handleResizeMouseDown(e, 's');
304
+ }
305
+ }), /*#__PURE__*/_react.default.createElement("div", {
306
+ className: "resize-handle resize-handle-w",
307
+ onMouseDown: function onMouseDown(e) {
308
+ return handleResizeMouseDown(e, 'w');
309
+ }
310
+ }), /*#__PURE__*/_react.default.createElement("div", {
311
+ className: "resize-handle resize-handle-n",
312
+ onMouseDown: function onMouseDown(e) {
313
+ return handleResizeMouseDown(e, 'n');
314
+ }
315
+ }), /*#__PURE__*/_react.default.createElement("div", {
316
+ className: "resize-handle resize-handle-se",
317
+ onMouseDown: function onMouseDown(e) {
318
+ return handleResizeMouseDown(e, 'se');
319
+ }
320
+ }), /*#__PURE__*/_react.default.createElement("div", {
321
+ className: "resize-handle resize-handle-sw",
322
+ onMouseDown: function onMouseDown(e) {
323
+ return handleResizeMouseDown(e, 'sw');
324
+ }
325
+ }), /*#__PURE__*/_react.default.createElement("div", {
326
+ className: "resize-handle resize-handle-ne",
327
+ onMouseDown: function onMouseDown(e) {
328
+ return handleResizeMouseDown(e, 'ne');
329
+ }
330
+ }), /*#__PURE__*/_react.default.createElement("div", {
331
+ className: "resize-handle resize-handle-nw",
332
+ onMouseDown: function onMouseDown(e) {
333
+ return handleResizeMouseDown(e, 'nw');
334
+ }
335
+ }))));
110
336
  }
111
337
  }));
112
338
  };
@@ -1,16 +1,189 @@
1
- .modal-wrap-fullscreen {
2
- top: 0;
3
- margin: 0;
4
- width: 100%;
5
- max-width: 100%;
6
- height: 100vh;
7
- max-height: 100vh;
8
- padding: 0;
9
-
10
- :global {
11
- .acud-modal-content {
12
- height: 100%;
1
+ :global {
2
+ .modal-wrap-fullscreen {
3
+ .ant-modal {
4
+ top: 0 !important;
5
+ margin: 0 !important;
6
+ width: 100vw !important;
7
+ max-width: 100vw !important;
8
+ height: 100vh !important;
9
+ max-height: 100vh !important;
10
+ padding: 0 !important;
11
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
12
+ }
13
+
14
+ .ant-modal-content {
15
+ height: 100vh;
13
16
  border-radius: 0;
17
+ display: flex;
18
+ flex-direction: column;
19
+ }
20
+
21
+ .ant-modal-body {
22
+ flex: 1;
23
+ overflow-y: auto;
24
+ padding: 24px;
25
+ }
26
+
27
+ .ant-modal-header {
28
+ flex-shrink: 0;
29
+ }
30
+
31
+ .ant-modal-footer {
32
+ flex-shrink: 0;
33
+ }
34
+ }
35
+
36
+ .modal-wrap-zoom-large {
37
+ .ant-modal {
38
+ width: 90vw !important;
39
+ max-width: 90vw !important;
40
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
41
+ }
42
+
43
+ .ant-modal-content {
44
+ max-height: 85vh;
45
+ transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
46
+ }
47
+
48
+ .ant-modal-body {
49
+ max-height: calc(85vh - 110px);
50
+ overflow-y: auto;
51
+ transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
52
+ }
53
+ }
54
+
55
+ .modal-wrap-zoom-small {
56
+ .ant-modal {
57
+ width: 50vw !important;
58
+ max-width: 50vw !important;
59
+ min-width: 400px !important;
60
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
61
+ }
62
+
63
+ .ant-modal-content {
64
+ max-height: 50vh;
65
+ transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
66
+ }
67
+
68
+ .ant-modal-body {
69
+ max-height: calc(50vh - 110px);
70
+ overflow-y: auto;
71
+ transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
72
+ }
73
+ }
74
+
75
+ .modal-wrap-resizing {
76
+ .ant-modal {
77
+ width: var(--modal-width) !important;
78
+ transition: none;
79
+ }
80
+
81
+ .ant-modal-content {
82
+ height: var(--modal-height);
83
+ transition: none;
84
+ display: flex;
85
+ flex-direction: column;
86
+ }
87
+
88
+ .ant-modal-body {
89
+ flex: 1;
90
+ overflow-y: auto;
91
+ }
92
+
93
+ .ant-modal-header {
94
+ flex-shrink: 0;
95
+ }
96
+
97
+ .ant-modal-footer {
98
+ flex-shrink: 0;
14
99
  }
15
100
  }
16
101
  }
102
+
103
+ // 拖动调整大小的手柄样式
104
+ .resize-handle {
105
+ position: absolute;
106
+ z-index: 10;
107
+ background: transparent;
108
+ transition: all 0.2s ease;
109
+ pointer-events: auto;
110
+ opacity: 0;
111
+
112
+ &:hover {
113
+ opacity: 1;
114
+ background-color: rgba(24, 144, 255, 0.5);
115
+ }
116
+ }
117
+
118
+ // 当鼠标悬停在 modal 上时显示手柄
119
+ .ant-modal:hover .resize-handle {
120
+ opacity: 1;
121
+ background: rgba(24, 144, 255, 0.15);
122
+ }
123
+
124
+
125
+ // 边缘手柄
126
+ .resize-handle-e {
127
+ right: 0;
128
+ top: 0;
129
+ bottom: 0;
130
+ width: 8px;
131
+ cursor: e-resize;
132
+ }
133
+
134
+ .resize-handle-w {
135
+ left: 0;
136
+ top: 0;
137
+ bottom: 0;
138
+ width: 8px;
139
+ cursor: w-resize;
140
+ }
141
+
142
+ .resize-handle-s {
143
+ bottom: 0;
144
+ left: 0;
145
+ right: 0;
146
+ height: 8px;
147
+ cursor: s-resize;
148
+ }
149
+
150
+ .resize-handle-n {
151
+ top: 0;
152
+ left: 0;
153
+ right: 0;
154
+ height: 8px;
155
+ cursor: n-resize;
156
+ }
157
+
158
+ // 角落手柄
159
+ .resize-handle-se {
160
+ right: 0;
161
+ bottom: 0;
162
+ width: 12px;
163
+ height: 12px;
164
+ cursor: se-resize;
165
+ }
166
+
167
+ .resize-handle-sw {
168
+ left: 0;
169
+ bottom: 0;
170
+ width: 12px;
171
+ height: 12px;
172
+ cursor: sw-resize;
173
+ }
174
+
175
+ .resize-handle-ne {
176
+ right: 0;
177
+ top: 0;
178
+ width: 12px;
179
+ height: 12px;
180
+ cursor: ne-resize;
181
+ }
182
+
183
+ .resize-handle-nw {
184
+ left: 0;
185
+ top: 0;
186
+ width: 12px;
187
+ height: 12px;
188
+ cursor: nw-resize;
189
+ }
@@ -1,2 +1,11 @@
1
+ /**
2
+ * 处理列分组配置
3
+ * 兼容新旧两种数据格式:
4
+ * 1. 新格式:FlatColumnItem[] (带有 type, parentId, level)
5
+ * 2. 旧格式:{ groupName: string } (简单的分组名称)
6
+ *
7
+ * @param columns 列配置数组
8
+ * @returns AG-Grid 列定义
9
+ */
1
10
  declare const processColumnGroups: (columns: any[]) => any;
2
11
  export default processColumnGroups;
@@ -10,7 +10,51 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
10
10
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
11
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
12
12
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
+ import { flatConfigToGridState, isOldSchemeData, migrateOldScheme } from "../setting/columnGroupUtils";
14
+
15
+ /**
16
+ * 处理列分组配置
17
+ * 兼容新旧两种数据格式:
18
+ * 1. 新格式:FlatColumnItem[] (带有 type, parentId, level)
19
+ * 2. 旧格式:{ groupName: string } (简单的分组名称)
20
+ *
21
+ * @param columns 列配置数组
22
+ * @returns AG-Grid 列定义
23
+ */
13
24
  var processColumnGroups = function processColumnGroups(columns) {
25
+ // 如果是空数组,直接返回
26
+ if (!columns || columns.length === 0) {
27
+ return [];
28
+ }
29
+
30
+ // 检查是否已经是标准 AG-Grid 格式(带 children 的分组)
31
+ // 如果列定义中有 children 属性,说明已经是 AG-Grid 标准格式,直接返回
32
+ var hasStandardGroups = columns.some(function (col) {
33
+ return col.children && Array.isArray(col.children);
34
+ });
35
+ if (hasStandardGroups) {
36
+ // 标准格式:直接返回,不做任何处理
37
+ return columns;
38
+ }
39
+
40
+ // 检查是否是新格式(FlatColumnItem)
41
+ var isNewFormat = columns.some(function (col) {
42
+ return col.type !== undefined;
43
+ });
44
+ if (isNewFormat) {
45
+ // 新格式:使用 flatConfigToGridState 转换
46
+ return flatConfigToGridState(columns);
47
+ }
48
+
49
+ // 旧格式:使用旧的处理逻辑
50
+ // 检查是否需要迁移
51
+ if (isOldSchemeData(columns)) {
52
+ // 先迁移到新格式,再转换
53
+ var migrated = migrateOldScheme(columns);
54
+ return flatConfigToGridState(migrated);
55
+ }
56
+
57
+ // 兼容最原始的格式(groupName)
14
58
  var groupMap = new Map();
15
59
  var result = [];
16
60
  var ungrouped = [];