@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", {
|