@mi-avalon/libs 0.0.10 → 0.0.12
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.
- package/dist/index.d.ts +0 -1
- package/dist/libs.cjs.development.js +666 -1318
- package/dist/libs.cjs.development.js.map +1 -1
- package/dist/libs.cjs.production.min.js +1 -1
- package/dist/libs.cjs.production.min.js.map +1 -1
- package/dist/libs.esm.js +668 -1311
- package/dist/libs.esm.js.map +1 -1
- package/package.json +1 -1
- package/dist/components/ItemsRow/index.d.ts +0 -43
- package/dist/components/MBreadcrumb/index.d.ts +0 -18
- package/dist/components/MDescriptions/index.d.ts +0 -65
- package/dist/components/MForm/MFormItemConst.d.ts +0 -26
- package/dist/components/MForm/index.d.ts +0 -10
- package/dist/components/MForm/type.d.ts +0 -178
- package/dist/components/MSearch/index.d.ts +0 -27
- package/dist/components/MTable/index.d.ts +0 -12
- package/dist/components/MiModal/index.d.ts +0 -16
- package/dist/components/ThemeContext/CompThemeProvider.d.ts +0 -9
- package/dist/components/ThemeContext/index.d.ts +0 -8
- package/dist/components/index.d.ts +0 -9
|
@@ -4,100 +4,69 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
6
6
|
|
|
7
|
-
var antd = require('antd');
|
|
8
7
|
var React = require('react');
|
|
9
8
|
var React__default = _interopDefault(React);
|
|
10
9
|
var ReactDOMClient = require('react-dom/client');
|
|
11
|
-
var icons = require('@ant-design/icons');
|
|
12
10
|
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
try {
|
|
25
|
-
r2 = arg2.toString().split('.')[1].length;
|
|
26
|
-
} catch (e) {
|
|
27
|
-
r2 = 0;
|
|
28
|
-
}
|
|
29
|
-
c = Math.abs(r1 - r2);
|
|
30
|
-
m = Math.pow(10, Math.max(r1, r2));
|
|
31
|
-
if (c > 0) {
|
|
32
|
-
var cm = Math.pow(10, c);
|
|
33
|
-
if (r1 > r2) {
|
|
34
|
-
arg1 = Number(arg1.toString().replace('.', ''));
|
|
35
|
-
arg2 = Number(arg2.toString().replace('.', '')) * cm;
|
|
36
|
-
} else {
|
|
37
|
-
arg1 = Number(arg1.toString().replace('.', '')) * cm;
|
|
38
|
-
arg2 = Number(arg2.toString().replace('.', ''));
|
|
39
|
-
}
|
|
40
|
-
} else {
|
|
41
|
-
var _arg, _arg2;
|
|
42
|
-
arg1 = Number((_arg = arg1) == null ? void 0 : _arg.toString().replace('.', ''));
|
|
43
|
-
arg2 = Number((_arg2 = arg2) == null ? void 0 : _arg2.toString().replace('.', ''));
|
|
44
|
-
}
|
|
45
|
-
return (arg1 + arg2) / m;
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
** 减
|
|
49
|
-
**/
|
|
50
|
-
this.sub = function (arg1, arg2) {
|
|
51
|
-
var r1, r2, m, n;
|
|
52
|
-
try {
|
|
53
|
-
r1 = arg1.toString().split('.')[1].length;
|
|
54
|
-
} catch (e) {
|
|
55
|
-
r1 = 0;
|
|
56
|
-
}
|
|
57
|
-
try {
|
|
58
|
-
r2 = arg2.toString().split('.')[1].length;
|
|
59
|
-
} catch (e) {
|
|
60
|
-
r2 = 0;
|
|
61
|
-
}
|
|
62
|
-
m = Math.pow(10, Math.max(r1, r2)); //last modify by deeka //动态控制精度长度
|
|
63
|
-
n = r1 >= r2 ? r1 : r2;
|
|
64
|
-
return Number(((arg1 * m - arg2 * m) / m).toFixed(n));
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
** 乘
|
|
68
|
-
**/
|
|
69
|
-
this.mul = function (arg1, arg2) {
|
|
70
|
-
var m = 0,
|
|
71
|
-
s1 = arg1.toString(),
|
|
72
|
-
s2 = arg2.toString();
|
|
73
|
-
try {
|
|
74
|
-
m += s1.split('.')[1].length;
|
|
75
|
-
} catch (e) {}
|
|
76
|
-
try {
|
|
77
|
-
m += s2.split('.')[1].length;
|
|
78
|
-
} catch (e) {}
|
|
79
|
-
return Number(s1.replace('.', '')) * Number(s2.replace('.', '')) / Math.pow(10, m);
|
|
80
|
-
};
|
|
81
|
-
/**
|
|
82
|
-
** 除
|
|
83
|
-
**/
|
|
84
|
-
this.div = function (arg1, arg2) {
|
|
85
|
-
var t1 = 0,
|
|
86
|
-
t2 = 0,
|
|
87
|
-
r1,
|
|
88
|
-
r2;
|
|
89
|
-
try {
|
|
90
|
-
t1 = arg1.toString().split('.')[1].length;
|
|
91
|
-
} catch (e) {}
|
|
92
|
-
try {
|
|
93
|
-
t2 = arg2.toString().split('.')[1].length;
|
|
94
|
-
} catch (e) {}
|
|
95
|
-
r1 = Number(arg1.toString().replace('.', ''));
|
|
96
|
-
r2 = Number(arg2.toString().replace('.', ''));
|
|
97
|
-
return r1 / r2 * Math.pow(10, t2 - t1);
|
|
98
|
-
};
|
|
11
|
+
var DATE_FORMAT = {
|
|
12
|
+
YMD_Hms: 'YYYY-MM-DD HH:mm:ss',
|
|
13
|
+
YMD: 'YYYY-MM-DD',
|
|
14
|
+
YMD2: 'YYYYMMDD',
|
|
15
|
+
YMD_POINT: 'YYYY.M.DD',
|
|
16
|
+
Hms: 'HH:mm:ss',
|
|
17
|
+
Hm: 'HH:mm',
|
|
18
|
+
YMD_000: 'YYYY-MM-DD 00:00:00',
|
|
19
|
+
YMD_end: 'YYYY-MM-DD 23:59:59',
|
|
20
|
+
YMD_Hm: 'YYYYMMDD HHmm'
|
|
99
21
|
};
|
|
100
|
-
|
|
22
|
+
|
|
23
|
+
var PAGE_SIZE = 10;
|
|
24
|
+
|
|
25
|
+
var PatternType = function PatternType() {};
|
|
26
|
+
// 整数
|
|
27
|
+
PatternType.integerRegex = /^-?\d+$/;
|
|
28
|
+
// 正整数
|
|
29
|
+
PatternType.positiveIntegerRegex = /^[1-9]\d*$/;
|
|
30
|
+
// 负整数
|
|
31
|
+
PatternType.negativeIntegerRegex = /^-[1-9]\d*$/;
|
|
32
|
+
// 浮点数
|
|
33
|
+
PatternType.floatRegex = /^-?\d+(\.\d+)?$/;
|
|
34
|
+
// 字母
|
|
35
|
+
PatternType.letter = /^[a-zA-Z]+$/;
|
|
36
|
+
// 汉字
|
|
37
|
+
PatternType.chinese = /^[\u4e00-\u9fa5]+$/;
|
|
38
|
+
// 数字
|
|
39
|
+
PatternType.number = /^[0-9]*$/;
|
|
40
|
+
// 用户名 字母开头,允许字母数字下划线,长度4-16
|
|
41
|
+
PatternType.username = /^[a-zA-Z]\w{3,15}$/;
|
|
42
|
+
// 强用户名 必须包含大小写字母和数字,6-20位
|
|
43
|
+
PatternType.strongUsername = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{6,20}$/;
|
|
44
|
+
// 密码 至少8位,包含字母和数字
|
|
45
|
+
PatternType.password = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/;
|
|
46
|
+
// 强密码 至少8位,包含大小写字母、数字和特殊字符
|
|
47
|
+
PatternType.strongPassword = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
|
|
48
|
+
// 中国大陆的手机号
|
|
49
|
+
PatternType.phone = /^1[3-9]\d{9}$/;
|
|
50
|
+
// 带区号的手机号
|
|
51
|
+
PatternType.phoneWithAreaCode = /^\+?\d{2,3}-?\d{8,11}$/;
|
|
52
|
+
// 邮箱
|
|
53
|
+
PatternType.email = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
|
|
54
|
+
// 身份证
|
|
55
|
+
PatternType.idCard = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
|
|
56
|
+
// 银行卡
|
|
57
|
+
PatternType.bankCard = /^[1-9]\d{3,30}$/;
|
|
58
|
+
// 邮政编码
|
|
59
|
+
PatternType.zipCode = /^[1-9]\d{5}$/;
|
|
60
|
+
// IP
|
|
61
|
+
PatternType.ip = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
|
|
62
|
+
// URL
|
|
63
|
+
PatternType.url = /^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*\/?$/;
|
|
64
|
+
// 车牌
|
|
65
|
+
PatternType.carNumber = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/;
|
|
66
|
+
// 时间 hh:mm:ss
|
|
67
|
+
PatternType.time = /^([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/;
|
|
68
|
+
// 日期 YYYY-MM-DD
|
|
69
|
+
PatternType.date = /^(\d{4})-(\d{2})-(\d{2})$/;
|
|
101
70
|
|
|
102
71
|
function _arrayLikeToArray(r, a) {
|
|
103
72
|
(null == a || a > r.length) && (a = r.length);
|
|
@@ -166,9 +135,6 @@ function _extends() {
|
|
|
166
135
|
return n;
|
|
167
136
|
}, _extends.apply(null, arguments);
|
|
168
137
|
}
|
|
169
|
-
function _inheritsLoose(t, o) {
|
|
170
|
-
t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o);
|
|
171
|
-
}
|
|
172
138
|
function _regenerator() {
|
|
173
139
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
174
140
|
var e,
|
|
@@ -279,11 +245,6 @@ function _regeneratorDefine(e, r, n, t) {
|
|
|
279
245
|
}
|
|
280
246
|
}, _regeneratorDefine(e, r, n, t);
|
|
281
247
|
}
|
|
282
|
-
function _setPrototypeOf(t, e) {
|
|
283
|
-
return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {
|
|
284
|
-
return t.__proto__ = e, t;
|
|
285
|
-
}, _setPrototypeOf(t, e);
|
|
286
|
-
}
|
|
287
248
|
function _toPrimitive(t, r) {
|
|
288
249
|
if ("object" != typeof t || !t) return t;
|
|
289
250
|
var e = t[Symbol.toPrimitive];
|
|
@@ -306,1284 +267,681 @@ function _unsupportedIterableToArray(r, a) {
|
|
|
306
267
|
}
|
|
307
268
|
}
|
|
308
269
|
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
});
|
|
331
|
-
return function () {
|
|
332
|
-
counter = (counter + 1) % 2;
|
|
333
|
-
textNode.data = String(counter);
|
|
334
|
-
};
|
|
335
|
-
}
|
|
336
|
-
// // 仅在 Node.js 环境中使用 setImmediate
|
|
337
|
-
// if (typeof global !== 'undefined' && typeof setImmediate !== 'undefined') {
|
|
338
|
-
// return () => setImmediate(this.flushCallbacks.bind(this));
|
|
339
|
-
// }
|
|
340
|
-
return function () {
|
|
341
|
-
return setTimeout(_this.flushCallbacks.bind(_this), 0);
|
|
342
|
-
};
|
|
343
|
-
};
|
|
344
|
-
_proto.flushCallbacks = function flushCallbacks() {
|
|
345
|
-
this.pending = false;
|
|
346
|
-
var copies = this.callbacks.slice(0);
|
|
347
|
-
this.callbacks.length = 0;
|
|
348
|
-
for (var i = 0; i < copies.length; i++) {
|
|
349
|
-
copies[i]();
|
|
350
|
-
}
|
|
351
|
-
};
|
|
352
|
-
_proto.nextTick = function nextTick(callback, ctx) {
|
|
353
|
-
var _resolve;
|
|
354
|
-
this.callbacks.push(function () {
|
|
355
|
-
if (callback) {
|
|
356
|
-
try {
|
|
357
|
-
callback.call(ctx);
|
|
358
|
-
} catch (e) {
|
|
359
|
-
console.error('Error in nextTick:', e);
|
|
360
|
-
}
|
|
361
|
-
} else if (_resolve) {
|
|
362
|
-
_resolve();
|
|
363
|
-
}
|
|
364
|
-
});
|
|
365
|
-
if (!this.pending) {
|
|
366
|
-
this.pending = true;
|
|
367
|
-
this.timerFunc();
|
|
368
|
-
}
|
|
369
|
-
if (!callback && typeof Promise !== 'undefined') {
|
|
370
|
-
return new Promise(function (resolve) {
|
|
371
|
-
_resolve = resolve;
|
|
372
|
-
});
|
|
373
|
-
}
|
|
374
|
-
};
|
|
375
|
-
NextTick.nextTick = function nextTick(callback, ctx) {
|
|
376
|
-
return NextTick.instance.nextTick(callback, ctx);
|
|
270
|
+
function useFuncRequest(
|
|
271
|
+
// 异步函数
|
|
272
|
+
asyncFunc,
|
|
273
|
+
// 配置项
|
|
274
|
+
options) {
|
|
275
|
+
var _useState = React.useState(false),
|
|
276
|
+
loading = _useState[0],
|
|
277
|
+
setLoading = _useState[1];
|
|
278
|
+
var _useState2 = React.useState(null),
|
|
279
|
+
error = _useState2[0],
|
|
280
|
+
setError = _useState2[1];
|
|
281
|
+
var _useState3 = React.useState(null),
|
|
282
|
+
data = _useState3[0],
|
|
283
|
+
setData = _useState3[1];
|
|
284
|
+
var abortControllerRef = React.useRef(undefined);
|
|
285
|
+
var requestIdRef = React.useRef(0);
|
|
286
|
+
var cancel = function cancel() {
|
|
287
|
+
var _abortControllerRef$c;
|
|
288
|
+
(_abortControllerRef$c = abortControllerRef.current) == null || _abortControllerRef$c.abort();
|
|
289
|
+
setLoading(false);
|
|
290
|
+
setError(null);
|
|
377
291
|
};
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
292
|
+
var run = /*#__PURE__*/function () {
|
|
293
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
294
|
+
var currentRequestId,
|
|
295
|
+
abortController,
|
|
296
|
+
_len,
|
|
297
|
+
args,
|
|
298
|
+
_key,
|
|
299
|
+
beforeRes,
|
|
300
|
+
funcArgs,
|
|
301
|
+
res,
|
|
302
|
+
_args = arguments,
|
|
303
|
+
_t;
|
|
304
|
+
return _regenerator().w(function (_context) {
|
|
305
|
+
while (1) switch (_context.p = _context.n) {
|
|
306
|
+
case 0:
|
|
307
|
+
currentRequestId = ++requestIdRef.current;
|
|
308
|
+
cancel();
|
|
309
|
+
abortController = new AbortController();
|
|
310
|
+
abortControllerRef.current = abortController;
|
|
311
|
+
_context.p = 1;
|
|
312
|
+
setLoading(true);
|
|
313
|
+
setError(null);
|
|
314
|
+
for (_len = _args.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
315
|
+
args[_key] = _args[_key];
|
|
316
|
+
}
|
|
317
|
+
if (!(options != null && options.onBefore)) {
|
|
318
|
+
_context.n = 3;
|
|
319
|
+
break;
|
|
320
|
+
}
|
|
321
|
+
_context.n = 2;
|
|
322
|
+
return options == null || options.onBefore == null ? void 0 : options.onBefore.apply(options, args);
|
|
323
|
+
case 2:
|
|
324
|
+
beforeRes = _context.v;
|
|
325
|
+
if (beforeRes) {
|
|
326
|
+
_context.n = 3;
|
|
327
|
+
break;
|
|
328
|
+
}
|
|
329
|
+
cancel();
|
|
330
|
+
return _context.a(2);
|
|
331
|
+
case 3:
|
|
332
|
+
// 安全传递 AbortSignal
|
|
333
|
+
funcArgs = args.length >= asyncFunc.length ? args : [].concat(args, [{
|
|
334
|
+
signal: abortController.signal
|
|
335
|
+
}]);
|
|
336
|
+
_context.n = 4;
|
|
337
|
+
return asyncFunc.apply(void 0, funcArgs);
|
|
338
|
+
case 4:
|
|
339
|
+
res = _context.v;
|
|
340
|
+
if (!(!abortController.signal.aborted && currentRequestId === requestIdRef.current)) {
|
|
341
|
+
_context.n = 5;
|
|
342
|
+
break;
|
|
343
|
+
}
|
|
344
|
+
setData(res);
|
|
345
|
+
_context.n = 5;
|
|
346
|
+
return options == null || options.onSuccess == null ? void 0 : options.onSuccess(res);
|
|
347
|
+
case 5:
|
|
348
|
+
return _context.a(2, res);
|
|
349
|
+
case 6:
|
|
350
|
+
_context.p = 6;
|
|
351
|
+
_t = _context.v;
|
|
352
|
+
if (!(!abortController.signal.aborted && currentRequestId === requestIdRef.current)) {
|
|
353
|
+
_context.n = 7;
|
|
354
|
+
break;
|
|
355
|
+
}
|
|
356
|
+
setError(_t);
|
|
357
|
+
_context.n = 7;
|
|
358
|
+
return options == null || options.onError == null ? void 0 : options.onError(_t);
|
|
359
|
+
case 7:
|
|
360
|
+
throw _t;
|
|
361
|
+
case 8:
|
|
362
|
+
_context.p = 8;
|
|
363
|
+
if (!(!abortController.signal.aborted && currentRequestId === requestIdRef.current)) {
|
|
364
|
+
_context.n = 9;
|
|
365
|
+
break;
|
|
366
|
+
}
|
|
367
|
+
setLoading(false);
|
|
368
|
+
_context.n = 9;
|
|
369
|
+
return options == null || options.onFinally == null ? void 0 : options.onFinally();
|
|
370
|
+
case 9:
|
|
371
|
+
return _context.f(8);
|
|
372
|
+
case 10:
|
|
373
|
+
return _context.a(2);
|
|
458
374
|
}
|
|
459
|
-
});
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
375
|
+
}, _callee, null, [[1, 6, 8, 10]]);
|
|
376
|
+
}));
|
|
377
|
+
return function run() {
|
|
378
|
+
return _ref.apply(this, arguments);
|
|
379
|
+
};
|
|
380
|
+
}();
|
|
381
|
+
React.useEffect(function () {
|
|
382
|
+
if (options != null && options.autoRunArgs) {
|
|
383
|
+
run.apply(void 0, options.autoRunArgs)["catch"](function () {});
|
|
463
384
|
}
|
|
464
|
-
|
|
465
|
-
|
|
385
|
+
return cancel;
|
|
386
|
+
}, [JSON.stringify(options == null ? void 0 : options.autoRunArgs)]);
|
|
466
387
|
return {
|
|
467
|
-
|
|
468
|
-
|
|
388
|
+
run: run,
|
|
389
|
+
cancel: cancel,
|
|
390
|
+
loading: loading,
|
|
391
|
+
error: error,
|
|
392
|
+
data: data
|
|
469
393
|
};
|
|
470
394
|
}
|
|
471
395
|
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
var cn = key1;
|
|
476
|
-
var str = key1;
|
|
477
|
-
if (key2.includes(' ')) {
|
|
478
|
-
str = '';
|
|
479
|
-
var nArr = key2 == null ? void 0 : key2.split(' ');
|
|
480
|
-
for (var _iterator = _createForOfIteratorHelperLoose(nArr), _step; !(_step = _iterator()).done;) {
|
|
481
|
-
var i = _step.value;
|
|
482
|
-
str += " " + cn + "-" + i;
|
|
483
|
-
}
|
|
484
|
-
} else if (key2) {
|
|
485
|
-
str = key1 + "-" + key2;
|
|
486
|
-
}
|
|
487
|
-
return str;
|
|
488
|
-
};
|
|
489
|
-
// 根据路径获取数据
|
|
490
|
-
var getFieldsByPath = function getFieldsByPath(data, path) {
|
|
491
|
-
var arr = path == null ? void 0 : path.split('.');
|
|
492
|
-
var res = data;
|
|
493
|
-
for (var _iterator2 = _createForOfIteratorHelperLoose(arr), _step2; !(_step2 = _iterator2()).done;) {
|
|
494
|
-
var i = _step2.value;
|
|
495
|
-
res = res[i];
|
|
396
|
+
function useInterval(callback, delay, immediate) {
|
|
397
|
+
if (immediate === void 0) {
|
|
398
|
+
immediate = false;
|
|
496
399
|
}
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
//
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
400
|
+
var timerRef = React.useRef(undefined);
|
|
401
|
+
var savedCallback = React.useRef(callback);
|
|
402
|
+
// Update callback ref if callback changes
|
|
403
|
+
React.useEffect(function () {
|
|
404
|
+
savedCallback.current = callback;
|
|
405
|
+
}, [callback]);
|
|
406
|
+
var clear = React.useCallback(function () {
|
|
407
|
+
if (timerRef.current) {
|
|
408
|
+
clearInterval(timerRef.current);
|
|
409
|
+
timerRef.current = undefined;
|
|
504
410
|
}
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
513
|
-
args[_key] = arguments[_key];
|
|
411
|
+
}, []);
|
|
412
|
+
var start = React.useCallback(function () {
|
|
413
|
+
clear();
|
|
414
|
+
if (delay !== null && delay !== undefined) {
|
|
415
|
+
timerRef.current = setInterval(function () {
|
|
416
|
+
return savedCallback.current();
|
|
417
|
+
}, delay);
|
|
514
418
|
}
|
|
515
|
-
|
|
516
|
-
|
|
419
|
+
}, [delay, clear]);
|
|
420
|
+
React.useEffect(function () {
|
|
421
|
+
if (immediate) {
|
|
422
|
+
savedCallback.current();
|
|
517
423
|
}
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
424
|
+
start();
|
|
425
|
+
return clear;
|
|
426
|
+
}, [delay, start, clear, immediate]);
|
|
427
|
+
return {
|
|
428
|
+
start: start,
|
|
429
|
+
clear: clear,
|
|
430
|
+
isRunning: !!timerRef.current
|
|
521
431
|
};
|
|
522
|
-
}
|
|
523
|
-
|
|
524
|
-
var
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
var CMX = function CMX() {
|
|
435
|
+
/**
|
|
436
|
+
** 加
|
|
437
|
+
**/
|
|
438
|
+
this.add = function (arg1, arg2) {
|
|
439
|
+
var r1, r2, m, c;
|
|
440
|
+
try {
|
|
441
|
+
r1 = arg1.toString().split('.')[1].length;
|
|
442
|
+
} catch (e) {
|
|
443
|
+
r1 = 0;
|
|
444
|
+
}
|
|
445
|
+
try {
|
|
446
|
+
r2 = arg2.toString().split('.')[1].length;
|
|
447
|
+
} catch (e) {
|
|
448
|
+
r2 = 0;
|
|
449
|
+
}
|
|
450
|
+
c = Math.abs(r1 - r2);
|
|
451
|
+
m = Math.pow(10, Math.max(r1, r2));
|
|
452
|
+
if (c > 0) {
|
|
453
|
+
var cm = Math.pow(10, c);
|
|
454
|
+
if (r1 > r2) {
|
|
455
|
+
arg1 = Number(arg1.toString().replace('.', ''));
|
|
456
|
+
arg2 = Number(arg2.toString().replace('.', '')) * cm;
|
|
457
|
+
} else {
|
|
458
|
+
arg1 = Number(arg1.toString().replace('.', '')) * cm;
|
|
459
|
+
arg2 = Number(arg2.toString().replace('.', ''));
|
|
540
460
|
}
|
|
461
|
+
} else {
|
|
462
|
+
var _arg, _arg2;
|
|
463
|
+
arg1 = Number((_arg = arg1) == null ? void 0 : _arg.toString().replace('.', ''));
|
|
464
|
+
arg2 = Number((_arg2 = arg2) == null ? void 0 : _arg2.toString().replace('.', ''));
|
|
465
|
+
}
|
|
466
|
+
return (arg1 + arg2) / m;
|
|
467
|
+
};
|
|
468
|
+
/**
|
|
469
|
+
** 减
|
|
470
|
+
**/
|
|
471
|
+
this.sub = function (arg1, arg2) {
|
|
472
|
+
var r1, r2, m, n;
|
|
473
|
+
try {
|
|
474
|
+
r1 = arg1.toString().split('.')[1].length;
|
|
475
|
+
} catch (e) {
|
|
476
|
+
r1 = 0;
|
|
541
477
|
}
|
|
478
|
+
try {
|
|
479
|
+
r2 = arg2.toString().split('.')[1].length;
|
|
480
|
+
} catch (e) {
|
|
481
|
+
r2 = 0;
|
|
482
|
+
}
|
|
483
|
+
m = Math.pow(10, Math.max(r1, r2)); //last modify by deeka //动态控制精度长度
|
|
484
|
+
n = r1 >= r2 ? r1 : r2;
|
|
485
|
+
return Number(((arg1 * m - arg2 * m) / m).toFixed(n));
|
|
486
|
+
};
|
|
487
|
+
/**
|
|
488
|
+
** 乘
|
|
489
|
+
**/
|
|
490
|
+
this.mul = function (arg1, arg2) {
|
|
491
|
+
var m = 0,
|
|
492
|
+
s1 = arg1.toString(),
|
|
493
|
+
s2 = arg2.toString();
|
|
494
|
+
try {
|
|
495
|
+
m += s1.split('.')[1].length;
|
|
496
|
+
} catch (e) {}
|
|
497
|
+
try {
|
|
498
|
+
m += s2.split('.')[1].length;
|
|
499
|
+
} catch (e) {}
|
|
500
|
+
return Number(s1.replace('.', '')) * Number(s2.replace('.', '')) / Math.pow(10, m);
|
|
501
|
+
};
|
|
502
|
+
/**
|
|
503
|
+
** 除
|
|
504
|
+
**/
|
|
505
|
+
this.div = function (arg1, arg2) {
|
|
506
|
+
var t1 = 0,
|
|
507
|
+
t2 = 0,
|
|
508
|
+
r1,
|
|
509
|
+
r2;
|
|
510
|
+
try {
|
|
511
|
+
t1 = arg1.toString().split('.')[1].length;
|
|
512
|
+
} catch (e) {}
|
|
513
|
+
try {
|
|
514
|
+
t2 = arg2.toString().split('.')[1].length;
|
|
515
|
+
} catch (e) {}
|
|
516
|
+
r1 = Number(arg1.toString().replace('.', ''));
|
|
517
|
+
r2 = Number(arg2.toString().replace('.', ''));
|
|
518
|
+
return r1 / r2 * Math.pow(10, t2 - t1);
|
|
542
519
|
};
|
|
543
520
|
};
|
|
521
|
+
var cmx = /*#__PURE__*/new CMX();
|
|
544
522
|
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
function VersionUtil() {}
|
|
551
|
-
/**
|
|
552
|
-
* 验证版本号格式是否有效
|
|
553
|
-
* @param version 版本号字符串
|
|
554
|
-
* @returns 是否有效
|
|
555
|
-
*/
|
|
556
|
-
VersionUtil.isValid = function isValid(version) {
|
|
557
|
-
var semverRegex = /^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/i;
|
|
558
|
-
return semverRegex.test(version);
|
|
523
|
+
var NextTick = /*#__PURE__*/function () {
|
|
524
|
+
function NextTick() {
|
|
525
|
+
this.callbacks = [];
|
|
526
|
+
this.pending = false;
|
|
527
|
+
this.timerFunc = this.determineTimerFunc();
|
|
559
528
|
}
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
throw new Error('Invalid version format');
|
|
529
|
+
var _proto = NextTick.prototype;
|
|
530
|
+
_proto.determineTimerFunc = function determineTimerFunc() {
|
|
531
|
+
var _this = this;
|
|
532
|
+
if (typeof Promise !== 'undefined') {
|
|
533
|
+
var p = Promise.resolve();
|
|
534
|
+
return function () {
|
|
535
|
+
return p.then(_this.flushCallbacks.bind(_this));
|
|
536
|
+
};
|
|
569
537
|
}
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
538
|
+
if (typeof MutationObserver !== 'undefined' && typeof window !== 'undefined') {
|
|
539
|
+
var counter = 1;
|
|
540
|
+
var observer = new MutationObserver(this.flushCallbacks.bind(this));
|
|
541
|
+
var textNode = document.createTextNode(String(counter));
|
|
542
|
+
observer.observe(textNode, {
|
|
543
|
+
characterData: true
|
|
544
|
+
});
|
|
545
|
+
return function () {
|
|
546
|
+
counter = (counter + 1) % 2;
|
|
547
|
+
textNode.data = String(counter);
|
|
548
|
+
};
|
|
581
549
|
}
|
|
582
|
-
//
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
550
|
+
// // 仅在 Node.js 环境中使用 setImmediate
|
|
551
|
+
// if (typeof global !== 'undefined' && typeof setImmediate !== 'undefined') {
|
|
552
|
+
// return () => setImmediate(this.flushCallbacks.bind(this));
|
|
553
|
+
// }
|
|
554
|
+
return function () {
|
|
555
|
+
return setTimeout(_this.flushCallbacks.bind(_this), 0);
|
|
556
|
+
};
|
|
557
|
+
};
|
|
558
|
+
_proto.flushCallbacks = function flushCallbacks() {
|
|
559
|
+
this.pending = false;
|
|
560
|
+
var copies = this.callbacks.slice(0);
|
|
561
|
+
this.callbacks.length = 0;
|
|
562
|
+
for (var i = 0; i < copies.length; i++) {
|
|
563
|
+
copies[i]();
|
|
589
564
|
}
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
var ranges = range.match(rangeRegex);
|
|
603
|
-
if (!ranges || ranges.length === 0) return false;
|
|
604
|
-
return ranges.every(function (r) {
|
|
605
|
-
var match = r.match(/([<>]=?|==?|\^|~)?\s*(v?[0-9].*)/);
|
|
606
|
-
if (!match) return false;
|
|
607
|
-
var operator = match[1] || '==';
|
|
608
|
-
var rangeVersion = match[2];
|
|
609
|
-
if (!_this.isValid(rangeVersion)) return false;
|
|
610
|
-
var comparison = _this.compare(version, rangeVersion);
|
|
611
|
-
switch (operator) {
|
|
612
|
-
case '>':
|
|
613
|
-
return comparison > 0;
|
|
614
|
-
case '>=':
|
|
615
|
-
return comparison >= 0;
|
|
616
|
-
case '<':
|
|
617
|
-
return comparison < 0;
|
|
618
|
-
case '<=':
|
|
619
|
-
return comparison <= 0;
|
|
620
|
-
case '^':
|
|
621
|
-
return _this.caretRange(version, rangeVersion);
|
|
622
|
-
case '~':
|
|
623
|
-
return _this.tildeRange(version, rangeVersion);
|
|
624
|
-
case '=':
|
|
625
|
-
case '==':
|
|
626
|
-
default:
|
|
627
|
-
return comparison === 0;
|
|
565
|
+
};
|
|
566
|
+
_proto.nextTick = function nextTick(callback, ctx) {
|
|
567
|
+
var _resolve;
|
|
568
|
+
this.callbacks.push(function () {
|
|
569
|
+
if (callback) {
|
|
570
|
+
try {
|
|
571
|
+
callback.call(ctx);
|
|
572
|
+
} catch (e) {
|
|
573
|
+
console.error('Error in nextTick:', e);
|
|
574
|
+
}
|
|
575
|
+
} else if (_resolve) {
|
|
576
|
+
_resolve();
|
|
628
577
|
}
|
|
629
578
|
});
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
* @param version 版本号
|
|
634
|
-
* @param range 范围版本
|
|
635
|
-
* @returns 是否匹配
|
|
636
|
-
*/;
|
|
637
|
-
VersionUtil.caretRange = function caretRange(version, range) {
|
|
638
|
-
var normalize = function normalize(v) {
|
|
639
|
-
return v.replace(/^v/, '').split(/[-+]/)[0].split('.');
|
|
640
|
-
};
|
|
641
|
-
var vParts = normalize(version);
|
|
642
|
-
var rParts = normalize(range);
|
|
643
|
-
// 找到第一个非零部分
|
|
644
|
-
var firstNonZero = 0;
|
|
645
|
-
for (var i = 0; i < rParts.length; i++) {
|
|
646
|
-
if (parseInt(rParts[i], 10) !== 0) {
|
|
647
|
-
firstNonZero = i;
|
|
648
|
-
break;
|
|
649
|
-
}
|
|
579
|
+
if (!this.pending) {
|
|
580
|
+
this.pending = true;
|
|
581
|
+
this.timerFunc();
|
|
650
582
|
}
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
583
|
+
if (!callback && typeof Promise !== 'undefined') {
|
|
584
|
+
return new Promise(function (resolve) {
|
|
585
|
+
_resolve = resolve;
|
|
586
|
+
});
|
|
655
587
|
}
|
|
656
|
-
return this.compare(version, range) >= 0;
|
|
657
|
-
}
|
|
658
|
-
/**
|
|
659
|
-
* 处理 ~ 范围 (允许修改最后一位数字)
|
|
660
|
-
* @param version 版本号
|
|
661
|
-
* @param range 范围版本
|
|
662
|
-
* @returns 是否匹配
|
|
663
|
-
*/;
|
|
664
|
-
VersionUtil.tildeRange = function tildeRange(version, range) {
|
|
665
|
-
var normalize = function normalize(v) {
|
|
666
|
-
return v.replace(/^v/, '').split(/[-+]/)[0].split('.');
|
|
667
|
-
};
|
|
668
|
-
var vParts = normalize(version);
|
|
669
|
-
var rParts = normalize(range);
|
|
670
|
-
for (var i = 0; i < rParts.length - 1; i++) {
|
|
671
|
-
var vNum = parseInt(vParts[i] || '0', 10);
|
|
672
|
-
var rNum = parseInt(rParts[i] || '0', 10);
|
|
673
|
-
if (vNum !== rNum) return false;
|
|
674
|
-
}
|
|
675
|
-
var lastVNum = parseInt(vParts[rParts.length - 1] || '0', 10);
|
|
676
|
-
var lastRNum = parseInt(rParts[rParts.length - 1] || '0', 10);
|
|
677
|
-
return lastVNum >= lastRNum;
|
|
678
|
-
}
|
|
679
|
-
/**
|
|
680
|
-
* 获取主版本号 (major)
|
|
681
|
-
* @param version 版本号
|
|
682
|
-
* @returns 主版本号
|
|
683
|
-
*/;
|
|
684
|
-
VersionUtil.getMajor = function getMajor(version) {
|
|
685
|
-
if (!this.isValid(version)) throw new Error('Invalid version format');
|
|
686
|
-
var parts = version.replace(/^v/, '').split('.');
|
|
687
|
-
return parseInt(parts[0], 10);
|
|
688
|
-
}
|
|
689
|
-
/**
|
|
690
|
-
* 获取次版本号 (minor)
|
|
691
|
-
* @param version 版本号
|
|
692
|
-
* @returns 次版本号
|
|
693
|
-
*/;
|
|
694
|
-
VersionUtil.getMinor = function getMinor(version) {
|
|
695
|
-
if (!this.isValid(version)) throw new Error('Invalid version format');
|
|
696
|
-
var parts = version.replace(/^v/, '').split('.');
|
|
697
|
-
return parseInt(parts[1] || '0', 10);
|
|
698
|
-
}
|
|
699
|
-
/**
|
|
700
|
-
* 获取修订号 (patch)
|
|
701
|
-
* @param version 版本号
|
|
702
|
-
* @returns 修订号
|
|
703
|
-
*/;
|
|
704
|
-
VersionUtil.getPatch = function getPatch(version) {
|
|
705
|
-
if (!this.isValid(version)) throw new Error('Invalid version format');
|
|
706
|
-
var parts = version.replace(/^v/, '').split('.');
|
|
707
|
-
return parseInt(parts[2] || '0', 10);
|
|
708
|
-
}
|
|
709
|
-
/**
|
|
710
|
-
* 获取预发布版本标识
|
|
711
|
-
* @param version 版本号
|
|
712
|
-
* @returns 预发布标识 (无则返回null)
|
|
713
|
-
*/;
|
|
714
|
-
VersionUtil.getPrerelease = function getPrerelease(version) {
|
|
715
|
-
if (!this.isValid(version)) throw new Error('Invalid version format');
|
|
716
|
-
var match = version.match(/-([^+]+)/);
|
|
717
|
-
return match ? match[1] : null;
|
|
718
|
-
}
|
|
719
|
-
/**
|
|
720
|
-
* 获取构建元数据
|
|
721
|
-
* @param version 版本号
|
|
722
|
-
* @returns 构建元数据 (无则返回null)
|
|
723
|
-
*/;
|
|
724
|
-
VersionUtil.getBuildMetadata = function getBuildMetadata(version) {
|
|
725
|
-
if (!this.isValid(version)) throw new Error('Invalid version format');
|
|
726
|
-
var match = version.match(/\+([^]+)/);
|
|
727
|
-
return match ? match[1] : null;
|
|
728
588
|
};
|
|
729
|
-
|
|
589
|
+
NextTick.nextTick = function nextTick(callback, ctx) {
|
|
590
|
+
return NextTick.instance.nextTick(callback, ctx);
|
|
591
|
+
};
|
|
592
|
+
return _createClass(NextTick, null, [{
|
|
593
|
+
key: "instance",
|
|
594
|
+
get: function get() {
|
|
595
|
+
if (!this._instance) {
|
|
596
|
+
this._instance = new NextTick();
|
|
597
|
+
}
|
|
598
|
+
return this._instance;
|
|
599
|
+
}
|
|
600
|
+
}]);
|
|
730
601
|
}();
|
|
602
|
+
var nextTick = /*#__PURE__*/NextTick.instance.nextTick.bind(NextTick.instance);
|
|
731
603
|
|
|
732
|
-
var
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
604
|
+
var createRoot = ReactDOMClient.createRoot;
|
|
605
|
+
var modalContainer = null;
|
|
606
|
+
var root = null;
|
|
607
|
+
function getOrCreateContainer() {
|
|
608
|
+
if (!modalContainer) {
|
|
609
|
+
modalContainer = document.createElement('div');
|
|
610
|
+
document.body.appendChild(modalContainer);
|
|
736
611
|
}
|
|
737
|
-
|
|
738
|
-
var MiThemeProvider = ThemeContext.Provider;
|
|
739
|
-
function useMiThemeConfig() {
|
|
740
|
-
return React.useContext(ThemeContext);
|
|
741
|
-
}
|
|
742
|
-
|
|
743
|
-
/**
|
|
744
|
-
* CompThemeProvider
|
|
745
|
-
*/
|
|
746
|
-
function CompThemeProvider(props) {
|
|
747
|
-
var _useMiThemeConfig = useMiThemeConfig(),
|
|
748
|
-
theme = _useMiThemeConfig.theme;
|
|
749
|
-
return React__default.createElement(antd.ConfigProvider, {
|
|
750
|
-
theme: theme
|
|
751
|
-
}, props.children);
|
|
612
|
+
return modalContainer;
|
|
752
613
|
}
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
var
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
};
|
|
762
|
-
var ItemsRow = function ItemsRow(props) {
|
|
763
|
-
if (!props.items) {
|
|
764
|
-
return null;
|
|
765
|
-
}
|
|
766
|
-
return React.createElement(CompThemeProvider, null, React.createElement("div", {
|
|
767
|
-
className: classname() + " " + (props.className || ''),
|
|
768
|
-
style: props.style
|
|
769
|
-
}, (props.items || []).map(function (item, index) {
|
|
770
|
-
var className = classname('item') + " " + item.className;
|
|
771
|
-
if (item.render) {
|
|
772
|
-
return React.createElement("span", {
|
|
773
|
-
key: index,
|
|
774
|
-
className: className
|
|
775
|
-
}, item.render());
|
|
614
|
+
function openModal(DialogComponent, initialConfig) {
|
|
615
|
+
var container = getOrCreateContainer();
|
|
616
|
+
var currentConfig = _extends({
|
|
617
|
+
open: true
|
|
618
|
+
}, initialConfig, {
|
|
619
|
+
// 默认自动关闭
|
|
620
|
+
onClosed: initialConfig.onClosed || function (params) {
|
|
621
|
+
unifiedDestroy(params);
|
|
776
622
|
}
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
}
|
|
786
|
-
|
|
787
|
-
function styleInject(css, ref) {
|
|
788
|
-
if ( ref === void 0 ) ref = {};
|
|
789
|
-
var insertAt = ref.insertAt;
|
|
790
|
-
|
|
791
|
-
if (!css || typeof document === 'undefined') { return; }
|
|
792
|
-
|
|
793
|
-
var head = document.head || document.getElementsByTagName('head')[0];
|
|
794
|
-
var style = document.createElement('style');
|
|
795
|
-
style.type = 'text/css';
|
|
796
|
-
|
|
797
|
-
if (insertAt === 'top') {
|
|
798
|
-
if (head.firstChild) {
|
|
799
|
-
head.insertBefore(style, head.firstChild);
|
|
800
|
-
} else {
|
|
801
|
-
head.appendChild(style);
|
|
623
|
+
});
|
|
624
|
+
if (!root) {
|
|
625
|
+
try {
|
|
626
|
+
root = createRoot(container);
|
|
627
|
+
} catch (error) {
|
|
628
|
+
console.error('Failed to create root:', error);
|
|
629
|
+
return {
|
|
630
|
+
destroy: function destroy() {},
|
|
631
|
+
update: function update() {}
|
|
632
|
+
};
|
|
802
633
|
}
|
|
803
|
-
} else {
|
|
804
|
-
head.appendChild(style);
|
|
805
634
|
}
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
style.appendChild(document.createTextNode(css));
|
|
811
|
-
}
|
|
812
|
-
}
|
|
813
|
-
|
|
814
|
-
var css_248z = "@keyframes m-breadcrumb_show_ani {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 100;\n }\n}\n.m-breadcrumb {\n position: relative;\n height: 64px;\n width: 100%;\n}\n.m-breadcrumb-container {\n transition: padding 0.3s ease;\n}\n.m-breadcrumb-body {\n border-radius: 8px;\n height: 64px;\n line-height: 64px;\n}\n.m-breadcrumb .ant-card-body {\n width: 100%;\n padding: 0 12px;\n align-items: center;\n}\n.m-breadcrumb .ant-affix {\n z-index: 999;\n}\n.ant-affix > .m-breadcrumb-container {\n z-index: 100;\n width: auto;\n box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n}\n.m-breadcrumb-inner-breadcrumb {\n display: inline-block;\n vertical-align: middle;\n line-height: 64px;\n}\n.m-breadcrumb-inner-breadcrumb .ant-breadcrumb-separator {\n margin: 0 8px;\n}\n.m-breadcrumb-inner-breadcrumb .ant-breadcrumb-link > a {\n transition: all 0.3s;\n padding: 4px 8px;\n display: inline-block;\n line-height: 1.5;\n}\n.m-breadcrumb-inner-breadcrumb .ant-breadcrumb-link > a:hover {\n font-weight: bold;\n text-decoration: none;\n opacity: 0.8;\n}\n.m-breadcrumb-custom-item-wrapper {\n float: right;\n height: 100%;\n display: flex;\n align-items: center;\n}";
|
|
815
|
-
styleInject(css_248z);
|
|
816
|
-
|
|
817
|
-
var classname$1 = function classname(n) {
|
|
818
|
-
if (n === void 0) {
|
|
819
|
-
n = '';
|
|
820
|
-
}
|
|
821
|
-
var cn = 'm-breadcrumb';
|
|
822
|
-
return getClassName(cn, n);
|
|
823
|
-
};
|
|
824
|
-
var MBreadcrumb = function MBreadcrumb(props) {
|
|
825
|
-
var routes = props.routes,
|
|
826
|
-
customItems = props.customItems,
|
|
827
|
-
style = props.style,
|
|
828
|
-
className = props.className,
|
|
829
|
-
_props$offsetTop = props.offsetTop,
|
|
830
|
-
offsetTop = _props$offsetTop === void 0 ? 64 : _props$offsetTop,
|
|
831
|
-
mainAppBaseUrl = props.mainAppBaseUrl,
|
|
832
|
-
microAppName = props.microAppName;
|
|
833
|
-
var affixRef = React.useRef(null);
|
|
834
|
-
var onScroll = React.useCallback(function () {
|
|
835
|
-
var _affixRef$current;
|
|
836
|
-
(_affixRef$current = affixRef.current) == null || _affixRef$current.updatePosition == null || _affixRef$current.updatePosition();
|
|
837
|
-
}, []);
|
|
838
|
-
React.useEffect(function () {
|
|
839
|
-
window.addEventListener('scroll', onScroll, true);
|
|
840
|
-
return function () {
|
|
841
|
-
return window.removeEventListener('scroll', onScroll);
|
|
842
|
-
};
|
|
843
|
-
}, [onScroll]);
|
|
844
|
-
var getUrl = React.useCallback(function (url) {
|
|
845
|
-
if (!url) return '';
|
|
846
|
-
var cleanedUrl = url.replace(/^\/+/, '');
|
|
847
|
-
var parts = [mainAppBaseUrl == null ? void 0 : mainAppBaseUrl.replace(/\/+$/, ''), microAppName == null ? void 0 : microAppName.replace(/\/+$/, ''), cleanedUrl].filter(Boolean);
|
|
848
|
-
return "/" + parts.join('/');
|
|
849
|
-
}, [mainAppBaseUrl, microAppName]);
|
|
850
|
-
return React.createElement(CompThemeProvider, null, React.createElement("div", {
|
|
851
|
-
className: classname$1() + " " + (className || ''),
|
|
852
|
-
style: style
|
|
853
|
-
}, React.createElement(antd.Affix, {
|
|
854
|
-
ref: affixRef,
|
|
855
|
-
offsetTop: offsetTop
|
|
856
|
-
}, React.createElement(antd.Card, {
|
|
857
|
-
className: classname$1('container'),
|
|
858
|
-
rootClassName: classname$1('body'),
|
|
859
|
-
variant: "borderless"
|
|
860
|
-
}, React.createElement(antd.Breadcrumb, {
|
|
861
|
-
className: classname$1('inner-breadcrumb'),
|
|
862
|
-
style: {
|
|
863
|
-
fontSize: '18px'
|
|
635
|
+
var cleanup = function cleanup() {
|
|
636
|
+
if (root) {
|
|
637
|
+
root.unmount();
|
|
638
|
+
root = null;
|
|
864
639
|
}
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
}, v.url ? React.createElement("a", {
|
|
869
|
-
href: "#" + getUrl(v.url)
|
|
870
|
-
}, v.name) : v.name);
|
|
871
|
-
})), React.createElement("div", {
|
|
872
|
-
className: classname$1('custom-item-wrapper')
|
|
873
|
-
}, React.createElement(ItemsRow, {
|
|
874
|
-
items: customItems
|
|
875
|
-
}))))));
|
|
876
|
-
};
|
|
877
|
-
|
|
878
|
-
var DetailDescriptions = function DetailDescriptions(props) {
|
|
879
|
-
var data = props.data,
|
|
880
|
-
title = props.title,
|
|
881
|
-
_props$column = props.column,
|
|
882
|
-
column = _props$column === void 0 ? 3 : _props$column,
|
|
883
|
-
lineHeight = props.lineHeight,
|
|
884
|
-
_props$align = props.align,
|
|
885
|
-
align = _props$align === void 0 ? 'left' : _props$align,
|
|
886
|
-
itemLayout = props.itemLayout,
|
|
887
|
-
_props$colon = props.colon,
|
|
888
|
-
colon = _props$colon === void 0 ? true : _props$colon,
|
|
889
|
-
_props$bordered = props.bordered,
|
|
890
|
-
bordered = _props$bordered === void 0 ? false : _props$bordered,
|
|
891
|
-
style = props.style,
|
|
892
|
-
className = props.className,
|
|
893
|
-
labelStyle = props.labelStyle,
|
|
894
|
-
contentStyle = props.contentStyle;
|
|
895
|
-
// 合并样式
|
|
896
|
-
var mergedLabelStyle = _extends({}, lineHeight ? {
|
|
897
|
-
lineHeight: lineHeight + "px"
|
|
898
|
-
} : {}, {
|
|
899
|
-
textAlign: align
|
|
900
|
-
}, itemLayout != null && itemLayout.label ? {
|
|
901
|
-
width: itemLayout.label + "px"
|
|
902
|
-
} : {}, labelStyle);
|
|
903
|
-
var mergedContentStyle = _extends({}, lineHeight ? {
|
|
904
|
-
lineHeight: lineHeight + "px"
|
|
905
|
-
} : {}, itemLayout != null && itemLayout.value ? {
|
|
906
|
-
width: itemLayout.value + "px"
|
|
907
|
-
} : {}, contentStyle);
|
|
908
|
-
return React__default.createElement(CompThemeProvider, null, React__default.createElement(antd.Descriptions, {
|
|
909
|
-
title: title,
|
|
910
|
-
column: column,
|
|
911
|
-
colon: colon,
|
|
912
|
-
bordered: bordered,
|
|
913
|
-
style: style,
|
|
914
|
-
className: className,
|
|
915
|
-
labelStyle: mergedLabelStyle,
|
|
916
|
-
contentStyle: mergedContentStyle
|
|
917
|
-
}, data.map(function (item, index) {
|
|
918
|
-
var _item$label;
|
|
919
|
-
return React__default.createElement(antd.Descriptions.Item, {
|
|
920
|
-
label: item.label,
|
|
921
|
-
key: ((_item$label = item.label) == null ? void 0 : _item$label.toString()) || index,
|
|
922
|
-
span: item.span
|
|
923
|
-
}, item.value || '-');
|
|
924
|
-
})));
|
|
925
|
-
};
|
|
926
|
-
DetailDescriptions.displayName = 'DetailDescriptions';
|
|
927
|
-
|
|
928
|
-
var css_248z$1 = ".m-form-item-wrapper {\n max-width: 480px;\n}\n.m-form .error-message {\n color: red;\n font-size: 12px;\n margin-top: 4px;\n}";
|
|
929
|
-
styleInject(css_248z$1);
|
|
930
|
-
|
|
931
|
-
(function (MFormItemTypeEnum) {
|
|
932
|
-
MFormItemTypeEnum["Input"] = "input";
|
|
933
|
-
MFormItemTypeEnum["InputNumber"] = "inputNumber";
|
|
934
|
-
MFormItemTypeEnum["Text"] = "text";
|
|
935
|
-
MFormItemTypeEnum["Password"] = "password";
|
|
936
|
-
MFormItemTypeEnum["Radio"] = "radio";
|
|
937
|
-
MFormItemTypeEnum["Select"] = "select";
|
|
938
|
-
MFormItemTypeEnum["Checkbox"] = "checkbox";
|
|
939
|
-
MFormItemTypeEnum["DatePicker"] = "datePicker";
|
|
940
|
-
MFormItemTypeEnum["RangePicker"] = "rangePicker";
|
|
941
|
-
MFormItemTypeEnum["Upload"] = "upload";
|
|
942
|
-
MFormItemTypeEnum["Mentions"] = "mentions";
|
|
943
|
-
MFormItemTypeEnum["Cascader"] = "cascader";
|
|
944
|
-
MFormItemTypeEnum["TreeSelect"] = "treeSelect";
|
|
945
|
-
// Slider = 'slider',
|
|
946
|
-
})(exports.MFormItemTypeEnum || (exports.MFormItemTypeEnum = {}));
|
|
947
|
-
// | IMFormSliderItem;
|
|
948
|
-
|
|
949
|
-
var RangePicker = antd.DatePicker.RangePicker;
|
|
950
|
-
var MFormItemConst = /*#__PURE__*/function () {
|
|
951
|
-
function MFormItemConst() {}
|
|
952
|
-
MFormItemConst.getDefaultArrayPlaceholder = function getDefaultArrayPlaceholder(item) {
|
|
953
|
-
var placeholder;
|
|
954
|
-
switch (item.type) {
|
|
955
|
-
case 'rangePicker':
|
|
956
|
-
placeholder = ['开始时间', '结束时间'];
|
|
957
|
-
break;
|
|
640
|
+
if (modalContainer && modalContainer.parentNode) {
|
|
641
|
+
modalContainer.parentNode.removeChild(modalContainer);
|
|
642
|
+
modalContainer = null;
|
|
958
643
|
}
|
|
959
|
-
return placeholder;
|
|
960
644
|
};
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
case exports.MFormItemTypeEnum.Input:
|
|
965
|
-
case exports.MFormItemTypeEnum.Password:
|
|
966
|
-
case exports.MFormItemTypeEnum.InputNumber:
|
|
967
|
-
case exports.MFormItemTypeEnum.Text:
|
|
968
|
-
case exports.MFormItemTypeEnum.Mentions:
|
|
969
|
-
placeholder = "\u8BF7\u8F93\u5165" + item.label;
|
|
970
|
-
break;
|
|
971
|
-
case exports.MFormItemTypeEnum.Select:
|
|
972
|
-
case exports.MFormItemTypeEnum.Checkbox:
|
|
973
|
-
case exports.MFormItemTypeEnum.Radio:
|
|
974
|
-
case exports.MFormItemTypeEnum.DatePicker:
|
|
975
|
-
case exports.MFormItemTypeEnum.RangePicker:
|
|
976
|
-
case exports.MFormItemTypeEnum.Cascader:
|
|
977
|
-
case exports.MFormItemTypeEnum.Upload:
|
|
978
|
-
case exports.MFormItemTypeEnum.TreeSelect:
|
|
979
|
-
placeholder = "\u8BF7\u9009\u62E9" + item.label;
|
|
980
|
-
break;
|
|
645
|
+
var _destroy = function destroy(params) {
|
|
646
|
+
if (typeof currentConfig.onClosed === 'function') {
|
|
647
|
+
currentConfig.onClosed(params);
|
|
981
648
|
}
|
|
982
|
-
|
|
649
|
+
// 销毁 modal
|
|
650
|
+
cleanup();
|
|
983
651
|
};
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
span: 7
|
|
988
|
-
};
|
|
989
|
-
MFormItemConst.wrapperCol = {
|
|
990
|
-
span: 17
|
|
991
|
-
};
|
|
992
|
-
MFormItemConst.defaultRowGutter = 24;
|
|
993
|
-
MFormItemConst.input = function (item) {
|
|
994
|
-
return React__default.createElement(antd.Input, Object.assign({
|
|
995
|
-
disabled: item.disabled,
|
|
996
|
-
maxLength: item.maxLength
|
|
997
|
-
}, item.props, {
|
|
998
|
-
placeholder: item.placeholder || MFormItemConst.getDefaultPlaceholder(item)
|
|
999
|
-
}));
|
|
1000
|
-
};
|
|
1001
|
-
MFormItemConst.password = function (item) {
|
|
1002
|
-
return React__default.createElement(antd.Input.Password, Object.assign({
|
|
1003
|
-
disabled: item.disabled
|
|
1004
|
-
}, item.props, {
|
|
1005
|
-
placeholder: item.placeholder || MFormItemConst.getDefaultPlaceholder(item)
|
|
1006
|
-
}));
|
|
1007
|
-
};
|
|
1008
|
-
MFormItemConst.text = function (item) {
|
|
1009
|
-
return React__default.createElement(antd.Input.TextArea, Object.assign({
|
|
1010
|
-
disabled: item.disabled,
|
|
1011
|
-
maxLength: item.maxLength
|
|
1012
|
-
}, item.props, {
|
|
1013
|
-
placeholder: item.placeholder || MFormItemConst.getDefaultPlaceholder(item)
|
|
1014
|
-
}));
|
|
1015
|
-
};
|
|
1016
|
-
MFormItemConst.inputNumber = function (item) {
|
|
1017
|
-
return React__default.createElement(antd.InputNumber, Object.assign({
|
|
1018
|
-
disabled: item.disabled,
|
|
1019
|
-
maxLength: item.maxLength
|
|
1020
|
-
}, item.props, {
|
|
1021
|
-
placeholder: item.placeholder || MFormItemConst.getDefaultPlaceholder(item)
|
|
1022
|
-
}));
|
|
1023
|
-
};
|
|
1024
|
-
MFormItemConst.datePicker = function (item) {
|
|
1025
|
-
return React__default.createElement(antd.DatePicker, Object.assign({
|
|
1026
|
-
disabled: item.disabled
|
|
1027
|
-
}, item.props, {
|
|
1028
|
-
placeholder: item.placeholder || MFormItemConst.getDefaultPlaceholder(item)
|
|
1029
|
-
}));
|
|
1030
|
-
};
|
|
1031
|
-
MFormItemConst.rangePicker = function (item) {
|
|
1032
|
-
return React__default.createElement(RangePicker, Object.assign({
|
|
1033
|
-
disabled: item.disabled
|
|
1034
|
-
}, item.props, {
|
|
1035
|
-
placeholder: item.placeholder || MFormItemConst.getDefaultArrayPlaceholder(item)
|
|
1036
|
-
}));
|
|
1037
|
-
};
|
|
1038
|
-
MFormItemConst.select = function (item) {
|
|
1039
|
-
return React__default.createElement(antd.Select, Object.assign({}, item.props, {
|
|
1040
|
-
disabled: item.disabled,
|
|
1041
|
-
placeholder: item.placeholder || MFormItemConst.getDefaultPlaceholder(item)
|
|
1042
|
-
}));
|
|
1043
|
-
};
|
|
1044
|
-
MFormItemConst.radio = function (item) {
|
|
1045
|
-
return React__default.createElement(antd.Radio.Group, Object.assign({
|
|
1046
|
-
disabled: item.disabled
|
|
1047
|
-
}, item.props));
|
|
1048
|
-
};
|
|
1049
|
-
MFormItemConst.checkbox = function (item) {
|
|
1050
|
-
return React__default.createElement(antd.Checkbox.Group, Object.assign({
|
|
1051
|
-
disabled: item.disabled
|
|
1052
|
-
}, item.props));
|
|
1053
|
-
};
|
|
1054
|
-
MFormItemConst.upload = function (item) {
|
|
1055
|
-
return React__default.createElement(antd.Upload, Object.assign({
|
|
1056
|
-
defaultFileList: item.initialValue
|
|
1057
|
-
}, item.props), item.children || React__default.createElement(antd.Button, null, React__default.createElement(icons.UploadOutlined, null), " \u70B9\u51FB\u4E0A\u4F20"));
|
|
1058
|
-
};
|
|
1059
|
-
MFormItemConst.mentions = function (item) {
|
|
1060
|
-
return React__default.createElement(antd.Mentions, Object.assign({}, item.props, {
|
|
1061
|
-
placeholder: item.placeholder || MFormItemConst.getDefaultPlaceholder(item)
|
|
1062
|
-
}));
|
|
1063
|
-
};
|
|
1064
|
-
MFormItemConst.cascader = function (item) {
|
|
1065
|
-
return React__default.createElement(antd.Cascader, Object.assign({}, item.props, {
|
|
1066
|
-
placeholder: item.placeholder || MFormItemConst.getDefaultPlaceholder(item)
|
|
1067
|
-
}));
|
|
1068
|
-
};
|
|
1069
|
-
MFormItemConst.treeSelect = function (item) {
|
|
1070
|
-
return React__default.createElement(antd.TreeSelect, Object.assign({}, item.props, {
|
|
1071
|
-
placeholder: item.placeholder || MFormItemConst.getDefaultPlaceholder(item)
|
|
1072
|
-
}));
|
|
1073
|
-
};
|
|
1074
|
-
|
|
1075
|
-
var classname$2 = function classname(n) {
|
|
1076
|
-
if (n === void 0) {
|
|
1077
|
-
n = '';
|
|
1078
|
-
}
|
|
1079
|
-
var cn = 'm-form';
|
|
1080
|
-
return getClassName(cn, n);
|
|
1081
|
-
};
|
|
1082
|
-
function MForm(props) {
|
|
1083
|
-
var formProps = props.formProps,
|
|
1084
|
-
_props$formItems = props.formItems,
|
|
1085
|
-
formItems = _props$formItems === void 0 ? [] : _props$formItems,
|
|
1086
|
-
_props$column = props.column,
|
|
1087
|
-
column = _props$column === void 0 ? 1 : _props$column,
|
|
1088
|
-
form = props.form,
|
|
1089
|
-
itemLayout = props.itemLayout,
|
|
1090
|
-
formRowProps = props.formRowProps;
|
|
1091
|
-
var renderItem = function renderItem(item, form) {
|
|
1092
|
-
if (item.render) {
|
|
1093
|
-
return item.render(form);
|
|
1094
|
-
}
|
|
1095
|
-
var func = MFormItemConst[item.type];
|
|
1096
|
-
if (item && item.type && func) {
|
|
1097
|
-
var renderFunc = func;
|
|
1098
|
-
return renderFunc(item);
|
|
652
|
+
var render = function render(props) {
|
|
653
|
+
if (root) {
|
|
654
|
+
root.render(React__default.createElement(DialogComponent, Object.assign({}, props)));
|
|
1099
655
|
}
|
|
1100
|
-
return React__default.createElement("div", {
|
|
1101
|
-
className: "error-message"
|
|
1102
|
-
}, "Invalid form item configuration");
|
|
1103
656
|
};
|
|
1104
|
-
var
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
657
|
+
var update = function update(configUpdate) {
|
|
658
|
+
currentConfig = typeof configUpdate === 'function' ? configUpdate(currentConfig) : _extends({}, currentConfig, configUpdate);
|
|
659
|
+
render(currentConfig);
|
|
660
|
+
};
|
|
661
|
+
// 统一的销毁函数
|
|
662
|
+
var unifiedDestroy = function unifiedDestroy(params) {
|
|
663
|
+
// 如果当前配置是打开的,关闭
|
|
664
|
+
if (currentConfig.open) {
|
|
665
|
+
currentConfig = _extends({}, currentConfig, {
|
|
666
|
+
open: false,
|
|
667
|
+
onClosed: function onClosed(closedParams) {
|
|
668
|
+
if (initialConfig.onClosed) {
|
|
669
|
+
initialConfig.onClosed(closedParams || params);
|
|
670
|
+
}
|
|
671
|
+
_destroy(closedParams || params);
|
|
672
|
+
}
|
|
1113
673
|
});
|
|
674
|
+
render(currentConfig);
|
|
675
|
+
} else {
|
|
676
|
+
console.warn('Modal is already closed.');
|
|
1114
677
|
}
|
|
1115
|
-
var formItemLayout = _extends({
|
|
1116
|
-
labelCol: MFormItemConst.labelCol,
|
|
1117
|
-
wrapperCol: MFormItemConst.wrapperCol
|
|
1118
|
-
}, itemLayout, item.itemLayout);
|
|
1119
|
-
return React__default.createElement(antd.Col, {
|
|
1120
|
-
key: "col-" + item.id,
|
|
1121
|
-
span: item.span || 24 / column
|
|
1122
|
-
}, React__default.createElement("div", {
|
|
1123
|
-
className: classname$2('item-wrapper')
|
|
1124
|
-
}, React__default.createElement(antd.Form.Item, Object.assign({
|
|
1125
|
-
label: item.label,
|
|
1126
|
-
name: item.id,
|
|
1127
|
-
rules: rules,
|
|
1128
|
-
initialValue: item.initialValue
|
|
1129
|
-
}, formItemLayout, item.formItemProps), renderItem(item, form))));
|
|
1130
678
|
};
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
}
|
|
1136
|
-
gutter: MFormItemConst.defaultRowGutter
|
|
1137
|
-
}, formRowProps, {
|
|
1138
|
-
className: classname$2('grid') + " " + (formRowProps == null ? void 0 : formRowProps.className)
|
|
1139
|
-
}), formItems.map(function (e) {
|
|
1140
|
-
return renderFormItem(e);
|
|
1141
|
-
}))));
|
|
679
|
+
render(currentConfig);
|
|
680
|
+
return {
|
|
681
|
+
destroy: unifiedDestroy,
|
|
682
|
+
update: update
|
|
683
|
+
};
|
|
1142
684
|
}
|
|
1143
|
-
MForm.displayName = 'MForm';
|
|
1144
685
|
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
var
|
|
1148
|
-
var
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
return {
|
|
1160
|
-
algorithm: [antd.theme.defaultAlgorithm]
|
|
1161
|
-
};
|
|
686
|
+
var noop = function noop() {};
|
|
687
|
+
// 生成类名
|
|
688
|
+
var getClassName = function getClassName(key1, key2) {
|
|
689
|
+
var cn = key1;
|
|
690
|
+
var str = key1;
|
|
691
|
+
if (key2.includes(' ')) {
|
|
692
|
+
str = '';
|
|
693
|
+
var nArr = key2 == null ? void 0 : key2.split(' ');
|
|
694
|
+
for (var _iterator = _createForOfIteratorHelperLoose(nArr), _step; !(_step = _iterator()).done;) {
|
|
695
|
+
var i = _step.value;
|
|
696
|
+
str += " " + cn + "-" + i;
|
|
697
|
+
}
|
|
698
|
+
} else if (key2) {
|
|
699
|
+
str = key1 + "-" + key2;
|
|
1162
700
|
}
|
|
701
|
+
return str;
|
|
1163
702
|
};
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
cancel: true
|
|
1172
|
-
});
|
|
1173
|
-
};
|
|
1174
|
-
_this.handleOk = function (e) {
|
|
1175
|
-
_this.props.onOk == null || _this.props.onOk(e);
|
|
1176
|
-
_this.props.onClosed == null || _this.props.onClosed({
|
|
1177
|
-
ok: true
|
|
1178
|
-
});
|
|
1179
|
-
};
|
|
1180
|
-
return _this;
|
|
703
|
+
// 根据路径获取数据
|
|
704
|
+
var getFieldsByPath = function getFieldsByPath(data, path) {
|
|
705
|
+
var arr = path == null ? void 0 : path.split('.');
|
|
706
|
+
var res = data;
|
|
707
|
+
for (var _iterator2 = _createForOfIteratorHelperLoose(arr), _step2; !(_step2 = _iterator2()).done;) {
|
|
708
|
+
var i = _step2.value;
|
|
709
|
+
res = res[i];
|
|
1181
710
|
}
|
|
1182
|
-
|
|
1183
|
-
var _proto = MiModal.prototype;
|
|
1184
|
-
_proto.getTheme = function getTheme() {
|
|
1185
|
-
var mode = this.props.mode || globalMode;
|
|
1186
|
-
return getThemeConfig(mode);
|
|
1187
|
-
};
|
|
1188
|
-
_proto.render = function render() {
|
|
1189
|
-
return React__default.createElement(antd.ConfigProvider, {
|
|
1190
|
-
theme: this.getTheme(),
|
|
1191
|
-
componentSize: "middle",
|
|
1192
|
-
componentDisabled: false
|
|
1193
|
-
}, React__default.createElement(antd.Modal, Object.assign({
|
|
1194
|
-
maskClosable: false,
|
|
1195
|
-
open: this.props.open,
|
|
1196
|
-
onCancel: this.handleCancel,
|
|
1197
|
-
onOk: this.handleOk,
|
|
1198
|
-
okText: "\u786E\u5B9A",
|
|
1199
|
-
cancelText: "\u53D6\u6D88"
|
|
1200
|
-
}, this.props), this.props.children));
|
|
1201
|
-
};
|
|
1202
|
-
return MiModal;
|
|
1203
|
-
}(React.Component); // 静态方法设置全局模式并更新所有弹窗
|
|
1204
|
-
MiModal.setMode = function (mode) {
|
|
1205
|
-
globalMode = mode;
|
|
1206
|
-
// 更新所有已打开的弹窗
|
|
1207
|
-
modalInstances.forEach(function (instance) {
|
|
1208
|
-
instance.update({
|
|
1209
|
-
mode: mode
|
|
1210
|
-
});
|
|
1211
|
-
});
|
|
1212
|
-
};
|
|
1213
|
-
// 静态方法设置全局ThemeConfig
|
|
1214
|
-
MiModal.setThemeConfig = function (fn) {
|
|
1215
|
-
getThemeConfig = fn;
|
|
711
|
+
return res;
|
|
1216
712
|
};
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
modalInstances.push(instance);
|
|
1223
|
-
// 添加销毁时的清理逻辑
|
|
1224
|
-
var originalDestroy = instance.destroy;
|
|
1225
|
-
instance.destroy = function () {
|
|
1226
|
-
var index = modalInstances.indexOf(instance);
|
|
1227
|
-
if (index !== -1) {
|
|
1228
|
-
modalInstances.splice(index, 1);
|
|
713
|
+
// 删除空值
|
|
714
|
+
var removeNull = function removeNull(obj) {
|
|
715
|
+
for (var key in obj) {
|
|
716
|
+
if (obj[key] === null) {
|
|
717
|
+
delete obj[key];
|
|
1229
718
|
}
|
|
1230
|
-
return originalDestroy.apply(void 0, arguments);
|
|
1231
|
-
};
|
|
1232
|
-
return instance;
|
|
1233
|
-
};
|
|
1234
|
-
|
|
1235
|
-
var css_248z$2 = ".m-search {\n position: relative;\n border-radius: 8px;\n}\n.m-search .ant-card {\n margin: 0;\n padding: 16px 0;\n}\n.m-search .ant-card .ant-card-body {\n padding: 0;\n border-radius: 0;\n}\n.m-search-form {\n position: relative;\n margin-right: 20px;\n}\n.m-search-btn-wrapper {\n display: inline-block;\n}\n.m-search-collapsed .m-search-btn-wrapper {\n position: absolute;\n right: 0px;\n top: 0;\n display: flex;\n height: 100%;\n align-items: center;\n}\n.m-search .ant-form-item {\n margin-bottom: 10px;\n}\n.m-search-collapsed .ant-form-item {\n margin-bottom: 0;\n}\n.m-search-footer {\n text-align: right;\n padding: 10px 20px;\n}\n.m-search-btn {\n margin-left: 10px;\n}\n.m-search-btn-collapse {\n display: inline-block;\n cursor: pointer;\n}\n.m-search .ant-calendar-picker {\n width: auto !important;\n}";
|
|
1236
|
-
styleInject(css_248z$2);
|
|
1237
|
-
|
|
1238
|
-
var ENTER_KEY_CODE = 13; // 回车键的值为13
|
|
1239
|
-
var classname$3 = function classname(n) {
|
|
1240
|
-
if (n === void 0) {
|
|
1241
|
-
n = '';
|
|
1242
719
|
}
|
|
1243
|
-
|
|
1244
|
-
return getClassName(cn, n);
|
|
720
|
+
return obj;
|
|
1245
721
|
};
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
defaultShowAll = _props$defaultShowAll === void 0 ? false : _props$defaultShowAll,
|
|
1253
|
-
_props$customButtons = props.customButtons,
|
|
1254
|
-
customButtons = _props$customButtons === void 0 ? [] : _props$customButtons,
|
|
1255
|
-
propsForm = props.form;
|
|
1256
|
-
var _useState = React.useState(defaultShowAll),
|
|
1257
|
-
showAll = _useState[0],
|
|
1258
|
-
setShowAll = _useState[1];
|
|
1259
|
-
var _Form$useForm = antd.Form.useForm(),
|
|
1260
|
-
curForm = _Form$useForm[0];
|
|
1261
|
-
var searchWrap = React.useRef(null);
|
|
1262
|
-
var form = propsForm != null ? propsForm : curForm;
|
|
1263
|
-
// 键盘按下事件处理
|
|
1264
|
-
var onEnterKeySearch = function onEnterKeySearch(keyObj) {
|
|
1265
|
-
var keyCode = keyObj.keyCode;
|
|
1266
|
-
if (keyCode === ENTER_KEY_CODE) {
|
|
1267
|
-
search();
|
|
722
|
+
// 防抖函数
|
|
723
|
+
var debounce = function debounce(func, wait) {
|
|
724
|
+
var timeout = null;
|
|
725
|
+
return function () {
|
|
726
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
727
|
+
args[_key] = arguments[_key];
|
|
1268
728
|
}
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
React.useEffect(function () {
|
|
1272
|
-
var currentWrap = searchWrap.current;
|
|
1273
|
-
currentWrap == null || currentWrap.addEventListener('keydown', onEnterKeySearch);
|
|
1274
|
-
return function () {
|
|
1275
|
-
currentWrap == null || currentWrap.removeEventListener('keydown', onEnterKeySearch);
|
|
1276
|
-
};
|
|
1277
|
-
}, []);
|
|
1278
|
-
// 重置表单
|
|
1279
|
-
var reset = function reset() {
|
|
1280
|
-
form == null || form.resetFields();
|
|
1281
|
-
search(true);
|
|
1282
|
-
};
|
|
1283
|
-
// 搜索函数
|
|
1284
|
-
var search = function search(isReset) {
|
|
1285
|
-
if (isReset === void 0) {
|
|
1286
|
-
isReset = false;
|
|
729
|
+
if (timeout) {
|
|
730
|
+
clearTimeout(timeout);
|
|
1287
731
|
}
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
});
|
|
732
|
+
timeout = setTimeout(function () {
|
|
733
|
+
func.apply(void 0, args);
|
|
734
|
+
}, wait);
|
|
1292
735
|
};
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
}
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
type: "primary"
|
|
1312
|
-
}, "\u641C\u7D22")), hasMore && React__default.createElement("div", {
|
|
1313
|
-
className: classname$3('btn btn-collapse'),
|
|
1314
|
-
onClick: function onClick() {
|
|
1315
|
-
return setShowAll(!showAll);
|
|
736
|
+
};
|
|
737
|
+
// 节流函数
|
|
738
|
+
var throttle = function throttle(func, wait) {
|
|
739
|
+
var timeout = null;
|
|
740
|
+
var lastTime = 0;
|
|
741
|
+
return function () {
|
|
742
|
+
var nowTime = Date.now();
|
|
743
|
+
if (!timeout) {
|
|
744
|
+
func.apply(void 0, arguments);
|
|
745
|
+
lastTime = nowTime;
|
|
746
|
+
timeout = setTimeout(function () {
|
|
747
|
+
timeout = null;
|
|
748
|
+
}, wait);
|
|
749
|
+
} else {
|
|
750
|
+
var diffTime = nowTime - lastTime;
|
|
751
|
+
if (diffTime >= wait) {
|
|
752
|
+
func.apply(void 0, arguments);
|
|
753
|
+
lastTime = nowTime;
|
|
1316
754
|
}
|
|
1317
|
-
}, React__default.createElement("span", null, showAll ? '收起' : '展开'), showAll ? React__default.createElement(icons.CaretUpOutlined, null) : React__default.createElement(icons.CaretDownOutlined, null)));
|
|
1318
|
-
};
|
|
1319
|
-
// 处理搜索项显示/隐藏
|
|
1320
|
-
var processedSearchItems = searchItems.map(function (item, idx) {
|
|
1321
|
-
var newItem = _extends({}, item);
|
|
1322
|
-
if (searchItems.length > 2 && idx >= 2 && !showAll) {
|
|
1323
|
-
var _item$formItemProps;
|
|
1324
|
-
newItem.formItemProps = _extends({}, item.formItemProps, {
|
|
1325
|
-
style: _extends({}, (_item$formItemProps = item.formItemProps) == null ? void 0 : _item$formItemProps.style, {
|
|
1326
|
-
display: 'none'
|
|
1327
|
-
})
|
|
1328
|
-
});
|
|
1329
755
|
}
|
|
1330
|
-
|
|
1331
|
-
});
|
|
1332
|
-
var hasMore = searchItems.length > 2;
|
|
1333
|
-
return React__default.createElement(CompThemeProvider, null, React__default.createElement("div", {
|
|
1334
|
-
className: classname$3('') + " " + (showAll ? '' : classname$3('collapsed')) + " " + (className || ''),
|
|
1335
|
-
ref: searchWrap
|
|
1336
|
-
}, React__default.createElement(antd.Card, null, React__default.createElement("div", {
|
|
1337
|
-
className: classname$3('form')
|
|
1338
|
-
}, React__default.createElement(MForm, {
|
|
1339
|
-
form: form,
|
|
1340
|
-
formItems: processedSearchItems,
|
|
1341
|
-
column: 3
|
|
1342
|
-
}), (!hasMore || hasMore && !showAll) && renderSearchButtons()), hasMore && showAll && React__default.createElement("div", {
|
|
1343
|
-
className: classname$3('footer')
|
|
1344
|
-
}, renderSearchButtons()))));
|
|
756
|
+
};
|
|
1345
757
|
};
|
|
1346
758
|
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
759
|
+
/**
|
|
760
|
+
* 版本号工具类
|
|
761
|
+
* 支持语义化版本 (SemVer) 和基本版本号比较
|
|
762
|
+
*/
|
|
763
|
+
var VersionUtil = /*#__PURE__*/function () {
|
|
764
|
+
function VersionUtil() {}
|
|
765
|
+
/**
|
|
766
|
+
* 验证版本号格式是否有效
|
|
767
|
+
* @param version 版本号字符串
|
|
768
|
+
* @returns 是否有效
|
|
769
|
+
*/
|
|
770
|
+
VersionUtil.isValid = function isValid(version) {
|
|
771
|
+
var semverRegex = /^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/i;
|
|
772
|
+
return semverRegex.test(version);
|
|
773
|
+
}
|
|
774
|
+
/**
|
|
775
|
+
* 比较两个版本号
|
|
776
|
+
* @param v1 版本号1
|
|
777
|
+
* @param v2 版本号2
|
|
778
|
+
* @returns 比较结果: 1(v1>v2), 0(v1=v2), -1(v1<v2)
|
|
779
|
+
*/;
|
|
780
|
+
VersionUtil.compare = function compare(v1, v2) {
|
|
781
|
+
if (!this.isValid(v1) || !this.isValid(v2)) {
|
|
782
|
+
throw new Error('Invalid version format');
|
|
1357
783
|
}
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
}
|
|
1362
|
-
MTable.displayName = 'MTable';
|
|
1363
|
-
|
|
1364
|
-
var DATE_FORMAT = {
|
|
1365
|
-
YMD_Hms: 'YYYY-MM-DD HH:mm:ss',
|
|
1366
|
-
YMD: 'YYYY-MM-DD',
|
|
1367
|
-
YMD2: 'YYYYMMDD',
|
|
1368
|
-
YMD_POINT: 'YYYY.M.DD',
|
|
1369
|
-
Hms: 'HH:mm:ss',
|
|
1370
|
-
Hm: 'HH:mm',
|
|
1371
|
-
YMD_000: 'YYYY-MM-DD 00:00:00',
|
|
1372
|
-
YMD_end: 'YYYY-MM-DD 23:59:59',
|
|
1373
|
-
YMD_Hm: 'YYYYMMDD HHmm'
|
|
1374
|
-
};
|
|
1375
|
-
|
|
1376
|
-
var PAGE_SIZE = 10;
|
|
1377
|
-
|
|
1378
|
-
var PatternType = function PatternType() {};
|
|
1379
|
-
// 整数
|
|
1380
|
-
PatternType.integerRegex = /^-?\d+$/;
|
|
1381
|
-
// 正整数
|
|
1382
|
-
PatternType.positiveIntegerRegex = /^[1-9]\d*$/;
|
|
1383
|
-
// 负整数
|
|
1384
|
-
PatternType.negativeIntegerRegex = /^-[1-9]\d*$/;
|
|
1385
|
-
// 浮点数
|
|
1386
|
-
PatternType.floatRegex = /^-?\d+(\.\d+)?$/;
|
|
1387
|
-
// 字母
|
|
1388
|
-
PatternType.letter = /^[a-zA-Z]+$/;
|
|
1389
|
-
// 汉字
|
|
1390
|
-
PatternType.chinese = /^[\u4e00-\u9fa5]+$/;
|
|
1391
|
-
// 数字
|
|
1392
|
-
PatternType.number = /^[0-9]*$/;
|
|
1393
|
-
// 用户名 字母开头,允许字母数字下划线,长度4-16
|
|
1394
|
-
PatternType.username = /^[a-zA-Z]\w{3,15}$/;
|
|
1395
|
-
// 强用户名 必须包含大小写字母和数字,6-20位
|
|
1396
|
-
PatternType.strongUsername = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{6,20}$/;
|
|
1397
|
-
// 密码 至少8位,包含字母和数字
|
|
1398
|
-
PatternType.password = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/;
|
|
1399
|
-
// 强密码 至少8位,包含大小写字母、数字和特殊字符
|
|
1400
|
-
PatternType.strongPassword = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
|
|
1401
|
-
// 中国大陆的手机号
|
|
1402
|
-
PatternType.phone = /^1[3-9]\d{9}$/;
|
|
1403
|
-
// 带区号的手机号
|
|
1404
|
-
PatternType.phoneWithAreaCode = /^\+?\d{2,3}-?\d{8,11}$/;
|
|
1405
|
-
// 邮箱
|
|
1406
|
-
PatternType.email = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
|
|
1407
|
-
// 身份证
|
|
1408
|
-
PatternType.idCard = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
|
|
1409
|
-
// 银行卡
|
|
1410
|
-
PatternType.bankCard = /^[1-9]\d{3,30}$/;
|
|
1411
|
-
// 邮政编码
|
|
1412
|
-
PatternType.zipCode = /^[1-9]\d{5}$/;
|
|
1413
|
-
// IP
|
|
1414
|
-
PatternType.ip = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
|
|
1415
|
-
// URL
|
|
1416
|
-
PatternType.url = /^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*\/?$/;
|
|
1417
|
-
// 车牌
|
|
1418
|
-
PatternType.carNumber = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/;
|
|
1419
|
-
// 时间 hh:mm:ss
|
|
1420
|
-
PatternType.time = /^([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/;
|
|
1421
|
-
// 日期 YYYY-MM-DD
|
|
1422
|
-
PatternType.date = /^(\d{4})-(\d{2})-(\d{2})$/;
|
|
1423
|
-
|
|
1424
|
-
function useFuncRequest(
|
|
1425
|
-
// 异步函数
|
|
1426
|
-
asyncFunc,
|
|
1427
|
-
// 配置项
|
|
1428
|
-
options) {
|
|
1429
|
-
var _useState = React.useState(false),
|
|
1430
|
-
loading = _useState[0],
|
|
1431
|
-
setLoading = _useState[1];
|
|
1432
|
-
var _useState2 = React.useState(null),
|
|
1433
|
-
error = _useState2[0],
|
|
1434
|
-
setError = _useState2[1];
|
|
1435
|
-
var _useState3 = React.useState(null),
|
|
1436
|
-
data = _useState3[0],
|
|
1437
|
-
setData = _useState3[1];
|
|
1438
|
-
var abortControllerRef = React.useRef(undefined);
|
|
1439
|
-
var requestIdRef = React.useRef(0);
|
|
1440
|
-
var cancel = function cancel() {
|
|
1441
|
-
var _abortControllerRef$c;
|
|
1442
|
-
(_abortControllerRef$c = abortControllerRef.current) == null || _abortControllerRef$c.abort();
|
|
1443
|
-
setLoading(false);
|
|
1444
|
-
setError(null);
|
|
1445
|
-
};
|
|
1446
|
-
var run = /*#__PURE__*/function () {
|
|
1447
|
-
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
1448
|
-
var currentRequestId,
|
|
1449
|
-
abortController,
|
|
1450
|
-
_len,
|
|
1451
|
-
args,
|
|
1452
|
-
_key,
|
|
1453
|
-
beforeRes,
|
|
1454
|
-
funcArgs,
|
|
1455
|
-
res,
|
|
1456
|
-
_args = arguments,
|
|
1457
|
-
_t;
|
|
1458
|
-
return _regenerator().w(function (_context) {
|
|
1459
|
-
while (1) switch (_context.p = _context.n) {
|
|
1460
|
-
case 0:
|
|
1461
|
-
currentRequestId = ++requestIdRef.current;
|
|
1462
|
-
cancel();
|
|
1463
|
-
abortController = new AbortController();
|
|
1464
|
-
abortControllerRef.current = abortController;
|
|
1465
|
-
_context.p = 1;
|
|
1466
|
-
setLoading(true);
|
|
1467
|
-
setError(null);
|
|
1468
|
-
for (_len = _args.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
1469
|
-
args[_key] = _args[_key];
|
|
1470
|
-
}
|
|
1471
|
-
if (!(options != null && options.onBefore)) {
|
|
1472
|
-
_context.n = 3;
|
|
1473
|
-
break;
|
|
1474
|
-
}
|
|
1475
|
-
_context.n = 2;
|
|
1476
|
-
return options == null || options.onBefore == null ? void 0 : options.onBefore.apply(options, args);
|
|
1477
|
-
case 2:
|
|
1478
|
-
beforeRes = _context.v;
|
|
1479
|
-
if (beforeRes) {
|
|
1480
|
-
_context.n = 3;
|
|
1481
|
-
break;
|
|
1482
|
-
}
|
|
1483
|
-
cancel();
|
|
1484
|
-
return _context.a(2);
|
|
1485
|
-
case 3:
|
|
1486
|
-
// 安全传递 AbortSignal
|
|
1487
|
-
funcArgs = args.length >= asyncFunc.length ? args : [].concat(args, [{
|
|
1488
|
-
signal: abortController.signal
|
|
1489
|
-
}]);
|
|
1490
|
-
_context.n = 4;
|
|
1491
|
-
return asyncFunc.apply(void 0, funcArgs);
|
|
1492
|
-
case 4:
|
|
1493
|
-
res = _context.v;
|
|
1494
|
-
if (!(!abortController.signal.aborted && currentRequestId === requestIdRef.current)) {
|
|
1495
|
-
_context.n = 5;
|
|
1496
|
-
break;
|
|
1497
|
-
}
|
|
1498
|
-
setData(res);
|
|
1499
|
-
_context.n = 5;
|
|
1500
|
-
return options == null || options.onSuccess == null ? void 0 : options.onSuccess(res);
|
|
1501
|
-
case 5:
|
|
1502
|
-
return _context.a(2, res);
|
|
1503
|
-
case 6:
|
|
1504
|
-
_context.p = 6;
|
|
1505
|
-
_t = _context.v;
|
|
1506
|
-
if (!(!abortController.signal.aborted && currentRequestId === requestIdRef.current)) {
|
|
1507
|
-
_context.n = 7;
|
|
1508
|
-
break;
|
|
1509
|
-
}
|
|
1510
|
-
setError(_t);
|
|
1511
|
-
_context.n = 7;
|
|
1512
|
-
return options == null || options.onError == null ? void 0 : options.onError(_t);
|
|
1513
|
-
case 7:
|
|
1514
|
-
throw _t;
|
|
1515
|
-
case 8:
|
|
1516
|
-
_context.p = 8;
|
|
1517
|
-
if (!(!abortController.signal.aborted && currentRequestId === requestIdRef.current)) {
|
|
1518
|
-
_context.n = 9;
|
|
1519
|
-
break;
|
|
1520
|
-
}
|
|
1521
|
-
setLoading(false);
|
|
1522
|
-
_context.n = 9;
|
|
1523
|
-
return options == null || options.onFinally == null ? void 0 : options.onFinally();
|
|
1524
|
-
case 9:
|
|
1525
|
-
return _context.f(8);
|
|
1526
|
-
case 10:
|
|
1527
|
-
return _context.a(2);
|
|
1528
|
-
}
|
|
1529
|
-
}, _callee, null, [[1, 6, 8, 10]]);
|
|
1530
|
-
}));
|
|
1531
|
-
return function run() {
|
|
1532
|
-
return _ref.apply(this, arguments);
|
|
784
|
+
// 去除前缀v并分割版本号
|
|
785
|
+
var normalize = function normalize(v) {
|
|
786
|
+
return v.replace(/^v/, '').split(/[-+]/)[0].split('.');
|
|
1533
787
|
};
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
788
|
+
var parts1 = normalize(v1);
|
|
789
|
+
var parts2 = normalize(v2);
|
|
790
|
+
for (var i = 0; i < 3; i++) {
|
|
791
|
+
var num1 = parseInt(parts1[i] || '0', 10);
|
|
792
|
+
var num2 = parseInt(parts2[i] || '0', 10);
|
|
793
|
+
if (num1 > num2) return 1;
|
|
794
|
+
if (num1 < num2) return -1;
|
|
1538
795
|
}
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
}
|
|
1549
|
-
|
|
1550
|
-
function useInterval(callback, delay, immediate) {
|
|
1551
|
-
if (immediate === void 0) {
|
|
1552
|
-
immediate = false;
|
|
796
|
+
// 比较预发布版本
|
|
797
|
+
var preRelease1 = v1.match(/-(.+)/);
|
|
798
|
+
var preRelease2 = v2.match(/-(.+)/);
|
|
799
|
+
if (preRelease1 && !preRelease2) return -1;
|
|
800
|
+
if (!preRelease1 && preRelease2) return 1;
|
|
801
|
+
if (preRelease1 && preRelease2) {
|
|
802
|
+
return preRelease1[1].localeCompare(preRelease2[1]);
|
|
803
|
+
}
|
|
804
|
+
return 0;
|
|
1553
805
|
}
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
806
|
+
/**
|
|
807
|
+
* 检查版本号是否满足范围要求
|
|
808
|
+
* @param version 要检查的版本
|
|
809
|
+
* @param range 版本范围 (如 ">=1.0.0 <2.0.0") 支持: >, >=, <, <=, ^, ~, ==, =
|
|
810
|
+
* @returns 是否满足
|
|
811
|
+
*/;
|
|
812
|
+
VersionUtil.satisfies = function satisfies(version, range) {
|
|
813
|
+
var _this = this;
|
|
814
|
+
if (!this.isValid(version)) return false;
|
|
815
|
+
var rangeRegex = /([<>]=?|==?|\^|~)?\s*v?([0-9]+\.[0-9]+\.[0-9]+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+)?)/g;
|
|
816
|
+
var ranges = range.match(rangeRegex);
|
|
817
|
+
if (!ranges || ranges.length === 0) return false;
|
|
818
|
+
return ranges.every(function (r) {
|
|
819
|
+
var match = r.match(/([<>]=?|==?|\^|~)?\s*(v?[0-9].*)/);
|
|
820
|
+
if (!match) return false;
|
|
821
|
+
var operator = match[1] || '==';
|
|
822
|
+
var rangeVersion = match[2];
|
|
823
|
+
if (!_this.isValid(rangeVersion)) return false;
|
|
824
|
+
var comparison = _this.compare(version, rangeVersion);
|
|
825
|
+
switch (operator) {
|
|
826
|
+
case '>':
|
|
827
|
+
return comparison > 0;
|
|
828
|
+
case '>=':
|
|
829
|
+
return comparison >= 0;
|
|
830
|
+
case '<':
|
|
831
|
+
return comparison < 0;
|
|
832
|
+
case '<=':
|
|
833
|
+
return comparison <= 0;
|
|
834
|
+
case '^':
|
|
835
|
+
return _this.caretRange(version, rangeVersion);
|
|
836
|
+
case '~':
|
|
837
|
+
return _this.tildeRange(version, rangeVersion);
|
|
838
|
+
case '=':
|
|
839
|
+
case '==':
|
|
840
|
+
default:
|
|
841
|
+
return comparison === 0;
|
|
842
|
+
}
|
|
843
|
+
});
|
|
844
|
+
}
|
|
845
|
+
/**
|
|
846
|
+
* 处理 ^ 范围 (允许不修改最左边的非零数字)
|
|
847
|
+
* @param version 版本号
|
|
848
|
+
* @param range 范围版本
|
|
849
|
+
* @returns 是否匹配
|
|
850
|
+
*/;
|
|
851
|
+
VersionUtil.caretRange = function caretRange(version, range) {
|
|
852
|
+
var normalize = function normalize(v) {
|
|
853
|
+
return v.replace(/^v/, '').split(/[-+]/)[0].split('.');
|
|
854
|
+
};
|
|
855
|
+
var vParts = normalize(version);
|
|
856
|
+
var rParts = normalize(range);
|
|
857
|
+
// 找到第一个非零部分
|
|
858
|
+
var firstNonZero = 0;
|
|
859
|
+
for (var i = 0; i < rParts.length; i++) {
|
|
860
|
+
if (parseInt(rParts[i], 10) !== 0) {
|
|
861
|
+
firstNonZero = i;
|
|
862
|
+
break;
|
|
863
|
+
}
|
|
1564
864
|
}
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
timerRef.current = setInterval(function () {
|
|
1570
|
-
return savedCallback.current();
|
|
1571
|
-
}, delay);
|
|
865
|
+
for (var _i = 0; _i <= firstNonZero; _i++) {
|
|
866
|
+
var vNum = parseInt(vParts[_i] || '0', 10);
|
|
867
|
+
var rNum = parseInt(rParts[_i] || '0', 10);
|
|
868
|
+
if (vNum !== rNum) return false;
|
|
1572
869
|
}
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
870
|
+
return this.compare(version, range) >= 0;
|
|
871
|
+
}
|
|
872
|
+
/**
|
|
873
|
+
* 处理 ~ 范围 (允许修改最后一位数字)
|
|
874
|
+
* @param version 版本号
|
|
875
|
+
* @param range 范围版本
|
|
876
|
+
* @returns 是否匹配
|
|
877
|
+
*/;
|
|
878
|
+
VersionUtil.tildeRange = function tildeRange(version, range) {
|
|
879
|
+
var normalize = function normalize(v) {
|
|
880
|
+
return v.replace(/^v/, '').split(/[-+]/)[0].split('.');
|
|
881
|
+
};
|
|
882
|
+
var vParts = normalize(version);
|
|
883
|
+
var rParts = normalize(range);
|
|
884
|
+
for (var i = 0; i < rParts.length - 1; i++) {
|
|
885
|
+
var vNum = parseInt(vParts[i] || '0', 10);
|
|
886
|
+
var rNum = parseInt(rParts[i] || '0', 10);
|
|
887
|
+
if (vNum !== rNum) return false;
|
|
1577
888
|
}
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
889
|
+
var lastVNum = parseInt(vParts[rParts.length - 1] || '0', 10);
|
|
890
|
+
var lastRNum = parseInt(rParts[rParts.length - 1] || '0', 10);
|
|
891
|
+
return lastVNum >= lastRNum;
|
|
892
|
+
}
|
|
893
|
+
/**
|
|
894
|
+
* 获取主版本号 (major)
|
|
895
|
+
* @param version 版本号
|
|
896
|
+
* @returns 主版本号
|
|
897
|
+
*/;
|
|
898
|
+
VersionUtil.getMajor = function getMajor(version) {
|
|
899
|
+
if (!this.isValid(version)) throw new Error('Invalid version format');
|
|
900
|
+
var parts = version.replace(/^v/, '').split('.');
|
|
901
|
+
return parseInt(parts[0], 10);
|
|
902
|
+
}
|
|
903
|
+
/**
|
|
904
|
+
* 获取次版本号 (minor)
|
|
905
|
+
* @param version 版本号
|
|
906
|
+
* @returns 次版本号
|
|
907
|
+
*/;
|
|
908
|
+
VersionUtil.getMinor = function getMinor(version) {
|
|
909
|
+
if (!this.isValid(version)) throw new Error('Invalid version format');
|
|
910
|
+
var parts = version.replace(/^v/, '').split('.');
|
|
911
|
+
return parseInt(parts[1] || '0', 10);
|
|
912
|
+
}
|
|
913
|
+
/**
|
|
914
|
+
* 获取修订号 (patch)
|
|
915
|
+
* @param version 版本号
|
|
916
|
+
* @returns 修订号
|
|
917
|
+
*/;
|
|
918
|
+
VersionUtil.getPatch = function getPatch(version) {
|
|
919
|
+
if (!this.isValid(version)) throw new Error('Invalid version format');
|
|
920
|
+
var parts = version.replace(/^v/, '').split('.');
|
|
921
|
+
return parseInt(parts[2] || '0', 10);
|
|
922
|
+
}
|
|
923
|
+
/**
|
|
924
|
+
* 获取预发布版本标识
|
|
925
|
+
* @param version 版本号
|
|
926
|
+
* @returns 预发布标识 (无则返回null)
|
|
927
|
+
*/;
|
|
928
|
+
VersionUtil.getPrerelease = function getPrerelease(version) {
|
|
929
|
+
if (!this.isValid(version)) throw new Error('Invalid version format');
|
|
930
|
+
var match = version.match(/-([^+]+)/);
|
|
931
|
+
return match ? match[1] : null;
|
|
932
|
+
}
|
|
933
|
+
/**
|
|
934
|
+
* 获取构建元数据
|
|
935
|
+
* @param version 版本号
|
|
936
|
+
* @returns 构建元数据 (无则返回null)
|
|
937
|
+
*/;
|
|
938
|
+
VersionUtil.getBuildMetadata = function getBuildMetadata(version) {
|
|
939
|
+
if (!this.isValid(version)) throw new Error('Invalid version format');
|
|
940
|
+
var match = version.match(/\+([^]+)/);
|
|
941
|
+
return match ? match[1] : null;
|
|
1585
942
|
};
|
|
1586
|
-
|
|
943
|
+
return VersionUtil;
|
|
944
|
+
}();
|
|
1587
945
|
|
|
1588
946
|
var usePagination = function usePagination(server, deps,
|
|
1589
947
|
// 依赖条件 数据更新默认执行server
|
|
@@ -2096,15 +1454,6 @@ option) {
|
|
|
2096
1454
|
};
|
|
2097
1455
|
|
|
2098
1456
|
exports.DATE_FORMAT = DATE_FORMAT;
|
|
2099
|
-
exports.ItemRow = ItemsRow;
|
|
2100
|
-
exports.MBreadcrumb = MBreadcrumb;
|
|
2101
|
-
exports.MDescriptions = DetailDescriptions;
|
|
2102
|
-
exports.MForm = MForm;
|
|
2103
|
-
exports.MFormItemConst = MFormItemConst;
|
|
2104
|
-
exports.MSearch = MSearch;
|
|
2105
|
-
exports.MTable = MTable;
|
|
2106
|
-
exports.MiModal = MiModal;
|
|
2107
|
-
exports.MiThemeProvider = MiThemeProvider;
|
|
2108
1457
|
exports.NextTick = NextTick;
|
|
2109
1458
|
exports.PAGE_SIZE = PAGE_SIZE;
|
|
2110
1459
|
exports.PatternType = PatternType;
|
|
@@ -2120,7 +1469,6 @@ exports.removeNull = removeNull;
|
|
|
2120
1469
|
exports.throttle = throttle;
|
|
2121
1470
|
exports.useFuncRequest = useFuncRequest;
|
|
2122
1471
|
exports.useInterval = useInterval;
|
|
2123
|
-
exports.useMiThemeConfig = useMiThemeConfig;
|
|
2124
1472
|
exports.usePagination = usePagination;
|
|
2125
1473
|
exports.useQuery = useQuery;
|
|
2126
1474
|
exports.useReactive = useReactive;
|