form-driver 0.4.20 → 0.4.22

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/es/m3.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import 'antd/dist/antd.css';
2
2
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
3
3
  import { message, ConfigProvider, DatePicker as DatePicker$1, Cascader, Radio, Rate, Upload, Button, TreeSelect, InputNumber, Checkbox, Modal, Input, Select, Popover, Divider, Popconfirm, List, Row, Col, Space, Table, Spin, Tooltip, Progress, Tabs } from 'antd';
4
- import React, { memo, useRef, useState, useCallback, useEffect, useMemo, createElement } from 'react';
4
+ import React, { memo, useState, useCallback, useMemo, useEffect, useRef, createElement } from 'react';
5
5
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
6
6
  import _, { result } from 'lodash';
7
7
  import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';
@@ -13,7 +13,9 @@ import _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitial
13
13
  import { CloseOutlined, LoadingOutlined, QuestionCircleTwoTone, PlusOutlined, HolderOutlined, CaretUpOutlined, CaretDownOutlined, CloseCircleFilled, CheckOutlined, CaretRightOutlined } from '@ant-design/icons';
14
14
  import TextArea from 'antd/lib/input/TextArea';
15
15
  import Select$1 from 'antd/lib/select';
16
- import { draggable, dropTargetForElements, monitorForElements } from '@atlaskit/pragmatic-drag-and-drop/element/adapter';
16
+ import { useSensors, useSensor, TouchSensor, PointerSensor, KeyboardSensor, DndContext, closestCenter, DragOverlay } from '@dnd-kit/core';
17
+ import { useSortable, sortableKeyboardCoordinates, arrayMove, verticalListSortingStrategy, horizontalListSortingStrategy, SortableContext } from '@dnd-kit/sortable';
18
+ import { CSS } from '@dnd-kit/utilities';
17
19
  import clsx from 'clsx';
18
20
  import Button$1 from 'antd/lib/button';
19
21
  import _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';
@@ -24,9 +26,9 @@ import 'moment/locale/zh-cn';
24
26
  import _extends from '@babel/runtime/helpers/esm/extends';
25
27
  import OSS from 'ali-oss';
26
28
 
27
- function ownKeys$y(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
+ function ownKeys$z(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
28
30
 
29
- function _objectSpread$y(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$y(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$y(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
31
+ function _objectSpread$z(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$z(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$z(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
30
32
 
31
33
  function generateQueryStr(obj) {
32
34
  if (obj === void 0) {
@@ -60,7 +62,7 @@ var Ajax = {
60
62
  var args = {
61
63
  method: method,
62
64
  body: JSON.stringify(body),
63
- headers: _objectSpread$y({
65
+ headers: _objectSpread$z({
64
66
  'Content-Type': 'application/json'
65
67
  }, headers)
66
68
  };
@@ -177,197 +179,762 @@ function _createForOfIteratorHelperLoose$e(o, allowArrayLike) { var it = typeof
177
179
  function _unsupportedIterableToArray$e(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$e(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$e(o, minLen); }
178
180
 
179
181
  function _arrayLikeToArray$e(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
180
- var next = Date.now() - 1617265950471; // /** 用来测量字符串长度 */
181
- // let _messurer: HTMLCanvasElement|undefined;
182
-
183
- var MUtil = {
184
- /**
185
- * 每次调用,返回不一样的数字
186
- * @returns
187
- */
188
- unique: function unique() {
189
- return next++;
190
- },
191
-
192
- /**
193
- * 枚举字段可以写成空格分隔的字符串,也能写成MEnumField[],这个函数将两种形式转换成统一的MEnumField[]
194
- * @deprecated 改成用MUtils.option
195
- */
196
- standardFields: function standardFields(fs) {
197
- if (typeof fs === "string") {
198
- return fs.split(" ").map(function (aEnum) {
199
- var _kv$;
200
-
201
- var kv = aEnum.split("=");
202
- return {
203
- label: kv[0],
204
- value: (_kv$ = kv[1]) != null ? _kv$ : kv[0]
205
- };
206
- });
207
- } else if (fs) {
208
- return fs;
209
- } else {
210
- return [];
211
- }
212
- },
213
-
214
- /**
215
- * 获取enumFields或者setFields,返回标准的MEnumField[]
216
- * @param f 如果f是nil,返回[]
217
- */
218
- option: function option(f) {
219
- var _result;
220
-
221
- var result;
182
+ var defaultTheme = {
183
+ READABLE_UNKNOWN: "?",
184
+ READABLE_BLANK: "-",
185
+ READABLE_INVALID: "❓",
186
+ READABLE_ERROR: "❗",
187
+ themeName: "antMiddle"
188
+ };
189
+ /**
190
+ * 注册viewer,type,morph(viewer和type之间的关联)
191
+ */
222
192
 
223
- if (_.isArray(f.option)) {
224
- result = f.option;
225
- } else {
226
- var ori;
193
+ var Assembly = /*#__PURE__*/function () {
194
+ var _proto = Assembly.prototype;
227
195
 
228
- if (f.type == "set") {
229
- ori = f.setFields;
230
- } else if (f.type == "enum") {
231
- ori = f.enumFields;
196
+ /** 根据定义返回View,返回nil表示没有可用的View */
197
+ _proto.getViewerOf = function getViewerOf(f, morph) {
198
+ if (f.editor && morph === "editor") {
199
+ if (_.isString(f.editor)) {
200
+ return _.get(this.viewers, f.editor);
232
201
  } else {
233
- var _ref, _f$option;
234
-
235
- ori = (_ref = (_f$option = f.option) != null ? _f$option : f.setFields) != null ? _ref : f.enumFields; // 只是为了保险
202
+ return f.editor;
236
203
  }
204
+ } else if (f.readable && morph === "readable") {
205
+ if (_.isString(f.readable)) {
206
+ return _.get(this.viewers, f.readable);
207
+ } else {
208
+ return f.readable;
209
+ }
210
+ } else {
211
+ var viewer = _.get(this.morph, morph + "." + f.type);
237
212
 
238
- if (typeof ori === "string") {
239
- f.option = result = ori.split(" ").map(function (aEnum) {
240
- var _kv$2;
241
-
242
- var kv = aEnum.split("=");
243
- return {
244
- label: kv[0],
245
- value: (_kv$2 = kv[1]) != null ? _kv$2 : kv[0]
246
- };
247
- });
213
+ if (_.isString(viewer)) {
214
+ return _.get(this.viewers, viewer);
248
215
  } else {
249
- f.option = result = ori; // TODO children 可能有递归的,还是得靠预处理解决
216
+ return viewer;
250
217
  }
251
218
  }
219
+ };
252
220
 
253
- return (_result = result) != null ? _result : [];
254
- },
255
-
256
- /** 如果出错了,返回这么个元素,可能用在BaseEditor子类或者其他的东西上 */
257
- error: function error(msg, schema) {
258
- return jsxs("div", {
259
- style: {
260
- color: "white",
261
- border: "1px solid darkgrey",
262
- background: "red",
263
- textAlign: "center",
264
- borderRadius: "5px"
265
- },
266
- children: [msg, schema ? jsx("pre", {
267
- style: {
268
- whiteSpace: "pre-wrap",
269
- textAlign: "left"
270
- },
271
- children: JSON.stringify(schema)
272
- }) : undefined]
273
- }, Date.now());
274
- },
275
- sign: function sign(v) {
276
- if (_.isNil(v)) {
277
- return null;
221
+ _proto.validate = function validate(s, v, path) {
222
+ if (path === void 0) {
223
+ path = "";
278
224
  }
279
225
 
280
- return Math.sign(v);
281
- },
226
+ var result = undefined;
282
227
 
283
- /**
284
- * 当前设备是不是个手机(或者类似手机的设备,比如ipad上运行iphone app中的webview)
285
- */
286
- phoneLike: function phoneLike() {
287
- // eslint-disable-next-line no-restricted-globals
288
- return screen.height / screen.width > 1.5;
289
- },
290
- // /**
291
- // * 计算文字的宽度
292
- // * @param text 文字
293
- // * @param font 字体
294
- // * @returns 宽度,单位是px
295
- // */
296
- // getTextWidth(text:string, font?:string) {
297
- // var canvas = _messurer ?? (_messurer = document.createElement("canvas"));
298
- // var context = canvas.getContext("2d");
299
- // if(!context) {
300
- // console.error('神奇的事情发生了:canvas.getContext("2d")居然能返回null');
301
- // return text.length * 10; // 总比出不来好
302
- // }
303
- // if(font){
304
- // context.font = font;
305
- // }
306
- // var metrics = context.measureText(text);
307
- // return metrics.width;
308
- // }
228
+ for (var _iterator = _createForOfIteratorHelperLoose$e(this.types[s.type].validators), _step; !(_step = _iterator()).done;) {
229
+ var validator = _step.value;
230
+ result = validator(this, s, v, path);
309
231
 
310
- /**
311
- * 计算文字的宽度
312
- * @param text
313
- */
314
- antdTextWidth: function antdTextWidth(text) {
315
- if (!text) {
316
- return 0;
232
+ if (result === "pass" && s.type !== "weight") {
233
+ return undefined;
234
+ } else if (typeof result === "object") {
235
+ MUtil.debug("校验", path, result.message);
236
+ return result;
237
+ }
317
238
  }
318
239
 
319
- return text.length * 16;
320
- },
240
+ return undefined;
241
+ };
242
+
243
+ _proto.addViewer = function addViewer(name, v) {
244
+ if (this.viewers[name]) {
245
+ console.error("addViewer: \u5DF2\u7ECF\u5B58\u5728\u540D\u4E3A " + name + " \u7684 Viewer\uFF0C\u65E0\u6CD5\u518D\u6B21\u6DFB\u52A0\uFF01");
246
+ return;
247
+ } else {
248
+ this.viewers[name] = v;
249
+ }
250
+ };
321
251
 
252
+ _proto.addEditor = function addEditor(name, v) {
253
+ if (this.editors[name]) {
254
+ console.error("addEditor: \u5DF2\u7ECF\u5B58\u5728\u540D\u4E3A " + name + " \u7684 Editor\uFF0C\u65E0\u6CD5\u518D\u6B21\u6DFB\u52A0\uFF01");
255
+ return;
256
+ } else {
257
+ this.editors[name] = v;
258
+ }
259
+ }
322
260
  /**
323
- * 从数组中删掉一个元素
324
- * @param a 这个数组会被改变的
325
- * @param element 要删的元素
326
- * @returns 修改后的数组(如果它不是nil)
261
+ * 增加一种数据类型
262
+ * 例:
263
+ * const hpOrg = {name: "hpOrg", type: {validators: ..., toReadable: ...}, editor: HPOrgEditor, readable: "DivViewer"}
264
+ * addType(hpOrg)
265
+ * @param typeParam 类型的描述对象
327
266
  */
328
- arrayRemove: function arrayRemove(a, element) {
329
- if (a) {
330
- var idx = a.indexOf(element);
267
+ ;
331
268
 
332
- if (idx >= 0) {
333
- a.splice(idx, 1);
334
- }
269
+ _proto.addType = function addType(typeParam) {
270
+ var name = typeParam.name,
271
+ type = typeParam.type,
272
+ editor = typeParam.editor,
273
+ _typeParam$readable = typeParam.readable,
274
+ readable = _typeParam$readable === void 0 ? "DivViewer" : _typeParam$readable;
275
+ this.types[name] = type;
335
276
 
336
- return a;
337
- } else {
338
- return a;
339
- }
340
- },
341
- fieldOfLayout: function fieldOfLayout(fields, spec) {
342
- var objectFieldMap = _.chain(fields).keyBy("name").value();
277
+ _.set(this.morph, "editor." + name, editor);
343
278
 
344
- var r = {};
279
+ _.set(this.morph, "readable." + name, readable);
280
+ };
345
281
 
346
- for (var _iterator = _createForOfIteratorHelperLoose$e((_spec$segments = spec.segments) != null ? _spec$segments : []), _step; !(_step = _iterator()).done;) {
347
- var _spec$segments;
282
+ function Assembly() {
283
+ var _this = this;
348
284
 
349
- var s = _step.value;
285
+ this.types = {};
286
+ this.viewers = {};
287
+ this.editors = {};
288
+ this.morph = {};
289
+ this.theme = defaultTheme;
350
290
 
351
- for (var _iterator2 = _createForOfIteratorHelperLoose$e((_s$fields = s.fields) != null ? _s$fields : []), _step2; !(_step2 = _iterator2()).done;) {
352
- var _s$fields;
291
+ this.toReadable = function (s, v, parent) {
292
+ var t = _this.types[s.type];
353
293
 
354
- var f = _step2.value;
294
+ if (t) {
295
+ var _r;
355
296
 
356
- if (_.isString(f)) {
357
- var def = objectFieldMap[f];
297
+ var r;
358
298
 
359
- if (def) {
360
- r[f] = def;
361
- }
299
+ if (_.isString(s.toReadable)) {
300
+ // eslint-disable-next-line no-new-func
301
+ r = new Function("_", "value", "theme", "const {READABLE_UNKNOWN, READABLE_BLANK, READABLE_INVALID, READABLE_ERROR} = theme; return " + s.toReadable)(_, v, _this.theme);
302
+ } else if (_.isFunction(s.toReadable)) {
303
+ r = s.toReadable(v, parent, _this);
362
304
  }
363
- }
364
- }
365
305
 
366
- return _.values(r);
367
- },
306
+ r = (_r = r) != null ? _r : t.toReadable(_this, s, v);
368
307
 
369
- /**
370
- * 跟lodash的get一样,除了:
308
+ if (s.postfix) {
309
+ r += s.postfix;
310
+ }
311
+
312
+ return r;
313
+ } else {
314
+ return s.type + "类型无效";
315
+ }
316
+ }; // 校验types是否使用了无效的编辑器名字
317
+
318
+
319
+ for (var morphName in this.morph) {
320
+ for (var typeName in this.morph[morphName]) {
321
+ if (!this.types[typeName]) {
322
+ throw SyntaxError("\u7C7B\u578B" + typeName + "\u672A\u5B9A\u4E49");
323
+ }
324
+
325
+ var viewerName = this.morph[morphName][typeName];
326
+
327
+ if (!this.viewers[viewerName]) {
328
+ throw SyntaxError("\u89C6\u56FE" + viewerName + "\u672A\u5B9A\u4E49");
329
+ }
330
+ }
331
+ }
332
+ }
333
+
334
+ return Assembly;
335
+ }();
336
+ var assembly = new Assembly();
337
+
338
+ /**
339
+ * 非空校验,数据不能是null/undefined/""/NaN/[]
340
+ * 要在其他条件之前,以便required=false时短路掉nil的数据,否则后面的校验全都得处理nil
341
+ * @param a
342
+ * @param schema
343
+ * @param value
344
+ * @param path
345
+ * @returns
346
+ */
347
+
348
+ function validateRequired$1(a, schema, value, path) {
349
+ if (schema.required) {
350
+ if (_.isNil(value) || value === "" || _.isNaN(value) || _.isArray(value) && value.length == 0) {
351
+ return {
352
+ message: "您还没有填完这一项",
353
+ path: path
354
+ };
355
+ } // 凡是总有例外
356
+
357
+
358
+ if (schema.type === "set" && schema.openOption) {
359
+ if (value.length === 1 && !value[0]) {
360
+ return {
361
+ message: "您还没有填完这一项",
362
+ path: path
363
+ }; // 开放set,只勾了开放选项,没有填内容,也要算空
364
+ }
365
+ }
366
+ } else {
367
+ if (_.isNil(value)) {
368
+ return "pass";
369
+ }
370
+ }
371
+
372
+ return undefined;
373
+ }
374
+ /** 和validateRequired相同,但不短路 */
375
+
376
+ function validateRequiredNS(a, schema, value, path) {
377
+ var v = validateRequired$1(a, schema, value, path);
378
+
379
+ if (v === "pass") {
380
+ return undefined;
381
+ }
382
+ }
383
+ function validateDateMinMax(a, schema, value, path) {
384
+ if (schema.min) {
385
+ if (!value || value < schema.min) {
386
+ return {
387
+ message: "\u8BF7\u9009\u62E9" + schema.min + "\u4E4B\u540E\u7684\u65F6\u95F4",
388
+ path: path
389
+ };
390
+ }
391
+ }
392
+
393
+ if (schema.max) {
394
+ if (!value || value > schema.max) {
395
+ return {
396
+ message: "\u8BF7\u9009\u62E9" + schema.min + "\u4E4B\u524D\u7684\u65F6\u95F4",
397
+ path: path
398
+ };
399
+ }
400
+ }
401
+
402
+ return undefined;
403
+ }
404
+ /**
405
+ * 数组项数不超过[min, max]
406
+ * @param schema
407
+ * @param value 应该是个数组
408
+ */
409
+
410
+ function validateArrayItemMinMax(a, schema, value, path) {
411
+ if (schema.min) {
412
+ if (!value || value.length < schema.min) {
413
+ return {
414
+ message: "\u81F3\u5C11\u9009\u62E9" + schema.min + "\u9879",
415
+ path: path
416
+ };
417
+ }
418
+ }
419
+
420
+ if (schema.max) {
421
+ if (!value || value.length > schema.max) {
422
+ return {
423
+ message: "\u6700\u591A\u9009\u62E9" + schema.max + "\u9879",
424
+ path: path
425
+ };
426
+ }
427
+ }
428
+
429
+ return undefined;
430
+ }
431
+ /**
432
+ * 字符串长度不超过[min, max]
433
+ * @param schema
434
+ * @param value 应该是个字符串
435
+ */
436
+
437
+ function validateStringMinMax$1(a, schema, value, path) {
438
+ if (schema.min) {
439
+ if (!value || value.length < schema.min) {
440
+ return {
441
+ message: "\u81F3\u5C11" + schema.min + "\u4E2A\u5B57",
442
+ path: path
443
+ };
444
+ }
445
+ }
446
+
447
+ if (schema.max) {
448
+ if (value && value.length > schema.max) {
449
+ return {
450
+ message: "\u6700\u591A" + schema.max + "\u4E2A\u5B57",
451
+ path: path
452
+ };
453
+ }
454
+ }
455
+
456
+ return undefined;
457
+ }
458
+ /**
459
+ * 数字不超过[min, max]
460
+ * @param schema
461
+ * @param value 应该是个数字
462
+ */
463
+
464
+ function validateNumberMinMax(a, schema, value, path) {
465
+ var temp = Number(value);
466
+
467
+ if (!_.isNil(schema.max)) {
468
+ if (!_.isFinite(temp) || temp > schema.max) {
469
+ return {
470
+ message: "\u6700\u591A" + schema.max,
471
+ path: path
472
+ };
473
+ }
474
+ }
475
+
476
+ if (!_.isNil(schema.min)) {
477
+ if (!_.isFinite(temp) || temp < schema.min) {
478
+ return {
479
+ message: "\u6700\u5C11" + schema.min,
480
+ path: path
481
+ };
482
+ }
483
+ }
484
+
485
+ return undefined;
486
+ }
487
+ function generateRegexValidate$1(regex, mismatchMsg) {
488
+ return function (a, schema, value, path) {
489
+ var asstr = _.toString(value);
490
+
491
+ if (!regex.test(asstr)) {
492
+ return {
493
+ message: mismatchMsg,
494
+ path: path
495
+ };
496
+ }
497
+
498
+ return undefined;
499
+ };
500
+ }
501
+ /**
502
+ * 数据用Object.prototype.toString.call返回的类型是预期的
503
+ * 可以用Object.prototype.toString.call(<预期的类型>)来查看你想要的数据类型的expectType
504
+ * @param expectType 预期类型,例如:"[object Object]" "[object Null]" "[object Number]" "[object Date]" "[object Array]"
505
+ * @param mismatchMsg 如果不匹配,提示的错误信息
506
+ * @returns
507
+ */
508
+
509
+ function generateJsPrototypeValidate(expectType, mismatchMsg) {
510
+ if (mismatchMsg === void 0) {
511
+ mismatchMsg = "数据有误,请重填此项";
512
+ }
513
+
514
+ return function (a, schema, value, path) {
515
+ if (Object.prototype.toString.call(value) == expectType) {
516
+ return undefined;
517
+ } else {
518
+ return {
519
+ message: mismatchMsg,
520
+ path: path
521
+ };
522
+ }
523
+ };
524
+ }
525
+ function generateSchemaValidate(valueSchema, mismatchMsg) {
526
+ return function (a, schema, value, path) {
527
+ var r = assembly.validate(valueSchema, value, "");
528
+
529
+ if (!r) {
530
+ return r;
531
+ } else {
532
+ return {
533
+ message: mismatchMsg != null ? mismatchMsg : r.message,
534
+ path: path
535
+ };
536
+ }
537
+ };
538
+ }
539
+ var Validator = {
540
+ validateRequired: validateRequired$1,
541
+ validateRequiredNS: validateRequiredNS,
542
+ validateDateMinMax: validateDateMinMax,
543
+ validateStringMinMax: validateStringMinMax$1,
544
+ validateNumberMinMax: validateNumberMinMax,
545
+ generateRegexValidate: generateRegexValidate$1
546
+ };
547
+
548
+ var EmtpyType = {
549
+ validators: [],
550
+ createDefaultValue: function createDefaultValue(assembly, s) {
551
+ if (s.defaultValue) {
552
+ return _.clone(s.defaultValue);
553
+ } else {
554
+ return undefined;
555
+ }
556
+ },
557
+ standardValue: function standardValue(assembly, s, v, strict) {
558
+ return v;
559
+ },
560
+ toReadable: function toReadable(assembly, s, vs) {
561
+ if (_.isNil(vs)) {
562
+ return assembly.theme.READABLE_BLANK;
563
+ }
564
+
565
+ return vs;
566
+ }
567
+ };
568
+ function createDefaultValue(assembly, s) {
569
+ if (s.defaultValue) {
570
+ return _.clone(s.defaultValue);
571
+ } else {
572
+ return undefined;
573
+ }
574
+ }
575
+
576
+ var MDateTimeType = _.assign({}, EmtpyType, {
577
+ validators: [validateRequired$1, validateDateMinMax],
578
+ antConf: function antConf(schema) {
579
+ var _dataFormat, _dataFormat2, _dataFormat3, _dataFormat4, _dataFormat5, _dataFormat6, _dataFormat7, _dataFormat8;
580
+
581
+ var dataFormat = schema.dataFormat;
582
+ var readableFormat;
583
+ var mode;
584
+ var showTime = false;
585
+
586
+ switch (schema.type) {
587
+ case "year":
588
+ mode = "year";
589
+ dataFormat = (_dataFormat = dataFormat) != null ? _dataFormat : "YYYY";
590
+ readableFormat = "YYYY";
591
+ break;
592
+
593
+ case "yearMonth":
594
+ mode = "month";
595
+ dataFormat = (_dataFormat2 = dataFormat) != null ? _dataFormat2 : "YYYYMM";
596
+ readableFormat = "YYYY.MM";
597
+ break;
598
+
599
+ case "yearMonthDay":
600
+ mode = "date";
601
+ dataFormat = (_dataFormat3 = dataFormat) != null ? _dataFormat3 : "YYYYMMDD";
602
+ readableFormat = "YYYY.MM.DD";
603
+ break;
604
+
605
+ case "datetime":
606
+ mode = undefined;
607
+ dataFormat = (_dataFormat4 = dataFormat) != null ? _dataFormat4 : "x";
608
+ readableFormat = "YYYY.MM.DD HH:mm";
609
+ showTime = true;
610
+ break;
611
+
612
+ case "date":
613
+ switch (schema.datePrecision) {
614
+ case "year":
615
+ mode = "year";
616
+ dataFormat = (_dataFormat5 = dataFormat) != null ? _dataFormat5 : "YYYY";
617
+ readableFormat = "YYYY";
618
+ break;
619
+
620
+ case "month":
621
+ mode = "month";
622
+ dataFormat = (_dataFormat6 = dataFormat) != null ? _dataFormat6 : "YYYYMM";
623
+ readableFormat = "YYYY.MM";
624
+ break;
625
+
626
+ case "minute":
627
+ mode = undefined;
628
+ dataFormat = (_dataFormat7 = dataFormat) != null ? _dataFormat7 : "x";
629
+ readableFormat = "YYYY.MM.DD HH:mm";
630
+ showTime = true;
631
+ break;
632
+
633
+ default:
634
+ // "day" 或未指定
635
+ mode = "date";
636
+ dataFormat = (_dataFormat8 = dataFormat) != null ? _dataFormat8 : "YYYYMMDD";
637
+ readableFormat = "YYYY.MM.DD";
638
+ break;
639
+ }
640
+
641
+ break;
642
+ // case "yearAndQuarter":
643
+ // case "yearAndWeek":
644
+ // return MUtil.error(`移动端不支持${this.props.schema.type}`, this.props.schema);
645
+
646
+ default:
647
+ return undefined;
648
+ }
649
+
650
+ return {
651
+ dataFormat: dataFormat,
652
+ readableFormat: readableFormat,
653
+ mode: mode,
654
+ showTime: showTime
655
+ };
656
+ },
657
+ toReadable: function toReadable(assembly, schema, v) {
658
+ if (_.isNil(v)) {
659
+ return assembly.theme.READABLE_BLANK;
660
+ }
661
+
662
+ var c = MDateTimeType.antConf(schema);
663
+
664
+ if (!c) {
665
+ return assembly.theme.READABLE_INVALID;
666
+ }
667
+
668
+ var asMoment = moment(v, c.dataFormat);
669
+ return asMoment.format(c.readableFormat);
670
+ }
671
+ });
672
+
673
+ /** 根据 precision 获取可读格式 */
674
+
675
+ function getReadableFormat(precision, showTime) {
676
+ switch (precision) {
677
+ case "year":
678
+ return "YYYY";
679
+
680
+ case "month":
681
+ return "YYYY.MM";
682
+
683
+ case "minute":
684
+ return "YYYY.MM.DD HH:mm";
685
+
686
+ default:
687
+ return showTime ? "YYYY.MM.DD HH:mm:ss" : "YYYY.MM.DD";
688
+ }
689
+ }
690
+
691
+ function timeExpr(assembly, v, tillNow, readableFormat) {
692
+ if (tillNow) {
693
+ return "至今";
694
+ }
695
+
696
+ if (!v) {
697
+ return assembly.theme.READABLE_UNKNOWN;
698
+ }
699
+
700
+ return moment(v, "x").format(readableFormat);
701
+ }
702
+
703
+ function timeRangeExpr(assembly, from, to, tillNow, readableFormat) {
704
+ if (readableFormat === void 0) {
705
+ readableFormat = "YYYY.MM.DD";
706
+ }
707
+
708
+ return timeExpr(assembly, from, false, readableFormat) + " - " + timeExpr(assembly, to, tillNow, readableFormat);
709
+ }
710
+ var MDateRangeType = _.assign({}, EmtpyType, {
711
+ validators: [validateRequired$1],
712
+ toReadable: function toReadable(assembly, s, vs) {
713
+ var _s$dateRange;
714
+
715
+ if (_.isNil(vs)) {
716
+ return assembly.theme.READABLE_BLANK;
717
+ }
718
+
719
+ if (!_.isArray(vs)) {
720
+ return assembly.theme.READABLE_INVALID;
721
+ }
722
+
723
+ var fmt = getReadableFormat(s.dateRangePrecision, (_s$dateRange = s.dateRange) == null ? void 0 : _s$dateRange.showTime);
724
+ return timeRangeExpr(assembly, vs[0], vs[1], vs[2], fmt);
725
+ },
726
+
727
+ /**
728
+ * 同toReadable,但数据无效时返回nil
729
+ */
730
+ toReadableN: function toReadableN(assembly, s, vs) {
731
+ if (!_.isNil(vs) && _.isArray(vs)) {
732
+ var _s$dateRange2;
733
+
734
+ var fmt = getReadableFormat(s.dateRangePrecision, (_s$dateRange2 = s.dateRange) == null ? void 0 : _s$dateRange2.showTime);
735
+ return timeRangeExpr(assembly, vs[0], vs[1], vs[2], fmt);
736
+ }
737
+
738
+ return undefined;
739
+ }
740
+ });
741
+
742
+ function _createForOfIteratorHelperLoose$d(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray$d(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
743
+
744
+ function _unsupportedIterableToArray$d(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$d(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$d(o, minLen); }
745
+
746
+ function _arrayLikeToArray$d(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
747
+ var next = Date.now() - 1617265950471; // /** 用来测量字符串长度 */
748
+ // let _messurer: HTMLCanvasElement|undefined;
749
+
750
+ var MUtil = {
751
+ /**
752
+ * 每次调用,返回不一样的数字
753
+ * @returns
754
+ */
755
+ unique: function unique() {
756
+ return next++;
757
+ },
758
+
759
+ /**
760
+ * 枚举字段可以写成空格分隔的字符串,也能写成MEnumField[],这个函数将两种形式转换成统一的MEnumField[]
761
+ * @deprecated 改成用MUtils.option
762
+ */
763
+ standardFields: function standardFields(fs) {
764
+ if (typeof fs === "string") {
765
+ return fs.split(" ").map(function (aEnum) {
766
+ var _kv$;
767
+
768
+ var kv = aEnum.split("=");
769
+ return {
770
+ label: kv[0],
771
+ value: (_kv$ = kv[1]) != null ? _kv$ : kv[0]
772
+ };
773
+ });
774
+ } else if (fs) {
775
+ return fs;
776
+ } else {
777
+ return [];
778
+ }
779
+ },
780
+
781
+ /**
782
+ * 获取enumFields或者setFields,返回标准的MEnumField[]
783
+ * @param f 如果f是nil,返回[]
784
+ */
785
+ option: function option(f) {
786
+ var _result;
787
+
788
+ var result;
789
+
790
+ if (_.isArray(f.option)) {
791
+ result = f.option;
792
+ } else {
793
+ var ori;
794
+
795
+ if (f.type == "set") {
796
+ ori = f.setFields;
797
+ } else if (f.type == "enum") {
798
+ ori = f.enumFields;
799
+ } else {
800
+ var _ref, _f$option;
801
+
802
+ ori = (_ref = (_f$option = f.option) != null ? _f$option : f.setFields) != null ? _ref : f.enumFields; // 只是为了保险
803
+ }
804
+
805
+ if (typeof ori === "string") {
806
+ f.option = result = ori.split(" ").map(function (aEnum) {
807
+ var _kv$2;
808
+
809
+ var kv = aEnum.split("=");
810
+ return {
811
+ label: kv[0],
812
+ value: (_kv$2 = kv[1]) != null ? _kv$2 : kv[0]
813
+ };
814
+ });
815
+ } else {
816
+ f.option = result = ori; // TODO children 可能有递归的,还是得靠预处理解决
817
+ }
818
+ }
819
+
820
+ return (_result = result) != null ? _result : [];
821
+ },
822
+
823
+ /** 如果出错了,返回这么个元素,可能用在BaseEditor子类或者其他的东西上 */
824
+ error: function error(msg, schema) {
825
+ return jsxs("div", {
826
+ style: {
827
+ color: "white",
828
+ border: "1px solid darkgrey",
829
+ background: "red",
830
+ textAlign: "center",
831
+ borderRadius: "5px"
832
+ },
833
+ children: [msg, schema ? jsx("pre", {
834
+ style: {
835
+ whiteSpace: "pre-wrap",
836
+ textAlign: "left"
837
+ },
838
+ children: JSON.stringify(schema)
839
+ }) : undefined]
840
+ }, Date.now());
841
+ },
842
+ sign: function sign(v) {
843
+ if (_.isNil(v)) {
844
+ return null;
845
+ }
846
+
847
+ return Math.sign(v);
848
+ },
849
+
850
+ /**
851
+ * 当前设备是不是个手机(或者类似手机的设备,比如ipad上运行iphone app中的webview)
852
+ */
853
+ phoneLike: function phoneLike() {
854
+ // eslint-disable-next-line no-restricted-globals
855
+ return screen.height / screen.width > 1.5;
856
+ },
857
+ // /**
858
+ // * 计算文字的宽度
859
+ // * @param text 文字
860
+ // * @param font 字体
861
+ // * @returns 宽度,单位是px
862
+ // */
863
+ // getTextWidth(text:string, font?:string) {
864
+ // var canvas = _messurer ?? (_messurer = document.createElement("canvas"));
865
+ // var context = canvas.getContext("2d");
866
+ // if(!context) {
867
+ // console.error('神奇的事情发生了:canvas.getContext("2d")居然能返回null');
868
+ // return text.length * 10; // 总比出不来好
869
+ // }
870
+ // if(font){
871
+ // context.font = font;
872
+ // }
873
+ // var metrics = context.measureText(text);
874
+ // return metrics.width;
875
+ // }
876
+
877
+ /**
878
+ * 计算文字的宽度
879
+ * @param text
880
+ */
881
+ antdTextWidth: function antdTextWidth(text) {
882
+ if (!text) {
883
+ return 0;
884
+ }
885
+
886
+ return text.length * 16;
887
+ },
888
+
889
+ /**
890
+ * 从数组中删掉一个元素
891
+ * @param a 这个数组会被改变的
892
+ * @param element 要删的元素
893
+ * @returns 修改后的数组(如果它不是nil)
894
+ */
895
+ arrayRemove: function arrayRemove(a, element) {
896
+ if (a) {
897
+ var idx = a.indexOf(element);
898
+
899
+ if (idx >= 0) {
900
+ a.splice(idx, 1);
901
+ }
902
+
903
+ return a;
904
+ } else {
905
+ return a;
906
+ }
907
+ },
908
+ fieldOfLayout: function fieldOfLayout(fields, spec) {
909
+ var objectFieldMap = _.chain(fields).keyBy("name").value();
910
+
911
+ var r = {};
912
+
913
+ for (var _iterator = _createForOfIteratorHelperLoose$d((_spec$segments = spec.segments) != null ? _spec$segments : []), _step; !(_step = _iterator()).done;) {
914
+ var _spec$segments;
915
+
916
+ var s = _step.value;
917
+
918
+ for (var _iterator2 = _createForOfIteratorHelperLoose$d((_s$fields = s.fields) != null ? _s$fields : []), _step2; !(_step2 = _iterator2()).done;) {
919
+ var _s$fields;
920
+
921
+ var f = _step2.value;
922
+
923
+ if (_.isString(f)) {
924
+ var def = objectFieldMap[f];
925
+
926
+ if (def) {
927
+ r[f] = def;
928
+ }
929
+ }
930
+ }
931
+ }
932
+
933
+ return _.values(r);
934
+ },
935
+
936
+ /**
937
+ * 跟lodash的get一样,除了:
371
938
  * 1. path是nil时返回undefined
372
939
  * 2. path是""时返回原始对象
373
940
  * @param a
@@ -415,7 +982,7 @@ var MUtil = {
415
982
  applyDefaultValue: function applyDefaultValue(schema, database, path) {
416
983
  // FIXME 多测试下,type是object或其他简单类型的情况
417
984
  if (schema.type === "object") {
418
- for (var _iterator3 = _createForOfIteratorHelperLoose$e((_schema$objectFields = schema.objectFields) != null ? _schema$objectFields : []), _step3; !(_step3 = _iterator3()).done;) {
985
+ for (var _iterator3 = _createForOfIteratorHelperLoose$d((_schema$objectFields = schema.objectFields) != null ? _schema$objectFields : []), _step3; !(_step3 = _iterator3()).done;) {
419
986
  var _schema$objectFields;
420
987
 
421
988
  var f = _step3.value;
@@ -467,7 +1034,7 @@ var MUtil = {
467
1034
 
468
1035
  var showIfScript = "let {" + l1fields.join(",") + "} = data || {};\nlet hide = {";
469
1036
 
470
- for (var _iterator4 = _createForOfIteratorHelperLoose$e(objectFields), _step4; !(_step4 = _iterator4()).done;) {
1037
+ for (var _iterator4 = _createForOfIteratorHelperLoose$d(objectFields), _step4; !(_step4 = _iterator4()).done;) {
471
1038
  var f = _step4.value;
472
1039
 
473
1040
  if (f.showIf) {
@@ -475,7 +1042,7 @@ var MUtil = {
475
1042
  }
476
1043
  }
477
1044
 
478
- for (var _iterator5 = _createForOfIteratorHelperLoose$e((_uispec$segments = uispec == null ? void 0 : uispec.segments) != null ? _uispec$segments : []), _step5; !(_step5 = _iterator5()).done;) {
1045
+ for (var _iterator5 = _createForOfIteratorHelperLoose$d((_uispec$segments = uispec == null ? void 0 : uispec.segments) != null ? _uispec$segments : []), _step5; !(_step5 = _iterator5()).done;) {
479
1046
  var _uispec$segments;
480
1047
 
481
1048
  var s = _step5.value;
@@ -487,7 +1054,7 @@ var MUtil = {
487
1054
 
488
1055
  showIfScript += "}\n"; // 如果一个segment里的所有字段都隐藏,segment就要隐藏
489
1056
 
490
- for (var _iterator6 = _createForOfIteratorHelperLoose$e((_uispec$segments2 = uispec == null ? void 0 : uispec.segments) != null ? _uispec$segments2 : []), _step6; !(_step6 = _iterator6()).done;) {
1057
+ for (var _iterator6 = _createForOfIteratorHelperLoose$d((_uispec$segments2 = uispec == null ? void 0 : uispec.segments) != null ? _uispec$segments2 : []), _step6; !(_step6 = _iterator6()).done;) {
491
1058
  var _uispec$segments2;
492
1059
 
493
1060
  var _s = _step6.value;
@@ -556,7 +1123,7 @@ var MUtil = {
556
1123
  var score = 0;
557
1124
  var opts = MUtil.standardFields(f.setFields);
558
1125
 
559
- for (var _iterator7 = _createForOfIteratorHelperLoose$e(opts), _step7; !(_step7 = _iterator7()).done;) {
1126
+ for (var _iterator7 = _createForOfIteratorHelperLoose$d(opts), _step7; !(_step7 = _iterator7()).done;) {
560
1127
  var s = _step7.value;
561
1128
 
562
1129
  if (_.find(opts, {
@@ -611,7 +1178,7 @@ var MUtil = {
611
1178
 
612
1179
  var prevSize = Object.keys(dep).length;
613
1180
 
614
- for (var _iterator8 = _createForOfIteratorHelperLoose$e(newDepNames), _step8; !(_step8 = _iterator8()).done;) {
1181
+ for (var _iterator8 = _createForOfIteratorHelperLoose$d(newDepNames), _step8; !(_step8 = _iterator8()).done;) {
615
1182
  var n = _step8.value;
616
1183
  dep[n] = allFieldsIdx[n];
617
1184
  delete ndep[n];
@@ -788,6 +1355,191 @@ var MUtil = {
788
1355
  return result;
789
1356
  },
790
1357
 
1358
+ /**
1359
+ * 提交时将时间字段转换为可读格式
1360
+ * @param schema 表单 schema(type 为 object 的根 schema)
1361
+ * @param database 表单数据
1362
+ * @returns 深拷贝后转换过的数据
1363
+ */
1364
+ formatForExport: function formatForExport(schema, database) {
1365
+ if (_.isNil(database)) {
1366
+ return database;
1367
+ }
1368
+
1369
+ var result = _.cloneDeep(database);
1370
+
1371
+ var fields = schema.objectFields;
1372
+
1373
+ if (!fields) {
1374
+ return result;
1375
+ }
1376
+
1377
+ var _loop = function _loop() {
1378
+ var field = _step9.value;
1379
+ var value = result[field.name];
1380
+
1381
+ if (_.isNil(value)) {
1382
+ return "continue";
1383
+ }
1384
+
1385
+ var type = field.type; // 时间选择器
1386
+
1387
+ if (type === "year" || type === "yearMonth" || type === "yearMonthDay" || type === "datetime" || type === "date") {
1388
+ var antConf = MDateTimeType.antConf(field);
1389
+
1390
+ if (antConf) {
1391
+ var m = moment(value, antConf.dataFormat);
1392
+
1393
+ if (m.isValid()) {
1394
+ result[field.name] = m.format(antConf.readableFormat);
1395
+ }
1396
+ }
1397
+ } // 时间范围选择器
1398
+ else if (type === "dateRange") {
1399
+ if (_.isArray(value)) {
1400
+ var _field$dateRange, _field$dataFormat;
1401
+
1402
+ var start = value[0],
1403
+ end = value[1],
1404
+ tillNow = value[2];
1405
+ var fmt = getReadableFormat(field.dateRangePrecision, (_field$dateRange = field.dateRange) == null ? void 0 : _field$dateRange.showTime);
1406
+ var dataFormat = (_field$dataFormat = field.dataFormat) != null ? _field$dataFormat : "x";
1407
+ var startStr = "";
1408
+ var endStr = "";
1409
+
1410
+ if (!_.isNil(start)) {
1411
+ var _m = moment(start, dataFormat);
1412
+
1413
+ startStr = _m.isValid() ? _m.format(fmt) : "";
1414
+ }
1415
+
1416
+ if (tillNow) {
1417
+ endStr = "至今";
1418
+ } else if (!_.isNil(end)) {
1419
+ var _m2 = moment(end, dataFormat);
1420
+
1421
+ endStr = _m2.isValid() ? _m2.format(fmt) : "";
1422
+ }
1423
+
1424
+ result[field.name] = startStr + " - " + endStr;
1425
+ }
1426
+ } // 嵌套 object
1427
+ else if (type === "object" && field.objectFields) {
1428
+ result[field.name] = MUtil.formatForExport(field, value);
1429
+ } // 嵌套 array
1430
+ else if (type === "array" && field.arrayMember && _.isArray(value)) {
1431
+ if (field.arrayMember.objectFields) {
1432
+ result[field.name] = value.map(function (item) {
1433
+ return MUtil.formatForExport(field.arrayMember, item);
1434
+ });
1435
+ }
1436
+ }
1437
+ };
1438
+
1439
+ for (var _iterator9 = _createForOfIteratorHelperLoose$d(fields), _step9; !(_step9 = _iterator9()).done;) {
1440
+ var _ret = _loop();
1441
+
1442
+ if (_ret === "continue") continue;
1443
+ }
1444
+
1445
+ return result;
1446
+ },
1447
+
1448
+ /**
1449
+ * 回填时将可读格式的时间字段反解析为内部格式
1450
+ * @param schema 表单 schema(type 为 object 的根 schema)
1451
+ * @param database 可读格式的数据
1452
+ * @returns 深拷贝后反解析过的数据
1453
+ */
1454
+ parseFromExport: function parseFromExport(schema, database) {
1455
+ if (_.isNil(database)) {
1456
+ return database;
1457
+ }
1458
+
1459
+ var result = _.cloneDeep(database);
1460
+
1461
+ var fields = schema.objectFields;
1462
+
1463
+ if (!fields) {
1464
+ return result;
1465
+ }
1466
+
1467
+ var _loop2 = function _loop2() {
1468
+ var field = _step10.value;
1469
+ var value = result[field.name];
1470
+
1471
+ if (_.isNil(value)) {
1472
+ return "continue";
1473
+ }
1474
+
1475
+ var type = field.type; // 时间选择器
1476
+
1477
+ if (type === "year" || type === "yearMonth" || type === "yearMonthDay" || type === "datetime" || type === "date") {
1478
+ var antConf = MDateTimeType.antConf(field);
1479
+
1480
+ if (antConf && _.isString(value)) {
1481
+ var m = moment(value, antConf.readableFormat);
1482
+
1483
+ if (m.isValid()) {
1484
+ result[field.name] = m.format(antConf.dataFormat);
1485
+ }
1486
+ }
1487
+ } // 时间范围选择器
1488
+ else if (type === "dateRange") {
1489
+ if (_.isString(value)) {
1490
+ var _field$dateRange2, _field$dataFormat2, _parts$, _parts$2;
1491
+
1492
+ var fmt = getReadableFormat(field.dateRangePrecision, (_field$dateRange2 = field.dateRange) == null ? void 0 : _field$dateRange2.showTime);
1493
+ var dataFormat = (_field$dataFormat2 = field.dataFormat) != null ? _field$dataFormat2 : "x";
1494
+ var parts = value.split(" - ");
1495
+ var startStr = (_parts$ = parts[0]) == null ? void 0 : _parts$.trim();
1496
+ var endStr = (_parts$2 = parts[1]) == null ? void 0 : _parts$2.trim();
1497
+ var start = null;
1498
+ var end = null;
1499
+ var tillNow = false;
1500
+
1501
+ if (startStr) {
1502
+ var _m3 = moment(startStr, fmt);
1503
+
1504
+ if (_m3.isValid()) {
1505
+ start = _m3.format(dataFormat);
1506
+ }
1507
+ }
1508
+
1509
+ if (endStr === "至今") {
1510
+ tillNow = true;
1511
+ } else if (endStr) {
1512
+ var _m4 = moment(endStr, fmt);
1513
+
1514
+ if (_m4.isValid()) {
1515
+ end = _m4.format(dataFormat);
1516
+ }
1517
+ }
1518
+
1519
+ result[field.name] = [start, end, tillNow];
1520
+ }
1521
+ } // 嵌套 object
1522
+ else if (type === "object" && field.objectFields) {
1523
+ result[field.name] = MUtil.parseFromExport(field, value);
1524
+ } // 嵌套 array
1525
+ else if (type === "array" && field.arrayMember && _.isArray(value)) {
1526
+ if (field.arrayMember.objectFields) {
1527
+ result[field.name] = value.map(function (item) {
1528
+ return MUtil.parseFromExport(field.arrayMember, item);
1529
+ });
1530
+ }
1531
+ }
1532
+ };
1533
+
1534
+ for (var _iterator10 = _createForOfIteratorHelperLoose$d(fields), _step10; !(_step10 = _iterator10()).done;) {
1535
+ var _ret2 = _loop2();
1536
+
1537
+ if (_ret2 === "continue") continue;
1538
+ }
1539
+
1540
+ return result;
1541
+ },
1542
+
791
1543
  /** 啥也不干的空回调 */
792
1544
  doNothing: function doNothing() {},
793
1545
 
@@ -875,8 +1627,8 @@ var MUtil = {
875
1627
  return f.name;
876
1628
  }), "字段名有重复");
877
1629
 
878
- for (var _iterator9 = _createForOfIteratorHelperLoose$e(s.objectFields), _step9; !(_step9 = _iterator9()).done;) {
879
- var f = _step9.value;
1630
+ for (var _iterator11 = _createForOfIteratorHelperLoose$d(s.objectFields), _step11; !(_step11 = _iterator11()).done;) {
1631
+ var f = _step11.value;
880
1632
  result = _.concat(result, MUtil.validateSchema(f, MUtil.jsonPath(parentPath, s.name)));
881
1633
  }
882
1634
 
@@ -994,209 +1746,48 @@ var MUtil = {
994
1746
  * escape数值
995
1747
  * @param str - 字符串
996
1748
  * @returns 会带上引号,类似"abc",str=nil时会返回""
997
- */
998
- escapeCsv: function escapeCsv(str) {
999
- if (!_.isString(str)) {
1000
- str = _.toString(str);
1001
- }
1002
-
1003
- return '"' + str.replace(/["]/g, '""') + '"';
1004
- },
1005
-
1006
- /**
1007
- * 判断两个值是否相同
1008
- * @param v1 一个值
1009
- * @param v2 另一个值
1010
- * @param tolerate true用==判断,false用===判断
1011
- */
1012
- isEquals: function isEquals(v1, v2, tolerate) {
1013
- if (tolerate) {
1014
- return v1 == v2;
1015
- } else {
1016
- return v1 === v2;
1017
- }
1018
- }
1019
- };
1020
- var CompactArray = {
1021
- indexOf: function indexOf(ca, d) {
1022
- if (_.isNil(d) || _.isNil(ca)) {
1023
- return -1;
1024
- }
1025
-
1026
- if (_.isArray(ca)) {
1027
- return ca.indexOf(d);
1028
- } else {
1029
- return ca === d ? 0 : -1;
1030
- }
1031
- }
1032
- };
1033
-
1034
- function _createForOfIteratorHelperLoose$d(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray$d(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
1035
-
1036
- function _unsupportedIterableToArray$d(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$d(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$d(o, minLen); }
1037
-
1038
- function _arrayLikeToArray$d(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
1039
- var defaultTheme = {
1040
- READABLE_UNKNOWN: "?",
1041
- READABLE_BLANK: "-",
1042
- READABLE_INVALID: "❓",
1043
- READABLE_ERROR: "❗",
1044
- themeName: "antMiddle"
1045
- };
1046
- /**
1047
- * 注册viewer,type,morph(viewer和type之间的关联)
1048
- */
1049
-
1050
- var Assembly = /*#__PURE__*/function () {
1051
- var _proto = Assembly.prototype;
1052
-
1053
- /** 根据定义返回View,返回nil表示没有可用的View */
1054
- _proto.getViewerOf = function getViewerOf(f, morph) {
1055
- if (f.editor && morph === "editor") {
1056
- if (_.isString(f.editor)) {
1057
- return _.get(this.viewers, f.editor);
1058
- } else {
1059
- return f.editor;
1060
- }
1061
- } else if (f.readable && morph === "readable") {
1062
- if (_.isString(f.readable)) {
1063
- return _.get(this.viewers, f.readable);
1064
- } else {
1065
- return f.readable;
1066
- }
1067
- } else {
1068
- var viewer = _.get(this.morph, morph + "." + f.type);
1069
-
1070
- if (_.isString(viewer)) {
1071
- return _.get(this.viewers, viewer);
1072
- } else {
1073
- return viewer;
1074
- }
1075
- }
1076
- };
1077
-
1078
- _proto.validate = function validate(s, v, path) {
1079
- if (path === void 0) {
1080
- path = "";
1081
- }
1082
-
1083
- var result = undefined;
1084
-
1085
- for (var _iterator = _createForOfIteratorHelperLoose$d(this.types[s.type].validators), _step; !(_step = _iterator()).done;) {
1086
- var validator = _step.value;
1087
- result = validator(this, s, v, path);
1088
-
1089
- if (result === "pass" && s.type !== "weight") {
1090
- return undefined;
1091
- } else if (typeof result === "object") {
1092
- MUtil.debug("校验", path, result.message);
1093
- return result;
1094
- }
1095
- }
1096
-
1097
- return undefined;
1098
- };
1099
-
1100
- _proto.addViewer = function addViewer(name, v) {
1101
- if (this.viewers[name]) {
1102
- console.error("addViewer: \u5DF2\u7ECF\u5B58\u5728\u540D\u4E3A " + name + " \u7684 Viewer\uFF0C\u65E0\u6CD5\u518D\u6B21\u6DFB\u52A0\uFF01");
1103
- return;
1104
- } else {
1105
- this.viewers[name] = v;
1106
- }
1107
- };
1108
-
1109
- _proto.addEditor = function addEditor(name, v) {
1110
- if (this.editors[name]) {
1111
- console.error("addEditor: \u5DF2\u7ECF\u5B58\u5728\u540D\u4E3A " + name + " \u7684 Editor\uFF0C\u65E0\u6CD5\u518D\u6B21\u6DFB\u52A0\uFF01");
1112
- return;
1113
- } else {
1114
- this.editors[name] = v;
1115
- }
1116
- }
1117
- /**
1118
- * 增加一种数据类型
1119
- * 例:
1120
- * const hpOrg = {name: "hpOrg", type: {validators: ..., toReadable: ...}, editor: HPOrgEditor, readable: "DivViewer"}
1121
- * addType(hpOrg)
1122
- * @param typeParam 类型的描述对象
1123
- */
1124
- ;
1125
-
1126
- _proto.addType = function addType(typeParam) {
1127
- var name = typeParam.name,
1128
- type = typeParam.type,
1129
- editor = typeParam.editor,
1130
- _typeParam$readable = typeParam.readable,
1131
- readable = _typeParam$readable === void 0 ? "DivViewer" : _typeParam$readable;
1132
- this.types[name] = type;
1133
-
1134
- _.set(this.morph, "editor." + name, editor);
1135
-
1136
- _.set(this.morph, "readable." + name, readable);
1137
- };
1138
-
1139
- function Assembly() {
1140
- var _this = this;
1141
-
1142
- this.types = {};
1143
- this.viewers = {};
1144
- this.editors = {};
1145
- this.morph = {};
1146
- this.theme = defaultTheme;
1147
-
1148
- this.toReadable = function (s, v, parent) {
1149
- var t = _this.types[s.type];
1150
-
1151
- if (t) {
1152
- var _r;
1153
-
1154
- var r;
1155
-
1156
- if (_.isString(s.toReadable)) {
1157
- // eslint-disable-next-line no-new-func
1158
- r = new Function("_", "value", "theme", "const {READABLE_UNKNOWN, READABLE_BLANK, READABLE_INVALID, READABLE_ERROR} = theme; return " + s.toReadable)(_, v, _this.theme);
1159
- } else if (_.isFunction(s.toReadable)) {
1160
- r = s.toReadable(v, parent, _this);
1161
- }
1162
-
1163
- r = (_r = r) != null ? _r : t.toReadable(_this, s, v);
1164
-
1165
- if (s.postfix) {
1166
- r += s.postfix;
1167
- }
1168
-
1169
- return r;
1170
- } else {
1171
- return s.type + "类型无效";
1172
- }
1173
- }; // 校验types是否使用了无效的编辑器名字
1174
-
1175
-
1176
- for (var morphName in this.morph) {
1177
- for (var typeName in this.morph[morphName]) {
1178
- if (!this.types[typeName]) {
1179
- throw SyntaxError("\u7C7B\u578B" + typeName + "\u672A\u5B9A\u4E49");
1180
- }
1749
+ */
1750
+ escapeCsv: function escapeCsv(str) {
1751
+ if (!_.isString(str)) {
1752
+ str = _.toString(str);
1753
+ }
1181
1754
 
1182
- var viewerName = this.morph[morphName][typeName];
1755
+ return '"' + str.replace(/["]/g, '""') + '"';
1756
+ },
1183
1757
 
1184
- if (!this.viewers[viewerName]) {
1185
- throw SyntaxError("\u89C6\u56FE" + viewerName + "\u672A\u5B9A\u4E49");
1186
- }
1187
- }
1758
+ /**
1759
+ * 判断两个值是否相同
1760
+ * @param v1 一个值
1761
+ * @param v2 另一个值
1762
+ * @param tolerate true用==判断,false用===判断
1763
+ */
1764
+ isEquals: function isEquals(v1, v2, tolerate) {
1765
+ if (tolerate) {
1766
+ return v1 == v2;
1767
+ } else {
1768
+ return v1 === v2;
1188
1769
  }
1189
1770
  }
1771
+ };
1772
+ var CompactArray = {
1773
+ indexOf: function indexOf(ca, d) {
1774
+ if (_.isNil(d) || _.isNil(ca)) {
1775
+ return -1;
1776
+ }
1190
1777
 
1191
- return Assembly;
1192
- }();
1193
- var assembly = new Assembly();
1778
+ if (_.isArray(ca)) {
1779
+ return ca.indexOf(d);
1780
+ } else {
1781
+ return ca === d ? 0 : -1;
1782
+ }
1783
+ }
1784
+ };
1194
1785
 
1195
1786
  var MContext = /*#__PURE__*/React.createContext(undefined);
1196
1787
 
1197
- function ownKeys$x(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1788
+ function ownKeys$y(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1198
1789
 
1199
- function _objectSpread$x(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$x(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$x(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1790
+ function _objectSpread$y(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$y(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$y(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1200
1791
  /**
1201
1792
  * 一个字段的视图
1202
1793
  */
@@ -1219,7 +1810,7 @@ var MFieldViewer = /*#__PURE__*/function (_React$Component) {
1219
1810
  return MUtil.error("\u5B57\u6BB5\u7684\u89C6\u56FE\u5C1A\u672A\u5B9E\u73B0", this.props.schema);
1220
1811
  }
1221
1812
 
1222
- var props = _objectSpread$x({
1813
+ var props = _objectSpread$y({
1223
1814
  afterChange: function afterChange() {},
1224
1815
  changeSchema: function changeSchema() {},
1225
1816
  changeDatabase: function changeDatabase() {},
@@ -1227,229 +1818,19 @@ var MFieldViewer = /*#__PURE__*/function (_React$Component) {
1227
1818
  }, this.props);
1228
1819
 
1229
1820
  var ele = /*#__PURE__*/React.createElement(viewer, props, null);
1230
- return jsx(MContext.Consumer, {
1231
- children: function children(ctx) {
1232
- if (ctx.rootProps.wrapper && _this.props.schema.type !== 'object' && _this.props.schema.type !== 'array') {
1233
- return ctx.rootProps.wrapper(ele, _this.props.schema);
1234
- } else {
1235
- return ele;
1236
- }
1237
- }
1238
- });
1239
- };
1240
-
1241
- return MFieldViewer;
1242
- }(React.Component);
1243
-
1244
- /**
1245
- * 非空校验,数据不能是null/undefined/""/NaN/[]
1246
- * 要在其他条件之前,以便required=false时短路掉nil的数据,否则后面的校验全都得处理nil
1247
- * @param a
1248
- * @param schema
1249
- * @param value
1250
- * @param path
1251
- * @returns
1252
- */
1253
-
1254
- function validateRequired$1(a, schema, value, path) {
1255
- if (schema.required) {
1256
- if (_.isNil(value) || value === "" || _.isNaN(value) || _.isArray(value) && value.length == 0) {
1257
- return {
1258
- message: "您还没有填完这一项",
1259
- path: path
1260
- };
1261
- } // 凡是总有例外
1262
-
1263
-
1264
- if (schema.type === "set" && schema.openOption) {
1265
- if (value.length === 1 && !value[0]) {
1266
- return {
1267
- message: "您还没有填完这一项",
1268
- path: path
1269
- }; // 开放set,只勾了开放选项,没有填内容,也要算空
1270
- }
1271
- }
1272
- } else {
1273
- if (_.isNil(value)) {
1274
- return "pass";
1275
- }
1276
- }
1277
-
1278
- return undefined;
1279
- }
1280
- /** 和validateRequired相同,但不短路 */
1281
-
1282
- function validateRequiredNS(a, schema, value, path) {
1283
- var v = validateRequired$1(a, schema, value, path);
1284
-
1285
- if (v === "pass") {
1286
- return undefined;
1287
- }
1288
- }
1289
- function validateDateMinMax(a, schema, value, path) {
1290
- if (schema.min) {
1291
- if (!value || value < schema.min) {
1292
- return {
1293
- message: "\u8BF7\u9009\u62E9" + schema.min + "\u4E4B\u540E\u7684\u65F6\u95F4",
1294
- path: path
1295
- };
1296
- }
1297
- }
1298
-
1299
- if (schema.max) {
1300
- if (!value || value > schema.max) {
1301
- return {
1302
- message: "\u8BF7\u9009\u62E9" + schema.min + "\u4E4B\u524D\u7684\u65F6\u95F4",
1303
- path: path
1304
- };
1305
- }
1306
- }
1307
-
1308
- return undefined;
1309
- }
1310
- /**
1311
- * 数组项数不超过[min, max]
1312
- * @param schema
1313
- * @param value 应该是个数组
1314
- */
1315
-
1316
- function validateArrayItemMinMax(a, schema, value, path) {
1317
- if (schema.min) {
1318
- if (!value || value.length < schema.min) {
1319
- return {
1320
- message: "\u81F3\u5C11\u9009\u62E9" + schema.min + "\u9879",
1321
- path: path
1322
- };
1323
- }
1324
- }
1325
-
1326
- if (schema.max) {
1327
- if (!value || value.length > schema.max) {
1328
- return {
1329
- message: "\u6700\u591A\u9009\u62E9" + schema.max + "\u9879",
1330
- path: path
1331
- };
1332
- }
1333
- }
1334
-
1335
- return undefined;
1336
- }
1337
- /**
1338
- * 字符串长度不超过[min, max]
1339
- * @param schema
1340
- * @param value 应该是个字符串
1341
- */
1342
-
1343
- function validateStringMinMax$1(a, schema, value, path) {
1344
- if (schema.min) {
1345
- if (!value || value.length < schema.min) {
1346
- return {
1347
- message: "\u81F3\u5C11" + schema.min + "\u4E2A\u5B57",
1348
- path: path
1349
- };
1350
- }
1351
- }
1352
-
1353
- if (schema.max) {
1354
- if (value && value.length > schema.max) {
1355
- return {
1356
- message: "\u6700\u591A" + schema.max + "\u4E2A\u5B57",
1357
- path: path
1358
- };
1359
- }
1360
- }
1361
-
1362
- return undefined;
1363
- }
1364
- /**
1365
- * 数字不超过[min, max]
1366
- * @param schema
1367
- * @param value 应该是个数字
1368
- */
1369
-
1370
- function validateNumberMinMax(a, schema, value, path) {
1371
- var temp = Number(value);
1372
-
1373
- if (!_.isNil(schema.max)) {
1374
- if (!_.isFinite(temp) || temp > schema.max) {
1375
- return {
1376
- message: "\u6700\u591A" + schema.max,
1377
- path: path
1378
- };
1379
- }
1380
- }
1381
-
1382
- if (!_.isNil(schema.min)) {
1383
- if (!_.isFinite(temp) || temp < schema.min) {
1384
- return {
1385
- message: "\u6700\u5C11" + schema.min,
1386
- path: path
1387
- };
1388
- }
1389
- }
1390
-
1391
- return undefined;
1392
- }
1393
- function generateRegexValidate$1(regex, mismatchMsg) {
1394
- return function (a, schema, value, path) {
1395
- var asstr = _.toString(value);
1396
-
1397
- if (!regex.test(asstr)) {
1398
- return {
1399
- message: mismatchMsg,
1400
- path: path
1401
- };
1402
- }
1403
-
1404
- return undefined;
1405
- };
1406
- }
1407
- /**
1408
- * 数据用Object.prototype.toString.call返回的类型是预期的
1409
- * 可以用Object.prototype.toString.call(<预期的类型>)来查看你想要的数据类型的expectType
1410
- * @param expectType 预期类型,例如:"[object Object]" "[object Null]" "[object Number]" "[object Date]" "[object Array]"
1411
- * @param mismatchMsg 如果不匹配,提示的错误信息
1412
- * @returns
1413
- */
1414
-
1415
- function generateJsPrototypeValidate(expectType, mismatchMsg) {
1416
- if (mismatchMsg === void 0) {
1417
- mismatchMsg = "数据有误,请重填此项";
1418
- }
1419
-
1420
- return function (a, schema, value, path) {
1421
- if (Object.prototype.toString.call(value) == expectType) {
1422
- return undefined;
1423
- } else {
1424
- return {
1425
- message: mismatchMsg,
1426
- path: path
1427
- };
1428
- }
1429
- };
1430
- }
1431
- function generateSchemaValidate(valueSchema, mismatchMsg) {
1432
- return function (a, schema, value, path) {
1433
- var r = assembly.validate(valueSchema, value, "");
1434
-
1435
- if (!r) {
1436
- return r;
1437
- } else {
1438
- return {
1439
- message: mismatchMsg != null ? mismatchMsg : r.message,
1440
- path: path
1441
- };
1442
- }
1821
+ return jsx(MContext.Consumer, {
1822
+ children: function children(ctx) {
1823
+ if (ctx.rootProps.wrapper && _this.props.schema.type !== 'object' && _this.props.schema.type !== 'array') {
1824
+ return ctx.rootProps.wrapper(ele, _this.props.schema);
1825
+ } else {
1826
+ return ele;
1827
+ }
1828
+ }
1829
+ });
1443
1830
  };
1444
- }
1445
- var Validator = {
1446
- validateRequired: validateRequired$1,
1447
- validateRequiredNS: validateRequiredNS,
1448
- validateDateMinMax: validateDateMinMax,
1449
- validateStringMinMax: validateStringMinMax$1,
1450
- validateNumberMinMax: validateNumberMinMax,
1451
- generateRegexValidate: generateRegexValidate$1
1452
- };
1831
+
1832
+ return MFieldViewer;
1833
+ }(React.Component);
1453
1834
 
1454
1835
  function _createForOfIteratorHelperLoose$c(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray$c(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
1455
1836
 
@@ -1536,34 +1917,6 @@ var MEnumType = {
1536
1917
  }
1537
1918
  };
1538
1919
 
1539
- var EmtpyType = {
1540
- validators: [],
1541
- createDefaultValue: function createDefaultValue(assembly, s) {
1542
- if (s.defaultValue) {
1543
- return _.clone(s.defaultValue);
1544
- } else {
1545
- return undefined;
1546
- }
1547
- },
1548
- standardValue: function standardValue(assembly, s, v, strict) {
1549
- return v;
1550
- },
1551
- toReadable: function toReadable(assembly, s, vs) {
1552
- if (_.isNil(vs)) {
1553
- return assembly.theme.READABLE_BLANK;
1554
- }
1555
-
1556
- return vs;
1557
- }
1558
- };
1559
- function createDefaultValue(assembly, s) {
1560
- if (s.defaultValue) {
1561
- return _.clone(s.defaultValue);
1562
- } else {
1563
- return undefined;
1564
- }
1565
- }
1566
-
1567
1920
  var gb2260 = [
1568
1921
  {
1569
1922
  value: "110000",
@@ -15101,103 +15454,6 @@ var MGB2260Type = _.assign({}, EmtpyType, {
15101
15454
  }
15102
15455
  });
15103
15456
 
15104
- var MDateTimeType = _.assign({}, EmtpyType, {
15105
- validators: [validateRequired$1, validateDateMinMax],
15106
- antConf: function antConf(schema) {
15107
- var _dataFormat, _dataFormat2, _dataFormat3, _dataFormat4, _dataFormat5, _dataFormat6, _dataFormat7, _dataFormat8;
15108
-
15109
- var dataFormat = schema.dataFormat;
15110
- var readableFormat;
15111
- var mode;
15112
- var showTime = false;
15113
-
15114
- switch (schema.type) {
15115
- case "year":
15116
- mode = "year";
15117
- dataFormat = (_dataFormat = dataFormat) != null ? _dataFormat : "YYYY";
15118
- readableFormat = "YYYY";
15119
- break;
15120
-
15121
- case "yearMonth":
15122
- mode = "month";
15123
- dataFormat = (_dataFormat2 = dataFormat) != null ? _dataFormat2 : "YYYYMM";
15124
- readableFormat = "YYYY-MM";
15125
- break;
15126
-
15127
- case "yearMonthDay":
15128
- mode = "date";
15129
- dataFormat = (_dataFormat3 = dataFormat) != null ? _dataFormat3 : "YYYYMMDD";
15130
- readableFormat = "YYYY-MM-DD";
15131
- break;
15132
-
15133
- case "datetime":
15134
- mode = undefined;
15135
- dataFormat = (_dataFormat4 = dataFormat) != null ? _dataFormat4 : "x";
15136
- readableFormat = "YYYY-MM-DD HH:mm";
15137
- showTime = true;
15138
- break;
15139
-
15140
- case "date":
15141
- switch (schema.datePrecision) {
15142
- case "year":
15143
- mode = "year";
15144
- dataFormat = (_dataFormat5 = dataFormat) != null ? _dataFormat5 : "YYYY";
15145
- readableFormat = "YYYY";
15146
- break;
15147
-
15148
- case "month":
15149
- mode = "month";
15150
- dataFormat = (_dataFormat6 = dataFormat) != null ? _dataFormat6 : "YYYYMM";
15151
- readableFormat = "YYYY-MM";
15152
- break;
15153
-
15154
- case "minute":
15155
- mode = undefined;
15156
- dataFormat = (_dataFormat7 = dataFormat) != null ? _dataFormat7 : "x";
15157
- readableFormat = "YYYY-MM-DD HH:mm";
15158
- showTime = true;
15159
- break;
15160
-
15161
- default:
15162
- // "day" 或未指定
15163
- mode = "date";
15164
- dataFormat = (_dataFormat8 = dataFormat) != null ? _dataFormat8 : "YYYYMMDD";
15165
- readableFormat = "YYYY-MM-DD";
15166
- break;
15167
- }
15168
-
15169
- break;
15170
- // case "yearAndQuarter":
15171
- // case "yearAndWeek":
15172
- // return MUtil.error(`移动端不支持${this.props.schema.type}`, this.props.schema);
15173
-
15174
- default:
15175
- return undefined;
15176
- }
15177
-
15178
- return {
15179
- dataFormat: dataFormat,
15180
- readableFormat: readableFormat,
15181
- mode: mode,
15182
- showTime: showTime
15183
- };
15184
- },
15185
- toReadable: function toReadable(assembly, schema, v) {
15186
- if (_.isNil(v)) {
15187
- return assembly.theme.READABLE_BLANK;
15188
- }
15189
-
15190
- var c = MDateTimeType.antConf(schema);
15191
-
15192
- if (!c) {
15193
- return assembly.theme.READABLE_INVALID;
15194
- }
15195
-
15196
- var asMoment = moment(v, c.dataFormat);
15197
- return asMoment.format(c.readableFormat);
15198
- }
15199
- });
15200
-
15201
15457
  function _createForOfIteratorHelperLoose$a(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray$a(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
15202
15458
 
15203
15459
  function _unsupportedIterableToArray$a(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$a(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$a(o, minLen); }
@@ -15849,75 +16105,6 @@ var MObjectType = {
15849
16105
  }
15850
16106
  };
15851
16107
 
15852
- /** 根据 precision 获取可读格式 */
15853
-
15854
- function getReadableFormat(precision, showTime) {
15855
- switch (precision) {
15856
- case "year":
15857
- return "YYYY年";
15858
-
15859
- case "month":
15860
- return "YYYY年MM月";
15861
-
15862
- case "minute":
15863
- return "YYYY年MM月DD日 HH:mm";
15864
-
15865
- default:
15866
- return showTime ? "YYYY年MM月DD日 HH:mm:ss" : "YYYY年MM月DD日";
15867
- }
15868
- }
15869
-
15870
- function timeExpr(assembly, v, tillNow, readableFormat) {
15871
- if (tillNow) {
15872
- return "至今";
15873
- }
15874
-
15875
- if (!v) {
15876
- return assembly.theme.READABLE_UNKNOWN;
15877
- }
15878
-
15879
- return moment(v, "x").format(readableFormat);
15880
- }
15881
-
15882
- function timeRangeExpr(assembly, from, to, tillNow, readableFormat) {
15883
- if (readableFormat === void 0) {
15884
- readableFormat = "YYYY年MM月DD日";
15885
- }
15886
-
15887
- return timeExpr(assembly, from, false, readableFormat) + " ~ " + timeExpr(assembly, to, tillNow, readableFormat);
15888
- }
15889
- var MDateRangeType = _.assign({}, EmtpyType, {
15890
- validators: [validateRequired$1],
15891
- toReadable: function toReadable(assembly, s, vs) {
15892
- var _s$dateRange;
15893
-
15894
- if (_.isNil(vs)) {
15895
- return assembly.theme.READABLE_BLANK;
15896
- }
15897
-
15898
- if (!_.isArray(vs)) {
15899
- return assembly.theme.READABLE_INVALID;
15900
- }
15901
-
15902
- var fmt = getReadableFormat(s.dateRangePrecision, (_s$dateRange = s.dateRange) == null ? void 0 : _s$dateRange.showTime);
15903
- return timeRangeExpr(assembly, vs[0], vs[1], vs[2], fmt);
15904
- },
15905
-
15906
- /**
15907
- * 同toReadable,但数据无效时返回nil
15908
- */
15909
- toReadableN: function toReadableN(assembly, s, vs) {
15910
- if (!_.isNil(vs) && _.isArray(vs)) {
15911
- var _s$dateRange2;
15912
-
15913
- var fmt = getReadableFormat(s.dateRangePrecision, (_s$dateRange2 = s.dateRange) == null ? void 0 : _s$dateRange2.showTime);
15914
- return timeRangeExpr(assembly, vs[0], vs[1], vs[2], fmt);
15915
- }
15916
-
15917
- return undefined;
15918
- }
15919
- });
15920
-
15921
16108
  function _createForOfIteratorHelperLoose$6(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray$6(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
15922
16109
 
15923
16110
  function _unsupportedIterableToArray$6(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$6(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$6(o, minLen); }
@@ -16343,9 +16530,9 @@ var BaseViewer = /*#__PURE__*/function (_Viewer) {
16343
16530
  return BaseViewer;
16344
16531
  }(Viewer);
16345
16532
 
16346
- function ownKeys$w(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16533
+ function ownKeys$x(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16347
16534
 
16348
- function _objectSpread$w(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$w(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$w(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16535
+ function _objectSpread$x(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$x(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$x(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16349
16536
  var ArrayViewer = /*#__PURE__*/function (_BaseViewer) {
16350
16537
  _inheritsLoose(ArrayViewer, _BaseViewer);
16351
16538
 
@@ -16363,35 +16550,35 @@ var ArrayViewer = /*#__PURE__*/function (_BaseViewer) {
16363
16550
 
16364
16551
  if (_.isNil(vs)) {
16365
16552
  return jsx("div", {
16366
- style: _objectSpread$w({}, s),
16553
+ style: _objectSpread$x({}, s),
16367
16554
  children: assembly.theme.READABLE_BLANK
16368
16555
  });
16369
16556
  } else if (!_.isArray(vs)) {
16370
16557
  return jsx("div", {
16371
- style: _objectSpread$w({}, s),
16558
+ style: _objectSpread$x({}, s),
16372
16559
  children: assembly.theme.READABLE_INVALID
16373
16560
  });
16374
16561
  } else if (vs.length === 0) {
16375
16562
  return jsx("div", {
16376
- style: _objectSpread$w({}, s),
16563
+ style: _objectSpread$x({}, s),
16377
16564
  children: assembly.theme.READABLE_BLANK
16378
16565
  });
16379
16566
  }
16380
16567
 
16381
16568
  if (this.props.schema.toReadable) {
16382
16569
  return jsxs("div", {
16383
- children: [" style=", _objectSpread$w({}, s), assembly.toReadable(this.props.schema, vs, _BaseViewer.prototype.getParentValue.call(this))]
16570
+ children: [" style=", _objectSpread$x({}, s), assembly.toReadable(this.props.schema, vs, _BaseViewer.prototype.getParentValue.call(this))]
16384
16571
  });
16385
16572
  } else if (this.props.schema.remote) {
16386
16573
  return jsxs("div", {
16387
- style: _objectSpread$w({}, s),
16574
+ style: _objectSpread$x({}, s),
16388
16575
  children: [" ", vs.map(function (v) {
16389
16576
  return v.label;
16390
16577
  }).join(", "), " "]
16391
16578
  });
16392
16579
  } else if (!this.props.schema.arrayMember) {
16393
16580
  return jsx("div", {
16394
- style: _objectSpread$w({}, s),
16581
+ style: _objectSpread$x({}, s),
16395
16582
  children: vs.join(', ')
16396
16583
  });
16397
16584
  } else {
@@ -16434,9 +16621,9 @@ var ArrayViewer = /*#__PURE__*/function (_BaseViewer) {
16434
16621
  return ArrayViewer;
16435
16622
  }(BaseViewer);
16436
16623
 
16437
- function ownKeys$v(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16624
+ function ownKeys$w(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16438
16625
 
16439
- function _objectSpread$v(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$v(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$v(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16626
+ function _objectSpread$w(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$w(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$w(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16440
16627
 
16441
16628
  function toPrecision(mode) {
16442
16629
  switch (mode) {
@@ -16516,7 +16703,7 @@ var ADatetimePicker = /*#__PURE__*/function (_BaseViewer) {
16516
16703
  });
16517
16704
  },
16518
16705
  children: dataAsDate ? moment(dataAsDate).format(antConf.readableFormat) : "请点击选择"
16519
- }), jsx(DatePicker, _objectSpread$v({
16706
+ }), jsx(DatePicker, _objectSpread$w({
16520
16707
  visible: this.state.pickerVisible,
16521
16708
  value: dataAsDate,
16522
16709
  min: this.props.schema.min ? moment(this.props.schema.min, antConf.dataFormat).toDate() : undefined,
@@ -16544,7 +16731,7 @@ var ADatetimePicker = /*#__PURE__*/function (_BaseViewer) {
16544
16731
  var pickerKey = this.props.path + "_" + ((_antConf$mode = antConf.mode) != null ? _antConf$mode : "datetime");
16545
16732
  return jsx(ConfigProvider, {
16546
16733
  locale: zhCN,
16547
- children: jsx(DatePicker$1, _objectSpread$v({
16734
+ children: jsx(DatePicker$1, _objectSpread$w({
16548
16735
  disabled: this.props.disable,
16549
16736
  bordered: this.props.hideBorder ? false : true,
16550
16737
  disabledDate: function disabledDate(m) {
@@ -16567,9 +16754,9 @@ var ADatetimePicker = /*#__PURE__*/function (_BaseViewer) {
16567
16754
  return ADatetimePicker;
16568
16755
  }(BaseViewer);
16569
16756
 
16570
- function ownKeys$u(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16757
+ function ownKeys$v(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16571
16758
 
16572
- function _objectSpread$u(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$u(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$u(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16759
+ function _objectSpread$v(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$v(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$v(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16573
16760
  /**
16574
16761
  * 选择中国的省市县
16575
16762
  * 示例:{label:"1.5 您目前的居住地",name:"reside", type:"gb2260"},
@@ -16617,7 +16804,7 @@ var AGB2260 = /*#__PURE__*/function (_BaseViewer) {
16617
16804
  });
16618
16805
  },
16619
16806
  children: looked == null ? void 0 : (_looked$label = looked.label) == null ? void 0 : _looked$label.join("/")
16620
- }), jsx(Picker, _objectSpread$u({
16807
+ }), jsx(Picker, _objectSpread$v({
16621
16808
  columns: MGB2260Type.gb2260,
16622
16809
  value: looked.code,
16623
16810
  visible: this.state.pickerVisible,
@@ -16637,7 +16824,7 @@ var AGB2260 = /*#__PURE__*/function (_BaseViewer) {
16637
16824
  });
16638
16825
  } else {
16639
16826
  // PC
16640
- return jsx(Cascader, _objectSpread$u({
16827
+ return jsx(Cascader, _objectSpread$v({
16641
16828
  options: MGB2260Type.gb2260,
16642
16829
  disabled: this.props.disable,
16643
16830
  placeholder: _BaseViewer.prototype.getPlaceholder.call(this),
@@ -16655,9 +16842,9 @@ var AGB2260 = /*#__PURE__*/function (_BaseViewer) {
16655
16842
  return AGB2260;
16656
16843
  }(BaseViewer);
16657
16844
 
16658
- function ownKeys$t(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16845
+ function ownKeys$u(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16659
16846
 
16660
- function _objectSpread$t(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$t(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$t(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16847
+ function _objectSpread$u(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$u(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$u(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16661
16848
 
16662
16849
  var OPEN_ENUM_RADIO_VALUE = -1;
16663
16850
  /**
@@ -16766,7 +16953,7 @@ var ARadio = /*#__PURE__*/function (_BaseViewer) {
16766
16953
  }
16767
16954
 
16768
16955
  var p = (_this$props$schema$pr = this.props.schema.props) != null ? _this$props$schema$pr : {};
16769
- return jsx(Radio.Group, _objectSpread$t(_objectSpread$t({
16956
+ return jsx(Radio.Group, _objectSpread$u(_objectSpread$u({
16770
16957
  defaultValue: initIndex,
16771
16958
  onChange: function onChange(vv) {
16772
16959
  var v = vv.target.value;
@@ -16789,9 +16976,9 @@ var ARadio = /*#__PURE__*/function (_BaseViewer) {
16789
16976
  return ARadio;
16790
16977
  }(BaseViewer);
16791
16978
 
16792
- function ownKeys$s(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16979
+ function ownKeys$t(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16793
16980
 
16794
- function _objectSpread$s(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$s(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$s(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16981
+ function _objectSpread$t(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$t(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$t(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16795
16982
  /**
16796
16983
  * antd 的评分组件 https://ant.design/components/rate-cn/
16797
16984
  * { editor: 'ARate', name: 'score', label: "评分", required: true, props: {count: 8} }
@@ -16816,7 +17003,7 @@ var ARate = /*#__PURE__*/function (_BaseViewer) {
16816
17003
 
16817
17004
  var p = (_this$props$schema$pr = this.props.schema.props) != null ? _this$props$schema$pr : {};
16818
17005
 
16819
- var props = _objectSpread$s({
17006
+ var props = _objectSpread$t({
16820
17007
  count: this.props.schema.max,
16821
17008
  defaultValue: this.value,
16822
17009
  onChange: function onChange(value, label, extra) {
@@ -16846,7 +17033,7 @@ var ARate = /*#__PURE__*/function (_BaseViewer) {
16846
17033
  className: "m3-nps-tip-right",
16847
17034
  children: p.rightTip
16848
17035
  })]
16849
- }) : null, jsx(Rate, _objectSpread$s({
17036
+ }) : null, jsx(Rate, _objectSpread$t({
16850
17037
  className: "m3-nps-rate"
16851
17038
  }, props))]
16852
17039
  });
@@ -16855,9 +17042,9 @@ var ARate = /*#__PURE__*/function (_BaseViewer) {
16855
17042
  return ARate;
16856
17043
  }(BaseViewer);
16857
17044
 
16858
- function ownKeys$r(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17045
+ function ownKeys$s(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16859
17046
 
16860
- function _objectSpread$r(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$r(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$r(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17047
+ function _objectSpread$s(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$s(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$s(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16861
17048
  /**
16862
17049
  * antd 的上传组件 https://ant.design/components/upload-cn/
16863
17050
  * {
@@ -16937,7 +17124,7 @@ var AUpload = /*#__PURE__*/function (_BaseViewer) {
16937
17124
  });
16938
17125
  }
16939
17126
 
16940
- var props = _objectSpread$r(_objectSpread$r({}, a), {}, {
17127
+ var props = _objectSpread$s(_objectSpread$s({}, a), {}, {
16941
17128
  onChange: function onChange(info) {
16942
17129
  if (p.onChange) p.onChange(info);
16943
17130
  console.log(info);
@@ -16999,7 +17186,7 @@ var AUpload = /*#__PURE__*/function (_BaseViewer) {
16999
17186
  }
17000
17187
  }, p);
17001
17188
 
17002
- return jsx(Upload, _objectSpread$r(_objectSpread$r({
17189
+ return jsx(Upload, _objectSpread$s(_objectSpread$s({
17003
17190
  disabled: this.loading !== undefined
17004
17191
  }, props), {}, {
17005
17192
  children: jsx(Button, {
@@ -17012,9 +17199,9 @@ var AUpload = /*#__PURE__*/function (_BaseViewer) {
17012
17199
  return AUpload;
17013
17200
  }(BaseViewer);
17014
17201
 
17015
- function ownKeys$q(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17202
+ function ownKeys$r(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17016
17203
 
17017
- function _objectSpread$q(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$q(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$q(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17204
+ function _objectSpread$r(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$r(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$r(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17018
17205
  /**
17019
17206
  * antd 的树型选择控件 https://ant.design/components/tree-select-cn/
17020
17207
  * {
@@ -17046,7 +17233,7 @@ var ATreeSelect = /*#__PURE__*/function (_BaseViewer) {
17046
17233
 
17047
17234
  var p = (_this$props$schema$pr = this.props.schema.props) != null ? _this$props$schema$pr : {};
17048
17235
 
17049
- var props = _objectSpread$q({
17236
+ var props = _objectSpread$r({
17050
17237
  defaultValue: this.value,
17051
17238
  onChange: function onChange(value, label, extra) {
17052
17239
  if (p.onChange) p.onChange(value, label, extra);
@@ -17060,7 +17247,7 @@ var ATreeSelect = /*#__PURE__*/function (_BaseViewer) {
17060
17247
  }
17061
17248
  }, p);
17062
17249
 
17063
- return jsx(TreeSelect, _objectSpread$q({
17250
+ return jsx(TreeSelect, _objectSpread$r({
17064
17251
  style: {
17065
17252
  width: "100%"
17066
17253
  }
@@ -17070,9 +17257,9 @@ var ATreeSelect = /*#__PURE__*/function (_BaseViewer) {
17070
17257
  return ATreeSelect;
17071
17258
  }(BaseViewer);
17072
17259
 
17073
- function ownKeys$p(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17260
+ function ownKeys$q(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17074
17261
 
17075
- function _objectSpread$p(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$p(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$p(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17262
+ function _objectSpread$q(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$q(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$q(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17076
17263
  /**
17077
17264
  * NPS 打分组件,基于 antd 的评分组件 https://ant.design/components/rate-cn/
17078
17265
  * 定义示例:{ editor: 'NPS', name: 'possibility', label: "您向朋友或同事推荐本堂课程的可能性有多大?", required: true },
@@ -17100,7 +17287,7 @@ var NPS = /*#__PURE__*/function (_BaseViewer) {
17100
17287
 
17101
17288
  var p = (_this$props$schema$pr = this.props.schema.props) != null ? _this$props$schema$pr : {};
17102
17289
 
17103
- var props = _objectSpread$p({
17290
+ var props = _objectSpread$q({
17104
17291
  count: 11,
17105
17292
  character: function character(_ref) {
17106
17293
  var index = _ref.index;
@@ -17133,7 +17320,7 @@ var NPS = /*#__PURE__*/function (_BaseViewer) {
17133
17320
  className: "m3-nps-tip-right",
17134
17321
  children: (_p$rightTip = p.rightTip) != null ? _p$rightTip : '极有可能'
17135
17322
  })]
17136
- }), jsx(Rate, _objectSpread$p({
17323
+ }), jsx(Rate, _objectSpread$q({
17137
17324
  className: "m3-nps-rate"
17138
17325
  }, props)), p.remark ? jsx("div", {
17139
17326
  className: "m3-nps-remark",
@@ -17145,9 +17332,9 @@ var NPS = /*#__PURE__*/function (_BaseViewer) {
17145
17332
  return NPS;
17146
17333
  }(BaseViewer);
17147
17334
 
17148
- function ownKeys$o(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17335
+ function ownKeys$p(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17149
17336
 
17150
- function _objectSpread$o(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$o(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$o(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17337
+ function _objectSpread$p(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$p(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$p(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17151
17338
  /**
17152
17339
  * 输入整数的输入框
17153
17340
  * 定义示例:{label:"2.3 请问今年以来您平均每月工作多少天?",name:"workdayPerMonth", type:"int"},
@@ -17168,9 +17355,9 @@ var AIntBox = /*#__PURE__*/function (_BaseViewer) {
17168
17355
 
17169
17356
  var p = (_this$props$schema$pr = this.props.schema.props) != null ? _this$props$schema$pr : {};
17170
17357
 
17171
- var props = _objectSpread$o(_objectSpread$o({}, _BaseViewer.prototype.antProp.call(this)), {}, {
17358
+ var props = _objectSpread$p(_objectSpread$p({}, _BaseViewer.prototype.antProp.call(this)), {}, {
17172
17359
  bordered: undefined,
17173
- style: _objectSpread$o({
17360
+ style: _objectSpread$p({
17174
17361
  border: this.props.hideBorder ? "none" : undefined
17175
17362
  }, this.props.style),
17176
17363
  min: this.props.schema.min,
@@ -17197,7 +17384,7 @@ var AIntBox = /*#__PURE__*/function (_BaseViewer) {
17197
17384
  }
17198
17385
  }, p);
17199
17386
 
17200
- return jsx(InputNumber, _objectSpread$o({}, props));
17387
+ return jsx(InputNumber, _objectSpread$p({}, props));
17201
17388
  };
17202
17389
 
17203
17390
  return AIntBox;
@@ -17366,9 +17553,9 @@ var ACheckBox = /*#__PURE__*/function (_BaseViewer) {
17366
17553
  return ACheckBox;
17367
17554
  }(BaseViewer);
17368
17555
 
17369
- function ownKeys$n(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17556
+ function ownKeys$o(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17370
17557
 
17371
- function _objectSpread$n(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$n(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$n(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17558
+ function _objectSpread$o(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$o(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$o(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17372
17559
  var AInputBox = /*#__PURE__*/function (_BaseViewer) {
17373
17560
  _inheritsLoose(AInputBox, _BaseViewer);
17374
17561
 
@@ -17390,7 +17577,7 @@ var AInputBox = /*#__PURE__*/function (_BaseViewer) {
17390
17577
  var lines = (_this$props$schema$st = this.props.schema.stringLines) != null ? _this$props$schema$st : 1;
17391
17578
  var p = (_this$props$schema$pr = this.props.schema.props) != null ? _this$props$schema$pr : {};
17392
17579
 
17393
- var commonProps = _objectSpread$n({
17580
+ var commonProps = _objectSpread$o({
17394
17581
  defaultValue: this.getValue(),
17395
17582
  key: this.props.path,
17396
17583
  onChange: function onChange(v) {
@@ -17421,13 +17608,13 @@ var AInputBox = /*#__PURE__*/function (_BaseViewer) {
17421
17608
  });
17422
17609
  }
17423
17610
 
17424
- var inputProps = _objectSpread$n({
17611
+ var inputProps = _objectSpread$o({
17425
17612
  className: "AInputBox",
17426
17613
  style: this.props.style
17427
17614
  }, commonProps); //if(addon) {
17428
17615
 
17429
17616
 
17430
- return jsx(Input, _objectSpread$n(_objectSpread$n({}, inputProps), {}, {
17617
+ return jsx(Input, _objectSpread$o(_objectSpread$o({}, inputProps), {}, {
17431
17618
  addonAfter: addon
17432
17619
  })); // } else {
17433
17620
  // return <UnderlineInputBox {...inputProps}/>; // 等 UnderlineInputBox 支持addonAfter,上面的就能干掉了
@@ -17442,7 +17629,7 @@ var AInputBox = /*#__PURE__*/function (_BaseViewer) {
17442
17629
  styles.border = "none";
17443
17630
  }
17444
17631
 
17445
- return jsx(TextArea, _objectSpread$n({
17632
+ return jsx(TextArea, _objectSpread$o({
17446
17633
  style: styles
17447
17634
  }, commonProps));
17448
17635
  }
@@ -17451,9 +17638,9 @@ var AInputBox = /*#__PURE__*/function (_BaseViewer) {
17451
17638
  return AInputBox;
17452
17639
  }(BaseViewer);
17453
17640
 
17454
- function ownKeys$m(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17641
+ function ownKeys$n(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17455
17642
 
17456
- function _objectSpread$m(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$m(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$m(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17643
+ function _objectSpread$n(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$n(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$n(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17457
17644
  var UnderlineInputBox = /*#__PURE__*/function (_React$Component) {
17458
17645
  _inheritsLoose(UnderlineInputBox, _React$Component);
17459
17646
 
@@ -17464,7 +17651,7 @@ var UnderlineInputBox = /*#__PURE__*/function (_React$Component) {
17464
17651
  var _proto = UnderlineInputBox.prototype;
17465
17652
 
17466
17653
  _proto.render = function render() {
17467
- return jsx("input", _objectSpread$m({
17654
+ return jsx("input", _objectSpread$n({
17468
17655
  className: assembly.theme.themeName + "InputBox"
17469
17656
  }, this.props));
17470
17657
  };
@@ -19251,9 +19438,9 @@ var AREA_CODE_LIST = [{
19251
19438
  countryCode: "ZW"
19252
19439
  }];
19253
19440
 
19254
- function ownKeys$l(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19441
+ function ownKeys$m(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19255
19442
 
19256
- function _objectSpread$l(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$l(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$l(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19443
+ function _objectSpread$m(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$m(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$m(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19257
19444
  /**
19258
19445
  * 手机号/邮箱等输入框
19259
19446
  * cnPhone/tel/email
@@ -19334,7 +19521,7 @@ var ASpecInputBox = /*#__PURE__*/function (_BaseViewer) {
19334
19521
  },
19335
19522
  disabled: this.props.disable,
19336
19523
  onChange: function onChange(newAreaCode) {
19337
- var updated = _objectSpread$l(_objectSpread$l({}, _this.getPhoneValue()), {}, {
19524
+ var updated = _objectSpread$m(_objectSpread$m({}, _this.getPhoneValue()), {}, {
19338
19525
  areaCode: newAreaCode
19339
19526
  });
19340
19527
 
@@ -19359,7 +19546,7 @@ var ASpecInputBox = /*#__PURE__*/function (_BaseViewer) {
19359
19546
  defaultValue: phoneValue.phone,
19360
19547
  min: "0",
19361
19548
  onChange: function onChange(value) {
19362
- var updated = _objectSpread$l(_objectSpread$l({}, _this.getPhoneValue()), {}, {
19549
+ var updated = _objectSpread$m(_objectSpread$m({}, _this.getPhoneValue()), {}, {
19363
19550
  phone: value
19364
19551
  });
19365
19552
 
@@ -19388,7 +19575,7 @@ var ASpecInputBox = /*#__PURE__*/function (_BaseViewer) {
19388
19575
 
19389
19576
  var selfOnChange = p.onChange;
19390
19577
  delete deepCloneP.onChange;
19391
- return jsx(Input, _objectSpread$l(_objectSpread$l({}, _BaseViewer.prototype.antProp.call(this)), {}, {
19578
+ return jsx(Input, _objectSpread$m(_objectSpread$m({}, _BaseViewer.prototype.antProp.call(this)), {}, {
19392
19579
  defaultValue: _BaseViewer.prototype.getValue.call(this),
19393
19580
  onBlur: function onBlur() {
19394
19581
  return _this2.changeValueEx(_BaseViewer.prototype.getValue.call(_this2), false, true);
@@ -19404,9 +19591,9 @@ var ASpecInputBox = /*#__PURE__*/function (_BaseViewer) {
19404
19591
  return ASpecInputBox;
19405
19592
  }(BaseViewer);
19406
19593
 
19407
- function ownKeys$k(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19594
+ function ownKeys$l(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19408
19595
 
19409
- function _objectSpread$k(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$k(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$k(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19596
+ function _objectSpread$l(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$l(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$l(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19410
19597
  var Segment = /*#__PURE__*/function (_React$Component) {
19411
19598
  _inheritsLoose(Segment, _React$Component);
19412
19599
 
@@ -19420,7 +19607,7 @@ var Segment = /*#__PURE__*/function (_React$Component) {
19420
19607
  return jsxs("div", {
19421
19608
  style: this.props.style,
19422
19609
  className: "AForm_segment",
19423
- children: [jsxs("div", _objectSpread$k(_objectSpread$k({
19610
+ children: [jsxs("div", _objectSpread$l(_objectSpread$l({
19424
19611
  className: "AForm_segmentTitleBar"
19425
19612
  }, {
19426
19613
  name: this.props.labelName
@@ -19501,9 +19688,9 @@ function SegmentEditSwitch(props) {
19501
19688
  }
19502
19689
  }
19503
19690
 
19504
- function ownKeys$j(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19691
+ function ownKeys$k(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19505
19692
 
19506
- function _objectSpread$j(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$j(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$j(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19693
+ function _objectSpread$k(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$k(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$k(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19507
19694
  /**
19508
19695
  * 可以折叠的元素,折叠时可带动画效果
19509
19696
  *
@@ -19566,7 +19753,7 @@ var Collapsible = /*#__PURE__*/function (_React$Component) {
19566
19753
 
19567
19754
  if (open) {
19568
19755
  return {
19569
- css: _objectSpread$j(_objectSpread$j({}, self.props.style), {}, {
19756
+ css: _objectSpread$k(_objectSpread$k({}, self.props.style), {}, {
19570
19757
  maxHeight: changing ? self.height + "px" : undefined,
19571
19758
  visibility: "visible",
19572
19759
  opacity: "1",
@@ -19575,7 +19762,7 @@ var Collapsible = /*#__PURE__*/function (_React$Component) {
19575
19762
  };
19576
19763
  } else {
19577
19764
  var r = {
19578
- css: _objectSpread$j(_objectSpread$j({}, self.closeStyle), {}, {
19765
+ css: _objectSpread$k(_objectSpread$k({}, self.closeStyle), {}, {
19579
19766
  maxHeight: "0px",
19580
19767
  visibility: "hidden",
19581
19768
  opacity: "0",
@@ -19667,9 +19854,9 @@ function _unsupportedIterableToArray$3(o, minLen) { if (!o) return; if (typeof o
19667
19854
 
19668
19855
  function _arrayLikeToArray$3(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
19669
19856
 
19670
- function ownKeys$i(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19857
+ function ownKeys$j(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19671
19858
 
19672
- function _objectSpread$i(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$i(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$i(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19859
+ function _objectSpread$j(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$j(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$j(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19673
19860
 
19674
19861
  function ItemLabel(props) {
19675
19862
  var _props$uispec;
@@ -19846,7 +20033,7 @@ var AForm = /*#__PURE__*/function (_Viewer) {
19846
20033
 
19847
20034
  if (uispec.layout === "vertical") {
19848
20035
  // label在字段上面的分段布局
19849
- ele = jsxs(Collapsible, _objectSpread$i(_objectSpread$i({}, wrapperProp), {}, {
20036
+ ele = jsxs(Collapsible, _objectSpread$j(_objectSpread$j({}, wrapperProp), {}, {
19850
20037
  children: [jsx(ItemLabel, {
19851
20038
  uispec: uispec,
19852
20039
  schema: f,
@@ -19856,7 +20043,7 @@ var AForm = /*#__PURE__*/function (_Viewer) {
19856
20043
  } else if (uispec.layout === "horizontal") {
19857
20044
  // label在字段左边的分段布局 TODO
19858
20045
  wrapperProp.style.display = "flex";
19859
- ele = jsxs(Collapsible, _objectSpread$i(_objectSpread$i({}, wrapperProp), {}, {
20046
+ ele = jsxs(Collapsible, _objectSpread$j(_objectSpread$j({}, wrapperProp), {}, {
19860
20047
  children: [jsx(ItemLabel, {
19861
20048
  uispec: uispec,
19862
20049
  schema: f,
@@ -20010,7 +20197,7 @@ var AForm = /*#__PURE__*/function (_Viewer) {
20010
20197
 
20011
20198
  segments.push(jsx(Segment, {
20012
20199
  column: column,
20013
- style: _objectSpread$i(_objectSpread$i({}, segment.style), {}, {
20200
+ style: _objectSpread$j(_objectSpread$j({}, segment.style), {}, {
20014
20201
  display: segHide ? "none" : undefined
20015
20202
  }),
20016
20203
  mainTitle: segment.label,
@@ -20115,9 +20302,9 @@ var AForm = /*#__PURE__*/function (_Viewer) {
20115
20302
  return AForm;
20116
20303
  }(Viewer);
20117
20304
 
20118
- function ownKeys$h(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
20305
+ function ownKeys$i(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
20119
20306
 
20120
- function _objectSpread$h(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$h(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$h(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20307
+ function _objectSpread$i(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$i(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$i(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20121
20308
  var DivViewer = /*#__PURE__*/function (_BaseViewer) {
20122
20309
  _inheritsLoose(DivViewer, _BaseViewer);
20123
20310
 
@@ -20129,7 +20316,7 @@ var DivViewer = /*#__PURE__*/function (_BaseViewer) {
20129
20316
 
20130
20317
  _proto.element = function element() {
20131
20318
  return jsx("pre", {
20132
- style: _objectSpread$h({
20319
+ style: _objectSpread$i({
20133
20320
  marginBottom: 0,
20134
20321
  color: "rgba(0,0,0,0.6)",
20135
20322
  overflow: "initial",
@@ -20143,9 +20330,9 @@ var DivViewer = /*#__PURE__*/function (_BaseViewer) {
20143
20330
  return DivViewer;
20144
20331
  }(BaseViewer);
20145
20332
 
20146
- function ownKeys$g(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
20333
+ function ownKeys$h(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
20147
20334
 
20148
- function _objectSpread$g(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$g(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$g(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20335
+ function _objectSpread$h(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$h(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$h(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20149
20336
  /**
20150
20337
  * 下拉选择框
20151
20338
  * 定义示例: {label:"1.1 您的性别是", name:"gendar", type:"enum", typeArg: [{label:"男", value:"M"},{label:"女", value:"F"}] },
@@ -20180,7 +20367,7 @@ var ASelector = /*#__PURE__*/function (_BaseViewer) {
20180
20367
  return MUtil.error("手机上的ASelector还不支持openOption");
20181
20368
  }
20182
20369
 
20183
- return jsx(SelectBox, _objectSpread$g(_objectSpread$g({
20370
+ return jsx(SelectBox, _objectSpread$h(_objectSpread$h({
20184
20371
  data: value,
20185
20372
  // @ts-ignore
20186
20373
  options: this._enums.map(function (e) {
@@ -20219,7 +20406,7 @@ var ASelector = /*#__PURE__*/function (_BaseViewer) {
20219
20406
  }, index);
20220
20407
  });
20221
20408
 
20222
- return jsx(Select$1, _objectSpread$g(_objectSpread$g({
20409
+ return jsx(Select$1, _objectSpread$h(_objectSpread$h({
20223
20410
  defaultValue: initIndex,
20224
20411
  placeholder: _BaseViewer.prototype.getPlaceholder.call(this),
20225
20412
  bordered: this.props.hideBorder ? false : true,
@@ -20291,9 +20478,9 @@ var ASelector = /*#__PURE__*/function (_BaseViewer) {
20291
20478
  return ASelector;
20292
20479
  }(BaseViewer);
20293
20480
 
20294
- function ownKeys$f(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
20481
+ function ownKeys$g(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
20295
20482
 
20296
- function _objectSpread$f(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$f(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$f(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20483
+ function _objectSpread$g(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$g(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$g(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20297
20484
  /**
20298
20485
  * 下拉框多选
20299
20486
  * 示例:{label:"1.13 除爱人/对象之外,目前和您一起生活的家庭成员包括(多选):",name:"familyAccompany",type:"set", editor:"ASetSelector", option: "父亲 母亲 孩子 爱人/对象的父亲 爱人/对象的母亲 兄弟姐妹"},
@@ -20331,7 +20518,7 @@ var ASetSelector = /*#__PURE__*/function (_BaseViewer) {
20331
20518
  return value2Fields[v].index;
20332
20519
  });
20333
20520
  var p = (_this$props$schema$pr = this.props.schema.props) != null ? _this$props$schema$pr : {};
20334
- return jsx(Select, _objectSpread$f(_objectSpread$f({
20521
+ return jsx(Select, _objectSpread$g(_objectSpread$g({
20335
20522
  mode: "multiple",
20336
20523
  placeholder: this.props.schema.placeholder,
20337
20524
  optionFilterProp: "children",
@@ -20375,9 +20562,102 @@ var ASetSelector = /*#__PURE__*/function (_BaseViewer) {
20375
20562
  return ASetSelector;
20376
20563
  }(BaseViewer);
20377
20564
 
20378
- function ownKeys$e(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
20565
+ function ownKeys$f(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
20379
20566
 
20380
- function _objectSpread$e(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$e(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$e(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20567
+ function _objectSpread$f(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$f(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$f(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20568
+ /**
20569
+ * 可排序的拖拽项子组件
20570
+ */
20571
+
20572
+ var SortableEnhancedItem = /*#__PURE__*/memo(function (_ref) {
20573
+ var _clsx;
20574
+
20575
+ var item = _ref.item,
20576
+ index = _ref.index,
20577
+ enableAnimation = _ref.enableAnimation,
20578
+ direction = _ref.direction,
20579
+ renderDragHandle = _ref.renderDragHandle,
20580
+ isTableRow = _ref.isTableRow;
20581
+
20582
+ var _useSortable = useSortable({
20583
+ id: item.id,
20584
+ disabled: !item.isChecked
20585
+ }),
20586
+ attributes = _useSortable.attributes,
20587
+ listeners = _useSortable.listeners,
20588
+ setNodeRef = _useSortable.setNodeRef,
20589
+ transform = _useSortable.transform,
20590
+ transition = _useSortable.transition,
20591
+ isDragging = _useSortable.isDragging;
20592
+
20593
+ var style = {
20594
+ transform: CSS.Transform.toString(transform),
20595
+ transition: enableAnimation ? transition : undefined
20596
+ };
20597
+
20598
+ var renderDefaultDragHandle = function renderDefaultDragHandle() {
20599
+ return jsx("div", {
20600
+ className: "enhanced-dragHandleWrapper",
20601
+ children: jsx(HolderOutlined, {
20602
+ className: "enhanced-dragHandleIcon",
20603
+ style: {
20604
+ opacity: isDragging ? 0.5 : 1,
20605
+ transition: enableAnimation ? "opacity 0.2s" : "none"
20606
+ }
20607
+ })
20608
+ });
20609
+ }; // 表格行模式
20610
+
20611
+
20612
+ if (isTableRow) {
20613
+ return jsxs("tr", _objectSpread$f(_objectSpread$f({
20614
+ ref: setNodeRef,
20615
+ "data-drag-id": item.id,
20616
+ "data-drag-index": index,
20617
+ style: _objectSpread$f({
20618
+ opacity: isDragging ? 0.5 : 1
20619
+ }, style)
20620
+ }, attributes), {}, {
20621
+ children: [renderDragHandle ? renderDragHandle(item, isDragging, listeners) : jsx("td", _objectSpread$f(_objectSpread$f({}, listeners), {}, {
20622
+ style: {
20623
+ cursor: isDragging ? "grabbing" : "grab",
20624
+ textAlign: "center",
20625
+ width: "40px"
20626
+ },
20627
+ children: jsx(HolderOutlined, {
20628
+ style: {
20629
+ opacity: isDragging ? 0.5 : 1,
20630
+ transition: enableAnimation ? "opacity 0.2s" : "none"
20631
+ }
20632
+ })
20633
+ })), item.cpn]
20634
+ }), item.id);
20635
+ } // 普通模式
20636
+
20637
+
20638
+ var itemClass = clsx("enhanced-dragItem", (_clsx = {
20639
+ dragging: isDragging,
20640
+ disabled: !item.isChecked
20641
+ }, _clsx["direction-" + direction] = true, _clsx));
20642
+ return jsxs("div", _objectSpread$f(_objectSpread$f({
20643
+ className: itemClass,
20644
+ ref: setNodeRef,
20645
+ "data-drag-id": item.id,
20646
+ "data-drag-index": index,
20647
+ style: style
20648
+ }, attributes), {}, {
20649
+ children: [jsx("div", {
20650
+ className: "enhanced-dragBody",
20651
+ children: item.cpn
20652
+ }), jsx("div", {
20653
+ className: "enhanced-dragHandle",
20654
+ children: item.isChecked && (renderDragHandle ? renderDragHandle(item, isDragging, listeners) : jsx("div", _objectSpread$f(_objectSpread$f({}, listeners), {}, {
20655
+ children: renderDefaultDragHandle()
20656
+ })))
20657
+ })]
20658
+ }), item.id);
20659
+ });
20660
+ SortableEnhancedItem.displayName = "SortableEnhancedItem";
20381
20661
  /**
20382
20662
  * 增强版通用拖拽排序组件
20383
20663
  * 解决原组件的性能问题和功能局限性
@@ -20392,27 +20672,39 @@ var EnhancedSortDrag = /*#__PURE__*/memo(function (props) {
20392
20672
  var _props$direction = props.direction,
20393
20673
  direction = _props$direction === void 0 ? "vertical" : _props$direction,
20394
20674
  onDragFail = props.onDragFail,
20395
- renderDragHandle = props.renderDragHandle;
20396
- props.renderDragPreview;
20397
- var _props$isTableRow = props.isTableRow,
20398
- isTableRow = _props$isTableRow === void 0 ? false : _props$isTableRow; // 使用 useRef 缓存 items 避免不必要的重渲染
20675
+ renderDragHandle = props.renderDragHandle,
20676
+ renderDragPreview = props.renderDragPreview,
20677
+ _props$isTableRow = props.isTableRow,
20678
+ isTableRow = _props$isTableRow === void 0 ? false : _props$isTableRow; // 拖拽状态管理
20399
20679
 
20400
- var itemsRef = useRef(items);
20401
- itemsRef.current = items; // 拖拽状态管理
20680
+ var _useState = useState(null),
20681
+ activeId = _useState[0],
20682
+ setActiveId = _useState[1];
20402
20683
 
20403
- var _useState = useState({
20684
+ var _useState2 = useState({
20404
20685
  draggingId: null,
20405
20686
  droppingId: null,
20406
20687
  isAnimating: false
20407
- }),
20408
- dragState = _useState[0],
20409
- setDragState = _useState[1]; // 使用 Map 替代对象,提高查找性能
20410
-
20688
+ });
20689
+ _useState2[0];
20690
+ var setDragState = _useState2[1];
20691
+ /**
20692
+ * 配置传感器
20693
+ */
20411
20694
 
20412
- var itemRefs = useRef(new Map());
20413
- var dragHandleRefs = useRef(new Map()); // 清理函数缓存,避免重复注册
20414
20695
 
20415
- var cleanupRefs = useRef(new Map());
20696
+ var sensors = useSensors(useSensor(TouchSensor, {
20697
+ activationConstraint: {
20698
+ delay: 200,
20699
+ tolerance: 5
20700
+ }
20701
+ }), useSensor(PointerSensor, {
20702
+ activationConstraint: {
20703
+ distance: 10
20704
+ }
20705
+ }), useSensor(KeyboardSensor, {
20706
+ coordinateGetter: sortableKeyboardCoordinates
20707
+ }));
20416
20708
  /**
20417
20709
  * 验证拖拽操作是否有效
20418
20710
  */
@@ -20492,284 +20784,171 @@ var EnhancedSortDrag = /*#__PURE__*/memo(function (props) {
20492
20784
  };
20493
20785
  }, []);
20494
20786
  /**
20495
- * 交换数据逻辑 - 核心拖拽算法
20787
+ * 拖拽开始事件处理
20496
20788
  */
20497
20789
 
20498
- var swapItems = useCallback(function (fromId, toId) {
20499
- try {
20500
- var currentItems = [].concat(itemsRef.current); // 验证拖拽操作
20501
-
20502
- var validation = validateDragOperation(fromId, toId, currentItems);
20503
-
20504
- if (!validation.isValid) {
20505
- var _validation$error;
20790
+ var handleDragStart = useCallback(function (event) {
20791
+ var active = event.active;
20792
+ setActiveId(active.id);
20793
+ setDragState(function (prev) {
20794
+ return _objectSpread$f(_objectSpread$f({}, prev), {}, {
20795
+ draggingId: active.id,
20796
+ isAnimating: !!enableAnimation
20797
+ });
20798
+ });
20799
+ }, [enableAnimation]);
20800
+ /**
20801
+ * 拖拽结束事件处理
20802
+ */
20506
20803
 
20507
- throw new Error(((_validation$error = validation.error) == null ? void 0 : _validation$error.message) || "拖拽验证失败");
20508
- }
20804
+ var handleDragEnd = useCallback(function (event) {
20805
+ var active = event.active,
20806
+ over = event.over;
20807
+ setActiveId(null);
20808
+ setDragState(function (prev) {
20809
+ return _objectSpread$f(_objectSpread$f({}, prev), {}, {
20810
+ draggingId: null,
20811
+ droppingId: null,
20812
+ isAnimating: false
20813
+ });
20814
+ });
20509
20815
 
20510
- var fromIndex = currentItems.findIndex(function (item) {
20511
- return item.id === fromId;
20816
+ if (over && active.id !== over.id) {
20817
+ var oldIndex = items.findIndex(function (item) {
20818
+ return item.id === active.id;
20819
+ });
20820
+ var newIndex = items.findIndex(function (item) {
20821
+ return item.id === over.id;
20512
20822
  });
20513
- var toIndex = currentItems.findIndex(function (item) {
20514
- return item.id === toId;
20515
- }); // 边界条件检查
20516
20823
 
20517
- if (fromIndex === -1 || toIndex === -1 || fromIndex === toIndex) {
20824
+ if (oldIndex === -1 || newIndex === -1) {
20518
20825
  return;
20519
20826
  }
20520
20827
 
20521
- var _currentItems$splice = currentItems.splice(fromIndex, 1),
20522
- moved = _currentItems$splice[0];
20523
-
20524
- currentItems.splice(toIndex, 0, moved); // 更新引用
20525
-
20526
- itemsRef.current = currentItems; // 触发回调
20527
-
20528
- onChange(currentItems);
20529
- } catch (error) {
20530
- console.error("拖拽交换数据失败:", error); // 触发错误回调
20531
-
20532
- var dragError = {
20533
- type: "DATA_ERROR",
20534
- message: error instanceof Error ? error.message : "未知错误",
20535
- sourceId: fromId,
20536
- targetId: toId
20537
- };
20538
- onDragFail == null ? void 0 : onDragFail(dragError);
20539
- }
20540
- }, [onChange, onDragFail, validateDragOperation]);
20541
- /**
20542
- * 注册单个项目的拖拽监听器
20543
- */
20544
-
20545
- var registerDragListeners = useCallback(function (item, index) {
20546
- var el = itemRefs.current.get(item.id);
20547
- var dragHandle = dragHandleRefs.current.get(item.id);
20548
- if (!el) return; // 清理之前的监听器
20549
-
20550
- var existingCleanup = cleanupRefs.current.get(item.id);
20828
+ try {
20829
+ var validation = validateDragOperation(active.id, over.id, items);
20551
20830
 
20552
- if (existingCleanup) {
20553
- existingCleanup();
20554
- }
20831
+ if (!validation.isValid) {
20832
+ var _validation$error;
20555
20833
 
20556
- var cleanups = []; // 注册为可拖拽元素
20834
+ throw new Error(((_validation$error = validation.error) == null ? void 0 : _validation$error.message) || "拖拽验证失败");
20835
+ }
20557
20836
 
20558
- cleanups.push(draggable({
20559
- element: el,
20560
- dragHandle: dragHandle,
20561
- canDrag: function canDrag() {
20562
- return item.isChecked;
20563
- },
20564
- getInitialData: function getInitialData() {
20565
- return {
20566
- id: item.id,
20567
- index: index,
20568
- label: item.label
20837
+ var newItems = arrayMove(items, oldIndex, newIndex);
20838
+ onChange(newItems);
20839
+ } catch (error) {
20840
+ console.error("拖拽交换数据失败:", error);
20841
+ var dragError = {
20842
+ type: "DATA_ERROR",
20843
+ message: error instanceof Error ? error.message : "未知错误",
20844
+ sourceId: active.id,
20845
+ targetId: over.id
20569
20846
  };
20570
- },
20571
- onDragStart: function onDragStart() {
20572
- setDragState(function (prev) {
20573
- return _objectSpread$e(_objectSpread$e({}, prev), {}, {
20574
- draggingId: item.id,
20575
- isAnimating: !!enableAnimation
20576
- });
20577
- });
20578
- console.log("开始拖拽:", item.label);
20579
- },
20580
- onDrop: function onDrop() {
20581
- setDragState(function (prev) {
20582
- return _objectSpread$e(_objectSpread$e({}, prev), {}, {
20583
- draggingId: null,
20584
- droppingId: null,
20585
- isAnimating: false
20586
- });
20587
- });
20588
- }
20589
- })); // 注册为拖拽目标
20590
-
20591
- cleanups.push(dropTargetForElements({
20592
- element: el,
20593
- canDrop: function canDrop() {
20594
- return item.isChecked;
20595
- },
20596
- onDragEnter: function onDragEnter(args) {
20597
- var sourceId = args.source.data.id;
20598
- if (sourceId === item.id) return;
20599
- console.log("拖拽进入:", item.id);
20600
- setDragState(function (prev) {
20601
- return _objectSpread$e(_objectSpread$e({}, prev), {}, {
20602
- droppingId: item.id
20603
- });
20604
- });
20605
- },
20606
- onDragLeave: function onDragLeave() {
20607
- setDragState(function (prev) {
20608
- return _objectSpread$e(_objectSpread$e({}, prev), {}, {
20609
- droppingId: null
20610
- });
20611
- });
20612
- },
20613
- onDrop: function onDrop(_ref) {
20614
- var source = _ref.source;
20615
- if (!source) return;
20616
- var sourceId = source.data.id;
20617
- if (sourceId === item.id) return; // 执行数据交换
20618
-
20619
- swapItems(sourceId, item.id);
20847
+ onDragFail == null ? void 0 : onDragFail(dragError);
20620
20848
  }
20621
- })); // 存储清理函数
20622
-
20623
- var combinedCleanup = function combinedCleanup() {
20624
- cleanups.forEach(function (fn) {
20625
- return fn();
20626
- });
20627
- };
20628
-
20629
- cleanupRefs.current.set(item.id, combinedCleanup);
20630
- }, [swapItems, enableAnimation]);
20849
+ }
20850
+ }, [items, onChange, onDragFail, validateDragOperation]);
20631
20851
  /**
20632
- * 性能优化:只在必要的时候注册监听器
20852
+ * 获取当前拖拽项
20633
20853
  */
20634
20854
 
20635
- useEffect(function () {
20636
- // 清理所有旧的监听器
20637
- cleanupRefs.current.forEach(function (cleanup) {
20638
- return cleanup();
20639
- });
20640
- cleanupRefs.current.clear(); // 注册所有项目的监听器
20641
-
20642
- items.forEach(function (item, index) {
20643
- registerDragListeners(item, index);
20644
- }); // 监听全局拖拽结束
20645
-
20646
- var monitorCleanup = monitorForElements({
20647
- onDrop: function onDrop() {
20648
- setDragState(function (prev) {
20649
- return _objectSpread$e(_objectSpread$e({}, prev), {}, {
20650
- draggingId: null,
20651
- droppingId: null,
20652
- isAnimating: false
20653
- });
20654
- });
20655
- }
20855
+ var activeItem = useMemo(function () {
20856
+ return items.find(function (item) {
20857
+ return item.id === activeId;
20656
20858
  });
20657
- cleanupRefs.current.set("monitor", monitorCleanup);
20658
- return function () {
20659
- cleanupRefs.current.forEach(function (cleanup) {
20660
- return cleanup();
20661
- });
20662
- cleanupRefs.current.clear();
20663
- };
20664
- }, [items.length, registerDragListeners]); // 只在列表长度变化时重新注册
20665
-
20859
+ }, [items, activeId]);
20666
20860
  /**
20667
- * 渲染默认拖拽句柄
20861
+ * 选择排序策略
20668
20862
  */
20669
20863
 
20670
- var renderDefaultDragHandle = useCallback(function (item, isDragging) {
20671
- return jsx(HolderOutlined, {
20672
- ref: function ref(el) {
20673
- if (el) {
20674
- dragHandleRefs.current.set(item.id, el);
20675
- }
20676
- },
20677
- style: {
20678
- cursor: isDragging ? "grabbing" : "grab",
20679
- marginLeft: "8px",
20680
- opacity: isDragging ? 0.5 : 1,
20681
- transition: enableAnimation ? "opacity 0.2s" : "none"
20682
- }
20683
- });
20684
- }, [enableAnimation]);
20864
+ var sortingStrategy = useMemo(function () {
20865
+ return direction === "vertical" ? verticalListSortingStrategy : horizontalListSortingStrategy;
20866
+ }, [direction]);
20685
20867
  /**
20686
- * 渲染拖拽项
20868
+ * 缓存 item id 列表,避免每次渲染创建新数组引用
20687
20869
  */
20688
20870
 
20689
- var renderDragItem = useCallback(function (item, index) {
20690
- var _clsx;
20691
-
20692
- var isDragging = dragState.draggingId === item.id;
20693
- var isDropping = dragState.droppingId === item.id; // 如果是表格行模式,直接返回组件内容
20871
+ var itemIds = useMemo(function () {
20872
+ return items.map(function (item) {
20873
+ return item.id;
20874
+ });
20875
+ }, [items]); // 如果是表格行模式,直接渲染子元素而不是包装div
20694
20876
 
20695
- if (isTableRow) {
20696
- // console.log("表格行数据", item);
20697
- return jsxs("tr", {
20698
- ref: function ref(el) {
20699
- if (el) {
20700
- itemRefs.current.set(item.id, el);
20701
- }
20702
- },
20703
- "data-drag-id": item.id,
20704
- "data-drag-index": index,
20705
- style: {
20706
- transition: enableAnimation ? "all 0.3s ease" : "none",
20707
- opacity: isDragging ? 0.5 : 1,
20708
- backgroundColor: isDropping ? "#e6f7ff" : "transparent"
20709
- },
20710
- children: [renderDragHandle && renderDragHandle(item, isDragging), !renderDragHandle && jsx("td", {
20711
- ref: function ref(el) {
20712
- if (el) {
20713
- dragHandleRefs.current.set(item.id, el);
20714
- }
20715
- },
20716
- style: {
20717
- cursor: isDragging ? "grabbing" : "grab",
20718
- textAlign: "center",
20719
- width: "40px"
20720
- },
20721
- children: jsx(HolderOutlined, {
20722
- style: {
20723
- opacity: isDragging ? 0.5 : 1,
20724
- transition: enableAnimation ? "opacity 0.2s" : "none"
20725
- }
20877
+ if (isTableRow) {
20878
+ return jsxs(DndContext, {
20879
+ sensors: sensors,
20880
+ collisionDetection: closestCenter,
20881
+ onDragStart: handleDragStart,
20882
+ onDragEnd: handleDragEnd,
20883
+ children: [jsx(SortableContext, {
20884
+ items: itemIds,
20885
+ strategy: sortingStrategy,
20886
+ children: items.map(function (item, index) {
20887
+ return jsx(SortableEnhancedItem, {
20888
+ item: item,
20889
+ index: index,
20890
+ enableAnimation: enableAnimation,
20891
+ direction: direction,
20892
+ renderDragHandle: renderDragHandle,
20893
+ isTableRow: isTableRow
20894
+ }, item.id);
20895
+ })
20896
+ }), jsx(DragOverlay, {
20897
+ dropAnimation: null,
20898
+ children: activeItem ? jsx("div", {
20899
+ className: "enhanced-sortDrag-overlay",
20900
+ children: renderDragPreview ? renderDragPreview(activeItem) : jsx("div", {
20901
+ className: "enhanced-sortDrag-overlay-row",
20902
+ children: jsx("span", {
20903
+ className: "enhanced-sortDrag-overlay-label",
20904
+ children: activeItem.label || activeItem.id || '拖拽中...'
20905
+ })
20726
20906
  })
20727
- }), item.cpn]
20728
- }, item.id);
20729
- }
20730
-
20731
- var itemClass = clsx("enhanced-dragItem", (_clsx = {
20732
- dragging: isDragging,
20733
- dropping: isDropping,
20734
- disabled: !item.isChecked
20735
- }, _clsx["direction-" + direction] = true, _clsx));
20736
- return jsxs("div", {
20737
- className: itemClass,
20738
- ref: function ref(el) {
20739
- if (el) {
20740
- itemRefs.current.set(item.id, el);
20741
- }
20742
- },
20743
- "data-drag-id": item.id,
20744
- "data-drag-index": index,
20745
- style: {
20746
- transition: enableAnimation ? "all 0.3s ease" : "none"
20747
- },
20748
- children: [jsx("div", {
20749
- className: "enhanced-dragBody",
20750
- children: item.cpn
20751
- }), jsx("div", {
20752
- className: "enhanced-dragHandle",
20753
- children: item.isChecked && (renderDragHandle ? renderDragHandle(item, isDragging) : renderDefaultDragHandle(item, isDragging))
20907
+ }) : null
20754
20908
  })]
20755
- }, item.id);
20756
- }, [dragState, direction, enableAnimation, renderDragHandle, renderDefaultDragHandle, isTableRow]); // 如果是表格行模式,直接渲染子元素而不是包装div
20757
-
20758
- if (isTableRow) {
20759
- return jsx(Fragment, {
20760
- children: items.map(renderDragItem)
20761
20909
  });
20762
20910
  }
20763
20911
 
20764
- return jsx("div", {
20765
- className: "enhanced-sortDrag direction-" + direction,
20766
- children: items.map(renderDragItem)
20912
+ return jsxs(DndContext, {
20913
+ sensors: sensors,
20914
+ collisionDetection: closestCenter,
20915
+ onDragStart: handleDragStart,
20916
+ onDragEnd: handleDragEnd,
20917
+ children: [jsx("div", {
20918
+ className: "enhanced-sortDrag direction-" + direction,
20919
+ children: jsx(SortableContext, {
20920
+ items: itemIds,
20921
+ strategy: sortingStrategy,
20922
+ children: items.map(function (item, index) {
20923
+ return jsx(SortableEnhancedItem, {
20924
+ item: item,
20925
+ index: index,
20926
+ enableAnimation: enableAnimation,
20927
+ direction: direction,
20928
+ renderDragHandle: renderDragHandle,
20929
+ isTableRow: isTableRow
20930
+ }, item.id);
20931
+ })
20932
+ })
20933
+ }), jsx(DragOverlay, {
20934
+ dropAnimation: null,
20935
+ children: activeItem ? jsx("div", {
20936
+ className: "enhanced-sortDrag-overlay",
20937
+ children: renderDragPreview ? renderDragPreview(activeItem) : jsx("div", {
20938
+ className: "enhanced-sortDrag-overlay-content",
20939
+ children: jsx("div", {
20940
+ className: "enhanced-sortDrag-overlay-body",
20941
+ children: activeItem.cpn
20942
+ })
20943
+ })
20944
+ }) : null
20945
+ })]
20767
20946
  });
20768
20947
  });
20769
20948
 
20770
- function ownKeys$d(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
20949
+ function ownKeys$e(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
20771
20950
 
20772
- function _objectSpread$d(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$d(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$d(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20951
+ function _objectSpread$e(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$e(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$e(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20773
20952
 
20774
20953
  function uuid(len, radix) {
20775
20954
  if (len === void 0) {
@@ -20834,7 +21013,7 @@ var AArrayGrid = /*#__PURE__*/function (_BaseViewer) {
20834
21013
  }
20835
21014
 
20836
21015
  var members = schema.arrayMember.objectFields || [// 成员是复杂结构
20837
- _objectSpread$d({
21016
+ _objectSpread$e({
20838
21017
  name: undefined
20839
21018
  }, schema.arrayMember)]; // 成员是简单结构
20840
21019
  // if(!members) {
@@ -20948,7 +21127,7 @@ var AArrayGrid = /*#__PURE__*/function (_BaseViewer) {
20948
21127
  return String(row.uniqueId) === item.id;
20949
21128
  }); // 正常情况下一定能找到对应的行数据,因为我们是基于原始数据创建的拖拽项
20950
21129
 
20951
- return _objectSpread$d({}, originalRow); // 使用 ! 断言,因为我们确信能找到匹配项
21130
+ return _objectSpread$e({}, originalRow); // 使用 ! 断言,因为我们确信能找到匹配项
20952
21131
  });
20953
21132
 
20954
21133
  _BaseViewer.prototype.changeValueEx.call(_this, newData, true, true);
@@ -21072,9 +21251,9 @@ var AArrayGrid = /*#__PURE__*/function (_BaseViewer) {
21072
21251
  return AArrayGrid;
21073
21252
  }(BaseViewer);
21074
21253
 
21075
- function ownKeys$c(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21254
+ function ownKeys$d(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21076
21255
 
21077
- function _objectSpread$c(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$c(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$c(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21256
+ function _objectSpread$d(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$d(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$d(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21078
21257
  var RANGE_FNAME = "_range";
21079
21258
  /**
21080
21259
  * 经历,可以用于教育经历、工作经历等
@@ -21099,7 +21278,7 @@ var AExperience = /*#__PURE__*/function (_BaseViewer) {
21099
21278
  _proto._submitData = function _submitData(arrayGridData, sort) {
21100
21279
  // 修改后,把数据转换回来再提交
21101
21280
  var experienceData = arrayGridData.map(function (e) {
21102
- var item = _objectSpread$c(_objectSpread$c({}, e), {}, {
21281
+ var item = _objectSpread$d(_objectSpread$d({}, e), {}, {
21103
21282
  from: _.get(e, RANGE_FNAME + "[0]"),
21104
21283
  to: _.get(e, RANGE_FNAME + "[1]"),
21105
21284
  tillNow: _.get(e, RANGE_FNAME + "[2]")
@@ -21435,9 +21614,9 @@ var AArray = /*#__PURE__*/function (_BaseViewer) {
21435
21614
 
21436
21615
  var _excluded = ["checkedIcon", "uncheckedIcon", "indeterminateIcon", "children", "iconSize", "iconColor", "className", "style", "checked", "indeterminate", "disabled"];
21437
21616
 
21438
- function ownKeys$b(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21617
+ function ownKeys$c(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21439
21618
 
21440
- function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$b(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21619
+ function _objectSpread$c(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$c(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$c(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21441
21620
 
21442
21621
  var DIYCheckbox = function DIYCheckbox(_ref) {
21443
21622
  var _ref$checkedIcon = _ref.checkedIcon,
@@ -21478,7 +21657,7 @@ var DIYCheckbox = function DIYCheckbox(_ref) {
21478
21657
  var currentIcon = getCurrentIcon(); // 如果没有自定义图标,使用默认的 Checkbox
21479
21658
 
21480
21659
  if (!currentIcon) {
21481
- return jsx(Checkbox, _objectSpread$b(_objectSpread$b({
21660
+ return jsx(Checkbox, _objectSpread$c(_objectSpread$c({
21482
21661
  className: className,
21483
21662
  style: style,
21484
21663
  checked: checked,
@@ -21527,7 +21706,7 @@ var DIYCheckbox = function DIYCheckbox(_ref) {
21527
21706
  transition: "all 0.3s"
21528
21707
  };
21529
21708
 
21530
- var wrapperStyle = _objectSpread$b({
21709
+ var wrapperStyle = _objectSpread$c({
21531
21710
  display: "inline-flex",
21532
21711
  alignItems: "center",
21533
21712
  cursor: disabled ? "not-allowed" : "pointer",
@@ -21568,137 +21747,137 @@ var DIYCheckbox = function DIYCheckbox(_ref) {
21568
21747
  });
21569
21748
  };
21570
21749
 
21750
+ function ownKeys$b(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21751
+
21752
+ function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$b(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21753
+ var SortableItem = /*#__PURE__*/memo(function (_ref) {
21754
+ var item = _ref.item;
21755
+
21756
+ var _useSortable = useSortable({
21757
+ id: item.id,
21758
+ disabled: !item.isChecked
21759
+ }),
21760
+ attributes = _useSortable.attributes,
21761
+ listeners = _useSortable.listeners,
21762
+ setNodeRef = _useSortable.setNodeRef,
21763
+ transform = _useSortable.transform,
21764
+ transition = _useSortable.transition,
21765
+ isDragging = _useSortable.isDragging;
21766
+
21767
+ var style = {
21768
+ transform: CSS.Transform.toString(transform),
21769
+ transition: transition,
21770
+ opacity: isDragging ? 0 : 1
21771
+ };
21772
+ var itemClass = clsx("dragItem", {
21773
+ dragging: isDragging
21774
+ });
21775
+ return jsxs("div", {
21776
+ className: itemClass,
21777
+ ref: setNodeRef,
21778
+ style: style,
21779
+ children: [jsx("div", {
21780
+ className: "dragBody",
21781
+ children: item.cpn
21782
+ }), jsx("div", {
21783
+ children: item.isChecked ? jsx("div", _objectSpread$b(_objectSpread$b(_objectSpread$b({
21784
+ className: "dragHandleWrapper"
21785
+ }, attributes), listeners), {}, {
21786
+ children: jsx(HolderOutlined, {
21787
+ className: "dragHandleIcon"
21788
+ })
21789
+ })) : null
21790
+ })]
21791
+ });
21792
+ });
21793
+ SortableItem.displayName = "SortableItem";
21571
21794
  var SortDrag = /*#__PURE__*/memo(function (props) {
21572
21795
  var sortList = props.sortList,
21573
21796
  changeOriginDataSource = props.changeOriginDataSource;
21574
21797
 
21575
21798
  var _useState = useState(sortList),
21576
21799
  items = _useState[0],
21577
- setItems = _useState[1]; // 记录当前拖拽的 item id
21578
-
21800
+ setItems = _useState[1];
21579
21801
 
21580
21802
  var _useState2 = useState(null),
21581
- draggingId = _useState2[0],
21582
- setDraggingId = _useState2[1]; // 记录当前 hover 的 Id
21583
-
21584
-
21585
- var _useState3 = useState(null),
21586
- droppingId = _useState3[0],
21587
- setDroppingId = _useState3[1]; // refs 用于绑定每个 item 的 DOM
21588
-
21803
+ activeId = _useState2[0],
21804
+ setActiveId = _useState2[1]; // 同步外部 sortList 变化到内部状态
21589
21805
 
21590
- var itemRefs = useRef({}); // 修改:为每个 item 单独管理 dragHandle ref
21591
-
21592
- var dragHandleRefs = useRef({}); // 注册拖拽和 drop target
21593
21806
 
21594
21807
  useEffect(function () {
21595
- // 清理函数集合
21596
- var cleanups = [];
21597
- items.forEach(function (item, idx) {
21598
- var el = itemRefs.current[item.id];
21599
- if (!el) return; // 注册为 draggable
21600
-
21601
- cleanups.push(draggable({
21602
- element: el,
21603
- dragHandle: dragHandleRefs.current[item.id],
21604
- canDrag: function canDrag() {
21605
- return item.isChecked;
21606
- },
21607
- getInitialData: function getInitialData() {
21608
- return {
21609
- id: item.id,
21610
- index: idx,
21611
- label: item.label
21612
- };
21613
- },
21614
- onDragStart: function onDragStart() {
21615
- return setDraggingId(item.id);
21616
- },
21617
- onDrop: function onDrop() {
21618
- return setDraggingId(null);
21619
- }
21620
- })); // 注册为 drop target
21808
+ setItems(sortList);
21809
+ }, [sortList]);
21810
+ var sensors = useSensors(useSensor(TouchSensor, {
21811
+ activationConstraint: {
21812
+ delay: 200,
21813
+ tolerance: 5
21814
+ }
21815
+ }), useSensor(PointerSensor, {
21816
+ activationConstraint: {
21817
+ distance: 10
21818
+ }
21819
+ }), useSensor(KeyboardSensor, {
21820
+ coordinateGetter: sortableKeyboardCoordinates
21821
+ }));
21621
21822
 
21622
- cleanups.push(dropTargetForElements({
21623
- element: el,
21624
- canDrop: function canDrop() {
21625
- return item.isChecked;
21626
- },
21627
- onDragEnter: function onDragEnter(args) {
21628
- var fromIdx = items.findIndex(function (i) {
21629
- return i.id === args.source.data.id;
21630
- });
21631
- if (fromIdx === idx) return;
21632
- console.log("当前hover元素", item.id);
21633
- console.log("当前拖拽元素", args);
21634
- setDroppingId(item.id);
21635
- },
21636
- onDragLeave: function onDragLeave() {
21637
- setDroppingId(null);
21638
- },
21639
- onDrop: function onDrop(_ref) {
21640
- var source = _ref.source;
21641
- // console.log("当前拖拽元素", source);
21642
- if (!source) return;
21643
- var fromIdx = items.findIndex(function (i) {
21644
- return i.id === source.data.id;
21645
- });
21646
- var toIdx = idx;
21647
- if (fromIdx === -1 || fromIdx === toIdx) return;
21648
- var newItems = [].concat(items);
21649
-
21650
- var _newItems$splice = newItems.splice(fromIdx, 1),
21651
- moved = _newItems$splice[0];
21652
-
21653
- newItems.splice(toIdx, 0, moved);
21654
- console.log("排序之后的数据", newItems);
21655
- setItems(newItems);
21656
- changeOriginDataSource(newItems);
21657
- setDroppingId(null);
21658
- }
21659
- }));
21660
- }); // 监听全局拖拽,拖拽结束时清理 draggingId
21823
+ var handleDragStart = function handleDragStart(event) {
21824
+ setActiveId(event.active.id);
21825
+ };
21661
21826
 
21662
- var monitorCleanup = monitorForElements({
21663
- onDrop: function onDrop() {
21664
- return setDraggingId(null);
21665
- }
21827
+ var handleDragEnd = function handleDragEnd(event) {
21828
+ var active = event.active,
21829
+ over = event.over;
21830
+ setActiveId(null);
21831
+ if (!over || active.id === over.id) return;
21832
+ var oldIndex = items.findIndex(function (item) {
21833
+ return item.id === active.id;
21666
21834
  });
21667
- cleanups.push(monitorCleanup);
21668
- return function () {
21669
- cleanups.forEach(function (fn) {
21670
- return fn();
21671
- });
21672
- };
21673
- }, [items]);
21674
- return jsx("div", {
21675
- className: "sortDrag",
21676
- children: items.map(function (item, index) {
21677
- var itemClass = clsx("dragItem", {
21678
- dragging: draggingId === item.id,
21679
- dropping: droppingId === item.id
21680
- });
21681
- return jsxs("div", {
21682
- className: itemClass,
21683
- ref: function ref(el) {
21684
- return itemRefs.current[item.id] = el;
21685
- },
21686
- children: [jsx("div", {
21687
- className: "dragBody",
21688
- children: item.cpn
21689
- }), jsx("div", {
21690
- children: item.isChecked ? jsx(HolderOutlined, {
21691
- ref: function ref(el) {
21692
- return dragHandleRefs.current[item.id] = el;
21693
- },
21694
- style: {
21695
- cursor: "grab",
21696
- marginLeft: "8px"
21697
- }
21698
- }) : null
21699
- })]
21700
- }, item.id);
21701
- })
21835
+ var newIndex = items.findIndex(function (item) {
21836
+ return item.id === over.id;
21837
+ });
21838
+ if (oldIndex === -1 || newIndex === -1) return;
21839
+ var newItems = arrayMove(items, oldIndex, newIndex);
21840
+ setItems(newItems);
21841
+ changeOriginDataSource(newItems);
21842
+ };
21843
+
21844
+ var activeItem = items.find(function (item) {
21845
+ return item.id === activeId;
21846
+ });
21847
+ return jsxs(DndContext, {
21848
+ sensors: sensors,
21849
+ collisionDetection: closestCenter,
21850
+ onDragStart: handleDragStart,
21851
+ onDragEnd: handleDragEnd,
21852
+ children: [jsx(SortableContext, {
21853
+ items: items,
21854
+ strategy: verticalListSortingStrategy,
21855
+ children: jsx("div", {
21856
+ className: "sortDrag",
21857
+ children: items.map(function (item) {
21858
+ return jsx(SortableItem, {
21859
+ item: item
21860
+ }, item.id);
21861
+ })
21862
+ })
21863
+ }), jsx(DragOverlay, {
21864
+ dropAnimation: null,
21865
+ children: activeItem ? jsx("div", {
21866
+ className: "sortDrag-overlay",
21867
+ children: jsxs("div", {
21868
+ className: "sortDrag-overlay-inner",
21869
+ children: [jsx("div", {
21870
+ className: "dragBody",
21871
+ children: activeItem.cpn
21872
+ }), jsx("div", {
21873
+ className: "sortDrag-overlay-handle",
21874
+ children: jsx(HolderOutlined, {
21875
+ className: "sortDrag-overlay-handleIcon"
21876
+ })
21877
+ })]
21878
+ })
21879
+ }) : null
21880
+ })]
21702
21881
  });
21703
21882
  });
21704
21883
 
@@ -22820,8 +22999,10 @@ var ARangePicker = /*#__PURE__*/function (_Viewer) {
22820
22999
  _proto._data2rangePicker = function _data2rangePicker(d) {
22821
23000
  var _this$props$schema$da2;
22822
23001
 
22823
- var dataFormat = (_this$props$schema$da2 = this.props.schema.dataFormat) != null ? _this$props$schema$da2 : "x";
22824
- return [d[0] ? moment(d[0], dataFormat) : null, d[1] ? moment(d[1], dataFormat) : null];
23002
+ var dataFormat = (_this$props$schema$da2 = this.props.schema.dataFormat) != null ? _this$props$schema$da2 : "x"; // 若 tillNow=true,结束时间传 null,避免 RangePicker 缓存旧结束时间
23003
+
23004
+ var endTime = d[2] === true ? null : d[1] ? moment(d[1], dataFormat) : null;
23005
+ return [d[0] ? moment(d[0], dataFormat) : null, endTime];
22825
23006
  };
22826
23007
 
22827
23008
  _proto.element = function element() {
@@ -22878,25 +23059,43 @@ var ARangePicker = /*#__PURE__*/function (_Viewer) {
22878
23059
  }, "start_" + mobilePrecision), jsx(DatePicker, {
22879
23060
  visible: this.state.mobileDlg && this.state.mobileStep === 'end',
22880
23061
  precision: mobilePrecision,
22881
- title: "\u9009\u62E9\u7ED3\u675F\u65E5\u671F",
22882
- tillNow: !((_this$props$schema$da3 = this.props.schema.dateRange) != null && _this$props$schema$da3.hideTillNow) && !((_this$props$schema$da4 = this.props.schema.dateRange) != null && _this$props$schema$da4.showTime),
23062
+ title: // 如果允许"至今"且开始时间不在未来,在标题区域展示"至今"按钮
23063
+ !((_this$props$schema$da3 = this.props.schema.dateRange) != null && _this$props$schema$da3.hideTillNow) && !((_this$props$schema$da4 = this.props.schema.dateRange) != null && _this$props$schema$da4.showTime) && !(this.state.mobileStartDate && this.state.mobileStartDate > new Date()) ? jsxs("div", {
23064
+ style: {
23065
+ display: 'flex',
23066
+ alignItems: 'center',
23067
+ justifyContent: 'center',
23068
+ gap: 12
23069
+ },
23070
+ children: [jsx("span", {
23071
+ children: "\u9009\u62E9\u7ED3\u675F\u65E5\u671F"
23072
+ }), jsx(Button, {
23073
+ size: "small",
23074
+ type: "primary",
23075
+ onClick: function onClick() {
23076
+ var startDate = _this2.state.mobileStartDate;
23077
+
23078
+ if (startDate) {
23079
+ _Viewer.prototype.changeValueEx.call(_this2, _this2._rangePicker2Data([moment(startDate), moment()], true), true, true);
23080
+ }
23081
+
23082
+ _this2.setState({
23083
+ mobileDlg: false
23084
+ });
23085
+ },
23086
+ children: "\u81F3\u4ECA"
23087
+ })]
23088
+ }) : "选择结束日期",
22883
23089
  min: this.state.mobileStartDate || (this.props.schema.min ? new Date(this.props.schema.min) : undefined),
22884
23090
  max: this.props.schema.max ? new Date(this.props.schema.max) : undefined,
22885
23091
  onConfirm: function onConfirm(val) {
22886
23092
  var startDate = _this2.state.mobileStartDate;
22887
23093
 
22888
23094
  if (startDate) {
22889
- var isTillNow = !!val.tillNow;
22890
-
22891
- if (isTillNow) {
22892
- // 用户选择了"至今"
22893
- _Viewer.prototype.changeValueEx.call(_this2, _this2._rangePicker2Data([moment(startDate), moment()], true), true, true);
22894
- } else {
22895
- // 防御:结束日期不能早于开始日期
22896
- var finalEnd = val < startDate ? startDate : val;
23095
+ // 防御:结束日期不能早于开始日期
23096
+ var finalEnd = val < startDate ? startDate : val;
22897
23097
 
22898
- _Viewer.prototype.changeValueEx.call(_this2, _this2._rangePicker2Data([moment(startDate), moment(finalEnd)], false), true, true);
22899
- }
23098
+ _Viewer.prototype.changeValueEx.call(_this2, _this2._rangePicker2Data([moment(startDate), moment(finalEnd)], false), true, true);
22900
23099
  }
22901
23100
 
22902
23101
  _this2.setState({
@@ -22926,13 +23125,25 @@ var ARangePicker = /*#__PURE__*/function (_Viewer) {
22926
23125
  } else if (precision === 'month') {
22927
23126
  extraProps.picker = 'month';
22928
23127
  } else if (pcShowTime) {
22929
- extraProps.showTime = true;
23128
+ // precision 为 minute 时只展示时分,不展示秒
23129
+ extraProps.showTime = precision === 'minute' ? {
23130
+ format: 'HH:mm'
23131
+ } : true;
22930
23132
  } // 构造元素
22931
23133
 
22932
23134
 
22933
23135
  return jsx(DatePicker$1.RangePicker, _objectSpread$8({
22934
23136
  ref: this._pickerRef,
22935
23137
  renderExtraFooter: hideFooter ? undefined : function (mode) {
23138
+ var _this2$_onCalendarCha;
23139
+
23140
+ // 如果开始时间超过当前时间(未来时间),不展示"至今"按钮
23141
+ var startMoment = (_this2$_onCalendarCha = _this2._onCalendarChangeValue) == null ? void 0 : _this2$_onCalendarCha[0];
23142
+
23143
+ if (startMoment && startMoment.isAfter(moment())) {
23144
+ return null;
23145
+ }
23146
+
22936
23147
  return jsx("div", {
22937
23148
  style: {
22938
23149
  textAlign: "right"
@@ -22961,7 +23172,20 @@ var ARangePicker = /*#__PURE__*/function (_Viewer) {
22961
23172
  _this2._onCalendarChangeValue = d;
22962
23173
  },
22963
23174
  onChange: function onChange(vv) {
22964
- _Viewer.prototype.changeValueEx.call(_this2, _this2._rangePicker2Data(vv, false), true, true);
23175
+ // 用户清空日期范围时,直接置空
23176
+ if (!vv) {
23177
+ _Viewer.prototype.changeValueEx.call(_this2, undefined, true, true);
23178
+
23179
+ return;
23180
+ }
23181
+
23182
+ var currentData = _Viewer.prototype.getValue.call(_this2);
23183
+
23184
+ var isTillNow = _.get(currentData, '[2]') === true; // 若当前是"至今"且用户只改了开始时间(结束时间仍为 null),保留 tillNow
23185
+
23186
+ var newTillNow = isTillNow && vv[1] == null;
23187
+
23188
+ _Viewer.prototype.changeValueEx.call(_this2, _this2._rangePicker2Data(vv, newTillNow), true, true);
22965
23189
  }
22966
23190
  }, extraProps), this.state.ctrlVersion + "_" + ((_this$props$schema$da7 = this.props.schema.dateRangePrecision) != null ? _this$props$schema$da7 : 'day'));
22967
23191
  }