@byteluck-fe/model-driven-core 2.7.0-alpha.0 → 2.7.0-alpha.1

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.
Files changed (43) hide show
  1. package/dist/esm/api-doc-index.js +4 -4
  2. package/dist/esm/common/BaseControl/designer.js +305 -225
  3. package/dist/esm/common/BaseControl/index.js +7 -7
  4. package/dist/esm/common/BaseControl/property.js +13 -10
  5. package/dist/esm/common/BaseControl/runtime.js +16 -16
  6. package/dist/esm/common/ColumnControl/designer.js +5 -5
  7. package/dist/esm/common/ColumnControl/index.js +6 -6
  8. package/dist/esm/common/ColumnControl/property.js +36 -36
  9. package/dist/esm/common/ColumnControl/runtime.js +5 -5
  10. package/dist/esm/common/ControlArray.js +8 -8
  11. package/dist/esm/common/FormControl/designer.js +8 -8
  12. package/dist/esm/common/FormControl/index.js +6 -6
  13. package/dist/esm/common/FormControl/property.js +66 -66
  14. package/dist/esm/common/FormControl/runtime.js +5 -5
  15. package/dist/esm/common/LayoutControl/designer.js +196 -102
  16. package/dist/esm/common/LayoutControl/index.js +6 -6
  17. package/dist/esm/common/LayoutControl/property.js +3 -3
  18. package/dist/esm/common/LayoutControl/runtime.js +7 -7
  19. package/dist/esm/common/ListControl/designer.js +184 -84
  20. package/dist/esm/common/ListControl/index.js +6 -6
  21. package/dist/esm/common/ListControl/property.js +5 -5
  22. package/dist/esm/common/ListControl/runtime.js +7 -7
  23. package/dist/esm/common/SearchViewControl/designer.js +5 -5
  24. package/dist/esm/common/SearchViewControl/index.js +6 -6
  25. package/dist/esm/common/SearchViewControl/property.js +4 -4
  26. package/dist/esm/common/SearchViewControl/runtime.js +5 -5
  27. package/dist/esm/common/Validator.js +5 -5
  28. package/dist/esm/common/WrapControl/designer.js +5 -5
  29. package/dist/esm/common/WrapControl/index.js +6 -6
  30. package/dist/esm/common/WrapControl/property.js +3 -3
  31. package/dist/esm/common/WrapControl/runtime.js +5 -5
  32. package/dist/esm/common/controlHooksEmitter.js +1 -1
  33. package/dist/esm/common/index.js +12 -12
  34. package/dist/esm/common/initLinkOperationRules.js +6 -6
  35. package/dist/esm/common/initOptionAndDataSourceRules.js +82 -82
  36. package/dist/esm/framework/RegisterControls.js +122 -179
  37. package/dist/esm/framework/index.js +336 -333
  38. package/dist/esm/index.js +3 -3
  39. package/dist/index.umd.js +1 -1
  40. package/dist/types/common/Validator.d.ts +1 -1
  41. package/dist/types/common/controlHooksEmitter.d.ts +1 -1
  42. package/dist/types/type.d.ts +23 -23
  43. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- export * from './framework/index';
2
- export { default as BaseControlProperty } from './common/BaseControl/property';
3
- export { default as ColumnControlProperty } from './common/ColumnControl/property';
4
- export { default as FormControlProperty } from './common/FormControl/property';
1
+ export * from "./framework/index";
2
+ export { default as BaseControlProperty } from "./common/BaseControl/property";
3
+ export { default as ColumnControlProperty } from "./common/ColumnControl/property";
4
+ export { default as FormControlProperty } from "./common/FormControl/property";
@@ -72,7 +72,7 @@ function _defineProperty(obj, key, value) {
72
72
  }
73
73
  function _instanceof(left, right) {
74
74
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
75
- return right[Symbol.hasInstance](left);
75
+ return !!right[Symbol.hasInstance](left);
76
76
  } else {
77
77
  return left instanceof right;
78
78
  }
@@ -102,7 +102,7 @@ function _objectSpread(target) {
102
102
  return target;
103
103
  }
104
104
  function _toArray(arr) {
105
- return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
105
+ return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();
106
106
  }
107
107
  function _toConsumableArray(arr) {
108
108
  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
@@ -115,11 +115,105 @@ function _unsupportedIterableToArray(o, minLen) {
115
115
  if (n === "Map" || n === "Set") return Array.from(n);
116
116
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
117
117
  }
118
- import regeneratorRuntime from "regenerator-runtime";
119
- import Property from './property';
120
- import { genNonDuplicateId, JSONCopy, referenceError, updateValueFromKeys } from '@byteluck-fe/model-driven-shared';
121
- import { createValidator } from '../Validator';
122
- import { controlHooksEmitter } from '../controlHooksEmitter';
118
+ var __generator = this && this.__generator || function(thisArg, body) {
119
+ var f, y, t, g, _ = {
120
+ label: 0,
121
+ sent: function() {
122
+ if (t[0] & 1) throw t[1];
123
+ return t[1];
124
+ },
125
+ trys: [],
126
+ ops: []
127
+ };
128
+ return g = {
129
+ next: verb(0),
130
+ "throw": verb(1),
131
+ "return": verb(2)
132
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
133
+ return this;
134
+ }), g;
135
+ function verb(n) {
136
+ return function(v) {
137
+ return step([
138
+ n,
139
+ v
140
+ ]);
141
+ };
142
+ }
143
+ function step(op) {
144
+ if (f) throw new TypeError("Generator is already executing.");
145
+ while(_)try {
146
+ 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;
147
+ if (y = 0, t) op = [
148
+ op[0] & 2,
149
+ t.value
150
+ ];
151
+ switch(op[0]){
152
+ case 0:
153
+ case 1:
154
+ t = op;
155
+ break;
156
+ case 4:
157
+ _.label++;
158
+ return {
159
+ value: op[1],
160
+ done: false
161
+ };
162
+ case 5:
163
+ _.label++;
164
+ y = op[1];
165
+ op = [
166
+ 0
167
+ ];
168
+ continue;
169
+ case 7:
170
+ op = _.ops.pop();
171
+ _.trys.pop();
172
+ continue;
173
+ default:
174
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
175
+ _ = 0;
176
+ continue;
177
+ }
178
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
179
+ _.label = op[1];
180
+ break;
181
+ }
182
+ if (op[0] === 6 && _.label < t[1]) {
183
+ _.label = t[1];
184
+ t = op;
185
+ break;
186
+ }
187
+ if (t && _.label < t[2]) {
188
+ _.label = t[2];
189
+ _.ops.push(op);
190
+ break;
191
+ }
192
+ if (t[2]) _.ops.pop();
193
+ _.trys.pop();
194
+ continue;
195
+ }
196
+ op = body.call(thisArg, _);
197
+ } catch (e) {
198
+ op = [
199
+ 6,
200
+ e
201
+ ];
202
+ y = 0;
203
+ } finally{
204
+ f = t = 0;
205
+ }
206
+ if (op[0] & 5) throw op[1];
207
+ return {
208
+ value: op[0] ? op[1] : void 0,
209
+ done: true
210
+ };
211
+ }
212
+ };
213
+ import Property from "./property";
214
+ import { genNonDuplicateId, JSONCopy, referenceError, updateValueFromKeys } from "@byteluck-fe/model-driven-shared";
215
+ import { createValidator } from "../Validator";
216
+ import { controlHooksEmitter } from "../controlHooksEmitter";
123
217
  var Control = /*#__PURE__*/ function _target() {
124
218
  "use strict";
125
219
  function Control(props) {
@@ -131,243 +225,229 @@ var Control = /*#__PURE__*/ function _target() {
131
225
  this.parent = null;
132
226
  this.updateSetting = updateSetting;
133
227
  this.removeSetting = removeSetting;
134
- this._callControlHooks('preInstance', props);
135
- var ref = _instanceof(this, Control) ? this.constructor : void 0, controlName = ref.controlName, controlIcon = ref.controlIcon, controlType = ref.controlType, controlFieldType = ref.controlFieldType, controlEventKeys = ref.controlEventKeys, controlCustomEvents = ref.controlCustomEvents, name = ref.name, setting = ref.setting;
228
+ this._callControlHooks("preInstance", props);
229
+ var _ref = _instanceof(this, Control) ? this.constructor : void 0, controlName = _ref.controlName, controlIcon = _ref.controlIcon, controlType = _ref.controlType, controlFieldType = _ref.controlFieldType, controlEventKeys = _ref.controlEventKeys, controlCustomEvents = _ref.controlCustomEvents, name = _ref.name, setting = _ref.setting;
136
230
  if (!(controlName && controlIcon && controlType)) {
137
231
  referenceError("The ".concat(name, " controlName,controlIcon,controlType is not define"));
138
232
  }
139
- var ref1;
140
- this.id = (ref1 = props === null || props === void 0 ? void 0 : props.id) !== null && ref1 !== void 0 ? ref1 : genNonDuplicateId(10);
233
+ var _props_id;
234
+ this.id = (_props_id = props === null || props === void 0 ? void 0 : props.id) !== null && _props_id !== void 0 ? _props_id : genNonDuplicateId(10);
141
235
  this.name = controlName;
142
236
  this.icon = controlIcon;
143
- var ref2;
144
- this.type = (ref2 = props === null || props === void 0 ? void 0 : props.type) !== null && ref2 !== void 0 ? ref2 : controlType;
237
+ var _props_type;
238
+ this.type = (_props_type = props === null || props === void 0 ? void 0 : props.type) !== null && _props_type !== void 0 ? _props_type : controlType;
145
239
  this.props = new Property(props === null || props === void 0 ? void 0 : props.props, (_instanceof(this, Control) ? this.constructor : void 0).controlName);
146
- var ref3;
147
- this.controlType = (ref3 = props === null || props === void 0 ? void 0 : props.controlType) !== null && ref3 !== void 0 ? ref3 : 'base';
240
+ var _props_controlType;
241
+ this.controlType = (_props_controlType = props === null || props === void 0 ? void 0 : props.controlType) !== null && _props_controlType !== void 0 ? _props_controlType : "base";
148
242
  this.setting = JSONCopy(setting);
149
- var ref4;
150
- this.fieldType = (ref4 = props === null || props === void 0 ? void 0 : props.fieldType) !== null && ref4 !== void 0 ? ref4 : controlFieldType;
243
+ var _props_fieldType;
244
+ this.fieldType = (_props_fieldType = props === null || props === void 0 ? void 0 : props.fieldType) !== null && _props_fieldType !== void 0 ? _props_fieldType : controlFieldType;
151
245
  this.eventKeys = JSONCopy(controlEventKeys);
152
246
  this.customEvents = JSONCopy(controlCustomEvents);
153
247
  Promise.resolve().then(function() {
154
- _this._callControlHooks('postInstance', props);
248
+ _this._callControlHooks("postInstance", props);
155
249
  });
156
250
  }
157
- _createClass(Control, [
158
- {
159
- key: "rules",
160
- get: function get() {
161
- var Rules = this.props.constructor.Rules;
162
- if (Rules) {
163
- return new Rules(this.props);
164
- }
165
- return {};
166
- }
167
- },
168
- {
169
- key: "_callControlHooks",
170
- value: function _callControlHooks() {
171
- for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
172
- args[_key] = arguments[_key];
251
+ var _proto = Control.prototype;
252
+ _proto._callControlHooks = function _callControlHooks() {
253
+ for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
254
+ args[_key] = arguments[_key];
255
+ }
256
+ var _controlHooksEmitter;
257
+ var _args = _toArray(args), key = _args[0], arg = _args.slice(1);
258
+ return (_controlHooksEmitter = controlHooksEmitter).emit.apply(_controlHooksEmitter, [
259
+ key,
260
+ this
261
+ ].concat(_toConsumableArray(arg)));
262
+ };
263
+ _proto.preUpdate = function preUpdate(key, value) {
264
+ // 在修改props之前
265
+ this._callControlHooks("preUpdateProps", key, value);
266
+ };
267
+ _proto.postUpdate = function postUpdate(key, value) {
268
+ // 在修改props之后
269
+ this._callControlHooks("postUpdateProps", key, value);
270
+ };
271
+ // 修改实例上的props,key可以是caption,caption.zh...
272
+ _proto.updateProps = function updateProps(key, value) {
273
+ this.preUpdate(key, value);
274
+ updateValueFromKeys(this.props, key, value);
275
+ this.postUpdate(key, value);
276
+ };
277
+ _proto.preValidate = function preValidate() {
278
+ var _this = this;
279
+ return _asyncToGenerator(function() {
280
+ var rules, results, result;
281
+ return __generator(this, function(_state) {
282
+ switch(_state.label){
283
+ case 0:
284
+ rules = _objectSpread({}, _this.rules);
285
+ return [
286
+ 4,
287
+ _this._callControlHooks("preValidate", rules)
288
+ ];
289
+ case 1:
290
+ results = _state.sent();
291
+ result = results[results.length - 1];
292
+ return [
293
+ 2,
294
+ result === false ? undefined : result
295
+ ];
173
296
  }
174
- var _controlHooksEmitter;
175
- var _args = _toArray(args), key = _args[0], arg = _args.slice(1);
176
- return (_controlHooksEmitter = controlHooksEmitter).emit.apply(_controlHooksEmitter, [
177
- key,
178
- this
179
- ].concat(_toConsumableArray(arg)));
180
- }
181
- },
182
- {
183
- key: "preUpdate",
184
- value: function preUpdate(key, value) {
185
- // 在修改props之前
186
- this._callControlHooks('preUpdateProps', key, value);
187
- }
188
- },
189
- {
190
- key: "postUpdate",
191
- value: function postUpdate(key, value) {
192
- // 在修改props之后
193
- this._callControlHooks('postUpdateProps', key, value);
194
- }
195
- },
196
- {
197
- key: "updateProps",
198
- value: // 修改实例上的props,key可以是caption,caption.zh...
199
- function updateProps(key, value) {
200
- this.preUpdate(key, value);
201
- updateValueFromKeys(this.props, key, value);
202
- this.postUpdate(key, value);
203
- }
204
- },
205
- {
206
- key: "preValidate",
207
- value: function preValidate() {
208
- var _this = this;
209
- return _asyncToGenerator(regeneratorRuntime.mark(function _callee() {
210
- var rules, results, result;
211
- return regeneratorRuntime.wrap(function _callee$(_ctx) {
212
- while(1)switch(_ctx.prev = _ctx.next){
213
- case 0:
214
- rules = _objectSpread({}, _this.rules);
215
- _ctx.next = 3;
216
- return _this._callControlHooks('preValidate', rules);
217
- case 3:
218
- results = _ctx.sent;
219
- result = results[results.length - 1];
220
- return _ctx.abrupt("return", result === false ? undefined : result);
221
- case 6:
222
- case "end":
223
- return _ctx.stop();
224
- }
225
- }, _callee);
226
- }))();
227
- }
228
- },
229
- {
230
- key: "validate",
231
- value: // property校验
232
- function validate(messages, ignore) {
233
- var _this = this;
234
- return _asyncToGenerator(regeneratorRuntime.mark(function _callee() {
235
- var result, rules, validator;
236
- return regeneratorRuntime.wrap(function _callee$(_ctx) {
237
- while(1)switch(_ctx.prev = _ctx.next){
238
- case 0:
239
- _ctx.next = 2;
240
- return _this.preValidate();
241
- case 2:
242
- result = _ctx.sent;
243
- rules = result !== undefined ? result : _objectSpread({}, _this.rules);
244
- if (Array.isArray(ignore)) {
245
- ignore.forEach(function(key) {
246
- if (rules.hasOwnProperty(key)) {
247
- delete rules[key];
248
- }
249
- });
250
- }
251
- validator = createValidator(rules, messages);
252
- _ctx.prev = 6;
253
- _ctx.next = 9;
254
- return validator.validate(_this.props);
255
- case 9:
256
- return _ctx.abrupt("return", true);
257
- case 12:
258
- _ctx.prev = 12;
259
- _ctx.t0 = _ctx["catch"](6);
260
- if (!_ctx.t0.control) {
261
- _ctx.t0.control = _this;
297
+ });
298
+ })();
299
+ };
300
+ // property校验
301
+ _proto.validate = function validate(messages, ignore) {
302
+ var _this = this;
303
+ return _asyncToGenerator(function() {
304
+ var result, rules, validator, err;
305
+ return __generator(this, function(_state) {
306
+ switch(_state.label){
307
+ case 0:
308
+ return [
309
+ 4,
310
+ _this.preValidate()
311
+ ];
312
+ case 1:
313
+ result = _state.sent();
314
+ rules = result !== undefined ? result : _objectSpread({}, _this.rules);
315
+ if (Array.isArray(ignore)) {
316
+ ignore.forEach(function(key) {
317
+ if (rules.hasOwnProperty(key)) {
318
+ delete rules[key];
262
319
  }
263
- throw _ctx.t0;
264
- case 16:
265
- case "end":
266
- return _ctx.stop();
320
+ });
267
321
  }
268
- }, _callee, null, [
269
- [
270
- 6,
271
- 12
272
- ]
273
- ]);
274
- }))();
275
- }
276
- },
277
- {
278
- key: "toDataBindModel",
279
- value: function toDataBindModel() {
280
- var parentId = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
281
- var fieldType = this.fieldType;
282
- var controlId = this.id;
283
- var type = this.type;
284
- var _props = this.props, dataBind = _props.dataBind, datasourceBind = _props.datasourceBind, optionConfig = _props.optionConfig, caption = _props.caption, required = _props.required, maxLength = _props.maxLength, options = _props.options, encrypted = _props.encrypted, encryptedMode = _props.encryptedMode;
285
- if (!fieldType && !dataBind && !datasourceBind) return;
286
- var dataBindModelType = {
287
- parentId: parentId,
288
- fieldType: fieldType,
289
- controlId: controlId,
290
- caption: caption,
291
- type: type,
292
- props: {}
293
- };
294
- if (dataBind) {
295
- dataBindModelType.dataBind = dataBind;
296
- }
297
- switch(optionConfig){
298
- case 'datasource':
299
- case undefined:
300
- if (datasourceBind) {
301
- dataBindModelType.datasourceBind = datasourceBind;
322
+ validator = createValidator(rules, messages);
323
+ _state.label = 2;
324
+ case 2:
325
+ _state.trys.push([
326
+ 2,
327
+ 4,
328
+ ,
329
+ 5
330
+ ]);
331
+ return [
332
+ 4,
333
+ validator.validate(_this.props)
334
+ ];
335
+ case 3:
336
+ _state.sent();
337
+ return [
338
+ 2,
339
+ true
340
+ ];
341
+ case 4:
342
+ err = _state.sent();
343
+ if (!err.control) {
344
+ err.control = _this;
302
345
  }
303
- break;
304
- case 'custom':
305
- dataBindModelType.props.options = options;
306
- break;
307
- }
308
- if (required !== undefined) {
309
- dataBindModelType.required = required;
346
+ throw err;
347
+ case 5:
348
+ return [
349
+ 2
350
+ ];
310
351
  }
311
- if (maxLength !== undefined) {
312
- dataBindModelType.maxLength = maxLength;
313
- }
314
- if (encrypted !== undefined) {
315
- dataBindModelType.encrypted = encrypted;
316
- }
317
- if (encryptedMode !== undefined) {
318
- dataBindModelType.encryptedMode = encryptedMode;
352
+ });
353
+ })();
354
+ };
355
+ _proto.toDataBindModel = function toDataBindModel() {
356
+ var parentId = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
357
+ var fieldType = this.fieldType;
358
+ var controlId = this.id;
359
+ var type = this.type;
360
+ var _this_props = this.props, dataBind = _this_props.dataBind, datasourceBind = _this_props.datasourceBind, optionConfig = _this_props.optionConfig, caption = _this_props.caption, required = _this_props.required, maxLength = _this_props.maxLength, options = _this_props.options, encrypted = _this_props.encrypted, encryptedMode = _this_props.encryptedMode;
361
+ if (!fieldType && !dataBind && !datasourceBind) return;
362
+ var dataBindModelType = {
363
+ parentId: parentId,
364
+ fieldType: fieldType,
365
+ controlId: controlId,
366
+ caption: caption,
367
+ type: type,
368
+ props: {}
369
+ };
370
+ if (dataBind) {
371
+ dataBindModelType.dataBind = dataBind;
372
+ }
373
+ switch(optionConfig){
374
+ case "datasource":
375
+ case undefined:
376
+ if (datasourceBind) {
377
+ dataBindModelType.datasourceBind = datasourceBind;
319
378
  }
320
- return dataBindModelType;
321
- }
322
- },
323
- {
324
- key: "preToSchema",
325
- value: function preToSchema() {
326
- // 在处理Schema之前,预留的钩子函数,允许在toSchema之前处理一些数据
327
- this._callControlHooks('preToSchema', this);
328
- }
329
- },
330
- {
331
- key: "toSchema",
332
- value: function toSchema() {
333
- this.preToSchema();
334
- return {
335
- id: this.id,
336
- type: this.type,
337
- props: JSONCopy(this.props),
338
- fieldType: this.fieldType,
339
- controlType: this.controlType
340
- };
341
- }
379
+ break;
380
+ case "custom":
381
+ dataBindModelType.props.options = options;
382
+ break;
383
+ }
384
+ if (required !== undefined) {
385
+ dataBindModelType.required = required;
386
+ }
387
+ if (maxLength !== undefined) {
388
+ dataBindModelType.maxLength = maxLength;
389
+ }
390
+ if (encrypted !== undefined) {
391
+ dataBindModelType.encrypted = encrypted;
392
+ }
393
+ if (encryptedMode !== undefined) {
394
+ dataBindModelType.encryptedMode = encryptedMode;
395
+ }
396
+ return dataBindModelType;
397
+ };
398
+ _proto.preToSchema = function preToSchema() {
399
+ // 在处理Schema之前,预留的钩子函数,允许在toSchema之前处理一些数据
400
+ this._callControlHooks("preToSchema", this);
401
+ };
402
+ _proto.toSchema = function toSchema() {
403
+ this.preToSchema();
404
+ return {
405
+ id: this.id,
406
+ type: this.type,
407
+ props: JSONCopy(this.props),
408
+ fieldType: this.fieldType,
409
+ controlType: this.controlType
410
+ };
411
+ };
412
+ Control.updateBasicControl = function updateBasicControl(key, setting) {
413
+ if (key !== "setting") return;
414
+ if (setting.add) {
415
+ var _this_setting;
416
+ (_this_setting = this.setting).push.apply(_this_setting, _toConsumableArray(setting.add));
417
+ }
418
+ if (setting.remove) {
419
+ this.removeSettingItem(setting.remove);
420
+ }
421
+ if (setting.update) {
422
+ // this.updateSettingItem(setting.update, false)
342
423
  }
343
- ], [
424
+ };
425
+ _createClass(Control, [
344
426
  {
345
- key: "updateBasicControl",
346
- value: function updateBasicControl(key, setting) {
347
- if (key !== 'setting') return;
348
- if (setting.add) {
349
- var _setting;
350
- (_setting = this.setting).push.apply(_setting, _toConsumableArray(setting.add));
351
- }
352
- if (setting.remove) {
353
- this.removeSettingItem(setting.remove);
354
- }
355
- if (setting.update) {
356
- // this.updateSettingItem(setting.update, false)
427
+ key: "rules",
428
+ get: function get() {
429
+ var Rules = this.props.constructor.Rules;
430
+ if (Rules) {
431
+ return new Rules(this.props);
357
432
  }
433
+ return {};
358
434
  }
359
435
  }
360
436
  ]);
361
437
  return Control;
362
438
  }();
363
- Control.controlName = '控件';
364
- Control.controlIcon = 'icon';
365
- Control.controlType = 'control';
439
+ Control.controlName = "控件";
440
+ Control.controlIcon = "icon";
441
+ Control.controlType = "control";
442
+ // 控件可以触发的事件key
366
443
  Control.controlEventKeys = [];
367
444
  Control.controlCustomEvents = [];
445
+ // setting应该是全量的设置项,外部控制,在初始化的时候会deepCopy一份
368
446
  Control.setting = [];
369
447
  Control.__is_control__ = true;
448
+ // 删除指定的settingItem
370
449
  Control.removeSettingItem = removeSetting;
450
+ // 修改指定的settingItem的visible
371
451
  Control.updateSettingItem = updateSetting;
372
452
  export default Control;
373
453
  export { Control as DesignerControl };
@@ -382,20 +462,20 @@ export { Control as DesignerControl };
382
462
  ];
383
463
  deleteKeys.forEach(function(deleteKey) {
384
464
  // 是否存在子项
385
- var isHasItem = typeof deleteKey !== 'string';
465
+ var isHasItem = typeof deleteKey !== "string";
386
466
  // @ts-ignore
387
467
  var settingIndex = _this.setting.findIndex(function(option) {
388
468
  return option.key === (isHasItem ? deleteKey.key : deleteKey);
389
469
  });
390
470
  // 移除对应选项
391
471
  if (settingIndex !== -1) {
392
- var ref, ref5;
393
- isHasItem ? _this.setting[settingIndex].showItems = (ref = _this.setting[settingIndex].showItems) === null || ref === void 0 ? void 0 : ref.filter(function(item) {
472
+ var _this_setting_settingIndex_showItems, _this_setting_settingIndex_showItems1;
473
+ isHasItem ? _this.setting[settingIndex].showItems = (_this_setting_settingIndex_showItems = _this.setting[settingIndex].showItems) === null || _this_setting_settingIndex_showItems === void 0 ? void 0 : _this_setting_settingIndex_showItems.filter(function(item) {
394
474
  return !deleteKey.hideItems.includes(item);
395
475
  }) : _this.setting.splice(settingIndex, 1);
396
476
  // 子项长度为0,自动移除当前设置项
397
477
  isHasItem && // @ts-ignore
398
- !((ref5 = _this.setting[settingIndex].showItems) === null || ref5 === void 0 ? void 0 : ref5.length) && // @ts-ignore
478
+ !((_this_setting_settingIndex_showItems1 = _this.setting[settingIndex].showItems) === null || _this_setting_settingIndex_showItems1 === void 0 ? void 0 : _this_setting_settingIndex_showItems1.length) && // @ts-ignore
399
479
  _this.setting.splice(settingIndex, 1);
400
480
  }
401
481
  });
@@ -409,7 +489,7 @@ export { Control as DesignerControl };
409
489
  * @param value.type 默认是replace替换,可以更改为push新增
410
490
  * */ function updateSetting(settingKey, value) {
411
491
  var _this = this;
412
- var keys = typeof settingKey === 'string' ? [
492
+ var keys = typeof settingKey === "string" ? [
413
493
  settingKey
414
494
  ] : settingKey;
415
495
  keys.forEach(function(key) {
@@ -418,16 +498,16 @@ export { Control as DesignerControl };
418
498
  return item.key === key;
419
499
  });
420
500
  if (settingItem) {
421
- if (typeof value === 'boolean') {
501
+ if (typeof value === "boolean") {
422
502
  settingItem.visible = value;
423
- } else if (typeof value === 'object') {
424
- var _type;
425
- var type = (_type = value.type) !== null && _type !== void 0 ? _type : 'replace';
426
- if (type === 'replace') {
503
+ } else if (typeof value === "object") {
504
+ var _value_type;
505
+ var type = (_value_type = value.type) !== null && _value_type !== void 0 ? _value_type : "replace";
506
+ if (type === "replace") {
427
507
  settingItem.showItems = value.showItems;
428
508
  } else {
429
- var _showItems;
430
- (_showItems = settingItem.showItems).push.apply(_showItems, _toConsumableArray(value.showItems));
509
+ var _settingItem_showItems;
510
+ (_settingItem_showItems = settingItem.showItems).push.apply(_settingItem_showItems, _toConsumableArray(value.showItems));
431
511
  }
432
512
  }
433
513
  }
@@ -1,12 +1,12 @@
1
- import Designer from './designer';
2
- import Runtime from './runtime';
3
- import Property from './property';
1
+ import Designer from "./designer";
2
+ import Runtime from "./runtime";
3
+ import Property from "./property";
4
4
  export default {
5
5
  Designer: Designer,
6
6
  Runtime: Runtime,
7
7
  Property: Property
8
8
  };
9
- export * from './designer';
10
- export * from './runtime';
11
- export * from './property';
12
- export * from './types';
9
+ export * from "./designer";
10
+ export * from "./runtime";
11
+ export * from "./property";
12
+ export * from "./types";