@byteluck-fe/model-driven-driven 2.7.0-alpha.17 → 2.7.0-alpha.19
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 +5 -18
- package/dist/esm/Designer.js +37 -141
- package/dist/esm/Driven.js +64 -80
- package/dist/esm/EventLogic.js +1 -1
- package/dist/esm/Store.js +23 -57
- package/dist/esm/constants.js +8 -8
- package/dist/esm/designerUtils.js +7 -6
- package/dist/esm/index.js +6 -6
- package/dist/esm/utils.js +75 -176
- package/dist/index.umd.js +3 -3
- package/dist/types/Driven.d.ts +2 -2
- package/dist/types/Store.d.ts +1 -1
- package/package.json +5 -5
package/dist/esm/Store.js
CHANGED
|
@@ -28,19 +28,6 @@ function _createClass(Constructor, protoProps, staticProps) {
|
|
|
28
28
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
29
29
|
return Constructor;
|
|
30
30
|
}
|
|
31
|
-
function _defineProperty(obj, key, value) {
|
|
32
|
-
if (key in obj) {
|
|
33
|
-
Object.defineProperty(obj, key, {
|
|
34
|
-
value: value,
|
|
35
|
-
enumerable: true,
|
|
36
|
-
configurable: true,
|
|
37
|
-
writable: true
|
|
38
|
-
});
|
|
39
|
-
} else {
|
|
40
|
-
obj[key] = value;
|
|
41
|
-
}
|
|
42
|
-
return obj;
|
|
43
|
-
}
|
|
44
31
|
function _iterableToArray(iter) {
|
|
45
32
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
46
33
|
}
|
|
@@ -88,57 +75,36 @@ function _unsupportedIterableToArray(o, minLen) {
|
|
|
88
75
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
89
76
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
90
77
|
}
|
|
91
|
-
import { isDataBind } from
|
|
92
|
-
import { hasChildrenControl, hasFooterControl, hasHeaderControl } from
|
|
93
|
-
import { CONTROL_BASE_TYPE, CONTROL_TYPE } from
|
|
78
|
+
import { isDataBind } from '@byteluck-fe/model-driven-core';
|
|
79
|
+
import { hasChildrenControl, hasFooterControl, hasHeaderControl } from './designerUtils';
|
|
80
|
+
import { CONTROL_BASE_TYPE, CONTROL_TYPE } from '@byteluck-fe/model-driven-shared';
|
|
94
81
|
// 维护当前selected,。。 selectedControlSetting
|
|
95
82
|
export var Store = /*#__PURE__*/ function() {
|
|
96
83
|
"use strict";
|
|
97
84
|
function Store(options) {
|
|
98
85
|
_classCallCheck(this, Store);
|
|
99
86
|
/**
|
|
100
|
-
* 页面控件实例树
|
|
101
|
-
* */ _defineProperty(this, "instance", void 0);
|
|
102
|
-
/**
|
|
103
|
-
* 拍平的控件数组
|
|
104
|
-
* */ _defineProperty(this, "flatInstances", void 0);
|
|
105
|
-
/**
|
|
106
|
-
* 控件id组成的map
|
|
107
|
-
* */ _defineProperty(this, "instanceIdMap", void 0);
|
|
108
|
-
/**
|
|
109
|
-
* dataCode和fieldCode组成的map
|
|
110
|
-
* {
|
|
111
|
-
* [主表dataCode]: {
|
|
112
|
-
* [fieldCode]: 控件
|
|
113
|
-
* },
|
|
114
|
-
* [子表dataCode]: {
|
|
115
|
-
* [fieldCode]: 控件
|
|
116
|
-
* }
|
|
117
|
-
* }
|
|
118
|
-
* */ _defineProperty(this, "dataFieldCodeMap", void 0);
|
|
119
|
-
/**
|
|
120
87
|
* 当前选中的控件
|
|
121
|
-
* */
|
|
88
|
+
* */ this.selected = null;
|
|
122
89
|
/**
|
|
123
90
|
* 当前选中的数据作用域控件
|
|
124
|
-
* */
|
|
125
|
-
|
|
91
|
+
* */ this.selectedInstanceDataScopeParent = null;
|
|
92
|
+
this.selectedDataScopeFlatInstances = [];
|
|
126
93
|
/**
|
|
127
94
|
* 当前选中控件的setting
|
|
128
|
-
* */
|
|
129
|
-
|
|
95
|
+
* */ this.selectedInstanceSetting = [];
|
|
96
|
+
this.selectedInstanceSettingItems = [];
|
|
130
97
|
/**
|
|
131
98
|
* 当前选中控件的数据模型
|
|
132
|
-
* */
|
|
99
|
+
* */ this.selectedFieldItem = null;
|
|
133
100
|
/**
|
|
134
101
|
* 扩展字段,比如appId,dataCode等
|
|
135
|
-
* */
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
this.getParentBeforeInstanceMove = (_options_getParentBeforeInstanceMove = options.getParentBeforeInstanceMove) !== null && _options_getParentBeforeInstanceMove !== void 0 ? _options_getParentBeforeInstanceMove : function(instance) {
|
|
102
|
+
* */ this.external = {};
|
|
103
|
+
this.movingInstance = null;
|
|
104
|
+
this.movingInstanceOldParent = null;
|
|
105
|
+
this.movingInstanceOldDataScopeParent = null;
|
|
106
|
+
var _getParentBeforeInstanceMove;
|
|
107
|
+
this.getParentBeforeInstanceMove = (_getParentBeforeInstanceMove = options.getParentBeforeInstanceMove) !== null && _getParentBeforeInstanceMove !== void 0 ? _getParentBeforeInstanceMove : function(instance) {
|
|
142
108
|
return instance.parent;
|
|
143
109
|
};
|
|
144
110
|
this.instance = options.instance;
|
|
@@ -191,8 +157,8 @@ export var Store = /*#__PURE__*/ function() {
|
|
|
191
157
|
this.selectedInstanceSetting = settings;
|
|
192
158
|
this.selectedInstanceSettingItems = [];
|
|
193
159
|
this.selectedInstanceSetting.forEach(function(group) {
|
|
194
|
-
var
|
|
195
|
-
(
|
|
160
|
+
var _selectedInstanceSettingItems;
|
|
161
|
+
(_selectedInstanceSettingItems = _this.selectedInstanceSettingItems).push.apply(_selectedInstanceSettingItems, _toConsumableArray(_this.getSettingItems(group)));
|
|
196
162
|
});
|
|
197
163
|
}
|
|
198
164
|
},
|
|
@@ -200,7 +166,7 @@ export var Store = /*#__PURE__*/ function() {
|
|
|
200
166
|
key: "getSettingItems",
|
|
201
167
|
value: function getSettingItems(group) {
|
|
202
168
|
// return group instanceof Group
|
|
203
|
-
return group.type ===
|
|
169
|
+
return group.type === 'group' ? group.items : group.items.reduce(function(result, curr) {
|
|
204
170
|
var _result;
|
|
205
171
|
(_result = result).push.apply(_result, _toConsumableArray(curr.items));
|
|
206
172
|
return result;
|
|
@@ -235,7 +201,7 @@ export var Store = /*#__PURE__*/ function() {
|
|
|
235
201
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
236
202
|
try {
|
|
237
203
|
for(var _iterator = map.entries()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
238
|
-
var
|
|
204
|
+
var _value = _slicedToArray(_step.value, 2), key = _value[0], value = _value[1];
|
|
239
205
|
if (value.id === instance.id) {
|
|
240
206
|
map.delete(key);
|
|
241
207
|
break;
|
|
@@ -313,9 +279,9 @@ export function loop(instances, callback) {
|
|
|
313
279
|
loop(item.props.headers, callback);
|
|
314
280
|
}
|
|
315
281
|
if (hasFooterControl(item)) {
|
|
316
|
-
var
|
|
317
|
-
var
|
|
318
|
-
loop((
|
|
282
|
+
var ref;
|
|
283
|
+
var ref1;
|
|
284
|
+
loop((ref1 = (ref = item.props) === null || ref === void 0 ? void 0 : ref.footers) !== null && ref1 !== void 0 ? ref1 : [], callback);
|
|
319
285
|
}
|
|
320
286
|
});
|
|
321
287
|
}
|
|
@@ -323,7 +289,7 @@ export function isDataScopeInstance(instance) {
|
|
|
323
289
|
return [
|
|
324
290
|
CONTROL_TYPE.SUBTABLE,
|
|
325
291
|
CONTROL_TYPE.DATA_VIEW,
|
|
326
|
-
CONTROL_TYPE.LIST_VIEW
|
|
292
|
+
CONTROL_TYPE.LIST_VIEW,
|
|
327
293
|
].includes(instance.type);
|
|
328
294
|
}
|
|
329
295
|
export function findInstanceDataScopeParent(instance) {
|
package/dist/esm/constants.js
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { CONTROL_TYPE, FieldTypes } from
|
|
1
|
+
import { CONTROL_TYPE, FieldTypes } from '@byteluck-fe/model-driven-shared';
|
|
2
2
|
// 使用ObjectDataBind 的控件
|
|
3
3
|
export var objectDataBindControlTypes = [
|
|
4
4
|
CONTROL_TYPE.AMOUNT,
|
|
5
5
|
CONTROL_TYPE.CALC,
|
|
6
|
-
CONTROL_TYPE.DATE_RANGE
|
|
6
|
+
CONTROL_TYPE.DATE_RANGE,
|
|
7
7
|
];
|
|
8
8
|
export var objectDataBindKeyToFieldType = {
|
|
9
9
|
amount: {
|
|
10
|
-
caption:
|
|
10
|
+
caption: '金额',
|
|
11
11
|
fieldType: FieldTypes.DECIMAL
|
|
12
12
|
},
|
|
13
13
|
currency: {
|
|
14
|
-
caption:
|
|
14
|
+
caption: '币种',
|
|
15
15
|
fieldType: FieldTypes.VARCHAR
|
|
16
16
|
},
|
|
17
17
|
result: {
|
|
18
|
-
caption:
|
|
18
|
+
caption: '结果',
|
|
19
19
|
fieldType: FieldTypes.DECIMAL
|
|
20
20
|
},
|
|
21
21
|
unit: {
|
|
22
|
-
caption:
|
|
22
|
+
caption: '单位',
|
|
23
23
|
fieldType: FieldTypes.VARCHAR
|
|
24
24
|
},
|
|
25
25
|
min: {
|
|
26
|
-
caption:
|
|
26
|
+
caption: '开始时间',
|
|
27
27
|
fieldType: FieldTypes.TIMESTAMP
|
|
28
28
|
},
|
|
29
29
|
max: {
|
|
30
|
-
caption:
|
|
30
|
+
caption: '结束时间',
|
|
31
31
|
fieldType: FieldTypes.TIMESTAMP
|
|
32
32
|
}
|
|
33
33
|
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { CONTROL_BASE_TYPE, CONTROL_TYPE, isArray } from
|
|
1
|
+
import { CONTROL_BASE_TYPE, CONTROL_TYPE, isArray } from '@byteluck-fe/model-driven-shared';
|
|
2
2
|
export function hasChildrenControl(instance) {
|
|
3
|
-
return
|
|
3
|
+
return 'children' in instance && isArray(instance.children);
|
|
4
4
|
}
|
|
5
5
|
export function hasHeaderControl(instance) {
|
|
6
|
-
return
|
|
6
|
+
return 'headers' in instance.props && isArray(instance.props.headers);
|
|
7
7
|
}
|
|
8
8
|
export function hasFooterControl(instance) {
|
|
9
|
-
return
|
|
9
|
+
return 'footers' in instance.props && isArray(instance.props.footers);
|
|
10
10
|
}
|
|
11
11
|
export function loopFormControl(control, callback) {
|
|
12
12
|
if (Array.isArray(control)) {
|
|
@@ -17,8 +17,9 @@ export function loopFormControl(control, callback) {
|
|
|
17
17
|
// @ts-ignore
|
|
18
18
|
loopFormControl(item.props.headers, callback);
|
|
19
19
|
} else if (hasChildrenControl(item)) {
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
var // @ts-ignore
|
|
21
|
+
ref;
|
|
22
|
+
loopFormControl((ref = (item)) === null || ref === void 0 ? void 0 : ref.children, callback);
|
|
22
23
|
// @ts-ignore
|
|
23
24
|
// } else if (item instanceof DesignerFormControl) {
|
|
24
25
|
} else if (item.controlType === CONTROL_BASE_TYPE.FORM) {
|
package/dist/esm/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import Designer from
|
|
1
|
+
import Designer from './Designer';
|
|
2
2
|
export { Designer };
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
7
|
-
export * from
|
|
3
|
+
export * from './utils';
|
|
4
|
+
export * from './Builder';
|
|
5
|
+
export * from './designerUtils';
|
|
6
|
+
export * from './Driven';
|
|
7
|
+
export * from './Store';
|
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
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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 +
|
|
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 =
|
|
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 +
|
|
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 ===
|
|
264
|
-
props.optionConfig =
|
|
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
|
|
275
|
-
if (!
|
|
180
|
+
var controlType1 = getColumnTypeFromFiledType(item.fieldType);
|
|
181
|
+
if (!controlType1) return;
|
|
276
182
|
// @ts-ignore
|
|
277
|
-
var
|
|
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
|
-
|
|
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
|
|
326
|
-
switch(
|
|
231
|
+
return regeneratorRuntime.wrap(function _callee$(_ctx) {
|
|
232
|
+
while(1)switch(_ctx.prev = _ctx.next){
|
|
327
233
|
case 0:
|
|
328
|
-
if (!Array.isArray(controls))
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
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
|
-
|
|
353
|
-
|
|
354
|
-
|
|
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
|
// 不可以被权限控制的控件
|
|
@@ -389,46 +288,46 @@ var cannotEditControlTypes = [
|
|
|
389
288
|
// 列表操作列单独处理三个按钮的权限
|
|
390
289
|
var LIST_OPERATION_BUTTON_PERMISSIONS_MAPS = {
|
|
391
290
|
check: {
|
|
392
|
-
id:
|
|
393
|
-
caption:
|
|
291
|
+
id: 'listPageCheckBtnId',
|
|
292
|
+
caption: '查看'
|
|
394
293
|
},
|
|
395
294
|
edit: {
|
|
396
|
-
id:
|
|
397
|
-
caption:
|
|
295
|
+
id: 'listPageEditBtnId',
|
|
296
|
+
caption: '编辑'
|
|
398
297
|
},
|
|
399
298
|
delete: {
|
|
400
|
-
id:
|
|
401
|
-
caption:
|
|
299
|
+
id: 'listPageDeleteBtnId',
|
|
300
|
+
caption: '删除'
|
|
402
301
|
}
|
|
403
302
|
};
|
|
404
303
|
// 生成权限字段
|
|
405
304
|
function generatePermissions(controls, parent) {
|
|
406
|
-
var
|
|
305
|
+
var result1 = [];
|
|
407
306
|
if (isArray(controls)) {
|
|
408
307
|
var _result;
|
|
409
|
-
(_result =
|
|
308
|
+
(_result = result1).push.apply(_result, _toConsumableArray(controls.map(function(item) {
|
|
410
309
|
return generatePermissions(item, parent);
|
|
411
310
|
}).flat()));
|
|
412
311
|
} else {
|
|
413
312
|
var type = controls.type;
|
|
414
|
-
var
|
|
313
|
+
var _props = controls.props, caption1 = _props.caption, content = _props.content;
|
|
415
314
|
var permissionItem;
|
|
416
315
|
if (!PermissionExcludeControlTypes.includes(type)) {
|
|
417
|
-
var
|
|
316
|
+
var ref;
|
|
418
317
|
permissionItem = {
|
|
419
318
|
controlId: controls.id,
|
|
420
|
-
caption:
|
|
319
|
+
caption: caption1 || content || controls.name,
|
|
421
320
|
type: controls.type,
|
|
422
321
|
controlType: controls.controlType,
|
|
423
|
-
parentId: (
|
|
322
|
+
parentId: (ref = parent === null || parent === void 0 ? void 0 : parent.controlId) !== null && ref !== void 0 ? ref : null,
|
|
424
323
|
canEdit: !cannotEditControlTypes.includes(type),
|
|
425
324
|
canRead: true,
|
|
426
325
|
canHide: true,
|
|
427
|
-
group:
|
|
326
|
+
group: 'element'
|
|
428
327
|
};
|
|
429
328
|
if (parent && parent.type === CONTROL_TYPE.SUBTABLE) {
|
|
430
329
|
// 如果有parent,则利用下划线拼接caption
|
|
431
|
-
permissionItem.caption = parent.caption +
|
|
330
|
+
permissionItem.caption = parent.caption + '_' + permissionItem.caption;
|
|
432
331
|
}
|
|
433
332
|
if (type === CONTROL_TYPE.VUE_FORM_ITEM) {
|
|
434
333
|
permissionItem.caption = controls.props.controlExportName || controls.name;
|
|
@@ -439,59 +338,59 @@ function generatePermissions(controls, parent) {
|
|
|
439
338
|
// ) {
|
|
440
339
|
if (controls.controlType === CONTROL_BASE_TYPE.FORM || controls.controlType === CONTROL_BASE_TYPE.COLUMN) {
|
|
441
340
|
var //@ts-ignore
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
if (((
|
|
445
|
-
permissionItem.group =
|
|
341
|
+
ref1, ref2, //@ts-ignore
|
|
342
|
+
ref3, ref4;
|
|
343
|
+
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) !== '') {
|
|
344
|
+
permissionItem.group = 'field';
|
|
446
345
|
}
|
|
447
346
|
}
|
|
448
|
-
|
|
347
|
+
result1.push(permissionItem);
|
|
449
348
|
//追加vue容器权限
|
|
450
349
|
if (type === CONTROL_TYPE.VUE_FORM_ITEM) {
|
|
451
|
-
var
|
|
452
|
-
var vueFormItemGroup =
|
|
453
|
-
if (((
|
|
454
|
-
vueFormItemGroup =
|
|
350
|
+
var ref5, ref6, ref7, ref8;
|
|
351
|
+
var vueFormItemGroup = 'element';
|
|
352
|
+
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) !== '') {
|
|
353
|
+
vueFormItemGroup = 'field';
|
|
455
354
|
}
|
|
456
|
-
var permissions = controls.props[
|
|
355
|
+
var permissions = controls.props['permissions'];
|
|
457
356
|
permissions === null || permissions === void 0 ? void 0 : permissions.map(function(item) {
|
|
458
|
-
var
|
|
357
|
+
var _id;
|
|
459
358
|
permissionItem = {
|
|
460
359
|
controlId: item.key,
|
|
461
360
|
caption: item.caption,
|
|
462
361
|
type: controls.type,
|
|
463
362
|
controlType: controls.controlType,
|
|
464
|
-
parentId: (
|
|
363
|
+
parentId: (_id = controls.id) !== null && _id !== void 0 ? _id : null,
|
|
465
364
|
canEdit: true,
|
|
466
365
|
canRead: true,
|
|
467
366
|
canHide: true,
|
|
468
367
|
group: vueFormItemGroup
|
|
469
368
|
};
|
|
470
|
-
|
|
369
|
+
result1.push(permissionItem);
|
|
471
370
|
});
|
|
472
371
|
}
|
|
473
372
|
} else if (type === CONTROL_TYPE.OPERATION_COLUMN) {
|
|
474
373
|
// 列表的操作列单独处理
|
|
475
374
|
Object.entries(LIST_OPERATION_BUTTON_PERMISSIONS_MAPS).reduce(function(result, param) {
|
|
476
|
-
var _param = _slicedToArray(param, 2), key = _param[0],
|
|
375
|
+
var _param = _slicedToArray(param, 2), key = _param[0], ref = _param[1], caption = ref.caption, controlId = ref.id;
|
|
477
376
|
var operationItem = controls.props[key];
|
|
478
377
|
if (operationItem && operationItem.isShow) {
|
|
479
|
-
var
|
|
378
|
+
var ref9;
|
|
480
379
|
// 只能控制是否显示
|
|
481
380
|
result.push({
|
|
482
381
|
controlId: controlId,
|
|
483
382
|
caption: caption,
|
|
484
383
|
type: controls.type,
|
|
485
384
|
controlType: controls.controlType,
|
|
486
|
-
parentId: (
|
|
385
|
+
parentId: (ref9 = parent === null || parent === void 0 ? void 0 : parent.controlId) !== null && ref9 !== void 0 ? ref9 : null,
|
|
487
386
|
canEdit: false,
|
|
488
387
|
canRead: false,
|
|
489
388
|
canHide: true,
|
|
490
|
-
group:
|
|
389
|
+
group: 'element'
|
|
491
390
|
});
|
|
492
391
|
}
|
|
493
392
|
return result;
|
|
494
|
-
},
|
|
393
|
+
}, result1);
|
|
495
394
|
}
|
|
496
395
|
// else if (type === CONTROL_TYPE.CUSTOM_COLUMN) {
|
|
497
396
|
// //追加自定义列上的vue容器权限
|
|
@@ -515,7 +414,7 @@ function generatePermissions(controls, parent) {
|
|
|
515
414
|
// }
|
|
516
415
|
if (controls.children) {
|
|
517
416
|
var _result1;
|
|
518
|
-
(_result1 =
|
|
417
|
+
(_result1 = result1).push.apply(_result1, _toConsumableArray(controls.children.map(function(item) {
|
|
519
418
|
return generatePermissions(item, parent);
|
|
520
419
|
}).flat()));
|
|
521
420
|
}
|
|
@@ -523,11 +422,11 @@ function generatePermissions(controls, parent) {
|
|
|
523
422
|
if (controls.controlType === CONTROL_BASE_TYPE.LIST) {
|
|
524
423
|
var // 明细子表和列表的需要给parentId
|
|
525
424
|
_result2;
|
|
526
|
-
(_result2 =
|
|
425
|
+
(_result2 = result1).push.apply(_result2, _toConsumableArray(controls.props.headers.map(function(item) {
|
|
527
426
|
return generatePermissions(item, permissionItem);
|
|
528
427
|
}).flat()));
|
|
529
428
|
}
|
|
530
429
|
}
|
|
531
|
-
return
|
|
430
|
+
return result1;
|
|
532
431
|
}
|
|
533
432
|
export { toSchema, getModelBindInfoList, checkSchema, generatePermissions };
|