tuain-ng-forms-lib 17.0.0 → 17.1.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 (28) hide show
  1. package/esm2022/lib/classes/forms/action.mjs +66 -40
  2. package/esm2022/lib/classes/forms/element.mjs +8 -3
  3. package/esm2022/lib/classes/forms/field.mjs +81 -71
  4. package/esm2022/lib/classes/forms/section.mjs +51 -39
  5. package/esm2022/lib/classes/forms/subsection.mjs +45 -27
  6. package/esm2022/lib/classes/forms/table/table.mjs +124 -82
  7. package/esm2022/lib/components/elements/action.component.mjs +29 -19
  8. package/esm2022/lib/components/elements/field.component.mjs +56 -69
  9. package/esm2022/lib/components/elements/layout/piece.component.mjs +43 -19
  10. package/esm2022/lib/components/elements/layout/section.component.mjs +21 -13
  11. package/esm2022/lib/components/elements/layout/sub-section.component.mjs +21 -13
  12. package/esm2022/lib/components/elements/tables/table-record-action.component.mjs +15 -11
  13. package/esm2022/lib/components/elements/tables/table.component.mjs +38 -35
  14. package/fesm2022/tuain-ng-forms-lib.mjs +583 -426
  15. package/fesm2022/tuain-ng-forms-lib.mjs.map +1 -1
  16. package/lib/classes/forms/action.d.ts +30 -14
  17. package/lib/classes/forms/field.d.ts +9 -4
  18. package/lib/classes/forms/section.d.ts +18 -6
  19. package/lib/classes/forms/subsection.d.ts +28 -10
  20. package/lib/classes/forms/table/table.d.ts +63 -21
  21. package/lib/components/elements/action.component.d.ts +8 -1
  22. package/lib/components/elements/field.component.d.ts +21 -15
  23. package/lib/components/elements/layout/piece.component.d.ts +8 -4
  24. package/lib/components/elements/layout/section.component.d.ts +1 -0
  25. package/lib/components/elements/layout/sub-section.component.d.ts +1 -0
  26. package/lib/components/elements/tables/table-record-action.component.d.ts +1 -1
  27. package/lib/components/elements/tables/table.component.d.ts +12 -5
  28. package/package.json +1 -1
@@ -2,60 +2,84 @@ import { Subject } from 'rxjs';
2
2
  import { elementTypes } from './form.constants';
3
3
  import { FormElement } from './element';
4
4
  const HEADER = 'HEADER';
5
+ const attrs = {
6
+ actionCode: { name: '_actionCode', propagate: 'actionCode' },
7
+ actionName: { name: '_actionName', propagate: 'actionName' },
8
+ iconName: { name: '_iconName', propagate: 'iconName' },
9
+ inProgress: { name: '_inProgress', propagate: 'inProgress' },
10
+ restrictedOnField: { name: '_restrictedOnField', propagate: 'restrictedOnField' },
11
+ restrictedOnOperator: { name: '_restrictedOnOperator', propagate: 'restrictedOnOperator' },
12
+ restrictedOnValue: { name: '_restrictedOnValue', propagate: 'restrictedOnValue' },
13
+ };
5
14
  export class FormAction extends FormElement {
6
15
  _actionActivated = new Subject();
7
- actionCode;
8
- actionName;
9
- iconName;
10
- inProgress = false;
11
- newState;
12
- backend;
13
- restrictedOnField = null;
14
- restrictedOnOperator = null;
15
- restrictedOnValue = null;
16
- customValidation;
16
+ _actionCode = '';
17
+ _actionName = '';
18
+ _iconName = '';
19
+ _inProgress = false;
20
+ _newState;
21
+ _backend;
22
+ _restrictedOnField = null;
23
+ _restrictedOnOperator = null;
24
+ _restrictedOnValue = null;
17
25
  constructor(actionDefinition, formConfig) {
18
26
  super(actionDefinition, formConfig);
19
27
  this.propagationCustomAttributes = this._formConfig?.propagationCustomAttributes?.actions ?? [];
20
28
  this.elementType = elementTypes.action;
21
- this.actionCode = actionDefinition.actionCode ? actionDefinition.actionCode.toString() : '';
22
- this.actionName = actionDefinition.actionTitle;
23
- this.iconName = actionDefinition.iconName || this.actionCode;
24
- this.setCustomAttribute('location', actionDefinition.position || HEADER);
25
- this.backend = actionDefinition?.serverAction ?? false;
26
- this.newState = actionDefinition?.newState;
27
- this.restrictedOnField = actionDefinition.fieldRestrictedCode?.toString() ?? null;
28
- if (this.restrictedOnField) {
29
- this.restrictedOnOperator = actionDefinition.operatorRestricted || '';
30
- this.restrictedOnValue = actionDefinition.valueRestricted ?? '';
29
+ this.setAttr(attrs.actionCode, actionDefinition.actionCode ? actionDefinition.actionCode.toString() : '');
30
+ this.setAttr(attrs.actionName, actionDefinition.actionTitle);
31
+ this.setAttr(attrs.iconName, actionDefinition.iconName || this._actionCode);
32
+ this.setAttr(attrs.restrictedOnField, actionDefinition.fieldRestrictedCode?.toString() ?? null);
33
+ if (this._restrictedOnField) {
34
+ this.setAttr(attrs.restrictedOnOperator, actionDefinition.operatorRestricted || '');
35
+ this.setAttr(attrs.restrictedOnValue, actionDefinition.valueRestricted ?? '');
31
36
  }
32
- this.customValidation = () => true;
37
+ this._backend = actionDefinition?.serverAction ?? false;
38
+ this._newState = actionDefinition?.newState;
39
+ this.setCustomAttribute('location', actionDefinition.position || HEADER);
33
40
  }
41
+ get actionCode() { return this._actionCode; }
42
+ get actionName() { return this._actionName; }
43
+ get iconName() { return this._iconName; }
44
+ get inProgress() { return this._inProgress; }
45
+ get newState() { return this._newState; }
46
+ get backend() { return this._backend; }
47
+ get restrictedOnField() { return this._restrictedOnField; }
48
+ get restrictedOnOperator() { return this._restrictedOnOperator; }
49
+ get restrictedOnValue() { return this._restrictedOnValue; }
50
+ set actionCode(actionCode) { this.setAttr(attrs.actionCode, actionCode); }
51
+ set actionName(actionName) { this.setAttr(attrs.actionName, actionName); }
52
+ set iconName(iconName) { this.setAttr(attrs.iconName, iconName); }
53
+ set inProgress(inProgress) { this.setAttr(attrs.inProgress, inProgress); }
54
+ set newState(newState) { this._newState, newState; }
55
+ set backend(backend) { this._backend, backend; }
56
+ set restrictedOnField(restrictedOnField) { this.setAttr(attrs.restrictedOnField, restrictedOnField); }
57
+ set restrictedOnOperator(restrictedOnOperator) { this.setAttr(attrs.restrictedOnOperator, restrictedOnOperator); }
58
+ set restrictedOnValue(restrictedOnValue) { this.setAttr(attrs.restrictedOnValue, restrictedOnValue); }
59
+ start() { this.inProgress = true; }
60
+ stop() { this.inProgress = false; }
34
61
  connectWithParentForm(form, formChangeSubject) {
35
62
  super.connectWithParentForm(form, formChangeSubject);
36
- if (this.restrictedOnField) {
37
- const relatedField = this._form.fields?.[this.restrictedOnField];
63
+ if (this._restrictedOnField) {
64
+ const relatedField = this._form.fields?.[this._restrictedOnField];
38
65
  if (relatedField) {
39
- relatedField.editionFinish.subscribe(event => this.updateRestrictedVisibility());
40
- relatedField.editionPartial.subscribe(event => this.updateRestrictedVisibility());
66
+ relatedField.editionFinish.subscribe(event => this.updateRestrictedVisibility(event));
67
+ relatedField.editionPartial.subscribe(event => this.updateRestrictedVisibility(event));
41
68
  }
42
69
  }
43
70
  }
44
- updateRestrictedVisibility() {
45
- const lastVisible = this._visible;
71
+ updateRestrictedVisibility(event) {
46
72
  const newVisible = this._absoluteVisible && this.viewOnState(this._formState);
47
- if (lastVisible !== newVisible) {
48
- this.setVisibility(newVisible);
49
- }
73
+ (this._visible !== newVisible) && this.setVisibility(newVisible);
50
74
  }
51
75
  viewOnState(state) {
52
76
  const actionVisible = (this.visibleStates && state) ? this.visibleStates.includes(state) : false;
53
- if (actionVisible && this._form && this.restrictedOnField) {
54
- const relatedField = this._form.fields?.[this.restrictedOnField];
77
+ if (actionVisible && this._form && this._restrictedOnField) {
78
+ const relatedField = this._form.fields?.[this._restrictedOnField];
55
79
  if (relatedField) {
56
80
  const fieldValue = relatedField.value;
57
- if ((this.restrictedOnOperator === '==' && fieldValue !== this.restrictedOnValue)
58
- || (this.restrictedOnOperator === '!=' && fieldValue === this.restrictedOnValue)) {
81
+ if ((this._restrictedOnOperator === '==' && fieldValue !== this._restrictedOnValue)
82
+ || (this._restrictedOnOperator === '!=' && fieldValue === this._restrictedOnValue)) {
59
83
  return false;
60
84
  }
61
85
  }
@@ -63,16 +87,18 @@ export class FormAction extends FormElement {
63
87
  return actionVisible;
64
88
  }
65
89
  get actionActivated() { return this._actionActivated; }
66
- start() { this.inProgress = true; }
67
- stop() { this.inProgress = false; }
68
- notifyActivation() { this._actionActivated.next(this.actionCode); }
90
+ notifyActivation() { this._actionActivated.next(this._actionCode); }
69
91
  updateFromServer(receivedAction) {
70
92
  for (const propertyName in receivedAction) {
71
93
  if (propertyName !== 'actionCode' && propertyName !== 'actionId') {
72
- this[propertyName] = receivedAction[propertyName];
94
+ try {
95
+ this[propertyName] = receivedAction[propertyName];
96
+ }
97
+ catch (e) {
98
+ console.log(`Error actualizando la propiedad ${propertyName} de la acción ${this.actionCode}. ${e}`);
99
+ }
73
100
  }
74
101
  }
75
102
  }
76
- setCustomValidation(callback) { this.customValidation = () => callback(); }
77
103
  }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY2xhc3Nlcy9mb3Jtcy9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV4QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUM7QUFFeEIsTUFBTSxPQUFPLFVBQVcsU0FBUSxXQUFXO0lBQ3hCLGdCQUFnQixHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7SUFDMUQsVUFBVSxDQUFTO0lBQ25CLFVBQVUsQ0FBUztJQUNuQixRQUFRLENBQVM7SUFDakIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixRQUFRLENBQVM7SUFDakIsT0FBTyxDQUFVO0lBRWpCLGlCQUFpQixHQUFrQixJQUFJLENBQUM7SUFDeEMsb0JBQW9CLEdBQWtCLElBQUksQ0FBQztJQUMzQyxpQkFBaUIsR0FBa0IsSUFBSSxDQUFDO0lBQ3hDLGdCQUFnQixDQUFNO0lBRXRCLFlBQVksZ0JBQWdCLEVBQUUsVUFBVTtRQUN0QyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsMkJBQTJCLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUNoRyxJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMs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SSxVQUFVLEtBQUssSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztvQkFDbkYsT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksZUFBZSxLQUFLLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUV2RCxLQUFLLEtBQUssSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25DLElBQUksS0FBSyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFFbkMsZ0JBQWdCLEtBQUssSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRW5FLGdCQUFnQixDQUFDLGNBQWM7UUFDN0IsS0FBSyxNQUFNLFlBQVksSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUMxQyxJQUFJLFlBQVksS0FBSyxZQUFZLElBQUksWUFBWSxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUNqRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3BELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELG1CQUFtQixDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0NBQzVFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZWxlbWVudFR5cGVzIH0gZnJvbSAnLi9mb3JtLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBGb3JtRWxlbWVudCB9IGZyb20gJy4vZWxlbWVudCc7XG5cbmNvbnN0IEhFQURFUiA9ICdIRUFERVInO1xuXG5leHBvcnQgY2xhc3MgRm9ybUFjdGlvbiBleHRlbmRzIEZvcm1FbGVtZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aW9uQWN0aXZhdGVkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBhY3Rpb25Db2RlOiBzdHJpbmc7XG4gIGFjdGlvbk5hbWU6IHN0cmluZztcbiAgaWNvbk5hbWU6IHN0cmluZztcbiAgaW5Qcm9ncmVzcyA9IGZhbHNlO1xuICBuZXdTdGF0ZTogc3RyaW5nO1xuICBiYWNrZW5kOiBib29sZWFuO1xuXG4gIHJlc3RyaWN0ZWRPbkZpZWxkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcmVzdHJpY3RlZE9uT3BlcmF0b3I6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICByZXN0cmljdGVkT25WYWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIGN1c3RvbVZhbGlkYXRpb246IGFueTtcblxuICBjb25zdHJ1Y3RvcihhY3Rpb25EZWZpbml0aW9uLCBmb3JtQ29uZmlnKSB7XG4gICAgc3VwZXIoYWN0aW9uRGVmaW5pdGlvbiwgZm9ybUNvbmZpZyk7XG4gICAgdGhpcy5wcm9wYWdhdGlvbkN1c3RvbUF0dHJpYnV0ZXMgPSB0aGlzLl9mb3JtQ29uZmlnPy5wcm9wYWdhdGlvbkN1c3RvbUF0dHJpYnV0ZXM/LmFjdGlvbnMgPz8gW107XG4gICAgdGhpcy5lbGVtZW50VHlwZSA9IGVsZW1lbnRUeXBlcy5hY3Rpb247XG4gICAgdGhpcy5hY3Rpb25Db2RlID0gYWN0aW9uRGVmaW5pdGlvbi5hY3Rpb25Db2RlID8gYWN0aW9uRGVmaW5pdGlvbi5hY3Rpb25Db2RlLnRvU3RyaW5nKCkgOiAnJztcbiAgICB0aGlzLmFjdGlvbk5hbWUgPSBhY3Rpb25EZWZpbml0aW9uLmFjdGlvblRpdGxlO1xuICAgIHRoaXMuaWNvbk5hbWUgPSBhY3Rpb25EZWZpbml0aW9uLmljb25OYW1lIHx8IHRoaXMuYWN0aW9uQ29kZTtcbiAgICB0aGlzLnNldEN1c3RvbUF0dHJpYnV0ZSgnbG9jYXRpb24nLCBhY3Rpb25EZWZpbml0aW9uLnBvc2l0aW9uIHx8IEhFQURFUik7XG4gICAgdGhpcy5iYWNrZW5kID0gYWN0aW9uRGVmaW5pdGlvbj8uc2VydmVyQWN0aW9uID8/IGZhbHNlO1xuICAgIHRoaXMubmV3U3RhdGUgPSBhY3Rpb25EZWZpbml0aW9uPy5uZXdTdGF0ZTtcblxuICAgIHRoaXMucmVzdHJpY3RlZE9uRmllbGQgPSBhY3Rpb25EZWZpbml0aW9uLmZpZWxkUmVzdHJpY3RlZENvZGU/LnRvU3RyaW5nKCkgPz8gbnVsbDtcbiAgICBpZiAodGhpcy5yZXN0cmljdGVkT25GaWVsZCkge1xuICAgICAgdGhpcy5yZXN0cmljdGVkT25PcGVyYXRvciA9IGFjdGlvbkRlZmluaXRpb24ub3BlcmF0b3JSZXN0cmljdGVkIHx8ICcnO1xuICAgICAgdGhpcy5yZXN0cmljdGVkT25WYWx1ZSA9IGFjdGlvbkRlZmluaXRpb24udmFsdWVSZXN0cmljdGVkID8/ICcnO1xuICAgIH1cbiAgICB0aGlzLmN1c3RvbVZhbGlkYXRpb24gPSAoKSA9PiB0cnVlO1xuICB9XG5cbiAgb3ZlcnJpZGUgY29ubmVjdFdpdGhQYXJlbnRGb3JtKGZvcm0sIGZvcm1DaGFuZ2VTdWJqZWN0KSB7XG4gICAgc3VwZXIuY29ubmVjdFdpdGhQYXJlbnRGb3JtKGZvcm0sIGZvcm1DaGFuZ2VTdWJqZWN0KTtcbiAgICBpZiAodGhpcy5yZXN0cmljdGVkT25GaWVsZCkge1xuICAgICAgY29uc3QgcmVsYXRlZEZpZWxkID0gdGhpcy5fZm9ybS5maWVsZHM/Llt0aGlzLnJlc3RyaWN0ZWRPbkZpZWxkXTtcbiAgICAgIGlmIChyZWxhdGVkRmllbGQpIHtcbiAgICAgICAgcmVsYXRlZEZpZWxkLmVkaXRpb25GaW5pc2guc3Vic2NyaWJlKGV2ZW50ID0+IHRoaXMudXBkYXRlUmVzdHJpY3RlZFZpc2liaWxpdHkoKSk7XG4gICAgICAgIHJlbGF0ZWRGaWVsZC5lZGl0aW9uUGFydGlhbC5zdWJzY3JpYmUoZXZlbnQgPT4gdGhpcy51cGRhdGVSZXN0cmljdGVkVmlzaWJpbGl0eSgpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1cGRhdGVSZXN0cmljdGVkVmlzaWJpbGl0eSgpIHtcbiAgICBjb25zdCBsYXN0VmlzaWJsZSA9ICB0aGlzLl92aXNpYmxlO1xuICAgIGNvbnN0IG5ld1Zpc2libGUgPSB0aGlzLl9hYnNvbHV0ZVZpc2libGUgJiYgdGhpcy52aWV3T25TdGF0ZSh0aGlzLl9mb3JtU3RhdGUpO1xuICAgIGlmIChsYXN0VmlzaWJsZSAhPT0gbmV3VmlzaWJsZSkge1xuICAgICAgdGhpcy5zZXRWaXNpYmlsaXR5KG5ld1Zpc2libGUpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIHZpZXdPblN0YXRlKHN0YXRlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBhY3Rpb25WaXNpYmxlID0gKHRoaXMudmlzaWJsZVN0YXRlcyAmJiBzdGF0ZSkgPyB0aGlzLnZpc2libGVTdGF0ZXMuaW5jbHVkZXMoc3RhdGUpIDogZmFsc2U7XG4gICAgaWYgKGFjdGlvblZpc2libGUgJiYgdGhpcy5fZm9ybSAmJiB0aGlzLnJlc3RyaWN0ZWRPbkZpZWxkKSB7XG4gICAgICBjb25zdCByZWxhdGVkRmllbGQgPSB0aGlzLl9mb3JtLmZpZWxkcz8uW3RoaXMucmVzdHJpY3RlZE9uRmllbGRdO1xuICAgICAgaWYgKHJlbGF0ZWRGaWVsZCkge1xuICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gcmVsYXRlZEZpZWxkLnZhbHVlO1xuICAgICAgICBpZiAoKHRoaXMucmVzdHJpY3RlZE9uT3BlcmF0b3IgPT09ICc9PScgJiYgZmllbGRWYWx1ZSAhPT0gdGhpcy5yZXN0cmljdGVkT25WYWx1ZSlcbiAgICAgICAgICB8fCAodGhpcy5yZXN0cmljdGVkT25PcGVyYXRvciA9PT0gJyE9JyAmJiBmaWVsZFZhbHVlID09PSB0aGlzLnJlc3RyaWN0ZWRPblZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBhY3Rpb25WaXNpYmxlO1xuICB9XG5cbiAgZ2V0IGFjdGlvbkFjdGl2YXRlZCgpIHsgcmV0dXJuIHRoaXMuX2FjdGlvbkFjdGl2YXRlZDsgfVxuXG4gIHN0YXJ0KCkgeyB0aGlzLmluUHJvZ3Jlc3MgPSB0cnVlOyB9XG4gIHN0b3AoKSB7IHRoaXMuaW5Qcm9ncmVzcyA9IGZhbHNlOyB9XG5cbiAgbm90aWZ5QWN0aXZhdGlvbigpIHsgdGhpcy5fYWN0aW9uQWN0aXZhdGVkLm5leHQodGhpcy5hY3Rpb25Db2RlKTsgfVxuXG4gIHVwZGF0ZUZyb21TZXJ2ZXIocmVjZWl2ZWRBY3Rpb24pIHtcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5TmFtZSBpbiByZWNlaXZlZEFjdGlvbikge1xuICAgICAgaWYgKHByb3BlcnR5TmFtZSAhPT0gJ2FjdGlvbkNvZGUnICYmIHByb3BlcnR5TmFtZSAhPT0gJ2FjdGlvbklkJykge1xuICAgICAgICB0aGlzW3Byb3BlcnR5TmFtZV0gPSByZWNlaXZlZEFjdGlvbltwcm9wZXJ0eU5hbWVdO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldEN1c3RvbVZhbGlkYXRpb24oY2FsbGJhY2spIHsgdGhpcy5jdXN0b21WYWxpZGF0aW9uID0gKCkgPT4gY2FsbGJhY2soKTsgfVxufVxuIl19
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY2xhc3Nlcy9mb3Jtcy9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV4QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUM7QUFFeEIsTUFBTSxLQUFLLEdBQUc7SUFDWixVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUU7SUFDNUQsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFO0lBQzVELFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRTtJQUN0RCxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUU7SUFDNUQsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFO0lBQ2pGLG9CQUFvQixFQUFFLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRTtJQUMxRixpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUU7Q0FDbEYsQ0FBQTtBQUVELE1BQU0sT0FBTyxVQUFXLFNBQVEsV0FBVztJQUN4QixnQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO0lBQ2xELFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsV0FBVyxH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Y3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGVsZW1lbnRUeXBlcyB9IGZyb20gJy4vZm9ybS5jb25zdGFudHMnO1xuaW1wb3J0IHsgRm9ybUVsZW1lbnQgfSBmcm9tICcuL2VsZW1lbnQnO1xuXG5jb25zdCBIRUFERVIgPSAnSEVBREVSJztcblxuY29uc3QgYXR0cnMgPSB7XG4gIGFjdGlvbkNvZGU6IHsgbmFtZTogJ19hY3Rpb25Db2RlJywgcHJvcGFnYXRlOiAnYWN0aW9uQ29kZScgfSxcbiAgYWN0aW9uTmFtZTogeyBuYW1lOiAnX2FjdGlvbk5hbWUnLCBwcm9wYWdhdGU6ICdhY3Rpb25OYW1lJyB9LFxuICBpY29uTmFtZTogeyBuYW1lOiAnX2ljb25OYW1lJywgcHJvcGFnYXRlOiAnaWNvbk5hbWUnIH0sXG4gIGluUHJvZ3Jlc3M6IHsgbmFtZTogJ19pblByb2dyZXNzJywgcHJvcGFnYXRlOiAnaW5Qcm9ncmVzcycgfSxcbiAgcmVzdHJpY3RlZE9uRmllbGQ6IHsgbmFtZTogJ19yZXN0cmljdGVkT25GaWVsZCcsIHByb3BhZ2F0ZTogJ3Jlc3RyaWN0ZWRPbkZpZWxkJyB9LFxuICByZXN0cmljdGVkT25PcGVyYXRvcjogeyBuYW1lOiAnX3Jlc3RyaWN0ZWRPbk9wZXJhdG9yJywgcHJvcGFnYXRlOiAncmVzdHJpY3RlZE9uT3BlcmF0b3InIH0sXG4gIHJlc3RyaWN0ZWRPblZhbHVlOiB7IG5hbWU6ICdfcmVzdHJpY3RlZE9uVmFsdWUnLCBwcm9wYWdhdGU6ICdyZXN0cmljdGVkT25WYWx1ZScgfSxcbn1cblxuZXhwb3J0IGNsYXNzIEZvcm1BY3Rpb24gZXh0ZW5kcyBGb3JtRWxlbWVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGlvbkFjdGl2YXRlZCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHJpdmF0ZSBfYWN0aW9uQ29kZTogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgX2FjdGlvbk5hbWU6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIF9pY29uTmFtZTogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgX2luUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfbmV3U3RhdGU6IHN0cmluZztcbiAgcHJpdmF0ZSBfYmFja2VuZDogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfcmVzdHJpY3RlZE9uRmllbGQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9yZXN0cmljdGVkT25PcGVyYXRvcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3Jlc3RyaWN0ZWRPblZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihhY3Rpb25EZWZpbml0aW9uLCBmb3JtQ29uZmlnKSB7XG4gICAgc3VwZXIoYWN0aW9uRGVmaW5pdGlvbiwgZm9ybUNvbmZpZyk7XG4gICAgdGhpcy5wcm9wYWdhdGlvbkN1c3RvbUF0dHJpYnV0ZXMgPSB0aGlzLl9mb3JtQ29uZmlnPy5wcm9wYWdhdGlvbkN1c3RvbUF0dHJpYnV0ZXM/LmFjdGlvbnMgPz8gW107XG4gICAgdGhpcy5lbGVtZW50VHlwZSA9IGVsZW1lbnRUeXBlcy5hY3Rpb247XG4gICAgdGhpcy5zZXRBdHRyKGF0dHJzLmFjdGlvbkNvZGUsIGFjdGlvbkRlZmluaXRpb24uYWN0aW9uQ29kZSA/IGFjdGlvbkRlZmluaXRpb24uYWN0aW9uQ29kZS50b1N0cmluZygpIDogJycpO1xuICAgIHRoaXMuc2V0QXR0cihhdHRycy5hY3Rpb25OYW1lLCBhY3Rpb25EZWZpbml0aW9uLmFjdGlvblRpdGxlKTtcbiAgICB0aGlzLnNldEF0dHIoYXR0cnMuaWNvbk5hbWUsIGFjdGlvbkRlZmluaXRpb24uaWNvbk5hbWUgfHwgdGhpcy5fYWN0aW9uQ29kZSk7XG4gICAgdGhpcy5zZXRBdHRyKGF0dHJzLnJlc3RyaWN0ZWRPbkZpZWxkLCBhY3Rpb25EZWZpbml0aW9uLmZpZWxkUmVzdHJpY3RlZENvZGU/LnRvU3RyaW5nKCkgPz8gbnVsbCk7XG4gICAgaWYgKHRoaXMuX3Jlc3RyaWN0ZWRPbkZpZWxkKSB7XG4gICAgICB0aGlzLnNldEF0dHIoYXR0cnMucmVzdHJpY3RlZE9uT3BlcmF0b3IsIGFjdGlvbkRlZmluaXRpb24ub3BlcmF0b3JSZXN0cmljdGVkIHx8ICcnKTtcbiAgICAgIHRoaXMuc2V0QXR0cihhdHRycy5yZXN0cmljdGVkT25WYWx1ZSwgYWN0aW9uRGVmaW5pdGlvbi52YWx1ZVJlc3RyaWN0ZWQgPz8gJycpO1xuICAgIH1cbiAgICB0aGlzLl9iYWNrZW5kID0gYWN0aW9uRGVmaW5pdGlvbj8uc2VydmVyQWN0aW9uID8/IGZhbHNlO1xuICAgIHRoaXMuX25ld1N0YXRlID0gYWN0aW9uRGVmaW5pdGlvbj8ubmV3U3RhdGU7XG4gICAgdGhpcy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2xvY2F0aW9uJywgYWN0aW9uRGVmaW5pdGlvbi5wb3NpdGlvbiB8fCBIRUFERVIpO1xuICB9XG5cbiAgZ2V0IGFjdGlvbkNvZGUoKSB7IHJldHVybiB0aGlzLl9hY3Rpb25Db2RlOyB9XG4gIGdldCBhY3Rpb25OYW1lKCkgeyByZXR1cm4gdGhpcy5fYWN0aW9uTmFtZTsgfVxuICBnZXQgaWNvbk5hbWUoKSB7IHJldHVybiB0aGlzLl9pY29uTmFtZTsgfVxuICBnZXQgaW5Qcm9ncmVzcygpIHsgcmV0dXJuIHRoaXMuX2luUHJvZ3Jlc3M7IH1cbiAgZ2V0IG5ld1N0YXRlKCkgeyByZXR1cm4gdGhpcy5fbmV3U3RhdGU7IH1cbiAgZ2V0IGJhY2tlbmQoKSB7IHJldHVybiB0aGlzLl9iYWNrZW5kOyB9XG4gIGdldCByZXN0cmljdGVkT25GaWVsZCgpIHsgcmV0dXJuIHRoaXMuX3Jlc3RyaWN0ZWRPbkZpZWxkOyB9XG4gIGdldCByZXN0cmljdGVkT25PcGVyYXRvcigpIHsgcmV0dXJuIHRoaXMuX3Jlc3RyaWN0ZWRPbk9wZXJhdG9yOyB9XG4gIGdldCByZXN0cmljdGVkT25WYWx1ZSgpIHsgcmV0dXJuIHRoaXMuX3Jlc3RyaWN0ZWRPblZhbHVlOyB9XG5cbiAgc2V0IGFjdGlvbkNvZGUoYWN0aW9uQ29kZSkgeyB0aGlzLnNldEF0dHIoYXR0cnMuYWN0aW9uQ29kZSwgYWN0aW9uQ29kZSk7IH1cbiAgc2V0IGFjdGlvbk5hbWUoYWN0aW9uTmFtZSkgeyB0aGlzLnNldEF0dHIoYXR0cnMuYWN0aW9uTmFtZSwgYWN0aW9uTmFtZSk7IH1cbiAgc2V0IGljb25OYW1lKGljb25OYW1lKSB7IHRoaXMuc2V0QXR0cihhdHRycy5pY29uTmFtZSwgaWNvbk5hbWUpOyB9XG4gIHNldCBpblByb2dyZXNzKGluUHJvZ3Jlc3MpIHsgdGhpcy5zZXRBdHRyKGF0dHJzLmluUHJvZ3Jlc3MsIGluUHJvZ3Jlc3MpOyB9XG4gIHNldCBuZXdTdGF0ZShuZXdTdGF0ZSkgeyB0aGlzLl9uZXdTdGF0ZSwgbmV3U3RhdGU7IH1cbiAgc2V0IGJhY2tlbmQoYmFja2VuZCkgeyB0aGlzLl9iYWNrZW5kLCBiYWNrZW5kOyB9XG4gIHNldCByZXN0cmljdGVkT25GaWVsZChyZXN0cmljdGVkT25GaWVsZCkgeyB0aGlzLnNldEF0dHIoYXR0cnMucmVzdHJpY3RlZE9uRmllbGQsIHJlc3RyaWN0ZWRPbkZpZWxkKTsgfVxuICBzZXQgcmVzdHJpY3RlZE9uT3BlcmF0b3IocmVzdHJpY3RlZE9uT3BlcmF0b3IpIHsgdGhpcy5zZXRBdHRyKGF0dHJzLnJlc3RyaWN0ZWRPbk9wZXJhdG9yLCByZXN0cmljdGVkT25PcGVyYXRvcik7IH1cbiAgc2V0IHJlc3RyaWN0ZWRPblZhbHVlKHJlc3RyaWN0ZWRPblZhbHVlKSB7IHRoaXMuc2V0QXR0cihhdHRycy5yZXN0cmljdGVkT25WYWx1ZSwgcmVzdHJpY3RlZE9uVmFsdWUpOyB9XG5cbiAgc3RhcnQoKSB7IHRoaXMuaW5Qcm9ncmVzcyA9IHRydWU7IH1cbiAgc3RvcCgpIHsgdGhpcy5pblByb2dyZXNzID0gZmFsc2U7IH1cblxuICBvdmVycmlkZSBjb25uZWN0V2l0aFBhcmVudEZvcm0oZm9ybSwgZm9ybUNoYW5nZVN1YmplY3QpIHtcbiAgICBzdXBlci5jb25uZWN0V2l0aFBhcmVudEZvcm0oZm9ybSwgZm9ybUNoYW5nZVN1YmplY3QpO1xuICAgIGlmICh0aGlzLl9yZXN0cmljdGVkT25GaWVsZCkge1xuICAgICAgY29uc3QgcmVsYXRlZEZpZWxkID0gdGhpcy5fZm9ybS5maWVsZHM/Llt0aGlzLl9yZXN0cmljdGVkT25GaWVsZF07XG4gICAgICBpZiAocmVsYXRlZEZpZWxkKSB7XG4gICAgICAgIHJlbGF0ZWRGaWVsZC5lZGl0aW9uRmluaXNoLnN1YnNjcmliZShldmVudCA9PiB0aGlzLnVwZGF0ZVJlc3RyaWN0ZWRWaXNpYmlsaXR5KGV2ZW50KSk7XG4gICAgICAgIHJlbGF0ZWRGaWVsZC5lZGl0aW9uUGFydGlhbC5zdWJzY3JpYmUoZXZlbnQgPT4gdGhpcy51cGRhdGVSZXN0cmljdGVkVmlzaWJpbGl0eShldmVudCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVJlc3RyaWN0ZWRWaXNpYmlsaXR5KGV2ZW50KSB7XG4gICAgY29uc3QgbmV3VmlzaWJsZSA9IHRoaXMuX2Fic29sdXRlVmlzaWJsZSAmJiB0aGlzLnZpZXdPblN0YXRlKHRoaXMuX2Zvcm1TdGF0ZSk7XG4gICAgKHRoaXMuX3Zpc2libGUgIT09IG5ld1Zpc2libGUpICYmIHRoaXMuc2V0VmlzaWJpbGl0eShuZXdWaXNpYmxlKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHZpZXdPblN0YXRlKHN0YXRlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBhY3Rpb25WaXNpYmxlID0gKHRoaXMudmlzaWJsZVN0YXRlcyAmJiBzdGF0ZSkgPyB0aGlzLnZpc2libGVTdGF0ZXMuaW5jbHVkZXMoc3RhdGUpIDogZmFsc2U7XG4gICAgaWYgKGFjdGlvblZpc2libGUgJiYgdGhpcy5fZm9ybSAmJiB0aGlzLl9yZXN0cmljdGVkT25GaWVsZCkge1xuICAgICAgY29uc3QgcmVsYXRlZEZpZWxkID0gdGhpcy5fZm9ybS5maWVsZHM/Llt0aGlzLl9yZXN0cmljdGVkT25GaWVsZF07XG4gICAgICBpZiAocmVsYXRlZEZpZWxkKSB7XG4gICAgICAgIGNvbnN0IGZpZWxkVmFsdWUgPSByZWxhdGVkRmllbGQudmFsdWU7XG4gICAgICAgIGlmICgodGhpcy5fcmVzdHJpY3RlZE9uT3BlcmF0b3IgPT09ICc9PScgJiYgZmllbGRWYWx1ZSAhPT0gdGhpcy5fcmVzdHJpY3RlZE9uVmFsdWUpXG4gICAgICAgICAgfHwgKHRoaXMuX3Jlc3RyaWN0ZWRPbk9wZXJhdG9yID09PSAnIT0nICYmIGZpZWxkVmFsdWUgPT09IHRoaXMuX3Jlc3RyaWN0ZWRPblZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYWN0aW9uVmlzaWJsZTtcbiAgfVxuXG4gIGdldCBhY3Rpb25BY3RpdmF0ZWQoKSB7IHJldHVybiB0aGlzLl9hY3Rpb25BY3RpdmF0ZWQ7IH1cblxuICBub3RpZnlBY3RpdmF0aW9uKCkgeyB0aGlzLl9hY3Rpb25BY3RpdmF0ZWQubmV4dCh0aGlzLl9hY3Rpb25Db2RlKTsgfVxuXG4gIHVwZGF0ZUZyb21TZXJ2ZXIocmVjZWl2ZWRBY3Rpb24pIHtcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5TmFtZSBpbiByZWNlaXZlZEFjdGlvbikge1xuICAgICAgaWYgKHByb3BlcnR5TmFtZSAhPT0gJ2FjdGlvbkNvZGUnICYmIHByb3BlcnR5TmFtZSAhPT0gJ2FjdGlvbklkJykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHRoaXNbcHJvcGVydHlOYW1lXSA9IHJlY2VpdmVkQWN0aW9uW3Byb3BlcnR5TmFtZV07XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgRXJyb3IgYWN0dWFsaXphbmRvIGxhIHByb3BpZWRhZCAke3Byb3BlcnR5TmFtZX0gZGUgbGEgYWNjacOzbiAke3RoaXMuYWN0aW9uQ29kZX0uICR7ZX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -8,11 +8,16 @@ export class FormElement extends FormPiecePropagate {
8
8
  }
9
9
  setAttr(attr, value) {
10
10
  const { name: attrName, propagate: name } = attr;
11
- this[attrName] = value;
12
- name && this.propagateAttribute(name, value);
11
+ try {
12
+ this[attrName] = value;
13
+ name && this.propagateAttribute(name, value);
14
+ }
15
+ catch (e) {
16
+ console.log(`Atributo ${attrName} no presente o valor ${value} inconsistente. ${e}`);
17
+ }
13
18
  }
14
19
  isField() { return this.elementType === elementTypes.field; }
15
20
  isAction() { return this.elementType === elementTypes.action; }
16
21
  isTable() { return this.elementType === elementTypes.table; }
17
22
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NsYXNzZXMvZm9ybXMvZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsTUFBTSxPQUFPLFdBQVksU0FBUSxrQkFBa0I7SUFDakQsV0FBVyxHQUFrQixJQUFJLENBQUM7SUFBQSxDQUFDO0lBRW5DLFlBQVksaUJBQXNCLEVBQUUsVUFBZTtRQUNqRCxLQUFLLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFTLEVBQUUsS0FBVTtRQUMzQixNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELE9BQU8sS0FBYyxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdEUsUUFBUSxLQUFjLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN4RSxPQUFPLEtBQWMsT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0NBQ3ZFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybVBpZWNlUHJvcGFnYXRlIH0gZnJvbSAnLi9waWVjZS1wcm9wYWdhdGUnO1xuaW1wb3J0IHsgZWxlbWVudFR5cGVzIH0gZnJvbSAnLi9mb3JtLmNvbnN0YW50cyc7XG5leHBvcnQgY2xhc3MgRm9ybUVsZW1lbnQgZXh0ZW5kcyBGb3JtUGllY2VQcm9wYWdhdGUge1xuICBlbGVtZW50VHlwZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7O1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnREZWZpbml0aW9uOiBhbnksIGZvcm1Db25maWc6IGFueSkge1xuICAgIHN1cGVyKGVsZW1lbnREZWZpbml0aW9uLCBmb3JtQ29uZmlnKTtcbiAgfVxuXG4gIHNldEF0dHIoYXR0cjogYW55LCB2YWx1ZTogYW55KSB7XG4gICAgY29uc3QgeyBuYW1lOiBhdHRyTmFtZSwgcHJvcGFnYXRlOiBuYW1lIH0gPSBhdHRyO1xuICAgIHRoaXNbYXR0ck5hbWVdID0gdmFsdWU7XG4gICAgbmFtZSAmJiB0aGlzLnByb3BhZ2F0ZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7XG4gIH1cblxuICBpc0ZpZWxkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5lbGVtZW50VHlwZSA9PT0gZWxlbWVudFR5cGVzLmZpZWxkOyB9XG4gIGlzQWN0aW9uKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5lbGVtZW50VHlwZSA9PT0gZWxlbWVudFR5cGVzLmFjdGlvbjsgfVxuICBpc1RhYmxlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5lbGVtZW50VHlwZSA9PT0gZWxlbWVudFR5cGVzLnRhYmxlOyB9XG59XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NsYXNzZXMvZm9ybXMvZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsTUFBTSxPQUFPLFdBQVksU0FBUSxrQkFBa0I7SUFDakQsV0FBVyxHQUFrQixJQUFJLENBQUM7SUFBQSxDQUFDO0lBRW5DLFlBQVksaUJBQXNCLEVBQUUsVUFBZTtRQUNqRCxLQUFLLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFTLEVBQUUsS0FBVTtRQUMzQixNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ2pELElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksUUFBUSx3QkFBd0IsS0FBSyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2RixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sS0FBYyxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdEUsUUFBUSxLQUFjLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN4RSxPQUFPLEtBQWMsT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0NBQ3ZFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybVBpZWNlUHJvcGFnYXRlIH0gZnJvbSAnLi9waWVjZS1wcm9wYWdhdGUnO1xuaW1wb3J0IHsgZWxlbWVudFR5cGVzIH0gZnJvbSAnLi9mb3JtLmNvbnN0YW50cyc7XG5leHBvcnQgY2xhc3MgRm9ybUVsZW1lbnQgZXh0ZW5kcyBGb3JtUGllY2VQcm9wYWdhdGUge1xuICBlbGVtZW50VHlwZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7O1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnREZWZpbml0aW9uOiBhbnksIGZvcm1Db25maWc6IGFueSkge1xuICAgIHN1cGVyKGVsZW1lbnREZWZpbml0aW9uLCBmb3JtQ29uZmlnKTtcbiAgfVxuXG4gIHNldEF0dHIoYXR0cjogYW55LCB2YWx1ZTogYW55KSB7XG4gICAgY29uc3QgeyBuYW1lOiBhdHRyTmFtZSwgcHJvcGFnYXRlOiBuYW1lIH0gPSBhdHRyO1xuICAgIHRyeSB7XG4gICAgICB0aGlzW2F0dHJOYW1lXSA9IHZhbHVlO1xuICAgICAgbmFtZSAmJiB0aGlzLnByb3BhZ2F0ZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5sb2coYEF0cmlidXRvICR7YXR0ck5hbWV9IG5vIHByZXNlbnRlIG8gdmFsb3IgJHt2YWx1ZX0gaW5jb25zaXN0ZW50ZS4gJHtlfWApO1xuICAgIH1cbiAgfVxuXG4gIGlzRmllbGQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmVsZW1lbnRUeXBlID09PSBlbGVtZW50VHlwZXMuZmllbGQ7IH1cbiAgaXNBY3Rpb24oKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmVsZW1lbnRUeXBlID09PSBlbGVtZW50VHlwZXMuYWN0aW9uOyB9XG4gIGlzVGFibGUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmVsZW1lbnRUeXBlID09PSBlbGVtZW50VHlwZXMudGFibGU7IH1cbn1cbiJdfQ==