@nokecy/qc-ui 1.1.1 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,7 +9,7 @@ var _antd = require("antd");
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _reactDraggable = _interopRequireDefault(require("react-draggable"));
11
11
  require("./style.less");
12
- var _excluded = ["wrapClassName", "width"];
12
+ var _excluded = ["wrapClassName", "width", "open"];
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
14
  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
15
  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; }
@@ -42,6 +42,7 @@ var DraggableModal = function DraggableModal(props) {
42
42
  bounds = _useState4[0],
43
43
  setBounds = _useState4[1];
44
44
  var draggleRef = (0, _react.useRef)(null);
45
+ var modalContentRef = (0, _react.useRef)(null);
45
46
 
46
47
  // 调整大小相关状态
47
48
  var _useState5 = (0, _react.useState)(false),
@@ -67,10 +68,24 @@ var DraggableModal = function DraggableModal(props) {
67
68
  modalPosition = _useState12[0],
68
69
  setModalPosition = _useState12[1];
69
70
 
70
- // 解构 props,分离出 wrapClassName
71
+ // 解构 props,分离出 wrapClassName 和 open
71
72
  var propsWrapClassName = props.wrapClassName,
72
73
  width = props.width,
74
+ open = props.open,
73
75
  restProps = _objectWithoutProperties(props, _excluded);
76
+
77
+ // 修复 AgGrid 等组件在 Modal 中高度不展开的问题
78
+ // 当 Modal 打开时触发 window resize 事件
79
+ (0, _react.useEffect)(function () {
80
+ if (open) {
81
+ // 使用 requestAnimationFrame 和 setTimeout 确保 DOM 完全渲染
82
+ requestAnimationFrame(function () {
83
+ setTimeout(function () {
84
+ window.dispatchEvent(new Event('resize'));
85
+ }, 100);
86
+ });
87
+ }
88
+ }, [open]);
74
89
  var _onStart = function onStart(_event, uiData) {
75
90
  var _draggleRef$current;
76
91
  var _window$document$docu = window.document.documentElement,
@@ -167,12 +182,20 @@ var DraggableModal = function DraggableModal(props) {
167
182
  x: newLeft,
168
183
  y: newTop
169
184
  });
185
+
186
+ // 触发 window resize 事件,通知内部组件(如 AgGrid)重新计算尺寸
187
+ window.dispatchEvent(new Event('resize'));
170
188
  };
171
189
  var handleMouseUp = function handleMouseUp() {
172
190
  setIsResizing(false);
173
191
  setResizeDirection('');
174
192
  document.removeEventListener('mousemove', handleMouseMove);
175
193
  document.removeEventListener('mouseup', handleMouseUp);
194
+
195
+ // 拖拽结束后再次触发 resize 事件,确保内部组件完全更新
196
+ setTimeout(function () {
197
+ window.dispatchEvent(new Event('resize'));
198
+ }, 50);
176
199
  };
177
200
  document.addEventListener('mousemove', handleMouseMove);
178
201
  document.addEventListener('mouseup', handleMouseUp);
@@ -183,7 +206,8 @@ var DraggableModal = function DraggableModal(props) {
183
206
  var mergedWrapClassName = [propsWrapClassName, resizingClass].filter(Boolean).join(' ');
184
207
  return /*#__PURE__*/_react.default.createElement(_antd.Modal, _extends({
185
208
  maskClosable: false,
186
- width: width
209
+ width: width,
210
+ open: open
187
211
  }, restProps, {
188
212
  wrapClassName: mergedWrapClassName,
189
213
  title: /*#__PURE__*/_react.default.createElement("div", {
@@ -1,4 +1,4 @@
1
- var _excluded = ["wrapClassName", "width"];
1
+ var _excluded = ["wrapClassName", "width", "open"];
2
2
  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); }
3
3
  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; }
4
4
  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; }
@@ -9,7 +9,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
9
9
  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; } }
10
10
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
11
  import { Modal } from 'antd';
12
- import React, { useRef, useState } from 'react';
12
+ import React, { useRef, useState, useEffect } from 'react';
13
13
  import Draggable from 'react-draggable';
14
14
  import "./style.less";
15
15
 
@@ -33,6 +33,7 @@ var DraggableModal = function DraggableModal(props) {
33
33
  bounds = _useState4[0],
34
34
  setBounds = _useState4[1];
35
35
  var draggleRef = useRef(null);
36
+ var modalContentRef = useRef(null);
36
37
 
37
38
  // 调整大小相关状态
38
39
  var _useState5 = useState(false),
@@ -58,10 +59,24 @@ var DraggableModal = function DraggableModal(props) {
58
59
  modalPosition = _useState12[0],
59
60
  setModalPosition = _useState12[1];
60
61
 
61
- // 解构 props,分离出 wrapClassName
62
+ // 解构 props,分离出 wrapClassName 和 open
62
63
  var propsWrapClassName = props.wrapClassName,
63
64
  width = props.width,
65
+ open = props.open,
64
66
  restProps = _objectWithoutProperties(props, _excluded);
67
+
68
+ // 修复 AgGrid 等组件在 Modal 中高度不展开的问题
69
+ // 当 Modal 打开时触发 window resize 事件
70
+ useEffect(function () {
71
+ if (open) {
72
+ // 使用 requestAnimationFrame 和 setTimeout 确保 DOM 完全渲染
73
+ requestAnimationFrame(function () {
74
+ setTimeout(function () {
75
+ window.dispatchEvent(new Event('resize'));
76
+ }, 100);
77
+ });
78
+ }
79
+ }, [open]);
65
80
  var _onStart = function onStart(_event, uiData) {
66
81
  var _draggleRef$current;
67
82
  var _window$document$docu = window.document.documentElement,
@@ -158,12 +173,20 @@ var DraggableModal = function DraggableModal(props) {
158
173
  x: newLeft,
159
174
  y: newTop
160
175
  });
176
+
177
+ // 触发 window resize 事件,通知内部组件(如 AgGrid)重新计算尺寸
178
+ window.dispatchEvent(new Event('resize'));
161
179
  };
162
180
  var handleMouseUp = function handleMouseUp() {
163
181
  setIsResizing(false);
164
182
  setResizeDirection('');
165
183
  document.removeEventListener('mousemove', handleMouseMove);
166
184
  document.removeEventListener('mouseup', handleMouseUp);
185
+
186
+ // 拖拽结束后再次触发 resize 事件,确保内部组件完全更新
187
+ setTimeout(function () {
188
+ window.dispatchEvent(new Event('resize'));
189
+ }, 50);
167
190
  };
168
191
  document.addEventListener('mousemove', handleMouseMove);
169
192
  document.addEventListener('mouseup', handleMouseUp);
@@ -174,7 +197,8 @@ var DraggableModal = function DraggableModal(props) {
174
197
  var mergedWrapClassName = [propsWrapClassName, resizingClass].filter(Boolean).join(' ');
175
198
  return /*#__PURE__*/React.createElement(Modal, _extends({
176
199
  maskClosable: false,
177
- width: width
200
+ width: width,
201
+ open: open
178
202
  }, restProps, {
179
203
  wrapClassName: mergedWrapClassName,
180
204
  title: /*#__PURE__*/React.createElement("div", {