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/dist/m3.css +116 -8
- package/dist/m3.js +1 -1
- package/es/m3.css +116 -8
- package/es/m3.js +1487 -1263
- package/lib/m3.css +116 -8
- package/lib/m3.js +1486 -1262
- package/package.json +4 -1
- package/src/framework/MUtil.tsx +145 -0
- package/src/types/MDateRangeType.ts +7 -7
- package/src/types/MDateTimeType.ts +6 -6
- package/src/ui/editor/basic/ARangePicker.tsx +56 -24
- package/src/ui/widget/EnhancedSortDrag.less +61 -0
- package/src/ui/widget/EnhancedSortDrag.tsx +294 -284
- package/src/ui/widget/SortDrag.less +78 -13
- package/src/ui/widget/SortDrag.tsx +119 -103
- package/types/framework/MUtil.d.ts +14 -0
- package/types/types/MDateRangeType.d.ts +2 -0
- package/types/ui/widget/EnhancedSortDrag.d.ts +3 -1
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
|
|
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$
|
|
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$
|
|
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$
|
|
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
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
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
|
-
|
|
249
|
-
|
|
250
|
-
} else {
|
|
251
|
-
var ori;
|
|
218
|
+
var Assembly = /*#__PURE__*/function () {
|
|
219
|
+
var _proto = Assembly.prototype;
|
|
252
220
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
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
|
-
|
|
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 (
|
|
264
|
-
|
|
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
|
-
|
|
241
|
+
return viewer;
|
|
275
242
|
}
|
|
276
243
|
}
|
|
244
|
+
};
|
|
277
245
|
|
|
278
|
-
|
|
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
|
-
|
|
306
|
-
},
|
|
251
|
+
var result = undefined;
|
|
307
252
|
|
|
308
|
-
|
|
309
|
-
|
|
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
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
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
|
|
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
|
-
*
|
|
350
|
-
*
|
|
351
|
-
*
|
|
286
|
+
* 增加一种数据类型
|
|
287
|
+
* 例:
|
|
288
|
+
* const hpOrg = {name: "hpOrg", type: {validators: ..., toReadable: ...}, editor: HPOrgEditor, readable: "DivViewer"}
|
|
289
|
+
* addType(hpOrg)
|
|
290
|
+
* @param typeParam 类型的描述对象
|
|
352
291
|
*/
|
|
353
|
-
|
|
354
|
-
if (a) {
|
|
355
|
-
var idx = a.indexOf(element);
|
|
292
|
+
;
|
|
356
293
|
|
|
357
|
-
|
|
358
|
-
|
|
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
|
-
|
|
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
|
-
|
|
304
|
+
___default["default"].set(this.morph, "readable." + name, readable);
|
|
305
|
+
};
|
|
370
306
|
|
|
371
|
-
|
|
372
|
-
|
|
307
|
+
function Assembly() {
|
|
308
|
+
var _this = this;
|
|
373
309
|
|
|
374
|
-
|
|
310
|
+
this.types = {};
|
|
311
|
+
this.viewers = {};
|
|
312
|
+
this.editors = {};
|
|
313
|
+
this.morph = {};
|
|
314
|
+
this.theme = defaultTheme;
|
|
375
315
|
|
|
376
|
-
|
|
377
|
-
|
|
316
|
+
this.toReadable = function (s, v, parent) {
|
|
317
|
+
var t = _this.types[s.type];
|
|
378
318
|
|
|
379
|
-
|
|
319
|
+
if (t) {
|
|
320
|
+
var _r;
|
|
380
321
|
|
|
381
|
-
|
|
382
|
-
var def = objectFieldMap[f];
|
|
322
|
+
var r;
|
|
383
323
|
|
|
384
|
-
|
|
385
|
-
|
|
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
|
-
|
|
392
|
-
},
|
|
331
|
+
r = (_r = r) != null ? _r : t.toReadable(_this, s, v);
|
|
393
332
|
|
|
394
|
-
|
|
395
|
-
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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
|
|
904
|
-
var f =
|
|
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
|
-
|
|
1780
|
+
return '"' + str.replace(/["]/g, '""') + '"';
|
|
1781
|
+
},
|
|
1208
1782
|
|
|
1209
|
-
|
|
1210
|
-
|
|
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
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
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$
|
|
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$
|
|
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$
|
|
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
|
-
|
|
1471
|
-
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
17383
|
+
var props = _objectSpread$p(_objectSpread$p({}, _BaseViewer.prototype.antProp.call(this)), {}, {
|
|
17197
17384
|
bordered: undefined,
|
|
17198
|
-
style: _objectSpread$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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
|
-
|
|
20423
|
-
isTableRow = _props$isTableRow === void 0 ? false : _props$isTableRow; //
|
|
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
|
|
20426
|
-
|
|
20705
|
+
var _useState = React.useState(null),
|
|
20706
|
+
activeId = _useState[0],
|
|
20707
|
+
setActiveId = _useState[1];
|
|
20427
20708
|
|
|
20428
|
-
var
|
|
20709
|
+
var _useState2 = React.useState({
|
|
20429
20710
|
draggingId: null,
|
|
20430
20711
|
droppingId: null,
|
|
20431
20712
|
isAnimating: false
|
|
20432
|
-
})
|
|
20433
|
-
|
|
20434
|
-
setDragState =
|
|
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
|
|
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
|
|
20524
|
-
|
|
20525
|
-
|
|
20526
|
-
|
|
20527
|
-
|
|
20528
|
-
|
|
20529
|
-
|
|
20530
|
-
|
|
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
|
-
|
|
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
|
-
|
|
20536
|
-
|
|
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 (
|
|
20849
|
+
if (oldIndex === -1 || newIndex === -1) {
|
|
20543
20850
|
return;
|
|
20544
20851
|
}
|
|
20545
20852
|
|
|
20546
|
-
|
|
20547
|
-
|
|
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
|
-
|
|
20578
|
-
|
|
20579
|
-
}
|
|
20856
|
+
if (!validation.isValid) {
|
|
20857
|
+
var _validation$error;
|
|
20580
20858
|
|
|
20581
|
-
|
|
20859
|
+
throw new Error(((_validation$error = validation.error) == null ? void 0 : _validation$error.message) || "拖拽验证失败");
|
|
20860
|
+
}
|
|
20582
20861
|
|
|
20583
|
-
|
|
20584
|
-
|
|
20585
|
-
|
|
20586
|
-
|
|
20587
|
-
|
|
20588
|
-
|
|
20589
|
-
|
|
20590
|
-
|
|
20591
|
-
|
|
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.
|
|
20661
|
-
|
|
20662
|
-
|
|
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
|
-
|
|
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
|
|
20696
|
-
return
|
|
20697
|
-
|
|
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
|
|
20715
|
-
|
|
20716
|
-
|
|
20717
|
-
|
|
20718
|
-
|
|
20896
|
+
var itemIds = React.useMemo(function () {
|
|
20897
|
+
return items.map(function (item) {
|
|
20898
|
+
return item.id;
|
|
20899
|
+
});
|
|
20900
|
+
}, [items]); // 如果是表格行模式,直接渲染子元素而不是包装div
|
|
20719
20901
|
|
|
20720
|
-
|
|
20721
|
-
|
|
20722
|
-
|
|
20723
|
-
|
|
20724
|
-
|
|
20725
|
-
|
|
20726
|
-
|
|
20727
|
-
|
|
20728
|
-
|
|
20729
|
-
|
|
20730
|
-
|
|
20731
|
-
|
|
20732
|
-
|
|
20733
|
-
|
|
20734
|
-
|
|
20735
|
-
|
|
20736
|
-
|
|
20737
|
-
|
|
20738
|
-
|
|
20739
|
-
|
|
20740
|
-
|
|
20741
|
-
|
|
20742
|
-
|
|
20743
|
-
|
|
20744
|
-
|
|
20745
|
-
|
|
20746
|
-
|
|
20747
|
-
|
|
20748
|
-
|
|
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
|
-
})
|
|
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.
|
|
20790
|
-
|
|
20791
|
-
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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];
|
|
21603
|
-
|
|
21825
|
+
setItems = _useState[1];
|
|
21604
21826
|
|
|
21605
21827
|
var _useState2 = React.useState(null),
|
|
21606
|
-
|
|
21607
|
-
|
|
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
|
-
|
|
21622
|
-
|
|
21623
|
-
|
|
21624
|
-
|
|
21625
|
-
|
|
21626
|
-
|
|
21627
|
-
|
|
21628
|
-
|
|
21629
|
-
|
|
21630
|
-
|
|
21631
|
-
|
|
21632
|
-
|
|
21633
|
-
|
|
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
|
-
|
|
21648
|
-
|
|
21649
|
-
|
|
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
|
-
|
|
21688
|
-
|
|
21689
|
-
|
|
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
|
-
|
|
21693
|
-
|
|
21694
|
-
|
|
21695
|
-
|
|
21696
|
-
|
|
21697
|
-
|
|
21698
|
-
|
|
21699
|
-
|
|
21700
|
-
|
|
21701
|
-
|
|
21702
|
-
|
|
21703
|
-
|
|
21704
|
-
|
|
21705
|
-
|
|
21706
|
-
|
|
21707
|
-
|
|
21708
|
-
|
|
21709
|
-
|
|
21710
|
-
|
|
21711
|
-
|
|
21712
|
-
|
|
21713
|
-
|
|
21714
|
-
|
|
21715
|
-
|
|
21716
|
-
|
|
21717
|
-
|
|
21718
|
-
|
|
21719
|
-
|
|
21720
|
-
|
|
21721
|
-
|
|
21722
|
-
|
|
21723
|
-
|
|
21724
|
-
|
|
21725
|
-
|
|
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
|
-
|
|
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: "
|
|
22907
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
}
|