@byteluck-fe/model-driven-driven 3.0.0-beta.6 → 3.0.0-beta.7
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/Builder.js +187 -0
- package/dist/esm/Designer.js +359 -0
- package/dist/esm/Driven.js +787 -0
- package/dist/esm/EventLogic.js +2 -0
- package/dist/esm/Plugin.js +10 -0
- package/dist/esm/Store.js +352 -0
- package/dist/esm/constants.js +34 -0
- package/dist/esm/designerUtils.js +34 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/utils.js +459 -0
- package/dist/index.umd.js +3 -0
- package/dist/types/Builder.d.ts +9 -0
- package/dist/types/Designer.d.ts +36 -0
- package/dist/types/Driven.d.ts +114 -0
- package/dist/types/EventLogic.d.ts +2 -0
- package/dist/types/Plugin.d.ts +6 -0
- package/dist/types/Store.d.ts +82 -0
- package/dist/types/constants.d.ts +6 -0
- package/dist/types/designerUtils.d.ts +4 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/utils.d.ts +41 -0
- package/package.json +6 -6
|
@@ -0,0 +1,459 @@
|
|
|
1
|
+
function _array_like_to_array(arr, len) {
|
|
2
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
3
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
4
|
+
return arr2;
|
|
5
|
+
}
|
|
6
|
+
function _array_with_holes(arr) {
|
|
7
|
+
if (Array.isArray(arr)) return arr;
|
|
8
|
+
}
|
|
9
|
+
function _array_without_holes(arr) {
|
|
10
|
+
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
11
|
+
}
|
|
12
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
13
|
+
try {
|
|
14
|
+
var info = gen[key](arg);
|
|
15
|
+
var value = info.value;
|
|
16
|
+
} catch (error) {
|
|
17
|
+
reject(error);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (info.done) {
|
|
21
|
+
resolve(value);
|
|
22
|
+
} else {
|
|
23
|
+
Promise.resolve(value).then(_next, _throw);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function _async_to_generator(fn) {
|
|
27
|
+
return function() {
|
|
28
|
+
var self = this, args = arguments;
|
|
29
|
+
return new Promise(function(resolve, reject) {
|
|
30
|
+
var gen = fn.apply(self, args);
|
|
31
|
+
function _next(value) {
|
|
32
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
33
|
+
}
|
|
34
|
+
function _throw(err) {
|
|
35
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
36
|
+
}
|
|
37
|
+
_next(undefined);
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function _iterable_to_array(iter) {
|
|
42
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
43
|
+
}
|
|
44
|
+
function _iterable_to_array_limit(arr, i) {
|
|
45
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
46
|
+
if (_i == null) return;
|
|
47
|
+
var _arr = [];
|
|
48
|
+
var _n = true;
|
|
49
|
+
var _d = false;
|
|
50
|
+
var _s, _e;
|
|
51
|
+
try {
|
|
52
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
53
|
+
_arr.push(_s.value);
|
|
54
|
+
if (i && _arr.length === i) break;
|
|
55
|
+
}
|
|
56
|
+
} catch (err) {
|
|
57
|
+
_d = true;
|
|
58
|
+
_e = err;
|
|
59
|
+
} finally{
|
|
60
|
+
try {
|
|
61
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
62
|
+
} finally{
|
|
63
|
+
if (_d) throw _e;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return _arr;
|
|
67
|
+
}
|
|
68
|
+
function _non_iterable_rest() {
|
|
69
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
70
|
+
}
|
|
71
|
+
function _non_iterable_spread() {
|
|
72
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
73
|
+
}
|
|
74
|
+
function _sliced_to_array(arr, i) {
|
|
75
|
+
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
76
|
+
}
|
|
77
|
+
function _to_consumable_array(arr) {
|
|
78
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
79
|
+
}
|
|
80
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
81
|
+
if (!o) return;
|
|
82
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
83
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
84
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
85
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
86
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
87
|
+
}
|
|
88
|
+
function _ts_generator(thisArg, body) {
|
|
89
|
+
var f, y, t, _ = {
|
|
90
|
+
label: 0,
|
|
91
|
+
sent: function() {
|
|
92
|
+
if (t[0] & 1) throw t[1];
|
|
93
|
+
return t[1];
|
|
94
|
+
},
|
|
95
|
+
trys: [],
|
|
96
|
+
ops: []
|
|
97
|
+
}, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
98
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
|
|
99
|
+
return this;
|
|
100
|
+
}), g;
|
|
101
|
+
function verb(n) {
|
|
102
|
+
return function(v) {
|
|
103
|
+
return step([
|
|
104
|
+
n,
|
|
105
|
+
v
|
|
106
|
+
]);
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function step(op) {
|
|
110
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
111
|
+
while(g && (g = 0, op[0] && (_ = 0)), _)try {
|
|
112
|
+
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;
|
|
113
|
+
if (y = 0, t) op = [
|
|
114
|
+
op[0] & 2,
|
|
115
|
+
t.value
|
|
116
|
+
];
|
|
117
|
+
switch(op[0]){
|
|
118
|
+
case 0:
|
|
119
|
+
case 1:
|
|
120
|
+
t = op;
|
|
121
|
+
break;
|
|
122
|
+
case 4:
|
|
123
|
+
_.label++;
|
|
124
|
+
return {
|
|
125
|
+
value: op[1],
|
|
126
|
+
done: false
|
|
127
|
+
};
|
|
128
|
+
case 5:
|
|
129
|
+
_.label++;
|
|
130
|
+
y = op[1];
|
|
131
|
+
op = [
|
|
132
|
+
0
|
|
133
|
+
];
|
|
134
|
+
continue;
|
|
135
|
+
case 7:
|
|
136
|
+
op = _.ops.pop();
|
|
137
|
+
_.trys.pop();
|
|
138
|
+
continue;
|
|
139
|
+
default:
|
|
140
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
141
|
+
_ = 0;
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
144
|
+
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
145
|
+
_.label = op[1];
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
if (op[0] === 6 && _.label < t[1]) {
|
|
149
|
+
_.label = t[1];
|
|
150
|
+
t = op;
|
|
151
|
+
break;
|
|
152
|
+
}
|
|
153
|
+
if (t && _.label < t[2]) {
|
|
154
|
+
_.label = t[2];
|
|
155
|
+
_.ops.push(op);
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
if (t[2]) _.ops.pop();
|
|
159
|
+
_.trys.pop();
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
op = body.call(thisArg, _);
|
|
163
|
+
} catch (e) {
|
|
164
|
+
op = [
|
|
165
|
+
6,
|
|
166
|
+
e
|
|
167
|
+
];
|
|
168
|
+
y = 0;
|
|
169
|
+
} finally{
|
|
170
|
+
f = t = 0;
|
|
171
|
+
}
|
|
172
|
+
if (op[0] & 5) throw op[1];
|
|
173
|
+
return {
|
|
174
|
+
value: op[0] ? op[1] : void 0,
|
|
175
|
+
done: true
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
import { loopFormControl } from './designerUtils';
|
|
180
|
+
import { CONTROL_BASE_TYPE, CONTROL_TYPE, // FieldTypes,
|
|
181
|
+
// FieldTypeToColumnType,
|
|
182
|
+
isArray } from '@byteluck-fe/model-driven-shared';
|
|
183
|
+
import { objectDataBindControlTypes } from './constants';
|
|
184
|
+
import { getLocaleText } from '@byteluck-fe/locale-message';
|
|
185
|
+
export function getMasterFormControls(controls) {
|
|
186
|
+
var formctls = [];
|
|
187
|
+
// @ts-ignore
|
|
188
|
+
loopFormControl(controls, function(item) {
|
|
189
|
+
// if (item instanceof DesignerFormControl) {
|
|
190
|
+
if (item.controlType === CONTROL_BASE_TYPE.FORM) {
|
|
191
|
+
formctls.push(item);
|
|
192
|
+
} else if (item.type === CONTROL_TYPE.SUBTABLE) {}
|
|
193
|
+
});
|
|
194
|
+
return formctls;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* @description 给modelBindInfoList中填充fieldCode和dataCode
|
|
198
|
+
* @description 我们生成fieldCode的规则是:DataBind的控件,取`field_${id}`,ObjectDataBind的控件,取`field_${id}_${key}`, key指的是ObjectDataBind.keys()
|
|
199
|
+
* */ export function fillModelBindInfoListFieldCode(modelBindInfoList) {
|
|
200
|
+
var dataCode = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : '';
|
|
201
|
+
if (!modelBindInfoList || !Array.isArray(modelBindInfoList)) return [];
|
|
202
|
+
return modelBindInfoList.map(function(item) {
|
|
203
|
+
if (!item.dataBind) return item;
|
|
204
|
+
// 零代码title控件永远不填充,由后端来进行填充(title里边的dataBind绑定的是单据编号)
|
|
205
|
+
if (item.type === CONTROL_TYPE.TITLE) return item;
|
|
206
|
+
if (objectDataBindControlTypes.includes(item.type)) {
|
|
207
|
+
var objectDataBind = item.dataBind;
|
|
208
|
+
Object.keys(objectDataBind).forEach(function(key) {
|
|
209
|
+
var dataBind = objectDataBind[key];
|
|
210
|
+
// 如果是ObjectDataBind的话,需要将id拼接当前的key作为元素的fieldCode
|
|
211
|
+
var fieldCode = item.controlId + '_' + key;
|
|
212
|
+
dataBind.fieldCode = fieldCodeBeforeAddPrefix(fieldCode);
|
|
213
|
+
dataBind.dataCode = dataCode;
|
|
214
|
+
});
|
|
215
|
+
} else {
|
|
216
|
+
;
|
|
217
|
+
item.dataBind.fieldCode = fieldCodeBeforeAddPrefix(item.controlId);
|
|
218
|
+
item.dataBind.dataCode = dataCode;
|
|
219
|
+
}
|
|
220
|
+
return item;
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
function fieldCodeBeforeAddPrefix(fieldCode) {
|
|
224
|
+
var prefix = 'field_';
|
|
225
|
+
if (fieldCode.startsWith(prefix)) {
|
|
226
|
+
return fieldCode;
|
|
227
|
+
}
|
|
228
|
+
return prefix + fieldCode;
|
|
229
|
+
}
|
|
230
|
+
function toSchema(schema) {
|
|
231
|
+
if (Array.isArray(schema)) {
|
|
232
|
+
return schema.map(function(item) {
|
|
233
|
+
return item.toSchema();
|
|
234
|
+
});
|
|
235
|
+
} else {
|
|
236
|
+
return schema.toSchema();
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
function getModelBindInfoList(controls) {
|
|
240
|
+
if (Array.isArray(controls)) {
|
|
241
|
+
return controls.map(function(control) {
|
|
242
|
+
return control.toDataBindModel();
|
|
243
|
+
}).filter(function(item) {
|
|
244
|
+
return !!item;
|
|
245
|
+
}).flat();
|
|
246
|
+
}
|
|
247
|
+
return controls.toDataBindModel();
|
|
248
|
+
}
|
|
249
|
+
function checkSchema(controls, messages, ignore) {
|
|
250
|
+
return _async_to_generator(function() {
|
|
251
|
+
var result;
|
|
252
|
+
return _ts_generator(this, function(_state) {
|
|
253
|
+
switch(_state.label){
|
|
254
|
+
case 0:
|
|
255
|
+
if (!Array.isArray(controls)) return [
|
|
256
|
+
3,
|
|
257
|
+
2
|
|
258
|
+
];
|
|
259
|
+
return [
|
|
260
|
+
4,
|
|
261
|
+
Promise.all(controls.map(function(control) {
|
|
262
|
+
return control.validate(messages, ignore);
|
|
263
|
+
}))
|
|
264
|
+
];
|
|
265
|
+
case 1:
|
|
266
|
+
result = _state.sent();
|
|
267
|
+
return [
|
|
268
|
+
2,
|
|
269
|
+
result.every(function(state) {
|
|
270
|
+
return state;
|
|
271
|
+
})
|
|
272
|
+
];
|
|
273
|
+
case 2:
|
|
274
|
+
return [
|
|
275
|
+
4,
|
|
276
|
+
controls.validate(messages, ignore)
|
|
277
|
+
];
|
|
278
|
+
case 3:
|
|
279
|
+
return [
|
|
280
|
+
2,
|
|
281
|
+
_state.sent()
|
|
282
|
+
];
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
})();
|
|
286
|
+
}
|
|
287
|
+
// 不可以被权限控制的控件
|
|
288
|
+
var PermissionExcludeControlTypes = [
|
|
289
|
+
CONTROL_TYPE.TITLE,
|
|
290
|
+
CONTROL_TYPE.GRID_TABLE_COLUMN,
|
|
291
|
+
CONTROL_TYPE.SUBTABLE_COLUMN,
|
|
292
|
+
CONTROL_TYPE.OPERATION_COLUMN,
|
|
293
|
+
CONTROL_TYPE.DATA_VIEW,
|
|
294
|
+
CONTROL_TYPE.LIST_VIEW,
|
|
295
|
+
CONTROL_TYPE.HEADER,
|
|
296
|
+
CONTROL_TYPE.FOOTER,
|
|
297
|
+
CONTROL_TYPE.SIMPLE_SEARCH,
|
|
298
|
+
CONTROL_TYPE.ROW,
|
|
299
|
+
CONTROL_TYPE.GRID_ROW,
|
|
300
|
+
CONTROL_TYPE.COL,
|
|
301
|
+
CONTROL_TYPE.GRID,
|
|
302
|
+
CONTROL_TYPE.DIVIDER,
|
|
303
|
+
// 暂时不能控制权限
|
|
304
|
+
CONTROL_TYPE.TAB_PANE,
|
|
305
|
+
CONTROL_TYPE.TAB,
|
|
306
|
+
CONTROL_TYPE.CARD_GROUP,
|
|
307
|
+
CONTROL_TYPE.ACTION_BAR,
|
|
308
|
+
CONTROL_TYPE.GRID_LAYOUT_CONTAINER,
|
|
309
|
+
CONTROL_TYPE.GRID_LAYOUT_WRAP
|
|
310
|
+
];
|
|
311
|
+
// 不可以编辑的控件
|
|
312
|
+
var cannotEditControlTypes = [
|
|
313
|
+
CONTROL_TYPE.CALC
|
|
314
|
+
];
|
|
315
|
+
// 列表操作列单独处理三个按钮的权限
|
|
316
|
+
var LIST_OPERATION_BUTTON_PERMISSIONS_MAPS = {
|
|
317
|
+
check: {
|
|
318
|
+
id: 'listPageCheckBtnId',
|
|
319
|
+
caption: getLocaleText('CMD.view', null, '查看')
|
|
320
|
+
},
|
|
321
|
+
edit: {
|
|
322
|
+
id: 'listPageEditBtnId',
|
|
323
|
+
caption: getLocaleText('CMD.edit', null, '编辑')
|
|
324
|
+
},
|
|
325
|
+
delete: {
|
|
326
|
+
id: 'listPageDeleteBtnId',
|
|
327
|
+
caption: getLocaleText('CMD.delete', null, '删除')
|
|
328
|
+
}
|
|
329
|
+
};
|
|
330
|
+
// 生成权限字段
|
|
331
|
+
function generatePermissions(controls, parent) {
|
|
332
|
+
var result = [];
|
|
333
|
+
if (isArray(controls)) {
|
|
334
|
+
var _result;
|
|
335
|
+
(_result = result).push.apply(_result, _to_consumable_array(controls.map(function(item) {
|
|
336
|
+
return generatePermissions(item, parent);
|
|
337
|
+
}).flat()));
|
|
338
|
+
} else {
|
|
339
|
+
var type = controls.type;
|
|
340
|
+
var _controls_props = controls.props, caption = _controls_props.caption, content = _controls_props.content;
|
|
341
|
+
var permissionItem;
|
|
342
|
+
if (!PermissionExcludeControlTypes.includes(type)) {
|
|
343
|
+
var _parent_controlId;
|
|
344
|
+
permissionItem = {
|
|
345
|
+
controlId: controls.id,
|
|
346
|
+
caption: caption || content || controls.name,
|
|
347
|
+
type: controls.type,
|
|
348
|
+
controlType: controls.controlType,
|
|
349
|
+
parentId: (_parent_controlId = parent === null || parent === void 0 ? void 0 : parent.controlId) !== null && _parent_controlId !== void 0 ? _parent_controlId : null,
|
|
350
|
+
canEdit: !cannotEditControlTypes.includes(type),
|
|
351
|
+
canRead: true,
|
|
352
|
+
canHide: true,
|
|
353
|
+
group: 'element'
|
|
354
|
+
};
|
|
355
|
+
if (parent && parent.type === CONTROL_TYPE.SUBTABLE) {
|
|
356
|
+
// 如果有parent,则利用下划线拼接caption
|
|
357
|
+
permissionItem.caption = parent.caption + '_' + permissionItem.caption;
|
|
358
|
+
}
|
|
359
|
+
if (type === CONTROL_TYPE.VUE_FORM_ITEM) {
|
|
360
|
+
permissionItem.caption = controls.props.controlExportName || controls.name;
|
|
361
|
+
}
|
|
362
|
+
// if (
|
|
363
|
+
// controls instanceof DesignerFormControl ||
|
|
364
|
+
// controls instanceof DesignerColumnControl
|
|
365
|
+
// ) {
|
|
366
|
+
if (controls.controlType === CONTROL_BASE_TYPE.FORM || controls.controlType === CONTROL_BASE_TYPE.COLUMN) {
|
|
367
|
+
var //@ts-ignore
|
|
368
|
+
_controls_props_dataBind, _controls_props1, //@ts-ignore
|
|
369
|
+
_controls_props_dataBind1, _controls_props2;
|
|
370
|
+
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) !== '') {
|
|
371
|
+
permissionItem.group = 'field';
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
result.push(permissionItem);
|
|
375
|
+
//追加vue容器权限
|
|
376
|
+
if (type === CONTROL_TYPE.VUE_FORM_ITEM) {
|
|
377
|
+
var _controls_props_dataBind2, _controls_props3, _controls_props_dataBind3, _controls_props4;
|
|
378
|
+
var vueFormItemGroup = 'element';
|
|
379
|
+
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) !== '') {
|
|
380
|
+
vueFormItemGroup = 'field';
|
|
381
|
+
}
|
|
382
|
+
var permissions = controls.props['permissions'];
|
|
383
|
+
permissions === null || permissions === void 0 ? void 0 : permissions.map(function(item) {
|
|
384
|
+
var _controls_id;
|
|
385
|
+
permissionItem = {
|
|
386
|
+
controlId: item.key,
|
|
387
|
+
caption: item.caption,
|
|
388
|
+
type: controls.type,
|
|
389
|
+
controlType: controls.controlType,
|
|
390
|
+
parentId: (_controls_id = controls.id) !== null && _controls_id !== void 0 ? _controls_id : null,
|
|
391
|
+
canEdit: true,
|
|
392
|
+
canRead: true,
|
|
393
|
+
canHide: true,
|
|
394
|
+
group: vueFormItemGroup
|
|
395
|
+
};
|
|
396
|
+
result.push(permissionItem);
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
} else if (type === CONTROL_TYPE.OPERATION_COLUMN) {
|
|
400
|
+
// 列表的操作列单独处理
|
|
401
|
+
Object.entries(LIST_OPERATION_BUTTON_PERMISSIONS_MAPS).reduce(function(result, param) {
|
|
402
|
+
var _param = _sliced_to_array(param, 2), key = _param[0], _param_ = _param[1], caption = _param_.caption, controlId = _param_.id;
|
|
403
|
+
var operationItem = controls.props[key];
|
|
404
|
+
if (operationItem && operationItem.isShow) {
|
|
405
|
+
var _parent_controlId;
|
|
406
|
+
// 只能控制是否显示
|
|
407
|
+
result.push({
|
|
408
|
+
controlId: controlId,
|
|
409
|
+
caption: caption,
|
|
410
|
+
type: controls.type,
|
|
411
|
+
controlType: controls.controlType,
|
|
412
|
+
parentId: (_parent_controlId = parent === null || parent === void 0 ? void 0 : parent.controlId) !== null && _parent_controlId !== void 0 ? _parent_controlId : null,
|
|
413
|
+
canEdit: false,
|
|
414
|
+
canRead: false,
|
|
415
|
+
canHide: true,
|
|
416
|
+
group: 'element'
|
|
417
|
+
});
|
|
418
|
+
}
|
|
419
|
+
return result;
|
|
420
|
+
}, result);
|
|
421
|
+
}
|
|
422
|
+
// else if (type === CONTROL_TYPE.CUSTOM_COLUMN) {
|
|
423
|
+
// //追加自定义列上的vue容器权限
|
|
424
|
+
// ;(controls as any)?.children?.map((vueControl: any) => {
|
|
425
|
+
// if (vueControl.type === CONTROL_TYPE.VUE_FORM_ITEM) {
|
|
426
|
+
// const { caption, content } = vueControl.props as any
|
|
427
|
+
// permissionItem = {
|
|
428
|
+
// controlId: vueControl.id,
|
|
429
|
+
// caption: caption ?? content ?? vueControl.name,
|
|
430
|
+
// type: vueControl.type,
|
|
431
|
+
// controlType: vueControl.controlType,
|
|
432
|
+
// parentId: null,
|
|
433
|
+
// canEdit: true,
|
|
434
|
+
// canRead: true,
|
|
435
|
+
// canHide: true,
|
|
436
|
+
// group: 'element',
|
|
437
|
+
// }
|
|
438
|
+
// result.push(permissionItem)
|
|
439
|
+
// }
|
|
440
|
+
// })
|
|
441
|
+
// }
|
|
442
|
+
if (controls.children) {
|
|
443
|
+
var _result1;
|
|
444
|
+
(_result1 = result).push.apply(_result1, _to_consumable_array(controls.children.map(function(item) {
|
|
445
|
+
return generatePermissions(item, parent);
|
|
446
|
+
}).flat()));
|
|
447
|
+
}
|
|
448
|
+
// if (controls instanceof DesignerListControl) {
|
|
449
|
+
if (controls.controlType === CONTROL_BASE_TYPE.LIST) {
|
|
450
|
+
var // 明细子表和列表的需要给parentId
|
|
451
|
+
_result2;
|
|
452
|
+
(_result2 = result).push.apply(_result2, _to_consumable_array(controls.props.headers.map(function(item) {
|
|
453
|
+
return generatePermissions(item, permissionItem);
|
|
454
|
+
}).flat()));
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
return result;
|
|
458
|
+
}
|
|
459
|
+
export { toSchema, getModelBindInfoList, checkSchema, generatePermissions };
|