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