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/lib/m3.js CHANGED
@@ -17,7 +17,9 @@ var _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitializ
17
17
  var icons = require('@ant-design/icons');
18
18
  var TextArea = require('antd/lib/input/TextArea');
19
19
  var Select = require('antd/lib/select');
20
- var adapter = require('@atlaskit/pragmatic-drag-and-drop/element/adapter');
20
+ var core = require('@dnd-kit/core');
21
+ var sortable = require('@dnd-kit/sortable');
22
+ var utilities = require('@dnd-kit/utilities');
21
23
  var clsx = require('clsx');
22
24
  var Button = require('antd/lib/button');
23
25
  var _objectWithoutPropertiesLoose = require('@babel/runtime/helpers/objectWithoutPropertiesLoose');
@@ -49,9 +51,9 @@ var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
49
51
  var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
50
52
  var OSS__default = /*#__PURE__*/_interopDefaultLegacy(OSS);
51
53
 
52
- 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; }
54
+ 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; }
53
55
 
54
- 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__default["default"](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; }
56
+ 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__default["default"](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; }
55
57
 
56
58
  function generateQueryStr(obj) {
57
59
  if (obj === void 0) {
@@ -85,7 +87,7 @@ var Ajax = {
85
87
  var args = {
86
88
  method: method,
87
89
  body: JSON.stringify(body),
88
- headers: _objectSpread$y({
90
+ headers: _objectSpread$z({
89
91
  'Content-Type': 'application/json'
90
92
  }, headers)
91
93
  };
@@ -202,197 +204,762 @@ function _createForOfIteratorHelperLoose$e(o, allowArrayLike) { var it = typeof
202
204
  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); }
203
205
 
204
206
  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; }
205
- var next = Date.now() - 1617265950471; // /** 用来测量字符串长度 */
206
- // let _messurer: HTMLCanvasElement|undefined;
207
-
208
- var MUtil = {
209
- /**
210
- * 每次调用,返回不一样的数字
211
- * @returns
212
- */
213
- unique: function unique() {
214
- return next++;
215
- },
216
-
217
- /**
218
- * 枚举字段可以写成空格分隔的字符串,也能写成MEnumField[],这个函数将两种形式转换成统一的MEnumField[]
219
- * @deprecated 改成用MUtils.option
220
- */
221
- standardFields: function standardFields(fs) {
222
- if (typeof fs === "string") {
223
- return fs.split(" ").map(function (aEnum) {
224
- var _kv$;
225
-
226
- var kv = aEnum.split("=");
227
- return {
228
- label: kv[0],
229
- value: (_kv$ = kv[1]) != null ? _kv$ : kv[0]
230
- };
231
- });
232
- } else if (fs) {
233
- return fs;
234
- } else {
235
- return [];
236
- }
237
- },
238
-
239
- /**
240
- * 获取enumFields或者setFields,返回标准的MEnumField[]
241
- * @param f 如果f是nil,返回[]
242
- */
243
- option: function option(f) {
244
- var _result;
245
-
246
- var result;
207
+ var defaultTheme = {
208
+ READABLE_UNKNOWN: "?",
209
+ READABLE_BLANK: "-",
210
+ READABLE_INVALID: "❓",
211
+ READABLE_ERROR: "❗",
212
+ themeName: "antMiddle"
213
+ };
214
+ /**
215
+ * 注册viewer,type,morph(viewer和type之间的关联)
216
+ */
247
217
 
248
- if (___default["default"].isArray(f.option)) {
249
- result = f.option;
250
- } else {
251
- var ori;
218
+ var Assembly = /*#__PURE__*/function () {
219
+ var _proto = Assembly.prototype;
252
220
 
253
- if (f.type == "set") {
254
- ori = f.setFields;
255
- } else if (f.type == "enum") {
256
- ori = f.enumFields;
221
+ /** 根据定义返回View,返回nil表示没有可用的View */
222
+ _proto.getViewerOf = function getViewerOf(f, morph) {
223
+ if (f.editor && morph === "editor") {
224
+ if (___default["default"].isString(f.editor)) {
225
+ return ___default["default"].get(this.viewers, f.editor);
257
226
  } else {
258
- var _ref, _f$option;
259
-
260
- ori = (_ref = (_f$option = f.option) != null ? _f$option : f.setFields) != null ? _ref : f.enumFields; // 只是为了保险
227
+ return f.editor;
261
228
  }
229
+ } else if (f.readable && morph === "readable") {
230
+ if (___default["default"].isString(f.readable)) {
231
+ return ___default["default"].get(this.viewers, f.readable);
232
+ } else {
233
+ return f.readable;
234
+ }
235
+ } else {
236
+ var viewer = ___default["default"].get(this.morph, morph + "." + f.type);
262
237
 
263
- if (typeof ori === "string") {
264
- f.option = result = ori.split(" ").map(function (aEnum) {
265
- var _kv$2;
266
-
267
- var kv = aEnum.split("=");
268
- return {
269
- label: kv[0],
270
- value: (_kv$2 = kv[1]) != null ? _kv$2 : kv[0]
271
- };
272
- });
238
+ if (___default["default"].isString(viewer)) {
239
+ return ___default["default"].get(this.viewers, viewer);
273
240
  } else {
274
- f.option = result = ori; // TODO children 可能有递归的,还是得靠预处理解决
241
+ return viewer;
275
242
  }
276
243
  }
244
+ };
277
245
 
278
- return (_result = result) != null ? _result : [];
279
- },
280
-
281
- /** 如果出错了,返回这么个元素,可能用在BaseEditor子类或者其他的东西上 */
282
- error: function error(msg, schema) {
283
- return jsxRuntime.jsxs("div", {
284
- style: {
285
- color: "white",
286
- border: "1px solid darkgrey",
287
- background: "red",
288
- textAlign: "center",
289
- borderRadius: "5px"
290
- },
291
- children: [msg, schema ? jsxRuntime.jsx("pre", {
292
- style: {
293
- whiteSpace: "pre-wrap",
294
- textAlign: "left"
295
- },
296
- children: JSON.stringify(schema)
297
- }) : undefined]
298
- }, Date.now());
299
- },
300
- sign: function sign(v) {
301
- if (___default["default"].isNil(v)) {
302
- return null;
246
+ _proto.validate = function validate(s, v, path) {
247
+ if (path === void 0) {
248
+ path = "";
303
249
  }
304
250
 
305
- return Math.sign(v);
306
- },
251
+ var result = undefined;
307
252
 
308
- /**
309
- * 当前设备是不是个手机(或者类似手机的设备,比如ipad上运行iphone app中的webview)
310
- */
311
- phoneLike: function phoneLike() {
312
- // eslint-disable-next-line no-restricted-globals
313
- return screen.height / screen.width > 1.5;
314
- },
315
- // /**
316
- // * 计算文字的宽度
317
- // * @param text 文字
318
- // * @param font 字体
319
- // * @returns 宽度,单位是px
320
- // */
321
- // getTextWidth(text:string, font?:string) {
322
- // var canvas = _messurer ?? (_messurer = document.createElement("canvas"));
323
- // var context = canvas.getContext("2d");
324
- // if(!context) {
325
- // console.error('神奇的事情发生了:canvas.getContext("2d")居然能返回null');
326
- // return text.length * 10; // 总比出不来好
327
- // }
328
- // if(font){
329
- // context.font = font;
330
- // }
331
- // var metrics = context.measureText(text);
332
- // return metrics.width;
333
- // }
253
+ for (var _iterator = _createForOfIteratorHelperLoose$e(this.types[s.type].validators), _step; !(_step = _iterator()).done;) {
254
+ var validator = _step.value;
255
+ result = validator(this, s, v, path);
334
256
 
335
- /**
336
- * 计算文字的宽度
337
- * @param text
338
- */
339
- antdTextWidth: function antdTextWidth(text) {
340
- if (!text) {
341
- return 0;
257
+ if (result === "pass" && s.type !== "weight") {
258
+ return undefined;
259
+ } else if (typeof result === "object") {
260
+ MUtil.debug("校验", path, result.message);
261
+ return result;
262
+ }
342
263
  }
343
264
 
344
- return text.length * 16;
345
- },
265
+ return undefined;
266
+ };
267
+
268
+ _proto.addViewer = function addViewer(name, v) {
269
+ if (this.viewers[name]) {
270
+ console.error("addViewer: \u5DF2\u7ECF\u5B58\u5728\u540D\u4E3A " + name + " \u7684 Viewer\uFF0C\u65E0\u6CD5\u518D\u6B21\u6DFB\u52A0\uFF01");
271
+ return;
272
+ } else {
273
+ this.viewers[name] = v;
274
+ }
275
+ };
346
276
 
277
+ _proto.addEditor = function addEditor(name, v) {
278
+ if (this.editors[name]) {
279
+ console.error("addEditor: \u5DF2\u7ECF\u5B58\u5728\u540D\u4E3A " + name + " \u7684 Editor\uFF0C\u65E0\u6CD5\u518D\u6B21\u6DFB\u52A0\uFF01");
280
+ return;
281
+ } else {
282
+ this.editors[name] = v;
283
+ }
284
+ }
347
285
  /**
348
- * 从数组中删掉一个元素
349
- * @param a 这个数组会被改变的
350
- * @param element 要删的元素
351
- * @returns 修改后的数组(如果它不是nil)
286
+ * 增加一种数据类型
287
+ * 例:
288
+ * const hpOrg = {name: "hpOrg", type: {validators: ..., toReadable: ...}, editor: HPOrgEditor, readable: "DivViewer"}
289
+ * addType(hpOrg)
290
+ * @param typeParam 类型的描述对象
352
291
  */
353
- arrayRemove: function arrayRemove(a, element) {
354
- if (a) {
355
- var idx = a.indexOf(element);
292
+ ;
356
293
 
357
- if (idx >= 0) {
358
- a.splice(idx, 1);
359
- }
294
+ _proto.addType = function addType(typeParam) {
295
+ var name = typeParam.name,
296
+ type = typeParam.type,
297
+ editor = typeParam.editor,
298
+ _typeParam$readable = typeParam.readable,
299
+ readable = _typeParam$readable === void 0 ? "DivViewer" : _typeParam$readable;
300
+ this.types[name] = type;
360
301
 
361
- return a;
362
- } else {
363
- return a;
364
- }
365
- },
366
- fieldOfLayout: function fieldOfLayout(fields, spec) {
367
- var objectFieldMap = ___default["default"].chain(fields).keyBy("name").value();
302
+ ___default["default"].set(this.morph, "editor." + name, editor);
368
303
 
369
- var r = {};
304
+ ___default["default"].set(this.morph, "readable." + name, readable);
305
+ };
370
306
 
371
- for (var _iterator = _createForOfIteratorHelperLoose$e((_spec$segments = spec.segments) != null ? _spec$segments : []), _step; !(_step = _iterator()).done;) {
372
- var _spec$segments;
307
+ function Assembly() {
308
+ var _this = this;
373
309
 
374
- var s = _step.value;
310
+ this.types = {};
311
+ this.viewers = {};
312
+ this.editors = {};
313
+ this.morph = {};
314
+ this.theme = defaultTheme;
375
315
 
376
- for (var _iterator2 = _createForOfIteratorHelperLoose$e((_s$fields = s.fields) != null ? _s$fields : []), _step2; !(_step2 = _iterator2()).done;) {
377
- var _s$fields;
316
+ this.toReadable = function (s, v, parent) {
317
+ var t = _this.types[s.type];
378
318
 
379
- var f = _step2.value;
319
+ if (t) {
320
+ var _r;
380
321
 
381
- if (___default["default"].isString(f)) {
382
- var def = objectFieldMap[f];
322
+ var r;
383
323
 
384
- if (def) {
385
- r[f] = def;
386
- }
324
+ if (___default["default"].isString(s.toReadable)) {
325
+ // eslint-disable-next-line no-new-func
326
+ r = new Function("_", "value", "theme", "const {READABLE_UNKNOWN, READABLE_BLANK, READABLE_INVALID, READABLE_ERROR} = theme; return " + s.toReadable)(___default["default"], v, _this.theme);
327
+ } else if (___default["default"].isFunction(s.toReadable)) {
328
+ r = s.toReadable(v, parent, _this);
387
329
  }
388
- }
389
- }
390
330
 
391
- return ___default["default"].values(r);
392
- },
331
+ r = (_r = r) != null ? _r : t.toReadable(_this, s, v);
393
332
 
394
- /**
395
- * 跟lodash的get一样,除了:
333
+ if (s.postfix) {
334
+ r += s.postfix;
335
+ }
336
+
337
+ return r;
338
+ } else {
339
+ return s.type + "类型无效";
340
+ }
341
+ }; // 校验types是否使用了无效的编辑器名字
342
+
343
+
344
+ for (var morphName in this.morph) {
345
+ for (var typeName in this.morph[morphName]) {
346
+ if (!this.types[typeName]) {
347
+ throw SyntaxError("\u7C7B\u578B" + typeName + "\u672A\u5B9A\u4E49");
348
+ }
349
+
350
+ var viewerName = this.morph[morphName][typeName];
351
+
352
+ if (!this.viewers[viewerName]) {
353
+ throw SyntaxError("\u89C6\u56FE" + viewerName + "\u672A\u5B9A\u4E49");
354
+ }
355
+ }
356
+ }
357
+ }
358
+
359
+ return Assembly;
360
+ }();
361
+ var assembly = new Assembly();
362
+
363
+ /**
364
+ * 非空校验,数据不能是null/undefined/""/NaN/[]
365
+ * 要在其他条件之前,以便required=false时短路掉nil的数据,否则后面的校验全都得处理nil
366
+ * @param a
367
+ * @param schema
368
+ * @param value
369
+ * @param path
370
+ * @returns
371
+ */
372
+
373
+ function validateRequired$1(a, schema, value, path) {
374
+ if (schema.required) {
375
+ if (___default["default"].isNil(value) || value === "" || ___default["default"].isNaN(value) || ___default["default"].isArray(value) && value.length == 0) {
376
+ return {
377
+ message: "您还没有填完这一项",
378
+ path: path
379
+ };
380
+ } // 凡是总有例外
381
+
382
+
383
+ if (schema.type === "set" && schema.openOption) {
384
+ if (value.length === 1 && !value[0]) {
385
+ return {
386
+ message: "您还没有填完这一项",
387
+ path: path
388
+ }; // 开放set,只勾了开放选项,没有填内容,也要算空
389
+ }
390
+ }
391
+ } else {
392
+ if (___default["default"].isNil(value)) {
393
+ return "pass";
394
+ }
395
+ }
396
+
397
+ return undefined;
398
+ }
399
+ /** 和validateRequired相同,但不短路 */
400
+
401
+ function validateRequiredNS(a, schema, value, path) {
402
+ var v = validateRequired$1(a, schema, value, path);
403
+
404
+ if (v === "pass") {
405
+ return undefined;
406
+ }
407
+ }
408
+ function validateDateMinMax(a, schema, value, path) {
409
+ if (schema.min) {
410
+ if (!value || value < schema.min) {
411
+ return {
412
+ message: "\u8BF7\u9009\u62E9" + schema.min + "\u4E4B\u540E\u7684\u65F6\u95F4",
413
+ path: path
414
+ };
415
+ }
416
+ }
417
+
418
+ if (schema.max) {
419
+ if (!value || value > schema.max) {
420
+ return {
421
+ message: "\u8BF7\u9009\u62E9" + schema.min + "\u4E4B\u524D\u7684\u65F6\u95F4",
422
+ path: path
423
+ };
424
+ }
425
+ }
426
+
427
+ return undefined;
428
+ }
429
+ /**
430
+ * 数组项数不超过[min, max]
431
+ * @param schema
432
+ * @param value 应该是个数组
433
+ */
434
+
435
+ function validateArrayItemMinMax(a, schema, value, path) {
436
+ if (schema.min) {
437
+ if (!value || value.length < schema.min) {
438
+ return {
439
+ message: "\u81F3\u5C11\u9009\u62E9" + schema.min + "\u9879",
440
+ path: path
441
+ };
442
+ }
443
+ }
444
+
445
+ if (schema.max) {
446
+ if (!value || value.length > schema.max) {
447
+ return {
448
+ message: "\u6700\u591A\u9009\u62E9" + schema.max + "\u9879",
449
+ path: path
450
+ };
451
+ }
452
+ }
453
+
454
+ return undefined;
455
+ }
456
+ /**
457
+ * 字符串长度不超过[min, max]
458
+ * @param schema
459
+ * @param value 应该是个字符串
460
+ */
461
+
462
+ function validateStringMinMax$1(a, schema, value, path) {
463
+ if (schema.min) {
464
+ if (!value || value.length < schema.min) {
465
+ return {
466
+ message: "\u81F3\u5C11" + schema.min + "\u4E2A\u5B57",
467
+ path: path
468
+ };
469
+ }
470
+ }
471
+
472
+ if (schema.max) {
473
+ if (value && value.length > schema.max) {
474
+ return {
475
+ message: "\u6700\u591A" + schema.max + "\u4E2A\u5B57",
476
+ path: path
477
+ };
478
+ }
479
+ }
480
+
481
+ return undefined;
482
+ }
483
+ /**
484
+ * 数字不超过[min, max]
485
+ * @param schema
486
+ * @param value 应该是个数字
487
+ */
488
+
489
+ function validateNumberMinMax(a, schema, value, path) {
490
+ var temp = Number(value);
491
+
492
+ if (!___default["default"].isNil(schema.max)) {
493
+ if (!___default["default"].isFinite(temp) || temp > schema.max) {
494
+ return {
495
+ message: "\u6700\u591A" + schema.max,
496
+ path: path
497
+ };
498
+ }
499
+ }
500
+
501
+ if (!___default["default"].isNil(schema.min)) {
502
+ if (!___default["default"].isFinite(temp) || temp < schema.min) {
503
+ return {
504
+ message: "\u6700\u5C11" + schema.min,
505
+ path: path
506
+ };
507
+ }
508
+ }
509
+
510
+ return undefined;
511
+ }
512
+ function generateRegexValidate$1(regex, mismatchMsg) {
513
+ return function (a, schema, value, path) {
514
+ var asstr = ___default["default"].toString(value);
515
+
516
+ if (!regex.test(asstr)) {
517
+ return {
518
+ message: mismatchMsg,
519
+ path: path
520
+ };
521
+ }
522
+
523
+ return undefined;
524
+ };
525
+ }
526
+ /**
527
+ * 数据用Object.prototype.toString.call返回的类型是预期的
528
+ * 可以用Object.prototype.toString.call(<预期的类型>)来查看你想要的数据类型的expectType
529
+ * @param expectType 预期类型,例如:"[object Object]" "[object Null]" "[object Number]" "[object Date]" "[object Array]"
530
+ * @param mismatchMsg 如果不匹配,提示的错误信息
531
+ * @returns
532
+ */
533
+
534
+ function generateJsPrototypeValidate(expectType, mismatchMsg) {
535
+ if (mismatchMsg === void 0) {
536
+ mismatchMsg = "数据有误,请重填此项";
537
+ }
538
+
539
+ return function (a, schema, value, path) {
540
+ if (Object.prototype.toString.call(value) == expectType) {
541
+ return undefined;
542
+ } else {
543
+ return {
544
+ message: mismatchMsg,
545
+ path: path
546
+ };
547
+ }
548
+ };
549
+ }
550
+ function generateSchemaValidate(valueSchema, mismatchMsg) {
551
+ return function (a, schema, value, path) {
552
+ var r = assembly.validate(valueSchema, value, "");
553
+
554
+ if (!r) {
555
+ return r;
556
+ } else {
557
+ return {
558
+ message: mismatchMsg != null ? mismatchMsg : r.message,
559
+ path: path
560
+ };
561
+ }
562
+ };
563
+ }
564
+ var Validator = {
565
+ validateRequired: validateRequired$1,
566
+ validateRequiredNS: validateRequiredNS,
567
+ validateDateMinMax: validateDateMinMax,
568
+ validateStringMinMax: validateStringMinMax$1,
569
+ validateNumberMinMax: validateNumberMinMax,
570
+ generateRegexValidate: generateRegexValidate$1
571
+ };
572
+
573
+ var EmtpyType = {
574
+ validators: [],
575
+ createDefaultValue: function createDefaultValue(assembly, s) {
576
+ if (s.defaultValue) {
577
+ return ___default["default"].clone(s.defaultValue);
578
+ } else {
579
+ return undefined;
580
+ }
581
+ },
582
+ standardValue: function standardValue(assembly, s, v, strict) {
583
+ return v;
584
+ },
585
+ toReadable: function toReadable(assembly, s, vs) {
586
+ if (___default["default"].isNil(vs)) {
587
+ return assembly.theme.READABLE_BLANK;
588
+ }
589
+
590
+ return vs;
591
+ }
592
+ };
593
+ function createDefaultValue(assembly, s) {
594
+ if (s.defaultValue) {
595
+ return ___default["default"].clone(s.defaultValue);
596
+ } else {
597
+ return undefined;
598
+ }
599
+ }
600
+
601
+ var MDateTimeType = ___default["default"].assign({}, EmtpyType, {
602
+ validators: [validateRequired$1, validateDateMinMax],
603
+ antConf: function antConf(schema) {
604
+ var _dataFormat, _dataFormat2, _dataFormat3, _dataFormat4, _dataFormat5, _dataFormat6, _dataFormat7, _dataFormat8;
605
+
606
+ var dataFormat = schema.dataFormat;
607
+ var readableFormat;
608
+ var mode;
609
+ var showTime = false;
610
+
611
+ switch (schema.type) {
612
+ case "year":
613
+ mode = "year";
614
+ dataFormat = (_dataFormat = dataFormat) != null ? _dataFormat : "YYYY";
615
+ readableFormat = "YYYY";
616
+ break;
617
+
618
+ case "yearMonth":
619
+ mode = "month";
620
+ dataFormat = (_dataFormat2 = dataFormat) != null ? _dataFormat2 : "YYYYMM";
621
+ readableFormat = "YYYY.MM";
622
+ break;
623
+
624
+ case "yearMonthDay":
625
+ mode = "date";
626
+ dataFormat = (_dataFormat3 = dataFormat) != null ? _dataFormat3 : "YYYYMMDD";
627
+ readableFormat = "YYYY.MM.DD";
628
+ break;
629
+
630
+ case "datetime":
631
+ mode = undefined;
632
+ dataFormat = (_dataFormat4 = dataFormat) != null ? _dataFormat4 : "x";
633
+ readableFormat = "YYYY.MM.DD HH:mm";
634
+ showTime = true;
635
+ break;
636
+
637
+ case "date":
638
+ switch (schema.datePrecision) {
639
+ case "year":
640
+ mode = "year";
641
+ dataFormat = (_dataFormat5 = dataFormat) != null ? _dataFormat5 : "YYYY";
642
+ readableFormat = "YYYY";
643
+ break;
644
+
645
+ case "month":
646
+ mode = "month";
647
+ dataFormat = (_dataFormat6 = dataFormat) != null ? _dataFormat6 : "YYYYMM";
648
+ readableFormat = "YYYY.MM";
649
+ break;
650
+
651
+ case "minute":
652
+ mode = undefined;
653
+ dataFormat = (_dataFormat7 = dataFormat) != null ? _dataFormat7 : "x";
654
+ readableFormat = "YYYY.MM.DD HH:mm";
655
+ showTime = true;
656
+ break;
657
+
658
+ default:
659
+ // "day" 或未指定
660
+ mode = "date";
661
+ dataFormat = (_dataFormat8 = dataFormat) != null ? _dataFormat8 : "YYYYMMDD";
662
+ readableFormat = "YYYY.MM.DD";
663
+ break;
664
+ }
665
+
666
+ break;
667
+ // case "yearAndQuarter":
668
+ // case "yearAndWeek":
669
+ // return MUtil.error(`移动端不支持${this.props.schema.type}`, this.props.schema);
670
+
671
+ default:
672
+ return undefined;
673
+ }
674
+
675
+ return {
676
+ dataFormat: dataFormat,
677
+ readableFormat: readableFormat,
678
+ mode: mode,
679
+ showTime: showTime
680
+ };
681
+ },
682
+ toReadable: function toReadable(assembly, schema, v) {
683
+ if (___default["default"].isNil(v)) {
684
+ return assembly.theme.READABLE_BLANK;
685
+ }
686
+
687
+ var c = MDateTimeType.antConf(schema);
688
+
689
+ if (!c) {
690
+ return assembly.theme.READABLE_INVALID;
691
+ }
692
+
693
+ var asMoment = moment__default["default"](v, c.dataFormat);
694
+ return asMoment.format(c.readableFormat);
695
+ }
696
+ });
697
+
698
+ /** 根据 precision 获取可读格式 */
699
+
700
+ function getReadableFormat(precision, showTime) {
701
+ switch (precision) {
702
+ case "year":
703
+ return "YYYY";
704
+
705
+ case "month":
706
+ return "YYYY.MM";
707
+
708
+ case "minute":
709
+ return "YYYY.MM.DD HH:mm";
710
+
711
+ default:
712
+ return showTime ? "YYYY.MM.DD HH:mm:ss" : "YYYY.MM.DD";
713
+ }
714
+ }
715
+
716
+ function timeExpr(assembly, v, tillNow, readableFormat) {
717
+ if (tillNow) {
718
+ return "至今";
719
+ }
720
+
721
+ if (!v) {
722
+ return assembly.theme.READABLE_UNKNOWN;
723
+ }
724
+
725
+ return moment__default["default"](v, "x").format(readableFormat);
726
+ }
727
+
728
+ function timeRangeExpr(assembly, from, to, tillNow, readableFormat) {
729
+ if (readableFormat === void 0) {
730
+ readableFormat = "YYYY.MM.DD";
731
+ }
732
+
733
+ return timeExpr(assembly, from, false, readableFormat) + " - " + timeExpr(assembly, to, tillNow, readableFormat);
734
+ }
735
+ var MDateRangeType = ___default["default"].assign({}, EmtpyType, {
736
+ validators: [validateRequired$1],
737
+ toReadable: function toReadable(assembly, s, vs) {
738
+ var _s$dateRange;
739
+
740
+ if (___default["default"].isNil(vs)) {
741
+ return assembly.theme.READABLE_BLANK;
742
+ }
743
+
744
+ if (!___default["default"].isArray(vs)) {
745
+ return assembly.theme.READABLE_INVALID;
746
+ }
747
+
748
+ var fmt = getReadableFormat(s.dateRangePrecision, (_s$dateRange = s.dateRange) == null ? void 0 : _s$dateRange.showTime);
749
+ return timeRangeExpr(assembly, vs[0], vs[1], vs[2], fmt);
750
+ },
751
+
752
+ /**
753
+ * 同toReadable,但数据无效时返回nil
754
+ */
755
+ toReadableN: function toReadableN(assembly, s, vs) {
756
+ if (!___default["default"].isNil(vs) && ___default["default"].isArray(vs)) {
757
+ var _s$dateRange2;
758
+
759
+ var fmt = getReadableFormat(s.dateRangePrecision, (_s$dateRange2 = s.dateRange) == null ? void 0 : _s$dateRange2.showTime);
760
+ return timeRangeExpr(assembly, vs[0], vs[1], vs[2], fmt);
761
+ }
762
+
763
+ return undefined;
764
+ }
765
+ });
766
+
767
+ 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."); }
768
+
769
+ 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); }
770
+
771
+ 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; }
772
+ var next = Date.now() - 1617265950471; // /** 用来测量字符串长度 */
773
+ // let _messurer: HTMLCanvasElement|undefined;
774
+
775
+ var MUtil = {
776
+ /**
777
+ * 每次调用,返回不一样的数字
778
+ * @returns
779
+ */
780
+ unique: function unique() {
781
+ return next++;
782
+ },
783
+
784
+ /**
785
+ * 枚举字段可以写成空格分隔的字符串,也能写成MEnumField[],这个函数将两种形式转换成统一的MEnumField[]
786
+ * @deprecated 改成用MUtils.option
787
+ */
788
+ standardFields: function standardFields(fs) {
789
+ if (typeof fs === "string") {
790
+ return fs.split(" ").map(function (aEnum) {
791
+ var _kv$;
792
+
793
+ var kv = aEnum.split("=");
794
+ return {
795
+ label: kv[0],
796
+ value: (_kv$ = kv[1]) != null ? _kv$ : kv[0]
797
+ };
798
+ });
799
+ } else if (fs) {
800
+ return fs;
801
+ } else {
802
+ return [];
803
+ }
804
+ },
805
+
806
+ /**
807
+ * 获取enumFields或者setFields,返回标准的MEnumField[]
808
+ * @param f 如果f是nil,返回[]
809
+ */
810
+ option: function option(f) {
811
+ var _result;
812
+
813
+ var result;
814
+
815
+ if (___default["default"].isArray(f.option)) {
816
+ result = f.option;
817
+ } else {
818
+ var ori;
819
+
820
+ if (f.type == "set") {
821
+ ori = f.setFields;
822
+ } else if (f.type == "enum") {
823
+ ori = f.enumFields;
824
+ } else {
825
+ var _ref, _f$option;
826
+
827
+ ori = (_ref = (_f$option = f.option) != null ? _f$option : f.setFields) != null ? _ref : f.enumFields; // 只是为了保险
828
+ }
829
+
830
+ if (typeof ori === "string") {
831
+ f.option = result = ori.split(" ").map(function (aEnum) {
832
+ var _kv$2;
833
+
834
+ var kv = aEnum.split("=");
835
+ return {
836
+ label: kv[0],
837
+ value: (_kv$2 = kv[1]) != null ? _kv$2 : kv[0]
838
+ };
839
+ });
840
+ } else {
841
+ f.option = result = ori; // TODO children 可能有递归的,还是得靠预处理解决
842
+ }
843
+ }
844
+
845
+ return (_result = result) != null ? _result : [];
846
+ },
847
+
848
+ /** 如果出错了,返回这么个元素,可能用在BaseEditor子类或者其他的东西上 */
849
+ error: function error(msg, schema) {
850
+ return jsxRuntime.jsxs("div", {
851
+ style: {
852
+ color: "white",
853
+ border: "1px solid darkgrey",
854
+ background: "red",
855
+ textAlign: "center",
856
+ borderRadius: "5px"
857
+ },
858
+ children: [msg, schema ? jsxRuntime.jsx("pre", {
859
+ style: {
860
+ whiteSpace: "pre-wrap",
861
+ textAlign: "left"
862
+ },
863
+ children: JSON.stringify(schema)
864
+ }) : undefined]
865
+ }, Date.now());
866
+ },
867
+ sign: function sign(v) {
868
+ if (___default["default"].isNil(v)) {
869
+ return null;
870
+ }
871
+
872
+ return Math.sign(v);
873
+ },
874
+
875
+ /**
876
+ * 当前设备是不是个手机(或者类似手机的设备,比如ipad上运行iphone app中的webview)
877
+ */
878
+ phoneLike: function phoneLike() {
879
+ // eslint-disable-next-line no-restricted-globals
880
+ return screen.height / screen.width > 1.5;
881
+ },
882
+ // /**
883
+ // * 计算文字的宽度
884
+ // * @param text 文字
885
+ // * @param font 字体
886
+ // * @returns 宽度,单位是px
887
+ // */
888
+ // getTextWidth(text:string, font?:string) {
889
+ // var canvas = _messurer ?? (_messurer = document.createElement("canvas"));
890
+ // var context = canvas.getContext("2d");
891
+ // if(!context) {
892
+ // console.error('神奇的事情发生了:canvas.getContext("2d")居然能返回null');
893
+ // return text.length * 10; // 总比出不来好
894
+ // }
895
+ // if(font){
896
+ // context.font = font;
897
+ // }
898
+ // var metrics = context.measureText(text);
899
+ // return metrics.width;
900
+ // }
901
+
902
+ /**
903
+ * 计算文字的宽度
904
+ * @param text
905
+ */
906
+ antdTextWidth: function antdTextWidth(text) {
907
+ if (!text) {
908
+ return 0;
909
+ }
910
+
911
+ return text.length * 16;
912
+ },
913
+
914
+ /**
915
+ * 从数组中删掉一个元素
916
+ * @param a 这个数组会被改变的
917
+ * @param element 要删的元素
918
+ * @returns 修改后的数组(如果它不是nil)
919
+ */
920
+ arrayRemove: function arrayRemove(a, element) {
921
+ if (a) {
922
+ var idx = a.indexOf(element);
923
+
924
+ if (idx >= 0) {
925
+ a.splice(idx, 1);
926
+ }
927
+
928
+ return a;
929
+ } else {
930
+ return a;
931
+ }
932
+ },
933
+ fieldOfLayout: function fieldOfLayout(fields, spec) {
934
+ var objectFieldMap = ___default["default"].chain(fields).keyBy("name").value();
935
+
936
+ var r = {};
937
+
938
+ for (var _iterator = _createForOfIteratorHelperLoose$d((_spec$segments = spec.segments) != null ? _spec$segments : []), _step; !(_step = _iterator()).done;) {
939
+ var _spec$segments;
940
+
941
+ var s = _step.value;
942
+
943
+ for (var _iterator2 = _createForOfIteratorHelperLoose$d((_s$fields = s.fields) != null ? _s$fields : []), _step2; !(_step2 = _iterator2()).done;) {
944
+ var _s$fields;
945
+
946
+ var f = _step2.value;
947
+
948
+ if (___default["default"].isString(f)) {
949
+ var def = objectFieldMap[f];
950
+
951
+ if (def) {
952
+ r[f] = def;
953
+ }
954
+ }
955
+ }
956
+ }
957
+
958
+ return ___default["default"].values(r);
959
+ },
960
+
961
+ /**
962
+ * 跟lodash的get一样,除了:
396
963
  * 1. path是nil时返回undefined
397
964
  * 2. path是""时返回原始对象
398
965
  * @param a
@@ -440,7 +1007,7 @@ var MUtil = {
440
1007
  applyDefaultValue: function applyDefaultValue(schema, database, path) {
441
1008
  // FIXME 多测试下,type是object或其他简单类型的情况
442
1009
  if (schema.type === "object") {
443
- for (var _iterator3 = _createForOfIteratorHelperLoose$e((_schema$objectFields = schema.objectFields) != null ? _schema$objectFields : []), _step3; !(_step3 = _iterator3()).done;) {
1010
+ for (var _iterator3 = _createForOfIteratorHelperLoose$d((_schema$objectFields = schema.objectFields) != null ? _schema$objectFields : []), _step3; !(_step3 = _iterator3()).done;) {
444
1011
  var _schema$objectFields;
445
1012
 
446
1013
  var f = _step3.value;
@@ -492,7 +1059,7 @@ var MUtil = {
492
1059
 
493
1060
  var showIfScript = "let {" + l1fields.join(",") + "} = data || {};\nlet hide = {";
494
1061
 
495
- for (var _iterator4 = _createForOfIteratorHelperLoose$e(objectFields), _step4; !(_step4 = _iterator4()).done;) {
1062
+ for (var _iterator4 = _createForOfIteratorHelperLoose$d(objectFields), _step4; !(_step4 = _iterator4()).done;) {
496
1063
  var f = _step4.value;
497
1064
 
498
1065
  if (f.showIf) {
@@ -500,7 +1067,7 @@ var MUtil = {
500
1067
  }
501
1068
  }
502
1069
 
503
- for (var _iterator5 = _createForOfIteratorHelperLoose$e((_uispec$segments = uispec == null ? void 0 : uispec.segments) != null ? _uispec$segments : []), _step5; !(_step5 = _iterator5()).done;) {
1070
+ for (var _iterator5 = _createForOfIteratorHelperLoose$d((_uispec$segments = uispec == null ? void 0 : uispec.segments) != null ? _uispec$segments : []), _step5; !(_step5 = _iterator5()).done;) {
504
1071
  var _uispec$segments;
505
1072
 
506
1073
  var s = _step5.value;
@@ -512,7 +1079,7 @@ var MUtil = {
512
1079
 
513
1080
  showIfScript += "}\n"; // 如果一个segment里的所有字段都隐藏,segment就要隐藏
514
1081
 
515
- for (var _iterator6 = _createForOfIteratorHelperLoose$e((_uispec$segments2 = uispec == null ? void 0 : uispec.segments) != null ? _uispec$segments2 : []), _step6; !(_step6 = _iterator6()).done;) {
1082
+ for (var _iterator6 = _createForOfIteratorHelperLoose$d((_uispec$segments2 = uispec == null ? void 0 : uispec.segments) != null ? _uispec$segments2 : []), _step6; !(_step6 = _iterator6()).done;) {
516
1083
  var _uispec$segments2;
517
1084
 
518
1085
  var _s = _step6.value;
@@ -581,7 +1148,7 @@ var MUtil = {
581
1148
  var score = 0;
582
1149
  var opts = MUtil.standardFields(f.setFields);
583
1150
 
584
- for (var _iterator7 = _createForOfIteratorHelperLoose$e(opts), _step7; !(_step7 = _iterator7()).done;) {
1151
+ for (var _iterator7 = _createForOfIteratorHelperLoose$d(opts), _step7; !(_step7 = _iterator7()).done;) {
585
1152
  var s = _step7.value;
586
1153
 
587
1154
  if (___default["default"].find(opts, {
@@ -636,7 +1203,7 @@ var MUtil = {
636
1203
 
637
1204
  var prevSize = Object.keys(dep).length;
638
1205
 
639
- for (var _iterator8 = _createForOfIteratorHelperLoose$e(newDepNames), _step8; !(_step8 = _iterator8()).done;) {
1206
+ for (var _iterator8 = _createForOfIteratorHelperLoose$d(newDepNames), _step8; !(_step8 = _iterator8()).done;) {
640
1207
  var n = _step8.value;
641
1208
  dep[n] = allFieldsIdx[n];
642
1209
  delete ndep[n];
@@ -813,6 +1380,191 @@ var MUtil = {
813
1380
  return result;
814
1381
  },
815
1382
 
1383
+ /**
1384
+ * 提交时将时间字段转换为可读格式
1385
+ * @param schema 表单 schema(type 为 object 的根 schema)
1386
+ * @param database 表单数据
1387
+ * @returns 深拷贝后转换过的数据
1388
+ */
1389
+ formatForExport: function formatForExport(schema, database) {
1390
+ if (___default["default"].isNil(database)) {
1391
+ return database;
1392
+ }
1393
+
1394
+ var result = ___default["default"].cloneDeep(database);
1395
+
1396
+ var fields = schema.objectFields;
1397
+
1398
+ if (!fields) {
1399
+ return result;
1400
+ }
1401
+
1402
+ var _loop = function _loop() {
1403
+ var field = _step9.value;
1404
+ var value = result[field.name];
1405
+
1406
+ if (___default["default"].isNil(value)) {
1407
+ return "continue";
1408
+ }
1409
+
1410
+ var type = field.type; // 时间选择器
1411
+
1412
+ if (type === "year" || type === "yearMonth" || type === "yearMonthDay" || type === "datetime" || type === "date") {
1413
+ var antConf = MDateTimeType.antConf(field);
1414
+
1415
+ if (antConf) {
1416
+ var m = moment__default["default"](value, antConf.dataFormat);
1417
+
1418
+ if (m.isValid()) {
1419
+ result[field.name] = m.format(antConf.readableFormat);
1420
+ }
1421
+ }
1422
+ } // 时间范围选择器
1423
+ else if (type === "dateRange") {
1424
+ if (___default["default"].isArray(value)) {
1425
+ var _field$dateRange, _field$dataFormat;
1426
+
1427
+ var start = value[0],
1428
+ end = value[1],
1429
+ tillNow = value[2];
1430
+ var fmt = getReadableFormat(field.dateRangePrecision, (_field$dateRange = field.dateRange) == null ? void 0 : _field$dateRange.showTime);
1431
+ var dataFormat = (_field$dataFormat = field.dataFormat) != null ? _field$dataFormat : "x";
1432
+ var startStr = "";
1433
+ var endStr = "";
1434
+
1435
+ if (!___default["default"].isNil(start)) {
1436
+ var _m = moment__default["default"](start, dataFormat);
1437
+
1438
+ startStr = _m.isValid() ? _m.format(fmt) : "";
1439
+ }
1440
+
1441
+ if (tillNow) {
1442
+ endStr = "至今";
1443
+ } else if (!___default["default"].isNil(end)) {
1444
+ var _m2 = moment__default["default"](end, dataFormat);
1445
+
1446
+ endStr = _m2.isValid() ? _m2.format(fmt) : "";
1447
+ }
1448
+
1449
+ result[field.name] = startStr + " - " + endStr;
1450
+ }
1451
+ } // 嵌套 object
1452
+ else if (type === "object" && field.objectFields) {
1453
+ result[field.name] = MUtil.formatForExport(field, value);
1454
+ } // 嵌套 array
1455
+ else if (type === "array" && field.arrayMember && ___default["default"].isArray(value)) {
1456
+ if (field.arrayMember.objectFields) {
1457
+ result[field.name] = value.map(function (item) {
1458
+ return MUtil.formatForExport(field.arrayMember, item);
1459
+ });
1460
+ }
1461
+ }
1462
+ };
1463
+
1464
+ for (var _iterator9 = _createForOfIteratorHelperLoose$d(fields), _step9; !(_step9 = _iterator9()).done;) {
1465
+ var _ret = _loop();
1466
+
1467
+ if (_ret === "continue") continue;
1468
+ }
1469
+
1470
+ return result;
1471
+ },
1472
+
1473
+ /**
1474
+ * 回填时将可读格式的时间字段反解析为内部格式
1475
+ * @param schema 表单 schema(type 为 object 的根 schema)
1476
+ * @param database 可读格式的数据
1477
+ * @returns 深拷贝后反解析过的数据
1478
+ */
1479
+ parseFromExport: function parseFromExport(schema, database) {
1480
+ if (___default["default"].isNil(database)) {
1481
+ return database;
1482
+ }
1483
+
1484
+ var result = ___default["default"].cloneDeep(database);
1485
+
1486
+ var fields = schema.objectFields;
1487
+
1488
+ if (!fields) {
1489
+ return result;
1490
+ }
1491
+
1492
+ var _loop2 = function _loop2() {
1493
+ var field = _step10.value;
1494
+ var value = result[field.name];
1495
+
1496
+ if (___default["default"].isNil(value)) {
1497
+ return "continue";
1498
+ }
1499
+
1500
+ var type = field.type; // 时间选择器
1501
+
1502
+ if (type === "year" || type === "yearMonth" || type === "yearMonthDay" || type === "datetime" || type === "date") {
1503
+ var antConf = MDateTimeType.antConf(field);
1504
+
1505
+ if (antConf && ___default["default"].isString(value)) {
1506
+ var m = moment__default["default"](value, antConf.readableFormat);
1507
+
1508
+ if (m.isValid()) {
1509
+ result[field.name] = m.format(antConf.dataFormat);
1510
+ }
1511
+ }
1512
+ } // 时间范围选择器
1513
+ else if (type === "dateRange") {
1514
+ if (___default["default"].isString(value)) {
1515
+ var _field$dateRange2, _field$dataFormat2, _parts$, _parts$2;
1516
+
1517
+ var fmt = getReadableFormat(field.dateRangePrecision, (_field$dateRange2 = field.dateRange) == null ? void 0 : _field$dateRange2.showTime);
1518
+ var dataFormat = (_field$dataFormat2 = field.dataFormat) != null ? _field$dataFormat2 : "x";
1519
+ var parts = value.split(" - ");
1520
+ var startStr = (_parts$ = parts[0]) == null ? void 0 : _parts$.trim();
1521
+ var endStr = (_parts$2 = parts[1]) == null ? void 0 : _parts$2.trim();
1522
+ var start = null;
1523
+ var end = null;
1524
+ var tillNow = false;
1525
+
1526
+ if (startStr) {
1527
+ var _m3 = moment__default["default"](startStr, fmt);
1528
+
1529
+ if (_m3.isValid()) {
1530
+ start = _m3.format(dataFormat);
1531
+ }
1532
+ }
1533
+
1534
+ if (endStr === "至今") {
1535
+ tillNow = true;
1536
+ } else if (endStr) {
1537
+ var _m4 = moment__default["default"](endStr, fmt);
1538
+
1539
+ if (_m4.isValid()) {
1540
+ end = _m4.format(dataFormat);
1541
+ }
1542
+ }
1543
+
1544
+ result[field.name] = [start, end, tillNow];
1545
+ }
1546
+ } // 嵌套 object
1547
+ else if (type === "object" && field.objectFields) {
1548
+ result[field.name] = MUtil.parseFromExport(field, value);
1549
+ } // 嵌套 array
1550
+ else if (type === "array" && field.arrayMember && ___default["default"].isArray(value)) {
1551
+ if (field.arrayMember.objectFields) {
1552
+ result[field.name] = value.map(function (item) {
1553
+ return MUtil.parseFromExport(field.arrayMember, item);
1554
+ });
1555
+ }
1556
+ }
1557
+ };
1558
+
1559
+ for (var _iterator10 = _createForOfIteratorHelperLoose$d(fields), _step10; !(_step10 = _iterator10()).done;) {
1560
+ var _ret2 = _loop2();
1561
+
1562
+ if (_ret2 === "continue") continue;
1563
+ }
1564
+
1565
+ return result;
1566
+ },
1567
+
816
1568
  /** 啥也不干的空回调 */
817
1569
  doNothing: function doNothing() {},
818
1570
 
@@ -900,8 +1652,8 @@ var MUtil = {
900
1652
  return f.name;
901
1653
  }), "字段名有重复");
902
1654
 
903
- for (var _iterator9 = _createForOfIteratorHelperLoose$e(s.objectFields), _step9; !(_step9 = _iterator9()).done;) {
904
- var f = _step9.value;
1655
+ for (var _iterator11 = _createForOfIteratorHelperLoose$d(s.objectFields), _step11; !(_step11 = _iterator11()).done;) {
1656
+ var f = _step11.value;
905
1657
  result = ___default["default"].concat(result, MUtil.validateSchema(f, MUtil.jsonPath(parentPath, s.name)));
906
1658
  }
907
1659
 
@@ -1019,209 +1771,48 @@ var MUtil = {
1019
1771
  * escape数值
1020
1772
  * @param str - 字符串
1021
1773
  * @returns 会带上引号,类似"abc",str=nil时会返回""
1022
- */
1023
- escapeCsv: function escapeCsv(str) {
1024
- if (!___default["default"].isString(str)) {
1025
- str = ___default["default"].toString(str);
1026
- }
1027
-
1028
- return '"' + str.replace(/["]/g, '""') + '"';
1029
- },
1030
-
1031
- /**
1032
- * 判断两个值是否相同
1033
- * @param v1 一个值
1034
- * @param v2 另一个值
1035
- * @param tolerate true用==判断,false用===判断
1036
- */
1037
- isEquals: function isEquals(v1, v2, tolerate) {
1038
- if (tolerate) {
1039
- return v1 == v2;
1040
- } else {
1041
- return v1 === v2;
1042
- }
1043
- }
1044
- };
1045
- var CompactArray = {
1046
- indexOf: function indexOf(ca, d) {
1047
- if (___default["default"].isNil(d) || ___default["default"].isNil(ca)) {
1048
- return -1;
1049
- }
1050
-
1051
- if (___default["default"].isArray(ca)) {
1052
- return ca.indexOf(d);
1053
- } else {
1054
- return ca === d ? 0 : -1;
1055
- }
1056
- }
1057
- };
1058
-
1059
- 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."); }
1060
-
1061
- 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); }
1062
-
1063
- 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; }
1064
- var defaultTheme = {
1065
- READABLE_UNKNOWN: "?",
1066
- READABLE_BLANK: "-",
1067
- READABLE_INVALID: "❓",
1068
- READABLE_ERROR: "❗",
1069
- themeName: "antMiddle"
1070
- };
1071
- /**
1072
- * 注册viewer,type,morph(viewer和type之间的关联)
1073
- */
1074
-
1075
- var Assembly = /*#__PURE__*/function () {
1076
- var _proto = Assembly.prototype;
1077
-
1078
- /** 根据定义返回View,返回nil表示没有可用的View */
1079
- _proto.getViewerOf = function getViewerOf(f, morph) {
1080
- if (f.editor && morph === "editor") {
1081
- if (___default["default"].isString(f.editor)) {
1082
- return ___default["default"].get(this.viewers, f.editor);
1083
- } else {
1084
- return f.editor;
1085
- }
1086
- } else if (f.readable && morph === "readable") {
1087
- if (___default["default"].isString(f.readable)) {
1088
- return ___default["default"].get(this.viewers, f.readable);
1089
- } else {
1090
- return f.readable;
1091
- }
1092
- } else {
1093
- var viewer = ___default["default"].get(this.morph, morph + "." + f.type);
1094
-
1095
- if (___default["default"].isString(viewer)) {
1096
- return ___default["default"].get(this.viewers, viewer);
1097
- } else {
1098
- return viewer;
1099
- }
1100
- }
1101
- };
1102
-
1103
- _proto.validate = function validate(s, v, path) {
1104
- if (path === void 0) {
1105
- path = "";
1106
- }
1107
-
1108
- var result = undefined;
1109
-
1110
- for (var _iterator = _createForOfIteratorHelperLoose$d(this.types[s.type].validators), _step; !(_step = _iterator()).done;) {
1111
- var validator = _step.value;
1112
- result = validator(this, s, v, path);
1113
-
1114
- if (result === "pass" && s.type !== "weight") {
1115
- return undefined;
1116
- } else if (typeof result === "object") {
1117
- MUtil.debug("校验", path, result.message);
1118
- return result;
1119
- }
1120
- }
1121
-
1122
- return undefined;
1123
- };
1124
-
1125
- _proto.addViewer = function addViewer(name, v) {
1126
- if (this.viewers[name]) {
1127
- console.error("addViewer: \u5DF2\u7ECF\u5B58\u5728\u540D\u4E3A " + name + " \u7684 Viewer\uFF0C\u65E0\u6CD5\u518D\u6B21\u6DFB\u52A0\uFF01");
1128
- return;
1129
- } else {
1130
- this.viewers[name] = v;
1131
- }
1132
- };
1133
-
1134
- _proto.addEditor = function addEditor(name, v) {
1135
- if (this.editors[name]) {
1136
- console.error("addEditor: \u5DF2\u7ECF\u5B58\u5728\u540D\u4E3A " + name + " \u7684 Editor\uFF0C\u65E0\u6CD5\u518D\u6B21\u6DFB\u52A0\uFF01");
1137
- return;
1138
- } else {
1139
- this.editors[name] = v;
1140
- }
1141
- }
1142
- /**
1143
- * 增加一种数据类型
1144
- * 例:
1145
- * const hpOrg = {name: "hpOrg", type: {validators: ..., toReadable: ...}, editor: HPOrgEditor, readable: "DivViewer"}
1146
- * addType(hpOrg)
1147
- * @param typeParam 类型的描述对象
1148
- */
1149
- ;
1150
-
1151
- _proto.addType = function addType(typeParam) {
1152
- var name = typeParam.name,
1153
- type = typeParam.type,
1154
- editor = typeParam.editor,
1155
- _typeParam$readable = typeParam.readable,
1156
- readable = _typeParam$readable === void 0 ? "DivViewer" : _typeParam$readable;
1157
- this.types[name] = type;
1158
-
1159
- ___default["default"].set(this.morph, "editor." + name, editor);
1160
-
1161
- ___default["default"].set(this.morph, "readable." + name, readable);
1162
- };
1163
-
1164
- function Assembly() {
1165
- var _this = this;
1166
-
1167
- this.types = {};
1168
- this.viewers = {};
1169
- this.editors = {};
1170
- this.morph = {};
1171
- this.theme = defaultTheme;
1172
-
1173
- this.toReadable = function (s, v, parent) {
1174
- var t = _this.types[s.type];
1175
-
1176
- if (t) {
1177
- var _r;
1178
-
1179
- var r;
1180
-
1181
- if (___default["default"].isString(s.toReadable)) {
1182
- // eslint-disable-next-line no-new-func
1183
- r = new Function("_", "value", "theme", "const {READABLE_UNKNOWN, READABLE_BLANK, READABLE_INVALID, READABLE_ERROR} = theme; return " + s.toReadable)(___default["default"], v, _this.theme);
1184
- } else if (___default["default"].isFunction(s.toReadable)) {
1185
- r = s.toReadable(v, parent, _this);
1186
- }
1187
-
1188
- r = (_r = r) != null ? _r : t.toReadable(_this, s, v);
1189
-
1190
- if (s.postfix) {
1191
- r += s.postfix;
1192
- }
1193
-
1194
- return r;
1195
- } else {
1196
- return s.type + "类型无效";
1197
- }
1198
- }; // 校验types是否使用了无效的编辑器名字
1199
-
1200
-
1201
- for (var morphName in this.morph) {
1202
- for (var typeName in this.morph[morphName]) {
1203
- if (!this.types[typeName]) {
1204
- throw SyntaxError("\u7C7B\u578B" + typeName + "\u672A\u5B9A\u4E49");
1205
- }
1774
+ */
1775
+ escapeCsv: function escapeCsv(str) {
1776
+ if (!___default["default"].isString(str)) {
1777
+ str = ___default["default"].toString(str);
1778
+ }
1206
1779
 
1207
- var viewerName = this.morph[morphName][typeName];
1780
+ return '"' + str.replace(/["]/g, '""') + '"';
1781
+ },
1208
1782
 
1209
- if (!this.viewers[viewerName]) {
1210
- throw SyntaxError("\u89C6\u56FE" + viewerName + "\u672A\u5B9A\u4E49");
1211
- }
1212
- }
1783
+ /**
1784
+ * 判断两个值是否相同
1785
+ * @param v1 一个值
1786
+ * @param v2 另一个值
1787
+ * @param tolerate true用==判断,false用===判断
1788
+ */
1789
+ isEquals: function isEquals(v1, v2, tolerate) {
1790
+ if (tolerate) {
1791
+ return v1 == v2;
1792
+ } else {
1793
+ return v1 === v2;
1213
1794
  }
1214
1795
  }
1796
+ };
1797
+ var CompactArray = {
1798
+ indexOf: function indexOf(ca, d) {
1799
+ if (___default["default"].isNil(d) || ___default["default"].isNil(ca)) {
1800
+ return -1;
1801
+ }
1215
1802
 
1216
- return Assembly;
1217
- }();
1218
- var assembly = new Assembly();
1803
+ if (___default["default"].isArray(ca)) {
1804
+ return ca.indexOf(d);
1805
+ } else {
1806
+ return ca === d ? 0 : -1;
1807
+ }
1808
+ }
1809
+ };
1219
1810
 
1220
1811
  var MContext = /*#__PURE__*/React__default["default"].createContext(undefined);
1221
1812
 
1222
- 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; }
1813
+ 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; }
1223
1814
 
1224
- 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__default["default"](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; }
1815
+ 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__default["default"](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; }
1225
1816
  /**
1226
1817
  * 一个字段的视图
1227
1818
  */
@@ -1244,7 +1835,7 @@ var MFieldViewer = /*#__PURE__*/function (_React$Component) {
1244
1835
  return MUtil.error("\u5B57\u6BB5\u7684\u89C6\u56FE\u5C1A\u672A\u5B9E\u73B0", this.props.schema);
1245
1836
  }
1246
1837
 
1247
- var props = _objectSpread$x({
1838
+ var props = _objectSpread$y({
1248
1839
  afterChange: function afterChange() {},
1249
1840
  changeSchema: function changeSchema() {},
1250
1841
  changeDatabase: function changeDatabase() {},
@@ -1252,229 +1843,19 @@ var MFieldViewer = /*#__PURE__*/function (_React$Component) {
1252
1843
  }, this.props);
1253
1844
 
1254
1845
  var ele = /*#__PURE__*/React__default["default"].createElement(viewer, props, null);
1255
- return jsxRuntime.jsx(MContext.Consumer, {
1256
- children: function children(ctx) {
1257
- if (ctx.rootProps.wrapper && _this.props.schema.type !== 'object' && _this.props.schema.type !== 'array') {
1258
- return ctx.rootProps.wrapper(ele, _this.props.schema);
1259
- } else {
1260
- return ele;
1261
- }
1262
- }
1263
- });
1264
- };
1265
-
1266
- return MFieldViewer;
1267
- }(React__default["default"].Component);
1268
-
1269
- /**
1270
- * 非空校验,数据不能是null/undefined/""/NaN/[]
1271
- * 要在其他条件之前,以便required=false时短路掉nil的数据,否则后面的校验全都得处理nil
1272
- * @param a
1273
- * @param schema
1274
- * @param value
1275
- * @param path
1276
- * @returns
1277
- */
1278
-
1279
- function validateRequired$1(a, schema, value, path) {
1280
- if (schema.required) {
1281
- if (___default["default"].isNil(value) || value === "" || ___default["default"].isNaN(value) || ___default["default"].isArray(value) && value.length == 0) {
1282
- return {
1283
- message: "您还没有填完这一项",
1284
- path: path
1285
- };
1286
- } // 凡是总有例外
1287
-
1288
-
1289
- if (schema.type === "set" && schema.openOption) {
1290
- if (value.length === 1 && !value[0]) {
1291
- return {
1292
- message: "您还没有填完这一项",
1293
- path: path
1294
- }; // 开放set,只勾了开放选项,没有填内容,也要算空
1295
- }
1296
- }
1297
- } else {
1298
- if (___default["default"].isNil(value)) {
1299
- return "pass";
1300
- }
1301
- }
1302
-
1303
- return undefined;
1304
- }
1305
- /** 和validateRequired相同,但不短路 */
1306
-
1307
- function validateRequiredNS(a, schema, value, path) {
1308
- var v = validateRequired$1(a, schema, value, path);
1309
-
1310
- if (v === "pass") {
1311
- return undefined;
1312
- }
1313
- }
1314
- function validateDateMinMax(a, schema, value, path) {
1315
- if (schema.min) {
1316
- if (!value || value < schema.min) {
1317
- return {
1318
- message: "\u8BF7\u9009\u62E9" + schema.min + "\u4E4B\u540E\u7684\u65F6\u95F4",
1319
- path: path
1320
- };
1321
- }
1322
- }
1323
-
1324
- if (schema.max) {
1325
- if (!value || value > schema.max) {
1326
- return {
1327
- message: "\u8BF7\u9009\u62E9" + schema.min + "\u4E4B\u524D\u7684\u65F6\u95F4",
1328
- path: path
1329
- };
1330
- }
1331
- }
1332
-
1333
- return undefined;
1334
- }
1335
- /**
1336
- * 数组项数不超过[min, max]
1337
- * @param schema
1338
- * @param value 应该是个数组
1339
- */
1340
-
1341
- function validateArrayItemMinMax(a, schema, value, path) {
1342
- if (schema.min) {
1343
- if (!value || value.length < schema.min) {
1344
- return {
1345
- message: "\u81F3\u5C11\u9009\u62E9" + schema.min + "\u9879",
1346
- path: path
1347
- };
1348
- }
1349
- }
1350
-
1351
- if (schema.max) {
1352
- if (!value || value.length > schema.max) {
1353
- return {
1354
- message: "\u6700\u591A\u9009\u62E9" + schema.max + "\u9879",
1355
- path: path
1356
- };
1357
- }
1358
- }
1359
-
1360
- return undefined;
1361
- }
1362
- /**
1363
- * 字符串长度不超过[min, max]
1364
- * @param schema
1365
- * @param value 应该是个字符串
1366
- */
1367
-
1368
- function validateStringMinMax$1(a, schema, value, path) {
1369
- if (schema.min) {
1370
- if (!value || value.length < schema.min) {
1371
- return {
1372
- message: "\u81F3\u5C11" + schema.min + "\u4E2A\u5B57",
1373
- path: path
1374
- };
1375
- }
1376
- }
1377
-
1378
- if (schema.max) {
1379
- if (value && value.length > schema.max) {
1380
- return {
1381
- message: "\u6700\u591A" + schema.max + "\u4E2A\u5B57",
1382
- path: path
1383
- };
1384
- }
1385
- }
1386
-
1387
- return undefined;
1388
- }
1389
- /**
1390
- * 数字不超过[min, max]
1391
- * @param schema
1392
- * @param value 应该是个数字
1393
- */
1394
-
1395
- function validateNumberMinMax(a, schema, value, path) {
1396
- var temp = Number(value);
1397
-
1398
- if (!___default["default"].isNil(schema.max)) {
1399
- if (!___default["default"].isFinite(temp) || temp > schema.max) {
1400
- return {
1401
- message: "\u6700\u591A" + schema.max,
1402
- path: path
1403
- };
1404
- }
1405
- }
1406
-
1407
- if (!___default["default"].isNil(schema.min)) {
1408
- if (!___default["default"].isFinite(temp) || temp < schema.min) {
1409
- return {
1410
- message: "\u6700\u5C11" + schema.min,
1411
- path: path
1412
- };
1413
- }
1414
- }
1415
-
1416
- return undefined;
1417
- }
1418
- function generateRegexValidate$1(regex, mismatchMsg) {
1419
- return function (a, schema, value, path) {
1420
- var asstr = ___default["default"].toString(value);
1421
-
1422
- if (!regex.test(asstr)) {
1423
- return {
1424
- message: mismatchMsg,
1425
- path: path
1426
- };
1427
- }
1428
-
1429
- return undefined;
1430
- };
1431
- }
1432
- /**
1433
- * 数据用Object.prototype.toString.call返回的类型是预期的
1434
- * 可以用Object.prototype.toString.call(<预期的类型>)来查看你想要的数据类型的expectType
1435
- * @param expectType 预期类型,例如:"[object Object]" "[object Null]" "[object Number]" "[object Date]" "[object Array]"
1436
- * @param mismatchMsg 如果不匹配,提示的错误信息
1437
- * @returns
1438
- */
1439
-
1440
- function generateJsPrototypeValidate(expectType, mismatchMsg) {
1441
- if (mismatchMsg === void 0) {
1442
- mismatchMsg = "数据有误,请重填此项";
1443
- }
1444
-
1445
- return function (a, schema, value, path) {
1446
- if (Object.prototype.toString.call(value) == expectType) {
1447
- return undefined;
1448
- } else {
1449
- return {
1450
- message: mismatchMsg,
1451
- path: path
1452
- };
1453
- }
1454
- };
1455
- }
1456
- function generateSchemaValidate(valueSchema, mismatchMsg) {
1457
- return function (a, schema, value, path) {
1458
- var r = assembly.validate(valueSchema, value, "");
1459
-
1460
- if (!r) {
1461
- return r;
1462
- } else {
1463
- return {
1464
- message: mismatchMsg != null ? mismatchMsg : r.message,
1465
- path: path
1466
- };
1467
- }
1846
+ return jsxRuntime.jsx(MContext.Consumer, {
1847
+ children: function children(ctx) {
1848
+ if (ctx.rootProps.wrapper && _this.props.schema.type !== 'object' && _this.props.schema.type !== 'array') {
1849
+ return ctx.rootProps.wrapper(ele, _this.props.schema);
1850
+ } else {
1851
+ return ele;
1852
+ }
1853
+ }
1854
+ });
1468
1855
  };
1469
- }
1470
- var Validator = {
1471
- validateRequired: validateRequired$1,
1472
- validateRequiredNS: validateRequiredNS,
1473
- validateDateMinMax: validateDateMinMax,
1474
- validateStringMinMax: validateStringMinMax$1,
1475
- validateNumberMinMax: validateNumberMinMax,
1476
- generateRegexValidate: generateRegexValidate$1
1477
- };
1856
+
1857
+ return MFieldViewer;
1858
+ }(React__default["default"].Component);
1478
1859
 
1479
1860
  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."); }
1480
1861
 
@@ -1561,34 +1942,6 @@ var MEnumType = {
1561
1942
  }
1562
1943
  };
1563
1944
 
1564
- var EmtpyType = {
1565
- validators: [],
1566
- createDefaultValue: function createDefaultValue(assembly, s) {
1567
- if (s.defaultValue) {
1568
- return ___default["default"].clone(s.defaultValue);
1569
- } else {
1570
- return undefined;
1571
- }
1572
- },
1573
- standardValue: function standardValue(assembly, s, v, strict) {
1574
- return v;
1575
- },
1576
- toReadable: function toReadable(assembly, s, vs) {
1577
- if (___default["default"].isNil(vs)) {
1578
- return assembly.theme.READABLE_BLANK;
1579
- }
1580
-
1581
- return vs;
1582
- }
1583
- };
1584
- function createDefaultValue(assembly, s) {
1585
- if (s.defaultValue) {
1586
- return ___default["default"].clone(s.defaultValue);
1587
- } else {
1588
- return undefined;
1589
- }
1590
- }
1591
-
1592
1945
  var gb2260 = [
1593
1946
  {
1594
1947
  value: "110000",
@@ -15126,103 +15479,6 @@ var MGB2260Type = ___default["default"].assign({}, EmtpyType, {
15126
15479
  }
15127
15480
  });
15128
15481
 
15129
- var MDateTimeType = ___default["default"].assign({}, EmtpyType, {
15130
- validators: [validateRequired$1, validateDateMinMax],
15131
- antConf: function antConf(schema) {
15132
- var _dataFormat, _dataFormat2, _dataFormat3, _dataFormat4, _dataFormat5, _dataFormat6, _dataFormat7, _dataFormat8;
15133
-
15134
- var dataFormat = schema.dataFormat;
15135
- var readableFormat;
15136
- var mode;
15137
- var showTime = false;
15138
-
15139
- switch (schema.type) {
15140
- case "year":
15141
- mode = "year";
15142
- dataFormat = (_dataFormat = dataFormat) != null ? _dataFormat : "YYYY";
15143
- readableFormat = "YYYY";
15144
- break;
15145
-
15146
- case "yearMonth":
15147
- mode = "month";
15148
- dataFormat = (_dataFormat2 = dataFormat) != null ? _dataFormat2 : "YYYYMM";
15149
- readableFormat = "YYYY-MM";
15150
- break;
15151
-
15152
- case "yearMonthDay":
15153
- mode = "date";
15154
- dataFormat = (_dataFormat3 = dataFormat) != null ? _dataFormat3 : "YYYYMMDD";
15155
- readableFormat = "YYYY-MM-DD";
15156
- break;
15157
-
15158
- case "datetime":
15159
- mode = undefined;
15160
- dataFormat = (_dataFormat4 = dataFormat) != null ? _dataFormat4 : "x";
15161
- readableFormat = "YYYY-MM-DD HH:mm";
15162
- showTime = true;
15163
- break;
15164
-
15165
- case "date":
15166
- switch (schema.datePrecision) {
15167
- case "year":
15168
- mode = "year";
15169
- dataFormat = (_dataFormat5 = dataFormat) != null ? _dataFormat5 : "YYYY";
15170
- readableFormat = "YYYY";
15171
- break;
15172
-
15173
- case "month":
15174
- mode = "month";
15175
- dataFormat = (_dataFormat6 = dataFormat) != null ? _dataFormat6 : "YYYYMM";
15176
- readableFormat = "YYYY-MM";
15177
- break;
15178
-
15179
- case "minute":
15180
- mode = undefined;
15181
- dataFormat = (_dataFormat7 = dataFormat) != null ? _dataFormat7 : "x";
15182
- readableFormat = "YYYY-MM-DD HH:mm";
15183
- showTime = true;
15184
- break;
15185
-
15186
- default:
15187
- // "day" 或未指定
15188
- mode = "date";
15189
- dataFormat = (_dataFormat8 = dataFormat) != null ? _dataFormat8 : "YYYYMMDD";
15190
- readableFormat = "YYYY-MM-DD";
15191
- break;
15192
- }
15193
-
15194
- break;
15195
- // case "yearAndQuarter":
15196
- // case "yearAndWeek":
15197
- // return MUtil.error(`移动端不支持${this.props.schema.type}`, this.props.schema);
15198
-
15199
- default:
15200
- return undefined;
15201
- }
15202
-
15203
- return {
15204
- dataFormat: dataFormat,
15205
- readableFormat: readableFormat,
15206
- mode: mode,
15207
- showTime: showTime
15208
- };
15209
- },
15210
- toReadable: function toReadable(assembly, schema, v) {
15211
- if (___default["default"].isNil(v)) {
15212
- return assembly.theme.READABLE_BLANK;
15213
- }
15214
-
15215
- var c = MDateTimeType.antConf(schema);
15216
-
15217
- if (!c) {
15218
- return assembly.theme.READABLE_INVALID;
15219
- }
15220
-
15221
- var asMoment = moment__default["default"](v, c.dataFormat);
15222
- return asMoment.format(c.readableFormat);
15223
- }
15224
- });
15225
-
15226
15482
  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."); }
15227
15483
 
15228
15484
  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); }
@@ -15874,75 +16130,6 @@ var MObjectType = {
15874
16130
  }
15875
16131
  };
15876
16132
 
15877
- /** 根据 precision 获取可读格式 */
15878
-
15879
- function getReadableFormat(precision, showTime) {
15880
- switch (precision) {
15881
- case "year":
15882
- return "YYYY年";
15883
-
15884
- case "month":
15885
- return "YYYY年MM月";
15886
-
15887
- case "minute":
15888
- return "YYYY年MM月DD日 HH:mm";
15889
-
15890
- default:
15891
- return showTime ? "YYYY年MM月DD日 HH:mm:ss" : "YYYY年MM月DD日";
15892
- }
15893
- }
15894
-
15895
- function timeExpr(assembly, v, tillNow, readableFormat) {
15896
- if (tillNow) {
15897
- return "至今";
15898
- }
15899
-
15900
- if (!v) {
15901
- return assembly.theme.READABLE_UNKNOWN;
15902
- }
15903
-
15904
- return moment__default["default"](v, "x").format(readableFormat);
15905
- }
15906
-
15907
- function timeRangeExpr(assembly, from, to, tillNow, readableFormat) {
15908
- if (readableFormat === void 0) {
15909
- readableFormat = "YYYY年MM月DD日";
15910
- }
15911
-
15912
- return timeExpr(assembly, from, false, readableFormat) + " ~ " + timeExpr(assembly, to, tillNow, readableFormat);
15913
- }
15914
- var MDateRangeType = ___default["default"].assign({}, EmtpyType, {
15915
- validators: [validateRequired$1],
15916
- toReadable: function toReadable(assembly, s, vs) {
15917
- var _s$dateRange;
15918
-
15919
- if (___default["default"].isNil(vs)) {
15920
- return assembly.theme.READABLE_BLANK;
15921
- }
15922
-
15923
- if (!___default["default"].isArray(vs)) {
15924
- return assembly.theme.READABLE_INVALID;
15925
- }
15926
-
15927
- var fmt = getReadableFormat(s.dateRangePrecision, (_s$dateRange = s.dateRange) == null ? void 0 : _s$dateRange.showTime);
15928
- return timeRangeExpr(assembly, vs[0], vs[1], vs[2], fmt);
15929
- },
15930
-
15931
- /**
15932
- * 同toReadable,但数据无效时返回nil
15933
- */
15934
- toReadableN: function toReadableN(assembly, s, vs) {
15935
- if (!___default["default"].isNil(vs) && ___default["default"].isArray(vs)) {
15936
- var _s$dateRange2;
15937
-
15938
- var fmt = getReadableFormat(s.dateRangePrecision, (_s$dateRange2 = s.dateRange) == null ? void 0 : _s$dateRange2.showTime);
15939
- return timeRangeExpr(assembly, vs[0], vs[1], vs[2], fmt);
15940
- }
15941
-
15942
- return undefined;
15943
- }
15944
- });
15945
-
15946
16133
  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."); }
15947
16134
 
15948
16135
  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); }
@@ -16368,9 +16555,9 @@ var BaseViewer = /*#__PURE__*/function (_Viewer) {
16368
16555
  return BaseViewer;
16369
16556
  }(Viewer);
16370
16557
 
16371
- 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; }
16558
+ 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; }
16372
16559
 
16373
- 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__default["default"](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; }
16560
+ 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__default["default"](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; }
16374
16561
  var ArrayViewer = /*#__PURE__*/function (_BaseViewer) {
16375
16562
  _inheritsLoose__default["default"](ArrayViewer, _BaseViewer);
16376
16563
 
@@ -16388,35 +16575,35 @@ var ArrayViewer = /*#__PURE__*/function (_BaseViewer) {
16388
16575
 
16389
16576
  if (___default["default"].isNil(vs)) {
16390
16577
  return jsxRuntime.jsx("div", {
16391
- style: _objectSpread$w({}, s),
16578
+ style: _objectSpread$x({}, s),
16392
16579
  children: assembly.theme.READABLE_BLANK
16393
16580
  });
16394
16581
  } else if (!___default["default"].isArray(vs)) {
16395
16582
  return jsxRuntime.jsx("div", {
16396
- style: _objectSpread$w({}, s),
16583
+ style: _objectSpread$x({}, s),
16397
16584
  children: assembly.theme.READABLE_INVALID
16398
16585
  });
16399
16586
  } else if (vs.length === 0) {
16400
16587
  return jsxRuntime.jsx("div", {
16401
- style: _objectSpread$w({}, s),
16588
+ style: _objectSpread$x({}, s),
16402
16589
  children: assembly.theme.READABLE_BLANK
16403
16590
  });
16404
16591
  }
16405
16592
 
16406
16593
  if (this.props.schema.toReadable) {
16407
16594
  return jsxRuntime.jsxs("div", {
16408
- children: [" style=", _objectSpread$w({}, s), assembly.toReadable(this.props.schema, vs, _BaseViewer.prototype.getParentValue.call(this))]
16595
+ children: [" style=", _objectSpread$x({}, s), assembly.toReadable(this.props.schema, vs, _BaseViewer.prototype.getParentValue.call(this))]
16409
16596
  });
16410
16597
  } else if (this.props.schema.remote) {
16411
16598
  return jsxRuntime.jsxs("div", {
16412
- style: _objectSpread$w({}, s),
16599
+ style: _objectSpread$x({}, s),
16413
16600
  children: [" ", vs.map(function (v) {
16414
16601
  return v.label;
16415
16602
  }).join(", "), " "]
16416
16603
  });
16417
16604
  } else if (!this.props.schema.arrayMember) {
16418
16605
  return jsxRuntime.jsx("div", {
16419
- style: _objectSpread$w({}, s),
16606
+ style: _objectSpread$x({}, s),
16420
16607
  children: vs.join(', ')
16421
16608
  });
16422
16609
  } else {
@@ -16459,9 +16646,9 @@ var ArrayViewer = /*#__PURE__*/function (_BaseViewer) {
16459
16646
  return ArrayViewer;
16460
16647
  }(BaseViewer);
16461
16648
 
16462
- 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; }
16649
+ 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; }
16463
16650
 
16464
- 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__default["default"](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; }
16651
+ 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__default["default"](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; }
16465
16652
 
16466
16653
  function toPrecision(mode) {
16467
16654
  switch (mode) {
@@ -16541,7 +16728,7 @@ var ADatetimePicker = /*#__PURE__*/function (_BaseViewer) {
16541
16728
  });
16542
16729
  },
16543
16730
  children: dataAsDate ? moment__default["default"](dataAsDate).format(antConf.readableFormat) : "请点击选择"
16544
- }), jsxRuntime.jsx(antdMobile.DatePicker, _objectSpread$v({
16731
+ }), jsxRuntime.jsx(antdMobile.DatePicker, _objectSpread$w({
16545
16732
  visible: this.state.pickerVisible,
16546
16733
  value: dataAsDate,
16547
16734
  min: this.props.schema.min ? moment__default["default"](this.props.schema.min, antConf.dataFormat).toDate() : undefined,
@@ -16569,7 +16756,7 @@ var ADatetimePicker = /*#__PURE__*/function (_BaseViewer) {
16569
16756
  var pickerKey = this.props.path + "_" + ((_antConf$mode = antConf.mode) != null ? _antConf$mode : "datetime");
16570
16757
  return jsxRuntime.jsx(antd.ConfigProvider, {
16571
16758
  locale: zhCN__default["default"],
16572
- children: jsxRuntime.jsx(antd.DatePicker, _objectSpread$v({
16759
+ children: jsxRuntime.jsx(antd.DatePicker, _objectSpread$w({
16573
16760
  disabled: this.props.disable,
16574
16761
  bordered: this.props.hideBorder ? false : true,
16575
16762
  disabledDate: function disabledDate(m) {
@@ -16592,9 +16779,9 @@ var ADatetimePicker = /*#__PURE__*/function (_BaseViewer) {
16592
16779
  return ADatetimePicker;
16593
16780
  }(BaseViewer);
16594
16781
 
16595
- 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; }
16782
+ 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; }
16596
16783
 
16597
- 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__default["default"](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; }
16784
+ 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__default["default"](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; }
16598
16785
  /**
16599
16786
  * 选择中国的省市县
16600
16787
  * 示例:{label:"1.5 您目前的居住地",name:"reside", type:"gb2260"},
@@ -16642,7 +16829,7 @@ var AGB2260 = /*#__PURE__*/function (_BaseViewer) {
16642
16829
  });
16643
16830
  },
16644
16831
  children: looked == null ? void 0 : (_looked$label = looked.label) == null ? void 0 : _looked$label.join("/")
16645
- }), jsxRuntime.jsx(antdMobile.Picker, _objectSpread$u({
16832
+ }), jsxRuntime.jsx(antdMobile.Picker, _objectSpread$v({
16646
16833
  columns: MGB2260Type.gb2260,
16647
16834
  value: looked.code,
16648
16835
  visible: this.state.pickerVisible,
@@ -16662,7 +16849,7 @@ var AGB2260 = /*#__PURE__*/function (_BaseViewer) {
16662
16849
  });
16663
16850
  } else {
16664
16851
  // PC
16665
- return jsxRuntime.jsx(antd.Cascader, _objectSpread$u({
16852
+ return jsxRuntime.jsx(antd.Cascader, _objectSpread$v({
16666
16853
  options: MGB2260Type.gb2260,
16667
16854
  disabled: this.props.disable,
16668
16855
  placeholder: _BaseViewer.prototype.getPlaceholder.call(this),
@@ -16680,9 +16867,9 @@ var AGB2260 = /*#__PURE__*/function (_BaseViewer) {
16680
16867
  return AGB2260;
16681
16868
  }(BaseViewer);
16682
16869
 
16683
- 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; }
16870
+ 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; }
16684
16871
 
16685
- 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__default["default"](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; }
16872
+ 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__default["default"](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; }
16686
16873
 
16687
16874
  var OPEN_ENUM_RADIO_VALUE = -1;
16688
16875
  /**
@@ -16791,7 +16978,7 @@ var ARadio = /*#__PURE__*/function (_BaseViewer) {
16791
16978
  }
16792
16979
 
16793
16980
  var p = (_this$props$schema$pr = this.props.schema.props) != null ? _this$props$schema$pr : {};
16794
- return jsxRuntime.jsx(antd.Radio.Group, _objectSpread$t(_objectSpread$t({
16981
+ return jsxRuntime.jsx(antd.Radio.Group, _objectSpread$u(_objectSpread$u({
16795
16982
  defaultValue: initIndex,
16796
16983
  onChange: function onChange(vv) {
16797
16984
  var v = vv.target.value;
@@ -16814,9 +17001,9 @@ var ARadio = /*#__PURE__*/function (_BaseViewer) {
16814
17001
  return ARadio;
16815
17002
  }(BaseViewer);
16816
17003
 
16817
- 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; }
17004
+ 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; }
16818
17005
 
16819
- 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__default["default"](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; }
17006
+ 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__default["default"](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; }
16820
17007
  /**
16821
17008
  * antd 的评分组件 https://ant.design/components/rate-cn/
16822
17009
  * { editor: 'ARate', name: 'score', label: "评分", required: true, props: {count: 8} }
@@ -16841,7 +17028,7 @@ var ARate = /*#__PURE__*/function (_BaseViewer) {
16841
17028
 
16842
17029
  var p = (_this$props$schema$pr = this.props.schema.props) != null ? _this$props$schema$pr : {};
16843
17030
 
16844
- var props = _objectSpread$s({
17031
+ var props = _objectSpread$t({
16845
17032
  count: this.props.schema.max,
16846
17033
  defaultValue: this.value,
16847
17034
  onChange: function onChange(value, label, extra) {
@@ -16871,7 +17058,7 @@ var ARate = /*#__PURE__*/function (_BaseViewer) {
16871
17058
  className: "m3-nps-tip-right",
16872
17059
  children: p.rightTip
16873
17060
  })]
16874
- }) : null, jsxRuntime.jsx(antd.Rate, _objectSpread$s({
17061
+ }) : null, jsxRuntime.jsx(antd.Rate, _objectSpread$t({
16875
17062
  className: "m3-nps-rate"
16876
17063
  }, props))]
16877
17064
  });
@@ -16880,9 +17067,9 @@ var ARate = /*#__PURE__*/function (_BaseViewer) {
16880
17067
  return ARate;
16881
17068
  }(BaseViewer);
16882
17069
 
16883
- 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; }
17070
+ 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; }
16884
17071
 
16885
- 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__default["default"](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; }
17072
+ 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__default["default"](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; }
16886
17073
  /**
16887
17074
  * antd 的上传组件 https://ant.design/components/upload-cn/
16888
17075
  * {
@@ -16962,7 +17149,7 @@ var AUpload = /*#__PURE__*/function (_BaseViewer) {
16962
17149
  });
16963
17150
  }
16964
17151
 
16965
- var props = _objectSpread$r(_objectSpread$r({}, a), {}, {
17152
+ var props = _objectSpread$s(_objectSpread$s({}, a), {}, {
16966
17153
  onChange: function onChange(info) {
16967
17154
  if (p.onChange) p.onChange(info);
16968
17155
  console.log(info);
@@ -17024,7 +17211,7 @@ var AUpload = /*#__PURE__*/function (_BaseViewer) {
17024
17211
  }
17025
17212
  }, p);
17026
17213
 
17027
- return jsxRuntime.jsx(antd.Upload, _objectSpread$r(_objectSpread$r({
17214
+ return jsxRuntime.jsx(antd.Upload, _objectSpread$s(_objectSpread$s({
17028
17215
  disabled: this.loading !== undefined
17029
17216
  }, props), {}, {
17030
17217
  children: jsxRuntime.jsx(antd.Button, {
@@ -17037,9 +17224,9 @@ var AUpload = /*#__PURE__*/function (_BaseViewer) {
17037
17224
  return AUpload;
17038
17225
  }(BaseViewer);
17039
17226
 
17040
- 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; }
17227
+ 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; }
17041
17228
 
17042
- 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__default["default"](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; }
17229
+ 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__default["default"](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; }
17043
17230
  /**
17044
17231
  * antd 的树型选择控件 https://ant.design/components/tree-select-cn/
17045
17232
  * {
@@ -17071,7 +17258,7 @@ var ATreeSelect = /*#__PURE__*/function (_BaseViewer) {
17071
17258
 
17072
17259
  var p = (_this$props$schema$pr = this.props.schema.props) != null ? _this$props$schema$pr : {};
17073
17260
 
17074
- var props = _objectSpread$q({
17261
+ var props = _objectSpread$r({
17075
17262
  defaultValue: this.value,
17076
17263
  onChange: function onChange(value, label, extra) {
17077
17264
  if (p.onChange) p.onChange(value, label, extra);
@@ -17085,7 +17272,7 @@ var ATreeSelect = /*#__PURE__*/function (_BaseViewer) {
17085
17272
  }
17086
17273
  }, p);
17087
17274
 
17088
- return jsxRuntime.jsx(antd.TreeSelect, _objectSpread$q({
17275
+ return jsxRuntime.jsx(antd.TreeSelect, _objectSpread$r({
17089
17276
  style: {
17090
17277
  width: "100%"
17091
17278
  }
@@ -17095,9 +17282,9 @@ var ATreeSelect = /*#__PURE__*/function (_BaseViewer) {
17095
17282
  return ATreeSelect;
17096
17283
  }(BaseViewer);
17097
17284
 
17098
- 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; }
17285
+ 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; }
17099
17286
 
17100
- 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__default["default"](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; }
17287
+ 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__default["default"](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; }
17101
17288
  /**
17102
17289
  * NPS 打分组件,基于 antd 的评分组件 https://ant.design/components/rate-cn/
17103
17290
  * 定义示例:{ editor: 'NPS', name: 'possibility', label: "您向朋友或同事推荐本堂课程的可能性有多大?", required: true },
@@ -17125,7 +17312,7 @@ var NPS = /*#__PURE__*/function (_BaseViewer) {
17125
17312
 
17126
17313
  var p = (_this$props$schema$pr = this.props.schema.props) != null ? _this$props$schema$pr : {};
17127
17314
 
17128
- var props = _objectSpread$p({
17315
+ var props = _objectSpread$q({
17129
17316
  count: 11,
17130
17317
  character: function character(_ref) {
17131
17318
  var index = _ref.index;
@@ -17158,7 +17345,7 @@ var NPS = /*#__PURE__*/function (_BaseViewer) {
17158
17345
  className: "m3-nps-tip-right",
17159
17346
  children: (_p$rightTip = p.rightTip) != null ? _p$rightTip : '极有可能'
17160
17347
  })]
17161
- }), jsxRuntime.jsx(antd.Rate, _objectSpread$p({
17348
+ }), jsxRuntime.jsx(antd.Rate, _objectSpread$q({
17162
17349
  className: "m3-nps-rate"
17163
17350
  }, props)), p.remark ? jsxRuntime.jsx("div", {
17164
17351
  className: "m3-nps-remark",
@@ -17170,9 +17357,9 @@ var NPS = /*#__PURE__*/function (_BaseViewer) {
17170
17357
  return NPS;
17171
17358
  }(BaseViewer);
17172
17359
 
17173
- 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; }
17360
+ 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; }
17174
17361
 
17175
- 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__default["default"](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; }
17362
+ 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__default["default"](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; }
17176
17363
  /**
17177
17364
  * 输入整数的输入框
17178
17365
  * 定义示例:{label:"2.3 请问今年以来您平均每月工作多少天?",name:"workdayPerMonth", type:"int"},
@@ -17193,9 +17380,9 @@ var AIntBox = /*#__PURE__*/function (_BaseViewer) {
17193
17380
 
17194
17381
  var p = (_this$props$schema$pr = this.props.schema.props) != null ? _this$props$schema$pr : {};
17195
17382
 
17196
- var props = _objectSpread$o(_objectSpread$o({}, _BaseViewer.prototype.antProp.call(this)), {}, {
17383
+ var props = _objectSpread$p(_objectSpread$p({}, _BaseViewer.prototype.antProp.call(this)), {}, {
17197
17384
  bordered: undefined,
17198
- style: _objectSpread$o({
17385
+ style: _objectSpread$p({
17199
17386
  border: this.props.hideBorder ? "none" : undefined
17200
17387
  }, this.props.style),
17201
17388
  min: this.props.schema.min,
@@ -17222,7 +17409,7 @@ var AIntBox = /*#__PURE__*/function (_BaseViewer) {
17222
17409
  }
17223
17410
  }, p);
17224
17411
 
17225
- return jsxRuntime.jsx(antd.InputNumber, _objectSpread$o({}, props));
17412
+ return jsxRuntime.jsx(antd.InputNumber, _objectSpread$p({}, props));
17226
17413
  };
17227
17414
 
17228
17415
  return AIntBox;
@@ -17391,9 +17578,9 @@ var ACheckBox = /*#__PURE__*/function (_BaseViewer) {
17391
17578
  return ACheckBox;
17392
17579
  }(BaseViewer);
17393
17580
 
17394
- 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; }
17581
+ 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; }
17395
17582
 
17396
- 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__default["default"](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; }
17583
+ 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__default["default"](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; }
17397
17584
  var AInputBox = /*#__PURE__*/function (_BaseViewer) {
17398
17585
  _inheritsLoose__default["default"](AInputBox, _BaseViewer);
17399
17586
 
@@ -17415,7 +17602,7 @@ var AInputBox = /*#__PURE__*/function (_BaseViewer) {
17415
17602
  var lines = (_this$props$schema$st = this.props.schema.stringLines) != null ? _this$props$schema$st : 1;
17416
17603
  var p = (_this$props$schema$pr = this.props.schema.props) != null ? _this$props$schema$pr : {};
17417
17604
 
17418
- var commonProps = _objectSpread$n({
17605
+ var commonProps = _objectSpread$o({
17419
17606
  defaultValue: this.getValue(),
17420
17607
  key: this.props.path,
17421
17608
  onChange: function onChange(v) {
@@ -17446,13 +17633,13 @@ var AInputBox = /*#__PURE__*/function (_BaseViewer) {
17446
17633
  });
17447
17634
  }
17448
17635
 
17449
- var inputProps = _objectSpread$n({
17636
+ var inputProps = _objectSpread$o({
17450
17637
  className: "AInputBox",
17451
17638
  style: this.props.style
17452
17639
  }, commonProps); //if(addon) {
17453
17640
 
17454
17641
 
17455
- return jsxRuntime.jsx(antd.Input, _objectSpread$n(_objectSpread$n({}, inputProps), {}, {
17642
+ return jsxRuntime.jsx(antd.Input, _objectSpread$o(_objectSpread$o({}, inputProps), {}, {
17456
17643
  addonAfter: addon
17457
17644
  })); // } else {
17458
17645
  // return <UnderlineInputBox {...inputProps}/>; // 等 UnderlineInputBox 支持addonAfter,上面的就能干掉了
@@ -17467,7 +17654,7 @@ var AInputBox = /*#__PURE__*/function (_BaseViewer) {
17467
17654
  styles.border = "none";
17468
17655
  }
17469
17656
 
17470
- return jsxRuntime.jsx(TextArea__default["default"], _objectSpread$n({
17657
+ return jsxRuntime.jsx(TextArea__default["default"], _objectSpread$o({
17471
17658
  style: styles
17472
17659
  }, commonProps));
17473
17660
  }
@@ -17476,9 +17663,9 @@ var AInputBox = /*#__PURE__*/function (_BaseViewer) {
17476
17663
  return AInputBox;
17477
17664
  }(BaseViewer);
17478
17665
 
17479
- 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; }
17666
+ 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; }
17480
17667
 
17481
- 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__default["default"](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; }
17668
+ 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__default["default"](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; }
17482
17669
  var UnderlineInputBox = /*#__PURE__*/function (_React$Component) {
17483
17670
  _inheritsLoose__default["default"](UnderlineInputBox, _React$Component);
17484
17671
 
@@ -17489,7 +17676,7 @@ var UnderlineInputBox = /*#__PURE__*/function (_React$Component) {
17489
17676
  var _proto = UnderlineInputBox.prototype;
17490
17677
 
17491
17678
  _proto.render = function render() {
17492
- return jsxRuntime.jsx("input", _objectSpread$m({
17679
+ return jsxRuntime.jsx("input", _objectSpread$n({
17493
17680
  className: assembly.theme.themeName + "InputBox"
17494
17681
  }, this.props));
17495
17682
  };
@@ -19276,9 +19463,9 @@ var AREA_CODE_LIST = [{
19276
19463
  countryCode: "ZW"
19277
19464
  }];
19278
19465
 
19279
- 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; }
19466
+ 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; }
19280
19467
 
19281
- 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__default["default"](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; }
19468
+ 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__default["default"](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; }
19282
19469
  /**
19283
19470
  * 手机号/邮箱等输入框
19284
19471
  * cnPhone/tel/email
@@ -19359,7 +19546,7 @@ var ASpecInputBox = /*#__PURE__*/function (_BaseViewer) {
19359
19546
  },
19360
19547
  disabled: this.props.disable,
19361
19548
  onChange: function onChange(newAreaCode) {
19362
- var updated = _objectSpread$l(_objectSpread$l({}, _this.getPhoneValue()), {}, {
19549
+ var updated = _objectSpread$m(_objectSpread$m({}, _this.getPhoneValue()), {}, {
19363
19550
  areaCode: newAreaCode
19364
19551
  });
19365
19552
 
@@ -19384,7 +19571,7 @@ var ASpecInputBox = /*#__PURE__*/function (_BaseViewer) {
19384
19571
  defaultValue: phoneValue.phone,
19385
19572
  min: "0",
19386
19573
  onChange: function onChange(value) {
19387
- var updated = _objectSpread$l(_objectSpread$l({}, _this.getPhoneValue()), {}, {
19574
+ var updated = _objectSpread$m(_objectSpread$m({}, _this.getPhoneValue()), {}, {
19388
19575
  phone: value
19389
19576
  });
19390
19577
 
@@ -19413,7 +19600,7 @@ var ASpecInputBox = /*#__PURE__*/function (_BaseViewer) {
19413
19600
 
19414
19601
  var selfOnChange = p.onChange;
19415
19602
  delete deepCloneP.onChange;
19416
- return jsxRuntime.jsx(antd.Input, _objectSpread$l(_objectSpread$l({}, _BaseViewer.prototype.antProp.call(this)), {}, {
19603
+ return jsxRuntime.jsx(antd.Input, _objectSpread$m(_objectSpread$m({}, _BaseViewer.prototype.antProp.call(this)), {}, {
19417
19604
  defaultValue: _BaseViewer.prototype.getValue.call(this),
19418
19605
  onBlur: function onBlur() {
19419
19606
  return _this2.changeValueEx(_BaseViewer.prototype.getValue.call(_this2), false, true);
@@ -19429,9 +19616,9 @@ var ASpecInputBox = /*#__PURE__*/function (_BaseViewer) {
19429
19616
  return ASpecInputBox;
19430
19617
  }(BaseViewer);
19431
19618
 
19432
- 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; }
19619
+ 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; }
19433
19620
 
19434
- 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__default["default"](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; }
19621
+ 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__default["default"](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; }
19435
19622
  var Segment = /*#__PURE__*/function (_React$Component) {
19436
19623
  _inheritsLoose__default["default"](Segment, _React$Component);
19437
19624
 
@@ -19445,7 +19632,7 @@ var Segment = /*#__PURE__*/function (_React$Component) {
19445
19632
  return jsxRuntime.jsxs("div", {
19446
19633
  style: this.props.style,
19447
19634
  className: "AForm_segment",
19448
- children: [jsxRuntime.jsxs("div", _objectSpread$k(_objectSpread$k({
19635
+ children: [jsxRuntime.jsxs("div", _objectSpread$l(_objectSpread$l({
19449
19636
  className: "AForm_segmentTitleBar"
19450
19637
  }, {
19451
19638
  name: this.props.labelName
@@ -19526,9 +19713,9 @@ function SegmentEditSwitch(props) {
19526
19713
  }
19527
19714
  }
19528
19715
 
19529
- 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; }
19716
+ 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; }
19530
19717
 
19531
- 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__default["default"](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; }
19718
+ 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__default["default"](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; }
19532
19719
  /**
19533
19720
  * 可以折叠的元素,折叠时可带动画效果
19534
19721
  *
@@ -19591,7 +19778,7 @@ var Collapsible = /*#__PURE__*/function (_React$Component) {
19591
19778
 
19592
19779
  if (open) {
19593
19780
  return {
19594
- css: _objectSpread$j(_objectSpread$j({}, self.props.style), {}, {
19781
+ css: _objectSpread$k(_objectSpread$k({}, self.props.style), {}, {
19595
19782
  maxHeight: changing ? self.height + "px" : undefined,
19596
19783
  visibility: "visible",
19597
19784
  opacity: "1",
@@ -19600,7 +19787,7 @@ var Collapsible = /*#__PURE__*/function (_React$Component) {
19600
19787
  };
19601
19788
  } else {
19602
19789
  var r = {
19603
- css: _objectSpread$j(_objectSpread$j({}, self.closeStyle), {}, {
19790
+ css: _objectSpread$k(_objectSpread$k({}, self.closeStyle), {}, {
19604
19791
  maxHeight: "0px",
19605
19792
  visibility: "hidden",
19606
19793
  opacity: "0",
@@ -19692,9 +19879,9 @@ function _unsupportedIterableToArray$3(o, minLen) { if (!o) return; if (typeof o
19692
19879
 
19693
19880
  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; }
19694
19881
 
19695
- 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; }
19882
+ 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; }
19696
19883
 
19697
- 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__default["default"](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; }
19884
+ 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__default["default"](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; }
19698
19885
 
19699
19886
  function ItemLabel(props) {
19700
19887
  var _props$uispec;
@@ -19871,7 +20058,7 @@ var AForm = /*#__PURE__*/function (_Viewer) {
19871
20058
 
19872
20059
  if (uispec.layout === "vertical") {
19873
20060
  // label在字段上面的分段布局
19874
- ele = jsxRuntime.jsxs(Collapsible, _objectSpread$i(_objectSpread$i({}, wrapperProp), {}, {
20061
+ ele = jsxRuntime.jsxs(Collapsible, _objectSpread$j(_objectSpread$j({}, wrapperProp), {}, {
19875
20062
  children: [jsxRuntime.jsx(ItemLabel, {
19876
20063
  uispec: uispec,
19877
20064
  schema: f,
@@ -19881,7 +20068,7 @@ var AForm = /*#__PURE__*/function (_Viewer) {
19881
20068
  } else if (uispec.layout === "horizontal") {
19882
20069
  // label在字段左边的分段布局 TODO
19883
20070
  wrapperProp.style.display = "flex";
19884
- ele = jsxRuntime.jsxs(Collapsible, _objectSpread$i(_objectSpread$i({}, wrapperProp), {}, {
20071
+ ele = jsxRuntime.jsxs(Collapsible, _objectSpread$j(_objectSpread$j({}, wrapperProp), {}, {
19885
20072
  children: [jsxRuntime.jsx(ItemLabel, {
19886
20073
  uispec: uispec,
19887
20074
  schema: f,
@@ -20035,7 +20222,7 @@ var AForm = /*#__PURE__*/function (_Viewer) {
20035
20222
 
20036
20223
  segments.push(jsxRuntime.jsx(Segment, {
20037
20224
  column: column,
20038
- style: _objectSpread$i(_objectSpread$i({}, segment.style), {}, {
20225
+ style: _objectSpread$j(_objectSpread$j({}, segment.style), {}, {
20039
20226
  display: segHide ? "none" : undefined
20040
20227
  }),
20041
20228
  mainTitle: segment.label,
@@ -20140,9 +20327,9 @@ var AForm = /*#__PURE__*/function (_Viewer) {
20140
20327
  return AForm;
20141
20328
  }(Viewer);
20142
20329
 
20143
- 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; }
20330
+ 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; }
20144
20331
 
20145
- 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__default["default"](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; }
20332
+ 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__default["default"](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; }
20146
20333
  var DivViewer = /*#__PURE__*/function (_BaseViewer) {
20147
20334
  _inheritsLoose__default["default"](DivViewer, _BaseViewer);
20148
20335
 
@@ -20154,7 +20341,7 @@ var DivViewer = /*#__PURE__*/function (_BaseViewer) {
20154
20341
 
20155
20342
  _proto.element = function element() {
20156
20343
  return jsxRuntime.jsx("pre", {
20157
- style: _objectSpread$h({
20344
+ style: _objectSpread$i({
20158
20345
  marginBottom: 0,
20159
20346
  color: "rgba(0,0,0,0.6)",
20160
20347
  overflow: "initial",
@@ -20168,9 +20355,9 @@ var DivViewer = /*#__PURE__*/function (_BaseViewer) {
20168
20355
  return DivViewer;
20169
20356
  }(BaseViewer);
20170
20357
 
20171
- 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; }
20358
+ 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; }
20172
20359
 
20173
- 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__default["default"](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; }
20360
+ 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__default["default"](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; }
20174
20361
  /**
20175
20362
  * 下拉选择框
20176
20363
  * 定义示例: {label:"1.1 您的性别是", name:"gendar", type:"enum", typeArg: [{label:"男", value:"M"},{label:"女", value:"F"}] },
@@ -20205,7 +20392,7 @@ var ASelector = /*#__PURE__*/function (_BaseViewer) {
20205
20392
  return MUtil.error("手机上的ASelector还不支持openOption");
20206
20393
  }
20207
20394
 
20208
- return jsxRuntime.jsx(SelectBox, _objectSpread$g(_objectSpread$g({
20395
+ return jsxRuntime.jsx(SelectBox, _objectSpread$h(_objectSpread$h({
20209
20396
  data: value,
20210
20397
  // @ts-ignore
20211
20398
  options: this._enums.map(function (e) {
@@ -20244,7 +20431,7 @@ var ASelector = /*#__PURE__*/function (_BaseViewer) {
20244
20431
  }, index);
20245
20432
  });
20246
20433
 
20247
- return jsxRuntime.jsx(Select__default["default"], _objectSpread$g(_objectSpread$g({
20434
+ return jsxRuntime.jsx(Select__default["default"], _objectSpread$h(_objectSpread$h({
20248
20435
  defaultValue: initIndex,
20249
20436
  placeholder: _BaseViewer.prototype.getPlaceholder.call(this),
20250
20437
  bordered: this.props.hideBorder ? false : true,
@@ -20316,9 +20503,9 @@ var ASelector = /*#__PURE__*/function (_BaseViewer) {
20316
20503
  return ASelector;
20317
20504
  }(BaseViewer);
20318
20505
 
20319
- 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; }
20506
+ 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; }
20320
20507
 
20321
- 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__default["default"](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; }
20508
+ 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__default["default"](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; }
20322
20509
  /**
20323
20510
  * 下拉框多选
20324
20511
  * 示例:{label:"1.13 除爱人/对象之外,目前和您一起生活的家庭成员包括(多选):",name:"familyAccompany",type:"set", editor:"ASetSelector", option: "父亲 母亲 孩子 爱人/对象的父亲 爱人/对象的母亲 兄弟姐妹"},
@@ -20356,7 +20543,7 @@ var ASetSelector = /*#__PURE__*/function (_BaseViewer) {
20356
20543
  return value2Fields[v].index;
20357
20544
  });
20358
20545
  var p = (_this$props$schema$pr = this.props.schema.props) != null ? _this$props$schema$pr : {};
20359
- return jsxRuntime.jsx(antd.Select, _objectSpread$f(_objectSpread$f({
20546
+ return jsxRuntime.jsx(antd.Select, _objectSpread$g(_objectSpread$g({
20360
20547
  mode: "multiple",
20361
20548
  placeholder: this.props.schema.placeholder,
20362
20549
  optionFilterProp: "children",
@@ -20400,9 +20587,102 @@ var ASetSelector = /*#__PURE__*/function (_BaseViewer) {
20400
20587
  return ASetSelector;
20401
20588
  }(BaseViewer);
20402
20589
 
20403
- 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; }
20590
+ 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; }
20404
20591
 
20405
- 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__default["default"](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; }
20592
+ 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__default["default"](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; }
20593
+ /**
20594
+ * 可排序的拖拽项子组件
20595
+ */
20596
+
20597
+ var SortableEnhancedItem = /*#__PURE__*/React.memo(function (_ref) {
20598
+ var _clsx;
20599
+
20600
+ var item = _ref.item,
20601
+ index = _ref.index,
20602
+ enableAnimation = _ref.enableAnimation,
20603
+ direction = _ref.direction,
20604
+ renderDragHandle = _ref.renderDragHandle,
20605
+ isTableRow = _ref.isTableRow;
20606
+
20607
+ var _useSortable = sortable.useSortable({
20608
+ id: item.id,
20609
+ disabled: !item.isChecked
20610
+ }),
20611
+ attributes = _useSortable.attributes,
20612
+ listeners = _useSortable.listeners,
20613
+ setNodeRef = _useSortable.setNodeRef,
20614
+ transform = _useSortable.transform,
20615
+ transition = _useSortable.transition,
20616
+ isDragging = _useSortable.isDragging;
20617
+
20618
+ var style = {
20619
+ transform: utilities.CSS.Transform.toString(transform),
20620
+ transition: enableAnimation ? transition : undefined
20621
+ };
20622
+
20623
+ var renderDefaultDragHandle = function renderDefaultDragHandle() {
20624
+ return jsxRuntime.jsx("div", {
20625
+ className: "enhanced-dragHandleWrapper",
20626
+ children: jsxRuntime.jsx(icons.HolderOutlined, {
20627
+ className: "enhanced-dragHandleIcon",
20628
+ style: {
20629
+ opacity: isDragging ? 0.5 : 1,
20630
+ transition: enableAnimation ? "opacity 0.2s" : "none"
20631
+ }
20632
+ })
20633
+ });
20634
+ }; // 表格行模式
20635
+
20636
+
20637
+ if (isTableRow) {
20638
+ return jsxRuntime.jsxs("tr", _objectSpread$f(_objectSpread$f({
20639
+ ref: setNodeRef,
20640
+ "data-drag-id": item.id,
20641
+ "data-drag-index": index,
20642
+ style: _objectSpread$f({
20643
+ opacity: isDragging ? 0.5 : 1
20644
+ }, style)
20645
+ }, attributes), {}, {
20646
+ children: [renderDragHandle ? renderDragHandle(item, isDragging, listeners) : jsxRuntime.jsx("td", _objectSpread$f(_objectSpread$f({}, listeners), {}, {
20647
+ style: {
20648
+ cursor: isDragging ? "grabbing" : "grab",
20649
+ textAlign: "center",
20650
+ width: "40px"
20651
+ },
20652
+ children: jsxRuntime.jsx(icons.HolderOutlined, {
20653
+ style: {
20654
+ opacity: isDragging ? 0.5 : 1,
20655
+ transition: enableAnimation ? "opacity 0.2s" : "none"
20656
+ }
20657
+ })
20658
+ })), item.cpn]
20659
+ }), item.id);
20660
+ } // 普通模式
20661
+
20662
+
20663
+ var itemClass = clsx__default["default"]("enhanced-dragItem", (_clsx = {
20664
+ dragging: isDragging,
20665
+ disabled: !item.isChecked
20666
+ }, _clsx["direction-" + direction] = true, _clsx));
20667
+ return jsxRuntime.jsxs("div", _objectSpread$f(_objectSpread$f({
20668
+ className: itemClass,
20669
+ ref: setNodeRef,
20670
+ "data-drag-id": item.id,
20671
+ "data-drag-index": index,
20672
+ style: style
20673
+ }, attributes), {}, {
20674
+ children: [jsxRuntime.jsx("div", {
20675
+ className: "enhanced-dragBody",
20676
+ children: item.cpn
20677
+ }), jsxRuntime.jsx("div", {
20678
+ className: "enhanced-dragHandle",
20679
+ children: item.isChecked && (renderDragHandle ? renderDragHandle(item, isDragging, listeners) : jsxRuntime.jsx("div", _objectSpread$f(_objectSpread$f({}, listeners), {}, {
20680
+ children: renderDefaultDragHandle()
20681
+ })))
20682
+ })]
20683
+ }), item.id);
20684
+ });
20685
+ SortableEnhancedItem.displayName = "SortableEnhancedItem";
20406
20686
  /**
20407
20687
  * 增强版通用拖拽排序组件
20408
20688
  * 解决原组件的性能问题和功能局限性
@@ -20417,27 +20697,39 @@ var EnhancedSortDrag = /*#__PURE__*/React.memo(function (props) {
20417
20697
  var _props$direction = props.direction,
20418
20698
  direction = _props$direction === void 0 ? "vertical" : _props$direction,
20419
20699
  onDragFail = props.onDragFail,
20420
- renderDragHandle = props.renderDragHandle;
20421
- props.renderDragPreview;
20422
- var _props$isTableRow = props.isTableRow,
20423
- isTableRow = _props$isTableRow === void 0 ? false : _props$isTableRow; // 使用 useRef 缓存 items 避免不必要的重渲染
20700
+ renderDragHandle = props.renderDragHandle,
20701
+ renderDragPreview = props.renderDragPreview,
20702
+ _props$isTableRow = props.isTableRow,
20703
+ isTableRow = _props$isTableRow === void 0 ? false : _props$isTableRow; // 拖拽状态管理
20424
20704
 
20425
- var itemsRef = React.useRef(items);
20426
- itemsRef.current = items; // 拖拽状态管理
20705
+ var _useState = React.useState(null),
20706
+ activeId = _useState[0],
20707
+ setActiveId = _useState[1];
20427
20708
 
20428
- var _useState = React.useState({
20709
+ var _useState2 = React.useState({
20429
20710
  draggingId: null,
20430
20711
  droppingId: null,
20431
20712
  isAnimating: false
20432
- }),
20433
- dragState = _useState[0],
20434
- setDragState = _useState[1]; // 使用 Map 替代对象,提高查找性能
20435
-
20713
+ });
20714
+ _useState2[0];
20715
+ var setDragState = _useState2[1];
20716
+ /**
20717
+ * 配置传感器
20718
+ */
20436
20719
 
20437
- var itemRefs = React.useRef(new Map());
20438
- var dragHandleRefs = React.useRef(new Map()); // 清理函数缓存,避免重复注册
20439
20720
 
20440
- var cleanupRefs = React.useRef(new Map());
20721
+ var sensors = core.useSensors(core.useSensor(core.TouchSensor, {
20722
+ activationConstraint: {
20723
+ delay: 200,
20724
+ tolerance: 5
20725
+ }
20726
+ }), core.useSensor(core.PointerSensor, {
20727
+ activationConstraint: {
20728
+ distance: 10
20729
+ }
20730
+ }), core.useSensor(core.KeyboardSensor, {
20731
+ coordinateGetter: sortable.sortableKeyboardCoordinates
20732
+ }));
20441
20733
  /**
20442
20734
  * 验证拖拽操作是否有效
20443
20735
  */
@@ -20517,284 +20809,171 @@ var EnhancedSortDrag = /*#__PURE__*/React.memo(function (props) {
20517
20809
  };
20518
20810
  }, []);
20519
20811
  /**
20520
- * 交换数据逻辑 - 核心拖拽算法
20812
+ * 拖拽开始事件处理
20521
20813
  */
20522
20814
 
20523
- var swapItems = React.useCallback(function (fromId, toId) {
20524
- try {
20525
- var currentItems = [].concat(itemsRef.current); // 验证拖拽操作
20526
-
20527
- var validation = validateDragOperation(fromId, toId, currentItems);
20528
-
20529
- if (!validation.isValid) {
20530
- var _validation$error;
20815
+ var handleDragStart = React.useCallback(function (event) {
20816
+ var active = event.active;
20817
+ setActiveId(active.id);
20818
+ setDragState(function (prev) {
20819
+ return _objectSpread$f(_objectSpread$f({}, prev), {}, {
20820
+ draggingId: active.id,
20821
+ isAnimating: !!enableAnimation
20822
+ });
20823
+ });
20824
+ }, [enableAnimation]);
20825
+ /**
20826
+ * 拖拽结束事件处理
20827
+ */
20531
20828
 
20532
- throw new Error(((_validation$error = validation.error) == null ? void 0 : _validation$error.message) || "拖拽验证失败");
20533
- }
20829
+ var handleDragEnd = React.useCallback(function (event) {
20830
+ var active = event.active,
20831
+ over = event.over;
20832
+ setActiveId(null);
20833
+ setDragState(function (prev) {
20834
+ return _objectSpread$f(_objectSpread$f({}, prev), {}, {
20835
+ draggingId: null,
20836
+ droppingId: null,
20837
+ isAnimating: false
20838
+ });
20839
+ });
20534
20840
 
20535
- var fromIndex = currentItems.findIndex(function (item) {
20536
- return item.id === fromId;
20841
+ if (over && active.id !== over.id) {
20842
+ var oldIndex = items.findIndex(function (item) {
20843
+ return item.id === active.id;
20844
+ });
20845
+ var newIndex = items.findIndex(function (item) {
20846
+ return item.id === over.id;
20537
20847
  });
20538
- var toIndex = currentItems.findIndex(function (item) {
20539
- return item.id === toId;
20540
- }); // 边界条件检查
20541
20848
 
20542
- if (fromIndex === -1 || toIndex === -1 || fromIndex === toIndex) {
20849
+ if (oldIndex === -1 || newIndex === -1) {
20543
20850
  return;
20544
20851
  }
20545
20852
 
20546
- var _currentItems$splice = currentItems.splice(fromIndex, 1),
20547
- moved = _currentItems$splice[0];
20548
-
20549
- currentItems.splice(toIndex, 0, moved); // 更新引用
20550
-
20551
- itemsRef.current = currentItems; // 触发回调
20552
-
20553
- onChange(currentItems);
20554
- } catch (error) {
20555
- console.error("拖拽交换数据失败:", error); // 触发错误回调
20556
-
20557
- var dragError = {
20558
- type: "DATA_ERROR",
20559
- message: error instanceof Error ? error.message : "未知错误",
20560
- sourceId: fromId,
20561
- targetId: toId
20562
- };
20563
- onDragFail == null ? void 0 : onDragFail(dragError);
20564
- }
20565
- }, [onChange, onDragFail, validateDragOperation]);
20566
- /**
20567
- * 注册单个项目的拖拽监听器
20568
- */
20569
-
20570
- var registerDragListeners = React.useCallback(function (item, index) {
20571
- var el = itemRefs.current.get(item.id);
20572
- var dragHandle = dragHandleRefs.current.get(item.id);
20573
- if (!el) return; // 清理之前的监听器
20574
-
20575
- var existingCleanup = cleanupRefs.current.get(item.id);
20853
+ try {
20854
+ var validation = validateDragOperation(active.id, over.id, items);
20576
20855
 
20577
- if (existingCleanup) {
20578
- existingCleanup();
20579
- }
20856
+ if (!validation.isValid) {
20857
+ var _validation$error;
20580
20858
 
20581
- var cleanups = []; // 注册为可拖拽元素
20859
+ throw new Error(((_validation$error = validation.error) == null ? void 0 : _validation$error.message) || "拖拽验证失败");
20860
+ }
20582
20861
 
20583
- cleanups.push(adapter.draggable({
20584
- element: el,
20585
- dragHandle: dragHandle,
20586
- canDrag: function canDrag() {
20587
- return item.isChecked;
20588
- },
20589
- getInitialData: function getInitialData() {
20590
- return {
20591
- id: item.id,
20592
- index: index,
20593
- label: item.label
20862
+ var newItems = sortable.arrayMove(items, oldIndex, newIndex);
20863
+ onChange(newItems);
20864
+ } catch (error) {
20865
+ console.error("拖拽交换数据失败:", error);
20866
+ var dragError = {
20867
+ type: "DATA_ERROR",
20868
+ message: error instanceof Error ? error.message : "未知错误",
20869
+ sourceId: active.id,
20870
+ targetId: over.id
20594
20871
  };
20595
- },
20596
- onDragStart: function onDragStart() {
20597
- setDragState(function (prev) {
20598
- return _objectSpread$e(_objectSpread$e({}, prev), {}, {
20599
- draggingId: item.id,
20600
- isAnimating: !!enableAnimation
20601
- });
20602
- });
20603
- console.log("开始拖拽:", item.label);
20604
- },
20605
- onDrop: function onDrop() {
20606
- setDragState(function (prev) {
20607
- return _objectSpread$e(_objectSpread$e({}, prev), {}, {
20608
- draggingId: null,
20609
- droppingId: null,
20610
- isAnimating: false
20611
- });
20612
- });
20613
- }
20614
- })); // 注册为拖拽目标
20615
-
20616
- cleanups.push(adapter.dropTargetForElements({
20617
- element: el,
20618
- canDrop: function canDrop() {
20619
- return item.isChecked;
20620
- },
20621
- onDragEnter: function onDragEnter(args) {
20622
- var sourceId = args.source.data.id;
20623
- if (sourceId === item.id) return;
20624
- console.log("拖拽进入:", item.id);
20625
- setDragState(function (prev) {
20626
- return _objectSpread$e(_objectSpread$e({}, prev), {}, {
20627
- droppingId: item.id
20628
- });
20629
- });
20630
- },
20631
- onDragLeave: function onDragLeave() {
20632
- setDragState(function (prev) {
20633
- return _objectSpread$e(_objectSpread$e({}, prev), {}, {
20634
- droppingId: null
20635
- });
20636
- });
20637
- },
20638
- onDrop: function onDrop(_ref) {
20639
- var source = _ref.source;
20640
- if (!source) return;
20641
- var sourceId = source.data.id;
20642
- if (sourceId === item.id) return; // 执行数据交换
20643
-
20644
- swapItems(sourceId, item.id);
20872
+ onDragFail == null ? void 0 : onDragFail(dragError);
20645
20873
  }
20646
- })); // 存储清理函数
20647
-
20648
- var combinedCleanup = function combinedCleanup() {
20649
- cleanups.forEach(function (fn) {
20650
- return fn();
20651
- });
20652
- };
20653
-
20654
- cleanupRefs.current.set(item.id, combinedCleanup);
20655
- }, [swapItems, enableAnimation]);
20874
+ }
20875
+ }, [items, onChange, onDragFail, validateDragOperation]);
20656
20876
  /**
20657
- * 性能优化:只在必要的时候注册监听器
20877
+ * 获取当前拖拽项
20658
20878
  */
20659
20879
 
20660
- React.useEffect(function () {
20661
- // 清理所有旧的监听器
20662
- cleanupRefs.current.forEach(function (cleanup) {
20663
- return cleanup();
20664
- });
20665
- cleanupRefs.current.clear(); // 注册所有项目的监听器
20666
-
20667
- items.forEach(function (item, index) {
20668
- registerDragListeners(item, index);
20669
- }); // 监听全局拖拽结束
20670
-
20671
- var monitorCleanup = adapter.monitorForElements({
20672
- onDrop: function onDrop() {
20673
- setDragState(function (prev) {
20674
- return _objectSpread$e(_objectSpread$e({}, prev), {}, {
20675
- draggingId: null,
20676
- droppingId: null,
20677
- isAnimating: false
20678
- });
20679
- });
20680
- }
20880
+ var activeItem = React.useMemo(function () {
20881
+ return items.find(function (item) {
20882
+ return item.id === activeId;
20681
20883
  });
20682
- cleanupRefs.current.set("monitor", monitorCleanup);
20683
- return function () {
20684
- cleanupRefs.current.forEach(function (cleanup) {
20685
- return cleanup();
20686
- });
20687
- cleanupRefs.current.clear();
20688
- };
20689
- }, [items.length, registerDragListeners]); // 只在列表长度变化时重新注册
20690
-
20884
+ }, [items, activeId]);
20691
20885
  /**
20692
- * 渲染默认拖拽句柄
20886
+ * 选择排序策略
20693
20887
  */
20694
20888
 
20695
- var renderDefaultDragHandle = React.useCallback(function (item, isDragging) {
20696
- return jsxRuntime.jsx(icons.HolderOutlined, {
20697
- ref: function ref(el) {
20698
- if (el) {
20699
- dragHandleRefs.current.set(item.id, el);
20700
- }
20701
- },
20702
- style: {
20703
- cursor: isDragging ? "grabbing" : "grab",
20704
- marginLeft: "8px",
20705
- opacity: isDragging ? 0.5 : 1,
20706
- transition: enableAnimation ? "opacity 0.2s" : "none"
20707
- }
20708
- });
20709
- }, [enableAnimation]);
20889
+ var sortingStrategy = React.useMemo(function () {
20890
+ return direction === "vertical" ? sortable.verticalListSortingStrategy : sortable.horizontalListSortingStrategy;
20891
+ }, [direction]);
20710
20892
  /**
20711
- * 渲染拖拽项
20893
+ * 缓存 item id 列表,避免每次渲染创建新数组引用
20712
20894
  */
20713
20895
 
20714
- var renderDragItem = React.useCallback(function (item, index) {
20715
- var _clsx;
20716
-
20717
- var isDragging = dragState.draggingId === item.id;
20718
- var isDropping = dragState.droppingId === item.id; // 如果是表格行模式,直接返回组件内容
20896
+ var itemIds = React.useMemo(function () {
20897
+ return items.map(function (item) {
20898
+ return item.id;
20899
+ });
20900
+ }, [items]); // 如果是表格行模式,直接渲染子元素而不是包装div
20719
20901
 
20720
- if (isTableRow) {
20721
- // console.log("表格行数据", item);
20722
- return jsxRuntime.jsxs("tr", {
20723
- ref: function ref(el) {
20724
- if (el) {
20725
- itemRefs.current.set(item.id, el);
20726
- }
20727
- },
20728
- "data-drag-id": item.id,
20729
- "data-drag-index": index,
20730
- style: {
20731
- transition: enableAnimation ? "all 0.3s ease" : "none",
20732
- opacity: isDragging ? 0.5 : 1,
20733
- backgroundColor: isDropping ? "#e6f7ff" : "transparent"
20734
- },
20735
- children: [renderDragHandle && renderDragHandle(item, isDragging), !renderDragHandle && jsxRuntime.jsx("td", {
20736
- ref: function ref(el) {
20737
- if (el) {
20738
- dragHandleRefs.current.set(item.id, el);
20739
- }
20740
- },
20741
- style: {
20742
- cursor: isDragging ? "grabbing" : "grab",
20743
- textAlign: "center",
20744
- width: "40px"
20745
- },
20746
- children: jsxRuntime.jsx(icons.HolderOutlined, {
20747
- style: {
20748
- opacity: isDragging ? 0.5 : 1,
20749
- transition: enableAnimation ? "opacity 0.2s" : "none"
20750
- }
20902
+ if (isTableRow) {
20903
+ return jsxRuntime.jsxs(core.DndContext, {
20904
+ sensors: sensors,
20905
+ collisionDetection: core.closestCenter,
20906
+ onDragStart: handleDragStart,
20907
+ onDragEnd: handleDragEnd,
20908
+ children: [jsxRuntime.jsx(sortable.SortableContext, {
20909
+ items: itemIds,
20910
+ strategy: sortingStrategy,
20911
+ children: items.map(function (item, index) {
20912
+ return jsxRuntime.jsx(SortableEnhancedItem, {
20913
+ item: item,
20914
+ index: index,
20915
+ enableAnimation: enableAnimation,
20916
+ direction: direction,
20917
+ renderDragHandle: renderDragHandle,
20918
+ isTableRow: isTableRow
20919
+ }, item.id);
20920
+ })
20921
+ }), jsxRuntime.jsx(core.DragOverlay, {
20922
+ dropAnimation: null,
20923
+ children: activeItem ? jsxRuntime.jsx("div", {
20924
+ className: "enhanced-sortDrag-overlay",
20925
+ children: renderDragPreview ? renderDragPreview(activeItem) : jsxRuntime.jsx("div", {
20926
+ className: "enhanced-sortDrag-overlay-row",
20927
+ children: jsxRuntime.jsx("span", {
20928
+ className: "enhanced-sortDrag-overlay-label",
20929
+ children: activeItem.label || activeItem.id || '拖拽中...'
20930
+ })
20751
20931
  })
20752
- }), item.cpn]
20753
- }, item.id);
20754
- }
20755
-
20756
- var itemClass = clsx__default["default"]("enhanced-dragItem", (_clsx = {
20757
- dragging: isDragging,
20758
- dropping: isDropping,
20759
- disabled: !item.isChecked
20760
- }, _clsx["direction-" + direction] = true, _clsx));
20761
- return jsxRuntime.jsxs("div", {
20762
- className: itemClass,
20763
- ref: function ref(el) {
20764
- if (el) {
20765
- itemRefs.current.set(item.id, el);
20766
- }
20767
- },
20768
- "data-drag-id": item.id,
20769
- "data-drag-index": index,
20770
- style: {
20771
- transition: enableAnimation ? "all 0.3s ease" : "none"
20772
- },
20773
- children: [jsxRuntime.jsx("div", {
20774
- className: "enhanced-dragBody",
20775
- children: item.cpn
20776
- }), jsxRuntime.jsx("div", {
20777
- className: "enhanced-dragHandle",
20778
- children: item.isChecked && (renderDragHandle ? renderDragHandle(item, isDragging) : renderDefaultDragHandle(item, isDragging))
20932
+ }) : null
20779
20933
  })]
20780
- }, item.id);
20781
- }, [dragState, direction, enableAnimation, renderDragHandle, renderDefaultDragHandle, isTableRow]); // 如果是表格行模式,直接渲染子元素而不是包装div
20782
-
20783
- if (isTableRow) {
20784
- return jsxRuntime.jsx(jsxRuntime.Fragment, {
20785
- children: items.map(renderDragItem)
20786
20934
  });
20787
20935
  }
20788
20936
 
20789
- return jsxRuntime.jsx("div", {
20790
- className: "enhanced-sortDrag direction-" + direction,
20791
- children: items.map(renderDragItem)
20937
+ return jsxRuntime.jsxs(core.DndContext, {
20938
+ sensors: sensors,
20939
+ collisionDetection: core.closestCenter,
20940
+ onDragStart: handleDragStart,
20941
+ onDragEnd: handleDragEnd,
20942
+ children: [jsxRuntime.jsx("div", {
20943
+ className: "enhanced-sortDrag direction-" + direction,
20944
+ children: jsxRuntime.jsx(sortable.SortableContext, {
20945
+ items: itemIds,
20946
+ strategy: sortingStrategy,
20947
+ children: items.map(function (item, index) {
20948
+ return jsxRuntime.jsx(SortableEnhancedItem, {
20949
+ item: item,
20950
+ index: index,
20951
+ enableAnimation: enableAnimation,
20952
+ direction: direction,
20953
+ renderDragHandle: renderDragHandle,
20954
+ isTableRow: isTableRow
20955
+ }, item.id);
20956
+ })
20957
+ })
20958
+ }), jsxRuntime.jsx(core.DragOverlay, {
20959
+ dropAnimation: null,
20960
+ children: activeItem ? jsxRuntime.jsx("div", {
20961
+ className: "enhanced-sortDrag-overlay",
20962
+ children: renderDragPreview ? renderDragPreview(activeItem) : jsxRuntime.jsx("div", {
20963
+ className: "enhanced-sortDrag-overlay-content",
20964
+ children: jsxRuntime.jsx("div", {
20965
+ className: "enhanced-sortDrag-overlay-body",
20966
+ children: activeItem.cpn
20967
+ })
20968
+ })
20969
+ }) : null
20970
+ })]
20792
20971
  });
20793
20972
  });
20794
20973
 
20795
- 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; }
20974
+ 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; }
20796
20975
 
20797
- 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__default["default"](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; }
20976
+ 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__default["default"](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; }
20798
20977
 
20799
20978
  function uuid(len, radix) {
20800
20979
  if (len === void 0) {
@@ -20859,7 +21038,7 @@ var AArrayGrid = /*#__PURE__*/function (_BaseViewer) {
20859
21038
  }
20860
21039
 
20861
21040
  var members = schema.arrayMember.objectFields || [// 成员是复杂结构
20862
- _objectSpread$d({
21041
+ _objectSpread$e({
20863
21042
  name: undefined
20864
21043
  }, schema.arrayMember)]; // 成员是简单结构
20865
21044
  // if(!members) {
@@ -20973,7 +21152,7 @@ var AArrayGrid = /*#__PURE__*/function (_BaseViewer) {
20973
21152
  return String(row.uniqueId) === item.id;
20974
21153
  }); // 正常情况下一定能找到对应的行数据,因为我们是基于原始数据创建的拖拽项
20975
21154
 
20976
- return _objectSpread$d({}, originalRow); // 使用 ! 断言,因为我们确信能找到匹配项
21155
+ return _objectSpread$e({}, originalRow); // 使用 ! 断言,因为我们确信能找到匹配项
20977
21156
  });
20978
21157
 
20979
21158
  _BaseViewer.prototype.changeValueEx.call(_this, newData, true, true);
@@ -21097,9 +21276,9 @@ var AArrayGrid = /*#__PURE__*/function (_BaseViewer) {
21097
21276
  return AArrayGrid;
21098
21277
  }(BaseViewer);
21099
21278
 
21100
- 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; }
21279
+ 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; }
21101
21280
 
21102
- 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__default["default"](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; }
21281
+ 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__default["default"](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; }
21103
21282
  var RANGE_FNAME = "_range";
21104
21283
  /**
21105
21284
  * 经历,可以用于教育经历、工作经历等
@@ -21124,7 +21303,7 @@ var AExperience = /*#__PURE__*/function (_BaseViewer) {
21124
21303
  _proto._submitData = function _submitData(arrayGridData, sort) {
21125
21304
  // 修改后,把数据转换回来再提交
21126
21305
  var experienceData = arrayGridData.map(function (e) {
21127
- var item = _objectSpread$c(_objectSpread$c({}, e), {}, {
21306
+ var item = _objectSpread$d(_objectSpread$d({}, e), {}, {
21128
21307
  from: ___default["default"].get(e, RANGE_FNAME + "[0]"),
21129
21308
  to: ___default["default"].get(e, RANGE_FNAME + "[1]"),
21130
21309
  tillNow: ___default["default"].get(e, RANGE_FNAME + "[2]")
@@ -21460,9 +21639,9 @@ var AArray = /*#__PURE__*/function (_BaseViewer) {
21460
21639
 
21461
21640
  var _excluded = ["checkedIcon", "uncheckedIcon", "indeterminateIcon", "children", "iconSize", "iconColor", "className", "style", "checked", "indeterminate", "disabled"];
21462
21641
 
21463
- 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; }
21642
+ 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; }
21464
21643
 
21465
- 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__default["default"](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; }
21644
+ 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__default["default"](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; }
21466
21645
 
21467
21646
  var DIYCheckbox = function DIYCheckbox(_ref) {
21468
21647
  var _ref$checkedIcon = _ref.checkedIcon,
@@ -21503,7 +21682,7 @@ var DIYCheckbox = function DIYCheckbox(_ref) {
21503
21682
  var currentIcon = getCurrentIcon(); // 如果没有自定义图标,使用默认的 Checkbox
21504
21683
 
21505
21684
  if (!currentIcon) {
21506
- return jsxRuntime.jsx(antd.Checkbox, _objectSpread$b(_objectSpread$b({
21685
+ return jsxRuntime.jsx(antd.Checkbox, _objectSpread$c(_objectSpread$c({
21507
21686
  className: className,
21508
21687
  style: style,
21509
21688
  checked: checked,
@@ -21552,7 +21731,7 @@ var DIYCheckbox = function DIYCheckbox(_ref) {
21552
21731
  transition: "all 0.3s"
21553
21732
  };
21554
21733
 
21555
- var wrapperStyle = _objectSpread$b({
21734
+ var wrapperStyle = _objectSpread$c({
21556
21735
  display: "inline-flex",
21557
21736
  alignItems: "center",
21558
21737
  cursor: disabled ? "not-allowed" : "pointer",
@@ -21593,137 +21772,137 @@ var DIYCheckbox = function DIYCheckbox(_ref) {
21593
21772
  });
21594
21773
  };
21595
21774
 
21775
+ 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; }
21776
+
21777
+ 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__default["default"](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; }
21778
+ var SortableItem = /*#__PURE__*/React.memo(function (_ref) {
21779
+ var item = _ref.item;
21780
+
21781
+ var _useSortable = sortable.useSortable({
21782
+ id: item.id,
21783
+ disabled: !item.isChecked
21784
+ }),
21785
+ attributes = _useSortable.attributes,
21786
+ listeners = _useSortable.listeners,
21787
+ setNodeRef = _useSortable.setNodeRef,
21788
+ transform = _useSortable.transform,
21789
+ transition = _useSortable.transition,
21790
+ isDragging = _useSortable.isDragging;
21791
+
21792
+ var style = {
21793
+ transform: utilities.CSS.Transform.toString(transform),
21794
+ transition: transition,
21795
+ opacity: isDragging ? 0 : 1
21796
+ };
21797
+ var itemClass = clsx__default["default"]("dragItem", {
21798
+ dragging: isDragging
21799
+ });
21800
+ return jsxRuntime.jsxs("div", {
21801
+ className: itemClass,
21802
+ ref: setNodeRef,
21803
+ style: style,
21804
+ children: [jsxRuntime.jsx("div", {
21805
+ className: "dragBody",
21806
+ children: item.cpn
21807
+ }), jsxRuntime.jsx("div", {
21808
+ children: item.isChecked ? jsxRuntime.jsx("div", _objectSpread$b(_objectSpread$b(_objectSpread$b({
21809
+ className: "dragHandleWrapper"
21810
+ }, attributes), listeners), {}, {
21811
+ children: jsxRuntime.jsx(icons.HolderOutlined, {
21812
+ className: "dragHandleIcon"
21813
+ })
21814
+ })) : null
21815
+ })]
21816
+ });
21817
+ });
21818
+ SortableItem.displayName = "SortableItem";
21596
21819
  var SortDrag = /*#__PURE__*/React.memo(function (props) {
21597
21820
  var sortList = props.sortList,
21598
21821
  changeOriginDataSource = props.changeOriginDataSource;
21599
21822
 
21600
21823
  var _useState = React.useState(sortList),
21601
21824
  items = _useState[0],
21602
- setItems = _useState[1]; // 记录当前拖拽的 item id
21603
-
21825
+ setItems = _useState[1];
21604
21826
 
21605
21827
  var _useState2 = React.useState(null),
21606
- draggingId = _useState2[0],
21607
- setDraggingId = _useState2[1]; // 记录当前 hover 的 Id
21608
-
21609
-
21610
- var _useState3 = React.useState(null),
21611
- droppingId = _useState3[0],
21612
- setDroppingId = _useState3[1]; // refs 用于绑定每个 item 的 DOM
21613
-
21828
+ activeId = _useState2[0],
21829
+ setActiveId = _useState2[1]; // 同步外部 sortList 变化到内部状态
21614
21830
 
21615
- var itemRefs = React.useRef({}); // 修改:为每个 item 单独管理 dragHandle ref
21616
-
21617
- var dragHandleRefs = React.useRef({}); // 注册拖拽和 drop target
21618
21831
 
21619
21832
  React.useEffect(function () {
21620
- // 清理函数集合
21621
- var cleanups = [];
21622
- items.forEach(function (item, idx) {
21623
- var el = itemRefs.current[item.id];
21624
- if (!el) return; // 注册为 draggable
21625
-
21626
- cleanups.push(adapter.draggable({
21627
- element: el,
21628
- dragHandle: dragHandleRefs.current[item.id],
21629
- canDrag: function canDrag() {
21630
- return item.isChecked;
21631
- },
21632
- getInitialData: function getInitialData() {
21633
- return {
21634
- id: item.id,
21635
- index: idx,
21636
- label: item.label
21637
- };
21638
- },
21639
- onDragStart: function onDragStart() {
21640
- return setDraggingId(item.id);
21641
- },
21642
- onDrop: function onDrop() {
21643
- return setDraggingId(null);
21644
- }
21645
- })); // 注册为 drop target
21833
+ setItems(sortList);
21834
+ }, [sortList]);
21835
+ var sensors = core.useSensors(core.useSensor(core.TouchSensor, {
21836
+ activationConstraint: {
21837
+ delay: 200,
21838
+ tolerance: 5
21839
+ }
21840
+ }), core.useSensor(core.PointerSensor, {
21841
+ activationConstraint: {
21842
+ distance: 10
21843
+ }
21844
+ }), core.useSensor(core.KeyboardSensor, {
21845
+ coordinateGetter: sortable.sortableKeyboardCoordinates
21846
+ }));
21646
21847
 
21647
- cleanups.push(adapter.dropTargetForElements({
21648
- element: el,
21649
- canDrop: function canDrop() {
21650
- return item.isChecked;
21651
- },
21652
- onDragEnter: function onDragEnter(args) {
21653
- var fromIdx = items.findIndex(function (i) {
21654
- return i.id === args.source.data.id;
21655
- });
21656
- if (fromIdx === idx) return;
21657
- console.log("当前hover元素", item.id);
21658
- console.log("当前拖拽元素", args);
21659
- setDroppingId(item.id);
21660
- },
21661
- onDragLeave: function onDragLeave() {
21662
- setDroppingId(null);
21663
- },
21664
- onDrop: function onDrop(_ref) {
21665
- var source = _ref.source;
21666
- // console.log("当前拖拽元素", source);
21667
- if (!source) return;
21668
- var fromIdx = items.findIndex(function (i) {
21669
- return i.id === source.data.id;
21670
- });
21671
- var toIdx = idx;
21672
- if (fromIdx === -1 || fromIdx === toIdx) return;
21673
- var newItems = [].concat(items);
21674
-
21675
- var _newItems$splice = newItems.splice(fromIdx, 1),
21676
- moved = _newItems$splice[0];
21677
-
21678
- newItems.splice(toIdx, 0, moved);
21679
- console.log("排序之后的数据", newItems);
21680
- setItems(newItems);
21681
- changeOriginDataSource(newItems);
21682
- setDroppingId(null);
21683
- }
21684
- }));
21685
- }); // 监听全局拖拽,拖拽结束时清理 draggingId
21848
+ var handleDragStart = function handleDragStart(event) {
21849
+ setActiveId(event.active.id);
21850
+ };
21686
21851
 
21687
- var monitorCleanup = adapter.monitorForElements({
21688
- onDrop: function onDrop() {
21689
- return setDraggingId(null);
21690
- }
21852
+ var handleDragEnd = function handleDragEnd(event) {
21853
+ var active = event.active,
21854
+ over = event.over;
21855
+ setActiveId(null);
21856
+ if (!over || active.id === over.id) return;
21857
+ var oldIndex = items.findIndex(function (item) {
21858
+ return item.id === active.id;
21691
21859
  });
21692
- cleanups.push(monitorCleanup);
21693
- return function () {
21694
- cleanups.forEach(function (fn) {
21695
- return fn();
21696
- });
21697
- };
21698
- }, [items]);
21699
- return jsxRuntime.jsx("div", {
21700
- className: "sortDrag",
21701
- children: items.map(function (item, index) {
21702
- var itemClass = clsx__default["default"]("dragItem", {
21703
- dragging: draggingId === item.id,
21704
- dropping: droppingId === item.id
21705
- });
21706
- return jsxRuntime.jsxs("div", {
21707
- className: itemClass,
21708
- ref: function ref(el) {
21709
- return itemRefs.current[item.id] = el;
21710
- },
21711
- children: [jsxRuntime.jsx("div", {
21712
- className: "dragBody",
21713
- children: item.cpn
21714
- }), jsxRuntime.jsx("div", {
21715
- children: item.isChecked ? jsxRuntime.jsx(icons.HolderOutlined, {
21716
- ref: function ref(el) {
21717
- return dragHandleRefs.current[item.id] = el;
21718
- },
21719
- style: {
21720
- cursor: "grab",
21721
- marginLeft: "8px"
21722
- }
21723
- }) : null
21724
- })]
21725
- }, item.id);
21726
- })
21860
+ var newIndex = items.findIndex(function (item) {
21861
+ return item.id === over.id;
21862
+ });
21863
+ if (oldIndex === -1 || newIndex === -1) return;
21864
+ var newItems = sortable.arrayMove(items, oldIndex, newIndex);
21865
+ setItems(newItems);
21866
+ changeOriginDataSource(newItems);
21867
+ };
21868
+
21869
+ var activeItem = items.find(function (item) {
21870
+ return item.id === activeId;
21871
+ });
21872
+ return jsxRuntime.jsxs(core.DndContext, {
21873
+ sensors: sensors,
21874
+ collisionDetection: core.closestCenter,
21875
+ onDragStart: handleDragStart,
21876
+ onDragEnd: handleDragEnd,
21877
+ children: [jsxRuntime.jsx(sortable.SortableContext, {
21878
+ items: items,
21879
+ strategy: sortable.verticalListSortingStrategy,
21880
+ children: jsxRuntime.jsx("div", {
21881
+ className: "sortDrag",
21882
+ children: items.map(function (item) {
21883
+ return jsxRuntime.jsx(SortableItem, {
21884
+ item: item
21885
+ }, item.id);
21886
+ })
21887
+ })
21888
+ }), jsxRuntime.jsx(core.DragOverlay, {
21889
+ dropAnimation: null,
21890
+ children: activeItem ? jsxRuntime.jsx("div", {
21891
+ className: "sortDrag-overlay",
21892
+ children: jsxRuntime.jsxs("div", {
21893
+ className: "sortDrag-overlay-inner",
21894
+ children: [jsxRuntime.jsx("div", {
21895
+ className: "dragBody",
21896
+ children: activeItem.cpn
21897
+ }), jsxRuntime.jsx("div", {
21898
+ className: "sortDrag-overlay-handle",
21899
+ children: jsxRuntime.jsx(icons.HolderOutlined, {
21900
+ className: "sortDrag-overlay-handleIcon"
21901
+ })
21902
+ })]
21903
+ })
21904
+ }) : null
21905
+ })]
21727
21906
  });
21728
21907
  });
21729
21908
 
@@ -22845,8 +23024,10 @@ var ARangePicker = /*#__PURE__*/function (_Viewer) {
22845
23024
  _proto._data2rangePicker = function _data2rangePicker(d) {
22846
23025
  var _this$props$schema$da2;
22847
23026
 
22848
- var dataFormat = (_this$props$schema$da2 = this.props.schema.dataFormat) != null ? _this$props$schema$da2 : "x";
22849
- return [d[0] ? moment__default["default"](d[0], dataFormat) : null, d[1] ? moment__default["default"](d[1], dataFormat) : null];
23027
+ var dataFormat = (_this$props$schema$da2 = this.props.schema.dataFormat) != null ? _this$props$schema$da2 : "x"; // 若 tillNow=true,结束时间传 null,避免 RangePicker 缓存旧结束时间
23028
+
23029
+ var endTime = d[2] === true ? null : d[1] ? moment__default["default"](d[1], dataFormat) : null;
23030
+ return [d[0] ? moment__default["default"](d[0], dataFormat) : null, endTime];
22850
23031
  };
22851
23032
 
22852
23033
  _proto.element = function element() {
@@ -22903,25 +23084,43 @@ var ARangePicker = /*#__PURE__*/function (_Viewer) {
22903
23084
  }, "start_" + mobilePrecision), jsxRuntime.jsx(antdMobile.DatePicker, {
22904
23085
  visible: this.state.mobileDlg && this.state.mobileStep === 'end',
22905
23086
  precision: mobilePrecision,
22906
- title: "\u9009\u62E9\u7ED3\u675F\u65E5\u671F",
22907
- 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),
23087
+ title: // 如果允许"至今"且开始时间不在未来,在标题区域展示"至今"按钮
23088
+ !((_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()) ? jsxRuntime.jsxs("div", {
23089
+ style: {
23090
+ display: 'flex',
23091
+ alignItems: 'center',
23092
+ justifyContent: 'center',
23093
+ gap: 12
23094
+ },
23095
+ children: [jsxRuntime.jsx("span", {
23096
+ children: "\u9009\u62E9\u7ED3\u675F\u65E5\u671F"
23097
+ }), jsxRuntime.jsx(antd.Button, {
23098
+ size: "small",
23099
+ type: "primary",
23100
+ onClick: function onClick() {
23101
+ var startDate = _this2.state.mobileStartDate;
23102
+
23103
+ if (startDate) {
23104
+ _Viewer.prototype.changeValueEx.call(_this2, _this2._rangePicker2Data([moment__default["default"](startDate), moment__default["default"]()], true), true, true);
23105
+ }
23106
+
23107
+ _this2.setState({
23108
+ mobileDlg: false
23109
+ });
23110
+ },
23111
+ children: "\u81F3\u4ECA"
23112
+ })]
23113
+ }) : "选择结束日期",
22908
23114
  min: this.state.mobileStartDate || (this.props.schema.min ? new Date(this.props.schema.min) : undefined),
22909
23115
  max: this.props.schema.max ? new Date(this.props.schema.max) : undefined,
22910
23116
  onConfirm: function onConfirm(val) {
22911
23117
  var startDate = _this2.state.mobileStartDate;
22912
23118
 
22913
23119
  if (startDate) {
22914
- var isTillNow = !!val.tillNow;
22915
-
22916
- if (isTillNow) {
22917
- // 用户选择了"至今"
22918
- _Viewer.prototype.changeValueEx.call(_this2, _this2._rangePicker2Data([moment__default["default"](startDate), moment__default["default"]()], true), true, true);
22919
- } else {
22920
- // 防御:结束日期不能早于开始日期
22921
- var finalEnd = val < startDate ? startDate : val;
23120
+ // 防御:结束日期不能早于开始日期
23121
+ var finalEnd = val < startDate ? startDate : val;
22922
23122
 
22923
- _Viewer.prototype.changeValueEx.call(_this2, _this2._rangePicker2Data([moment__default["default"](startDate), moment__default["default"](finalEnd)], false), true, true);
22924
- }
23123
+ _Viewer.prototype.changeValueEx.call(_this2, _this2._rangePicker2Data([moment__default["default"](startDate), moment__default["default"](finalEnd)], false), true, true);
22925
23124
  }
22926
23125
 
22927
23126
  _this2.setState({
@@ -22951,13 +23150,25 @@ var ARangePicker = /*#__PURE__*/function (_Viewer) {
22951
23150
  } else if (precision === 'month') {
22952
23151
  extraProps.picker = 'month';
22953
23152
  } else if (pcShowTime) {
22954
- extraProps.showTime = true;
23153
+ // precision 为 minute 时只展示时分,不展示秒
23154
+ extraProps.showTime = precision === 'minute' ? {
23155
+ format: 'HH:mm'
23156
+ } : true;
22955
23157
  } // 构造元素
22956
23158
 
22957
23159
 
22958
23160
  return jsxRuntime.jsx(antd.DatePicker.RangePicker, _objectSpread$8({
22959
23161
  ref: this._pickerRef,
22960
23162
  renderExtraFooter: hideFooter ? undefined : function (mode) {
23163
+ var _this2$_onCalendarCha;
23164
+
23165
+ // 如果开始时间超过当前时间(未来时间),不展示"至今"按钮
23166
+ var startMoment = (_this2$_onCalendarCha = _this2._onCalendarChangeValue) == null ? void 0 : _this2$_onCalendarCha[0];
23167
+
23168
+ if (startMoment && startMoment.isAfter(moment__default["default"]())) {
23169
+ return null;
23170
+ }
23171
+
22961
23172
  return jsxRuntime.jsx("div", {
22962
23173
  style: {
22963
23174
  textAlign: "right"
@@ -22986,7 +23197,20 @@ var ARangePicker = /*#__PURE__*/function (_Viewer) {
22986
23197
  _this2._onCalendarChangeValue = d;
22987
23198
  },
22988
23199
  onChange: function onChange(vv) {
22989
- _Viewer.prototype.changeValueEx.call(_this2, _this2._rangePicker2Data(vv, false), true, true);
23200
+ // 用户清空日期范围时,直接置空
23201
+ if (!vv) {
23202
+ _Viewer.prototype.changeValueEx.call(_this2, undefined, true, true);
23203
+
23204
+ return;
23205
+ }
23206
+
23207
+ var currentData = _Viewer.prototype.getValue.call(_this2);
23208
+
23209
+ var isTillNow = ___default["default"].get(currentData, '[2]') === true; // 若当前是"至今"且用户只改了开始时间(结束时间仍为 null),保留 tillNow
23210
+
23211
+ var newTillNow = isTillNow && vv[1] == null;
23212
+
23213
+ _Viewer.prototype.changeValueEx.call(_this2, _this2._rangePicker2Data(vv, newTillNow), true, true);
22990
23214
  }
22991
23215
  }, extraProps), this.state.ctrlVersion + "_" + ((_this$props$schema$da7 = this.props.schema.dateRangePrecision) != null ? _this$props$schema$da7 : 'day'));
22992
23216
  }