@byteluck-fe/model-driven-driven 2.5.0-beta.1 → 2.6.0-alpha.5

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/esm/utils.js CHANGED
@@ -85,105 +85,11 @@ function _unsupportedIterableToArray(o, minLen) {
85
85
  if (n === "Map" || n === "Set") return Array.from(n);
86
86
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
87
87
  }
88
- var __generator = this && this.__generator || function(thisArg, body) {
89
- var f, y, t, g, _ = {
90
- label: 0,
91
- sent: function() {
92
- if (t[0] & 1) throw t[1];
93
- return t[1];
94
- },
95
- trys: [],
96
- ops: []
97
- };
98
- return g = {
99
- next: verb(0),
100
- "throw": verb(1),
101
- "return": verb(2)
102
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
103
- return this;
104
- }), g;
105
- function verb(n) {
106
- return function(v) {
107
- return step([
108
- n,
109
- v
110
- ]);
111
- };
112
- }
113
- function step(op) {
114
- if (f) throw new TypeError("Generator is already executing.");
115
- while(_)try {
116
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
117
- if (y = 0, t) op = [
118
- op[0] & 2,
119
- t.value
120
- ];
121
- switch(op[0]){
122
- case 0:
123
- case 1:
124
- t = op;
125
- break;
126
- case 4:
127
- _.label++;
128
- return {
129
- value: op[1],
130
- done: false
131
- };
132
- case 5:
133
- _.label++;
134
- y = op[1];
135
- op = [
136
- 0
137
- ];
138
- continue;
139
- case 7:
140
- op = _.ops.pop();
141
- _.trys.pop();
142
- continue;
143
- default:
144
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
145
- _ = 0;
146
- continue;
147
- }
148
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
149
- _.label = op[1];
150
- break;
151
- }
152
- if (op[0] === 6 && _.label < t[1]) {
153
- _.label = t[1];
154
- t = op;
155
- break;
156
- }
157
- if (t && _.label < t[2]) {
158
- _.label = t[2];
159
- _.ops.push(op);
160
- break;
161
- }
162
- if (t[2]) _.ops.pop();
163
- _.trys.pop();
164
- continue;
165
- }
166
- op = body.call(thisArg, _);
167
- } catch (e) {
168
- op = [
169
- 6,
170
- e
171
- ];
172
- y = 0;
173
- } finally{
174
- f = t = 0;
175
- }
176
- if (op[0] & 5) throw op[1];
177
- return {
178
- value: op[0] ? op[1] : void 0,
179
- done: true
180
- };
181
- }
182
- };
183
- import { loopFormControl } from "./designerUtils";
184
- import { CONTROL_BASE_TYPE, CONTROL_TYPE, FieldTypeToColumnType, isArray } from "@byteluck-fe/model-driven-shared";
185
- import Designer from "./Designer";
186
- import { objectDataBindControlTypes, objectDataBindKeyToFieldType } from "./constants";
88
+ import regeneratorRuntime from "regenerator-runtime";
89
+ import { loopFormControl } from './designerUtils';
90
+ import { CONTROL_BASE_TYPE, CONTROL_TYPE, FieldTypeToColumnType, isArray } from '@byteluck-fe/model-driven-shared';
91
+ import Designer from './Designer';
92
+ import { objectDataBindControlTypes, objectDataBindKeyToFieldType } from './constants';
187
93
  export function getMasterFormControls(controls) {
188
94
  var formctls = [];
189
95
  // @ts-ignore
@@ -199,7 +105,7 @@ export function getMasterFormControls(controls) {
199
105
  * @description 给modelBindInfoList中填充fieldCode和dataCode
200
106
  * @description 我们生成fieldCode的规则是:DataBind的控件,取`field_${id}`,ObjectDataBind的控件,取`field_${id}_${key}`, key指的是ObjectDataBind.keys()
201
107
  * */ export function fillModelBindInfoListFieldCode(modelBindInfoList) {
202
- var dataCode = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
108
+ var dataCode = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : '';
203
109
  if (!modelBindInfoList || !Array.isArray(modelBindInfoList)) return [];
204
110
  return modelBindInfoList.map(function(item) {
205
111
  if (!item.dataBind) return item;
@@ -210,7 +116,7 @@ export function getMasterFormControls(controls) {
210
116
  Object.keys(objectDataBind).forEach(function(key) {
211
117
  var dataBind = objectDataBind[key];
212
118
  // 如果是ObjectDataBind的话,需要将id拼接当前的key作为元素的fieldCode
213
- var fieldCode = item.controlId + "_" + key;
119
+ var fieldCode = item.controlId + '_' + key;
214
120
  dataBind.fieldCode = fieldCodeBeforeAddPrefix(fieldCode);
215
121
  dataBind.dataCode = dataCode;
216
122
  });
@@ -222,7 +128,7 @@ export function getMasterFormControls(controls) {
222
128
  });
223
129
  }
224
130
  function fieldCodeBeforeAddPrefix(fieldCode) {
225
- var prefix = "field_";
131
+ var prefix = 'field_';
226
132
  if (fieldCode.startsWith(prefix)) {
227
133
  return fieldCode;
228
134
  }
@@ -252,7 +158,7 @@ function fieldCodeBeforeAddPrefix(fieldCode) {
252
158
  // 当前key对应的fieldType
253
159
  var fieldType = objectDataBindKeyToFieldType[key].fieldType;
254
160
  // 拼接当前列的caption
255
- var caption = item.caption + "_" + objectDataBindKeyToFieldType[key].caption;
161
+ var caption = item.caption + '_' + objectDataBindKeyToFieldType[key].caption;
256
162
  // 通过fieldType获取列类型
257
163
  var controlType = getColumnTypeFromFiledType(fieldType);
258
164
  if (!controlType) return;
@@ -260,8 +166,8 @@ function fieldCodeBeforeAddPrefix(fieldCode) {
260
166
  caption: caption,
261
167
  dataBind: dataBind
262
168
  };
263
- if (key === "currency") {
264
- props.optionConfig = "datasource";
169
+ if (key === 'currency') {
170
+ props.optionConfig = 'datasource';
265
171
  props.datasourceBind = datasourceBind;
266
172
  }
267
173
  // @ts-ignore
@@ -271,17 +177,17 @@ function fieldCodeBeforeAddPrefix(fieldCode) {
271
177
  column && columns.push(column);
272
178
  });
273
179
  } else {
274
- var controlType = getColumnTypeFromFiledType(item.fieldType);
275
- if (!controlType) return;
180
+ var controlType1 = getColumnTypeFromFiledType(item.fieldType);
181
+ if (!controlType1) return;
276
182
  // @ts-ignore
277
- var column = designer.createControlInstance(controlType, {
183
+ var column1 = designer.createControlInstance(controlType1, {
278
184
  props: {
279
185
  caption: item.caption,
280
186
  dataBind: item.dataBind,
281
187
  datasourceBind: item.datasourceBind
282
188
  }
283
189
  });
284
- column && columns.push(column);
190
+ column1 && columns.push(column1);
285
191
  }
286
192
  });
287
193
  return columns;
@@ -320,42 +226,35 @@ function checkSchema(controls, messages, ignore) {
320
226
  return _checkSchema.apply(this, arguments);
321
227
  }
322
228
  function _checkSchema() {
323
- _checkSchema = _asyncToGenerator(function(controls, messages, ignore) {
229
+ _checkSchema = _asyncToGenerator(regeneratorRuntime.mark(function _callee(controls, messages, ignore) {
324
230
  var result;
325
- return __generator(this, function(_state) {
326
- switch(_state.label){
231
+ return regeneratorRuntime.wrap(function _callee$(_ctx) {
232
+ while(1)switch(_ctx.prev = _ctx.next){
327
233
  case 0:
328
- if (!Array.isArray(controls)) return [
329
- 3,
330
- 2
331
- ];
332
- return [
333
- 4,
334
- Promise.all(controls.map(function(control) {
335
- return control.validate(messages, ignore);
336
- }))
337
- ];
338
- case 1:
339
- result = _state.sent();
340
- return [
341
- 2,
342
- result.every(function(state) {
343
- return state;
344
- })
345
- ];
346
- case 2:
347
- return [
348
- 4,
349
- controls.validate(messages, ignore)
350
- ];
234
+ if (!Array.isArray(controls)) {
235
+ _ctx.next = 5;
236
+ break;
237
+ }
238
+ _ctx.next = 3;
239
+ return Promise.all(controls.map(function(control) {
240
+ return control.validate(messages, ignore);
241
+ }));
351
242
  case 3:
352
- return [
353
- 2,
354
- _state.sent()
355
- ];
243
+ result = _ctx.sent;
244
+ return _ctx.abrupt("return", result.every(function(state) {
245
+ return state;
246
+ }));
247
+ case 5:
248
+ _ctx.next = 7;
249
+ return controls.validate(messages, ignore);
250
+ case 7:
251
+ return _ctx.abrupt("return", _ctx.sent);
252
+ case 8:
253
+ case "end":
254
+ return _ctx.stop();
356
255
  }
357
- });
358
- });
256
+ }, _callee);
257
+ }));
359
258
  return _checkSchema.apply(this, arguments);
360
259
  }
361
260
  // 不可以被权限控制的控件
@@ -377,7 +276,7 @@ var PermissionExcludeControlTypes = [
377
276
  // 暂时不能控制权限
378
277
  CONTROL_TYPE.TAB_PANE,
379
278
  CONTROL_TYPE.TAB,
380
- CONTROL_TYPE.CARD_GROUP
279
+ CONTROL_TYPE.CARD_GROUP,
381
280
  ];
382
281
  // 不可以编辑的控件
383
282
  var cannotEditControlTypes = [
@@ -386,46 +285,46 @@ var cannotEditControlTypes = [
386
285
  // 列表操作列单独处理三个按钮的权限
387
286
  var LIST_OPERATION_BUTTON_PERMISSIONS_MAPS = {
388
287
  check: {
389
- id: "listPageCheckBtnId",
390
- caption: "查看"
288
+ id: 'listPageCheckBtnId',
289
+ caption: '查看'
391
290
  },
392
291
  edit: {
393
- id: "listPageEditBtnId",
394
- caption: "编辑"
292
+ id: 'listPageEditBtnId',
293
+ caption: '编辑'
395
294
  },
396
295
  delete: {
397
- id: "listPageDeleteBtnId",
398
- caption: "删除"
296
+ id: 'listPageDeleteBtnId',
297
+ caption: '删除'
399
298
  }
400
299
  };
401
300
  // 生成权限字段
402
301
  function generatePermissions(controls, parent) {
403
- var result = [];
302
+ var result1 = [];
404
303
  if (isArray(controls)) {
405
304
  var _result;
406
- (_result = result).push.apply(_result, _toConsumableArray(controls.map(function(item) {
305
+ (_result = result1).push.apply(_result, _toConsumableArray(controls.map(function(item) {
407
306
  return generatePermissions(item, parent);
408
307
  }).flat()));
409
308
  } else {
410
309
  var type = controls.type;
411
- var _controls_props = controls.props, caption = _controls_props.caption, content = _controls_props.content;
310
+ var _props = controls.props, caption1 = _props.caption, content = _props.content;
412
311
  var permissionItem;
413
312
  if (!PermissionExcludeControlTypes.includes(type)) {
414
- var _parent_controlId;
313
+ var ref;
415
314
  permissionItem = {
416
315
  controlId: controls.id,
417
- caption: caption || content || controls.name,
316
+ caption: caption1 || content || controls.name,
418
317
  type: controls.type,
419
318
  controlType: controls.controlType,
420
- parentId: (_parent_controlId = parent === null || parent === void 0 ? void 0 : parent.controlId) !== null && _parent_controlId !== void 0 ? _parent_controlId : null,
319
+ parentId: (ref = parent === null || parent === void 0 ? void 0 : parent.controlId) !== null && ref !== void 0 ? ref : null,
421
320
  canEdit: !cannotEditControlTypes.includes(type),
422
321
  canRead: true,
423
322
  canHide: true,
424
- group: "element"
323
+ group: 'element'
425
324
  };
426
325
  if (parent && parent.type === CONTROL_TYPE.SUBTABLE) {
427
326
  // 如果有parent,则利用下划线拼接caption
428
- permissionItem.caption = parent.caption + "_" + permissionItem.caption;
327
+ permissionItem.caption = parent.caption + '_' + permissionItem.caption;
429
328
  }
430
329
  if (type === CONTROL_TYPE.VUE_FORM_ITEM) {
431
330
  permissionItem.caption = controls.props.controlExportName || controls.name;
@@ -436,59 +335,59 @@ function generatePermissions(controls, parent) {
436
335
  // ) {
437
336
  if (controls.controlType === CONTROL_BASE_TYPE.FORM || controls.controlType === CONTROL_BASE_TYPE.COLUMN) {
438
337
  var //@ts-ignore
439
- _controls_props1, _controls_props_dataBind, //@ts-ignore
440
- _controls_props2, _controls_props_dataBind1;
441
- if (((_controls_props1 = controls.props) === null || _controls_props1 === void 0 ? void 0 : (_controls_props_dataBind = _controls_props1.dataBind) === null || _controls_props_dataBind === void 0 ? void 0 : _controls_props_dataBind.fieldCode) !== undefined && ((_controls_props2 = controls.props) === null || _controls_props2 === void 0 ? void 0 : (_controls_props_dataBind1 = _controls_props2.dataBind) === null || _controls_props_dataBind1 === void 0 ? void 0 : _controls_props_dataBind1.fieldCode) !== "") {
442
- permissionItem.group = "field";
338
+ ref1, ref2, //@ts-ignore
339
+ ref3, ref4;
340
+ if (((ref1 = controls.props) === null || ref1 === void 0 ? void 0 : (ref2 = ref1.dataBind) === null || ref2 === void 0 ? void 0 : ref2.fieldCode) !== undefined && ((ref3 = controls.props) === null || ref3 === void 0 ? void 0 : (ref4 = ref3.dataBind) === null || ref4 === void 0 ? void 0 : ref4.fieldCode) !== '') {
341
+ permissionItem.group = 'field';
443
342
  }
444
343
  }
445
- result.push(permissionItem);
344
+ result1.push(permissionItem);
446
345
  //追加vue容器权限
447
346
  if (type === CONTROL_TYPE.VUE_FORM_ITEM) {
448
- var _controls_props3, _controls_props_dataBind2, _controls_props4, _controls_props_dataBind3;
449
- var vueFormItemGroup = "element";
450
- if (((_controls_props3 = controls.props) === null || _controls_props3 === void 0 ? void 0 : (_controls_props_dataBind2 = _controls_props3.dataBind) === null || _controls_props_dataBind2 === void 0 ? void 0 : _controls_props_dataBind2.fieldCode) !== undefined && ((_controls_props4 = controls.props) === null || _controls_props4 === void 0 ? void 0 : (_controls_props_dataBind3 = _controls_props4.dataBind) === null || _controls_props_dataBind3 === void 0 ? void 0 : _controls_props_dataBind3.fieldCode) !== "") {
451
- vueFormItemGroup = "field";
347
+ var ref5, ref6, ref7, ref8;
348
+ var vueFormItemGroup = 'element';
349
+ if (((ref5 = controls.props) === null || ref5 === void 0 ? void 0 : (ref6 = ref5.dataBind) === null || ref6 === void 0 ? void 0 : ref6.fieldCode) !== undefined && ((ref7 = controls.props) === null || ref7 === void 0 ? void 0 : (ref8 = ref7.dataBind) === null || ref8 === void 0 ? void 0 : ref8.fieldCode) !== '') {
350
+ vueFormItemGroup = 'field';
452
351
  }
453
- var permissions = controls.props["permissions"];
352
+ var permissions = controls.props['permissions'];
454
353
  permissions === null || permissions === void 0 ? void 0 : permissions.map(function(item) {
455
- var _controls_id;
354
+ var _id;
456
355
  permissionItem = {
457
356
  controlId: item.key,
458
357
  caption: item.caption,
459
358
  type: controls.type,
460
359
  controlType: controls.controlType,
461
- parentId: (_controls_id = controls.id) !== null && _controls_id !== void 0 ? _controls_id : null,
360
+ parentId: (_id = controls.id) !== null && _id !== void 0 ? _id : null,
462
361
  canEdit: true,
463
362
  canRead: true,
464
363
  canHide: true,
465
364
  group: vueFormItemGroup
466
365
  };
467
- result.push(permissionItem);
366
+ result1.push(permissionItem);
468
367
  });
469
368
  }
470
369
  } else if (type === CONTROL_TYPE.OPERATION_COLUMN) {
471
370
  // 列表的操作列单独处理
472
371
  Object.entries(LIST_OPERATION_BUTTON_PERMISSIONS_MAPS).reduce(function(result, param) {
473
- var _param = _slicedToArray(param, 2), key = _param[0], _param_ = _param[1], caption = _param_.caption, controlId = _param_.id;
372
+ var _param = _slicedToArray(param, 2), key = _param[0], ref = _param[1], caption = ref.caption, controlId = ref.id;
474
373
  var operationItem = controls.props[key];
475
374
  if (operationItem && operationItem.isShow) {
476
- var _parent_controlId;
375
+ var ref9;
477
376
  // 只能控制是否显示
478
377
  result.push({
479
378
  controlId: controlId,
480
379
  caption: caption,
481
380
  type: controls.type,
482
381
  controlType: controls.controlType,
483
- parentId: (_parent_controlId = parent === null || parent === void 0 ? void 0 : parent.controlId) !== null && _parent_controlId !== void 0 ? _parent_controlId : null,
382
+ parentId: (ref9 = parent === null || parent === void 0 ? void 0 : parent.controlId) !== null && ref9 !== void 0 ? ref9 : null,
484
383
  canEdit: false,
485
384
  canRead: false,
486
385
  canHide: true,
487
- group: "element"
386
+ group: 'element'
488
387
  });
489
388
  }
490
389
  return result;
491
- }, result);
390
+ }, result1);
492
391
  }
493
392
  // else if (type === CONTROL_TYPE.CUSTOM_COLUMN) {
494
393
  // //追加自定义列上的vue容器权限
@@ -512,7 +411,7 @@ function generatePermissions(controls, parent) {
512
411
  // }
513
412
  if (controls.children) {
514
413
  var _result1;
515
- (_result1 = result).push.apply(_result1, _toConsumableArray(controls.children.map(function(item) {
414
+ (_result1 = result1).push.apply(_result1, _toConsumableArray(controls.children.map(function(item) {
516
415
  return generatePermissions(item, parent);
517
416
  }).flat()));
518
417
  }
@@ -520,11 +419,11 @@ function generatePermissions(controls, parent) {
520
419
  if (controls.controlType === CONTROL_BASE_TYPE.LIST) {
521
420
  var // 明细子表和列表的需要给parentId
522
421
  _result2;
523
- (_result2 = result).push.apply(_result2, _toConsumableArray(controls.props.headers.map(function(item) {
422
+ (_result2 = result1).push.apply(_result2, _toConsumableArray(controls.props.headers.map(function(item) {
524
423
  return generatePermissions(item, permissionItem);
525
424
  }).flat()));
526
425
  }
527
426
  }
528
- return result;
427
+ return result1;
529
428
  }
530
429
  export { toSchema, getModelBindInfoList, checkSchema, generatePermissions };