tuain-ng-forms-lib 14.3.20 → 14.4.90

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 (47) hide show
  1. package/esm2020/lib/classes/forms/element.mjs +8 -69
  2. package/esm2020/lib/classes/forms/field.mjs +5 -12
  3. package/esm2020/lib/classes/forms/form.mjs +11 -7
  4. package/esm2020/lib/classes/forms/piece-propagate.mjs +30 -0
  5. package/esm2020/lib/classes/forms/piece.mjs +95 -0
  6. package/esm2020/lib/classes/forms/section.mjs +44 -44
  7. package/esm2020/lib/classes/forms/subsection.mjs +24 -14
  8. package/esm2020/lib/classes/forms/table/action.mjs +5 -18
  9. package/esm2020/lib/classes/forms/table/column.mjs +8 -15
  10. package/esm2020/lib/classes/forms/table/row-data.mjs +14 -9
  11. package/esm2020/lib/classes/forms/table/table.mjs +62 -42
  12. package/esm2020/lib/components/elements/action.component.mjs +26 -13
  13. package/esm2020/lib/components/elements/field.component.mjs +20 -22
  14. package/esm2020/lib/components/elements/layout/element.component.mjs +5 -16
  15. package/esm2020/lib/components/elements/layout/form-header.component.mjs +5 -5
  16. package/esm2020/lib/components/elements/layout/piece.component.mjs +22 -0
  17. package/esm2020/lib/components/elements/layout/section.component.mjs +20 -5
  18. package/esm2020/lib/components/elements/layout/sub-section.component.mjs +20 -7
  19. package/esm2020/lib/components/elements/tables/table-record-action.component.mjs +21 -5
  20. package/esm2020/lib/components/elements/tables/table.component.mjs +50 -54
  21. package/esm2020/lib/components/forms/basic-form.mjs +26 -15
  22. package/fesm2015/tuain-ng-forms-lib.mjs +533 -398
  23. package/fesm2015/tuain-ng-forms-lib.mjs.map +1 -1
  24. package/fesm2020/tuain-ng-forms-lib.mjs +500 -368
  25. package/fesm2020/tuain-ng-forms-lib.mjs.map +1 -1
  26. package/lib/classes/forms/element.d.ts +3 -29
  27. package/lib/classes/forms/field.d.ts +0 -3
  28. package/lib/classes/forms/form.d.ts +3 -0
  29. package/lib/classes/forms/piece-propagate.d.ts +11 -0
  30. package/lib/classes/forms/piece.d.ts +41 -0
  31. package/lib/classes/forms/section.d.ts +10 -18
  32. package/lib/classes/forms/subsection.d.ts +10 -12
  33. package/lib/classes/forms/table/action.d.ts +3 -11
  34. package/lib/classes/forms/table/column.d.ts +4 -7
  35. package/lib/classes/forms/table/row-data.d.ts +1 -1
  36. package/lib/classes/forms/table/table.d.ts +3 -4
  37. package/lib/components/elements/action.component.d.ts +4 -8
  38. package/lib/components/elements/field.component.d.ts +5 -10
  39. package/lib/components/elements/layout/element.component.d.ts +3 -8
  40. package/lib/components/elements/layout/form-header.component.d.ts +3 -3
  41. package/lib/components/elements/layout/piece.component.d.ts +10 -0
  42. package/lib/components/elements/layout/section.component.d.ts +4 -3
  43. package/lib/components/elements/layout/sub-section.component.d.ts +4 -4
  44. package/lib/components/elements/tables/table-record-action.component.d.ts +2 -2
  45. package/lib/components/elements/tables/table.component.d.ts +6 -18
  46. package/lib/components/forms/basic-form.d.ts +2 -0
  47. package/package.json +1 -1
@@ -1,39 +1,36 @@
1
1
  import { Subject } from 'rxjs';
2
+ import { FormPiecePropagate } from './piece-propagate';
2
3
  import { RecordFormSubSection } from './subsection';
3
- export class RecordFormSection {
4
- constructor(sectionReceived, formObject) {
4
+ const ACTIVE = 'active';
5
+ export class RecordFormSection extends FormPiecePropagate {
6
+ constructor(sectionReceived, formObject, formConfig) {
7
+ super(sectionReceived, formConfig);
5
8
  this._activation = new Subject();
6
9
  this._inactivation = new Subject();
7
10
  this.active = false;
8
- this.customAttributes = {};
11
+ this.sectionId = null;
12
+ this.sectionCode = null;
13
+ this.sectionTitle = null;
14
+ this.subSections = [];
15
+ this._exclusiveSubSectionsByAttr = {};
9
16
  if (!sectionReceived) {
10
17
  return;
11
18
  }
12
- this.visible = true;
13
19
  this.sectionId = (sectionReceived.sectionId) ? sectionReceived.sectionId.toString() : '';
14
20
  this.sectionCode = (sectionReceived.sectionCode) ? sectionReceived.sectionCode : '';
15
21
  this.sectionTitle = (sectionReceived.sectionTitle) ? sectionReceived.sectionTitle : '';
16
- this.visibleStates = sectionReceived.visibleStates || [];
17
22
  this.subSections = [];
18
23
  this.subSectionsObj = {};
19
24
  if (sectionReceived.subsections) {
20
- const subsections = sectionReceived.subsections.map(objDef => {
21
- let visibleStates = objDef.visibleStates;
22
- if (!visibleStates) {
23
- visibleStates = (objDef.subsectionModes || '').split(',')
24
- .map(state => state.trim())
25
- .filter(state => state.length > 0);
26
- }
27
- if (!visibleStates || visibleStates.length === 0) {
28
- visibleStates = this.visibleStates;
25
+ const subsections = sectionReceived.subsections.map(subSecDef => {
26
+ const visibleStates = subSecDef.visibleStates ?? [];
27
+ if (subSecDef.elements && Array.isArray(subSecDef.elements)) {
28
+ subSecDef.elements = subSecDef.elements.map(elm => ({ code: elm.elementCode, type: elm.elementTypeName }));
29
29
  }
30
- if (objDef.elements && Array.isArray(objDef.elements)) {
31
- objDef.elements = objDef.elements.map(elm => ({ code: elm.elementCode, type: elm.elementTypeName }));
32
- }
33
- return { ...objDef, visibleStates };
30
+ return { ...subSecDef, visibleStates };
34
31
  });
35
32
  for (const subsectionReceived of subsections) {
36
- const subSectionToAdd = new RecordFormSubSection(subsectionReceived, formObject);
33
+ const subSectionToAdd = new RecordFormSubSection(subsectionReceived, formObject, formConfig);
37
34
  const subsectionCode = subSectionToAdd.subsectionCode;
38
35
  if (subsectionCode) {
39
36
  this.subSections.push(subSectionToAdd);
@@ -41,52 +38,50 @@ export class RecordFormSection {
41
38
  }
42
39
  }
43
40
  }
44
- if (sectionReceived?.customAttributes) {
45
- Object.keys(sectionReceived?.customAttributes)
46
- ?.forEach(attr => this.customAttributes[attr] = sectionReceived?.customAttributes[attr]);
47
- }
48
41
  }
49
- getCustomAttribute(name) { return this.customAttributes?.[name] ?? null; }
50
- setCustomAttribute(name, value) { return name && (this.customAttributes[name] = value); }
51
- setCustomAttributes(attributes) {
52
- Object.entries(attributes).forEach(([name, value]) => {
53
- this.setCustomAttribute(name, value);
54
- });
55
- }
56
- matchAttribute(name, value) { return this.customAttributes?.[name] === value; }
57
42
  get code() { return this.sectionCode; }
58
43
  get activation() { return this._activation; }
59
44
  get inactivation() { return this._inactivation; }
60
45
  activate() {
61
46
  if (!this.active) {
62
47
  this.active = true;
63
- this._activation.next(this.sectionCode);
48
+ this.sectionCode && this._activation.next(this.sectionCode);
64
49
  }
65
50
  }
66
51
  inactivate() {
67
52
  if (this.active) {
68
53
  this.active = false;
69
- this._inactivation.next(this.sectionCode);
54
+ this.sectionCode && this._inactivation.next(this.sectionCode);
70
55
  }
71
56
  }
72
- show() { this.visible = true; }
73
- hide() { this.visible = false; }
74
57
  get title() { return this.sectionTitle; }
75
58
  set title(title) { this.sectionTitle = title; }
76
59
  getVisibleSubsections(state) {
77
- return this.subSections.filter(subSection => {
78
- return subSection.visible && subSection.viewOnState(state);
79
- });
60
+ return this.subSections.filter(subSection => subSection.visible);
80
61
  }
81
62
  getSubsection(subSectionCode) {
82
63
  return (this.subSectionsObj && this.subSectionsObj[subSectionCode])
83
64
  ? this.subSectionsObj[subSectionCode] : null;
84
65
  }
66
+ activateSubSection(subSectionCode) {
67
+ if (subSectionCode === this._exclusiveSubSectionsByAttr[ACTIVE]) {
68
+ return;
69
+ }
70
+ const subSection = (this.subSectionsObj && this.subSectionsObj[subSectionCode])
71
+ ? this.subSectionsObj[subSectionCode] : null;
72
+ if (subSection) {
73
+ subSection?.activate();
74
+ this._exclusiveSubSectionsByAttr[ACTIVE] = subSectionCode;
75
+ }
76
+ }
85
77
  getFields() {
86
78
  let fieldsArray = [];
87
79
  if (this.subSections && this.subSections.length > 0) {
88
80
  for (const subSection of this.subSections) {
89
- fieldsArray = fieldsArray.concat(subSection.getFields());
81
+ const subsectionFields = subSection.getFields() ?? [];
82
+ if (subsectionFields?.length > 0) {
83
+ fieldsArray = fieldsArray.concat(subsectionFields);
84
+ }
90
85
  }
91
86
  }
92
87
  return fieldsArray;
@@ -95,7 +90,10 @@ export class RecordFormSection {
95
90
  let actionArray = [];
96
91
  if (this.subSections && this.subSections.length > 0) {
97
92
  for (const subSection of this.subSections) {
98
- actionArray = actionArray.concat(subSection.getActions());
93
+ const subSectionActions = subSection.getActions() ?? [];
94
+ if (subSectionActions?.length > 0) {
95
+ actionArray = actionArray.concat(subSectionActions);
96
+ }
99
97
  }
100
98
  }
101
99
  return actionArray;
@@ -130,8 +128,10 @@ export class RecordFormSection {
130
128
  }
131
129
  return null;
132
130
  }
133
- supportState(state) { return this.viewOnState(state); }
134
- viewOnState(state) { return this.visibleStates.includes(state); }
135
- supportMode(state) { return this.viewOnState(state); }
131
+ formStateChangeCustomSubscribe(formChangeSubject) {
132
+ this.subSections?.forEach(subsection => {
133
+ subsection?.subscribeFormStateChange(formChangeSubject);
134
+ });
135
+ }
136
136
  }
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NsYXNzZXMvZm9ybXMvc2VjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVwRCxNQUFNLE9BQU8saUJBQWlCO0lBZTVCLFlBQVksZUFBZSxFQUFFLFVBQVU7UUFkdEIsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQ3BDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUl2RCxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBSWYscUJBQWdCLEdBQVEsRUFBRSxDQUFDO1FBTXpCLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pGLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNwRixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdkYsSUFBSSxDQUFDLGFBQWEsR0FBRyxlQUFlLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztRQUN6RCxJQUFJ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SSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ3ZEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUFjdGlvbiB9IGZyb20gJy4vYWN0aW9uJztcbmltcG9ydCB7IFJlY29yZEZvcm1TdWJTZWN0aW9uIH0gZnJvbSAnLi9zdWJzZWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIFJlY29yZEZvcm1TZWN0aW9uIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZhdGlvbiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5hY3RpdmF0aW9uID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICB2aXNpYmxlOiBib29sZWFuO1xuICB2aXNpYmxlU3RhdGVzOiBzdHJpbmdbXTtcblxuICBhY3RpdmUgPSBmYWxzZTtcbiAgc2VjdGlvbklkOiBzdHJpbmc7XG4gIHNlY3Rpb25Db2RlOiBzdHJpbmc7XG4gIHNlY3Rpb25UaXRsZTogc3RyaW5nO1xuICBjdXN0b21BdHRyaWJ1dGVzOiBhbnkgPSB7fTtcblxuICBzdWJTZWN0aW9uczogUmVjb3JkRm9ybVN1YlNlY3Rpb25bXTtcbiAgc3ViU2VjdGlvbnNPYmo6IGFueTtcblxuICBjb25zdHJ1Y3RvcihzZWN0aW9uUmVjZWl2ZWQsIGZvcm1PYmplY3QpIHtcbiAgICBpZiAoIXNlY3Rpb25SZWNlaXZlZCkgeyByZXR1cm47IH1cbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgIHRoaXMuc2VjdGlvbklkID0gKHNlY3Rpb25SZWNlaXZlZC5zZWN0aW9uSWQpID8gc2VjdGlvblJlY2VpdmVkLnNlY3Rpb25JZC50b1N0cmluZygpIDogJyc7XG4gICAgdGhpcy5zZWN0aW9uQ29kZSA9IChzZWN0aW9uUmVjZWl2ZWQuc2VjdGlvbkNvZGUpID8gc2VjdGlvblJlY2VpdmVkLnNlY3Rpb25Db2RlIDogJyc7XG4gICAgdGhpcy5zZWN0aW9uVGl0bGUgPSAoc2VjdGlvblJlY2VpdmVkLnNlY3Rpb25UaXRsZSkgPyBzZWN0aW9uUmVjZWl2ZWQuc2VjdGlvblRpdGxlIDogJyc7XG4gICAgdGhpcy52aXNpYmxlU3RhdGVzID0gc2VjdGlvblJlY2VpdmVkLnZpc2libGVTdGF0ZXMgfHwgW107XG4gICAgdGhpcy5zdWJTZWN0aW9ucyA9IFtdO1xuICAgIHRoaXMuc3ViU2VjdGlvbnNPYmogPSB7fTtcbiAgICBpZiAoc2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25zKSB7XG4gICAgICBjb25zdCBzdWJzZWN0aW9ucyA9IHNlY3Rpb25SZWNlaXZlZC5zdWJzZWN0aW9ucy5tYXAob2JqRGVmID0+IHtcbiAgICAgICAgbGV0IHZpc2libGVTdGF0ZXMgPSBvYmpEZWYudmlzaWJsZVN0YXRlcztcbiAgICAgICAgaWYgKCF2aXNpYmxlU3RhdGVzKSB7XG4gICAgICAgICAgdmlzaWJsZVN0YXRlcyA9IChvYmpEZWYuc3Vic2VjdGlvbk1vZGVzIHx8ICcnKS5zcGxpdCgnLCcpXG4gICAgICAgICAgICAubWFwKHN0YXRlID0+IHN0YXRlLnRyaW0oKSlcbiAgICAgICAgICAgIC5maWx0ZXIoc3RhdGUgPT4gc3RhdGUubGVuZ3RoID4gMCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF2aXNpYmxlU3RhdGVzIHx8IHZpc2libGVTdGF0ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgdmlzaWJsZVN0YXRlcyA9IHRoaXMudmlzaWJsZVN0YXRlcztcbiAgICAgICAgfVxuICAgICAgICBpZiAob2JqRGVmLmVsZW1lbnRzICYmIEFycmF5LmlzQXJyYXkob2JqRGVmLmVsZW1lbnRzKSkge1xuICAgICAgICAgIG9iakRlZi5lbGVtZW50cyA9IG9iakRlZi5lbGVtZW50cy5tYXAoZWxtID0+ICh7IGNvZGU6IGVsbS5lbGVtZW50Q29kZSwgdHlwZTogZWxtLmVsZW1lbnRUeXBlTmFtZSB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgLi4ub2JqRGVmLCB2aXNpYmxlU3RhdGVzIH07XG4gICAgICB9KTtcbiAgICAgIGZvciAoY29uc3Qgc3Vic2VjdGlvblJlY2VpdmVkIG9mIHN1YnNlY3Rpb25zKSB7XG4gICAgICAgIGNvbnN0IHN1YlNlY3Rpb25Ub0FkZCA9IG5ldyBSZWNvcmRGb3JtU3ViU2VjdGlvbihzdWJzZWN0aW9uUmVjZWl2ZWQsIGZvcm1PYmplY3QpO1xuICAgICAgICBjb25zdCBzdWJzZWN0aW9uQ29kZSA9IHN1YlNlY3Rpb25Ub0FkZC5zdWJzZWN0aW9uQ29kZTtcbiAgICAgICAgaWYgKHN1YnNlY3Rpb25Db2RlKSB7XG4gICAgICAgICAgdGhpcy5zdWJTZWN0aW9ucy5wdXNoKHN1YlNlY3Rpb25Ub0FkZCk7XG4gICAgICAgICAgdGhpcy5zdWJTZWN0aW9uc09ialtzdWJzZWN0aW9uQ29kZV0gPSBzdWJTZWN0aW9uVG9BZGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHNlY3Rpb25SZWNlaXZlZD8uY3VzdG9tQXR0cmlidXRlcykge1xuICAgICAgT2JqZWN0LmtleXMoc2VjdGlvblJlY2VpdmVkPy5jdXN0b21BdHRyaWJ1dGVzKVxuICAgICAgICA/LmZvckVhY2goYXR0ciA9PiB0aGlzLmN1c3RvbUF0dHJpYnV0ZXNbYXR0cl0gPSBzZWN0aW9uUmVjZWl2ZWQ/LmN1c3RvbUF0dHJpYnV0ZXNbYXR0cl0pXG4gICAgfVxuICB9XG5cbiAgZ2V0Q3VzdG9tQXR0cmlidXRlKG5hbWUpIHsgcmV0dXJuIHRoaXMuY3VzdG9tQXR0cmlidXRlcz8uW25hbWVdID8/IG51bGw7IH1cbiAgc2V0Q3VzdG9tQXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7IHJldHVybiBuYW1lICYmICh0aGlzLmN1c3RvbUF0dHJpYnV0ZXNbbmFtZV0gPSB2YWx1ZSk7IH1cblxuICBzZXRDdXN0b21BdHRyaWJ1dGVzKGF0dHJpYnV0ZXM6IGFueSk6IHZvaWQge1xuICAgIE9iamVjdC5lbnRyaWVzKGF0dHJpYnV0ZXMpLmZvckVhY2goKFtuYW1lLCB2YWx1ZV0pID0+IHtcbiAgICAgIHRoaXMuc2V0Q3VzdG9tQXR0cmlidXRlKG5hbWUsIHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIG1hdGNoQXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7IHJldHVybiB0aGlzLmN1c3RvbUF0dHJpYnV0ZXM/LltuYW1lXSA9PT0gdmFsdWU7IH1cblxuICBnZXQgY29kZSgpIHsgcmV0dXJuIHRoaXMuc2VjdGlvbkNvZGU7IH1cbiAgZ2V0IGFjdGl2YXRpb24oKSB7IHJldHVybiB0aGlzLl9hY3RpdmF0aW9uOyB9XG4gIGdldCBpbmFjdGl2YXRpb24oKSB7IHJldHVybiB0aGlzLl9pbmFjdGl2YXRpb247IH1cblxuICBhY3RpdmF0ZSgpIHtcbiAgICBpZiAoIXRoaXMuYWN0aXZlKSB7XG4gICAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICB0aGlzLl9hY3RpdmF0aW9uLm5leHQodGhpcy5zZWN0aW9uQ29kZSk7XG4gICAgfVxuICB9XG5cbiAgaW5hY3RpdmF0ZSgpIHtcbiAgICBpZiAodGhpcy5hY3RpdmUpIHtcbiAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgICB0aGlzLl9pbmFjdGl2YXRpb24ubmV4dCh0aGlzLnNlY3Rpb25Db2RlKTtcbiAgICB9XG4gIH1cblxuICBzaG93KCkgeyB0aGlzLnZpc2libGUgPSB0cnVlOyB9XG4gIGhpZGUoKSB7IHRoaXMudmlzaWJsZSA9IGZhbHNlOyB9XG4gIGdldCB0aXRsZSgpIHsgcmV0dXJuIHRoaXMuc2VjdGlvblRpdGxlOyB9XG4gIHNldCB0aXRsZSh0aXRsZSkgeyB0aGlzLnNlY3Rpb25UaXRsZSA9IHRpdGxlOyB9XG5cbiAgZ2V0VmlzaWJsZVN1YnNlY3Rpb25zKHN0YXRlKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbnMuZmlsdGVyKHN1YlNlY3Rpb24gPT4ge1xuICAgICAgcmV0dXJuIHN1YlNlY3Rpb24udmlzaWJsZSAmJiBzdWJTZWN0aW9uLnZpZXdPblN0YXRlKHN0YXRlKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldFN1YnNlY3Rpb24oc3ViU2VjdGlvbkNvZGUpIHtcbiAgICByZXR1cm4gKHRoaXMuc3ViU2VjdGlvbnNPYmogJiYgdGhpcy5zdWJTZWN0aW9uc09ialtzdWJTZWN0aW9uQ29kZV0pXG4gICAgICA/IHRoaXMuc3ViU2VjdGlvbnNPYmpbc3ViU2VjdGlvbkNvZGVdIDogbnVsbDtcbiAgfVxuXG4gIGdldEZpZWxkcygpIHtcbiAgICBsZXQgZmllbGRzQXJyYXkgPSBbXTtcbiAgICBpZiAodGhpcy5zdWJTZWN0aW9ucyAmJiB0aGlzLnN1YlNlY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAoY29uc3Qgc3ViU2VjdGlvbiBvZiB0aGlzLnN1YlNlY3Rpb25zKSB7XG4gICAgICAgIGZpZWxkc0FycmF5ID0gZmllbGRzQXJyYXkuY29uY2F0KHN1YlNlY3Rpb24uZ2V0RmllbGRzKCkpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmllbGRzQXJyYXk7XG4gIH1cblxuICBnZXRBY3Rpb25zKCk6IEZvcm1BY3Rpb25bXSB7XG4gICAgbGV0IGFjdGlvbkFycmF5ID0gW107XG4gICAgaWYgKHRoaXMuc3ViU2VjdGlvbnMgJiYgdGhpcy5zdWJTZWN0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGNvbnN0IHN1YlNlY3Rpb24gb2YgdGhpcy5zdWJTZWN0aW9ucykge1xuICAgICAgICBhY3Rpb25BcnJheSA9IGFjdGlvbkFycmF5LmNvbmNhdChzdWJTZWN0aW9uLmdldEFjdGlvbnMoKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBhY3Rpb25BcnJheTtcbiAgfVxuXG4gIGdldEFjdGlvbk5hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICBsZXQgYWN0aW9uQXJyYXkgPSBbXTtcbiAgICBpZiAodGhpcy5zdWJTZWN0aW9ucyAmJiB0aGlzLnN1YlNlY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAoY29uc3Qgc3ViU2VjdGlvbiBvZiB0aGlzLnN1YlNlY3Rpb25zKSB7XG4gICAgICAgIGFjdGlvbkFycmF5ID0gYWN0aW9uQXJyYXkuY29uY2F0KHN1YlNlY3Rpb24uZ2V0QWN0aW9uTmFtZXMoKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBhY3Rpb25BcnJheTtcbiAgfVxuXG4gIGdldEZpZWxkTmFtZXMoKSB7XG4gICAgbGV0IGZpZWxkc0FycmF5ID0gW107XG4gICAgaWYgKHRoaXMuc3ViU2VjdGlvbnMgJiYgdGhpcy5zdWJTZWN0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGNvbnN0IHN1YlNlY3Rpb24gb2YgdGhpcy5zdWJTZWN0aW9ucykge1xuICAgICAgICBmaWVsZHNBcnJheSA9IGZpZWxkc0FycmF5LmNvbmNhdChzdWJTZWN0aW9uLmdldEZpZWxkTmFtZXMoKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmaWVsZHNBcnJheTtcbiAgfVxuXG4gIGdldEZpZWxkKG5hbWUpIHtcbiAgICBsZXQgZmllbGQgPSBudWxsO1xuICAgIGlmICh0aGlzLnN1YlNlY3Rpb25zICYmIHRoaXMuc3ViU2VjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgZm9yIChjb25zdCBzdWJTZWN0aW9uIG9mIHRoaXMuc3ViU2VjdGlvbnMpIHtcbiAgICAgICAgZmllbGQgPSBzdWJTZWN0aW9uLmdldEZpZWxkKG5hbWUpO1xuICAgICAgICBpZiAoZmllbGQpIHtcbiAgICAgICAgICByZXR1cm4gZmllbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzdXBwb3J0U3RhdGUoc3RhdGUpIHsgcmV0dXJuIHRoaXMudmlld09uU3RhdGUoc3RhdGUpOyB9XG4gIHZpZXdPblN0YXRlKHN0YXRlKSB7IHJldHVybiB0aGlzLnZpc2libGVTdGF0ZXMuaW5jbHVkZXMoc3RhdGUpOyB9XG4gIHN1cHBvcnRNb2RlKHN0YXRlKSB7IHJldHVybiB0aGlzLnZpZXdPblN0YXRlKHN0YXRlKTsgfVxufVxuIl19
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NsYXNzZXMvZm9ybXMvc2VjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVwRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUM7QUFFeEIsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGtCQUFrQjtJQVl2RCxZQUFZLGVBQWUsRUFBRSxVQUFVLEVBQUUsVUFBVTtRQUNqRCxLQUFLLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBWnBCLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUNwQyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFFdkQsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGNBQVMsR0FBa0IsSUFBSSxDQUFDO1FBQ2hDLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUNsQyxpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFDbkMsZ0JBQVcsR0FBMkIsRUFBRSxDQUFDO1FBRWpDLGdDQUEyQixHQUFHLEVBQUUsQ0FBQztRQUl2QyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQUUsT0FBTztTQUFFO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6RixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FB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UUFDakIsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNuRCxLQUFLLE1BQU0sVUFBVSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3pDLEtBQUssR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNsQyxJQUFJLEtBQUssRUFBRTtvQkFDVCxPQUFPLEtBQUssQ0FBQztpQkFDZDthQUNGO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFUSw4QkFBOEIsQ0FBQyxpQkFBaUI7UUFDdkQsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDckMsVUFBVSxFQUFFLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGb3JtUGllY2VQcm9wYWdhdGUgfSBmcm9tICcuL3BpZWNlLXByb3BhZ2F0ZSc7XG5pbXBvcnQgeyBGb3JtQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb24nO1xuaW1wb3J0IHsgUmVjb3JkRm9ybVN1YlNlY3Rpb24gfSBmcm9tICcuL3N1YnNlY3Rpb24nO1xuXG5jb25zdCBBQ1RJVkUgPSAnYWN0aXZlJztcblxuZXhwb3J0IGNsYXNzIFJlY29yZEZvcm1TZWN0aW9uIGV4dGVuZHMgRm9ybVBpZWNlUHJvcGFnYXRlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZhdGlvbiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5hY3RpdmF0aW9uID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gIGFjdGl2ZSA9IGZhbHNlO1xuICBzZWN0aW9uSWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBzZWN0aW9uQ29kZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHNlY3Rpb25UaXRsZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHN1YlNlY3Rpb25zOiBSZWNvcmRGb3JtU3ViU2VjdGlvbltdID0gW107XG4gIHN1YlNlY3Rpb25zT2JqOiBhbnk7XG4gIHByaXZhdGUgX2V4Y2x1c2l2ZVN1YlNlY3Rpb25zQnlBdHRyID0ge307XG5cbiAgY29uc3RydWN0b3Ioc2VjdGlvblJlY2VpdmVkLCBmb3JtT2JqZWN0LCBmb3JtQ29uZmlnKSB7XG4gICAgc3VwZXIoc2VjdGlvblJlY2VpdmVkLCBmb3JtQ29uZmlnKTtcbiAgICBpZiAoIXNlY3Rpb25SZWNlaXZlZCkgeyByZXR1cm47IH1cbiAgICB0aGlzLnNlY3Rpb25JZCA9IChzZWN0aW9uUmVjZWl2ZWQuc2VjdGlvbklkKSA/IHNlY3Rpb25SZWNlaXZlZC5zZWN0aW9uSWQudG9TdHJpbmcoKSA6ICcnO1xuICAgIHRoaXMuc2VjdGlvbkNvZGUgPSAoc2VjdGlvblJlY2VpdmVkLnNlY3Rpb25Db2RlKSA/IHNlY3Rpb25SZWNlaXZlZC5zZWN0aW9uQ29kZSA6ICcnO1xuICAgIHRoaXMuc2VjdGlvblRpdGxlID0gKHNlY3Rpb25SZWNlaXZlZC5zZWN0aW9uVGl0bGUpID8gc2VjdGlvblJlY2VpdmVkLnNlY3Rpb25UaXRsZSA6ICcnO1xuICAgIHRoaXMuc3ViU2VjdGlvbnMgPSBbXTtcbiAgICB0aGlzLnN1YlNlY3Rpb25zT2JqID0ge307XG4gICAgaWYgKHNlY3Rpb25SZWNlaXZlZC5zdWJzZWN0aW9ucykge1xuICAgICAgY29uc3Qgc3Vic2VjdGlvbnMgPSBzZWN0aW9uUmVjZWl2ZWQuc3Vic2VjdGlvbnMubWFwKHN1YlNlY0RlZiA9PiB7XG4gICAgICAgIGNvbnN0IHZpc2libGVTdGF0ZXMgPSBzdWJTZWNEZWYudmlzaWJsZVN0YXRlcyA/PyBbXTtcbiAgICAgICAgaWYgKHN1YlNlY0RlZi5lbGVtZW50cyAmJiBBcnJheS5pc0FycmF5KHN1YlNlY0RlZi5lbGVtZW50cykpIHtcbiAgICAgICAgICBzdWJTZWNEZWYuZWxlbWVudHMgPSBzdWJTZWNEZWYuZWxlbWVudHMubWFwKGVsbSA9PiAoeyBjb2RlOiBlbG0uZWxlbWVudENvZGUsIHR5cGU6IGVsbS5lbGVtZW50VHlwZU5hbWUgfSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IC4uLnN1YlNlY0RlZiwgdmlzaWJsZVN0YXRlcyB9O1xuICAgICAgfSk7XG4gICAgICBmb3IgKGNvbnN0IHN1YnNlY3Rpb25SZWNlaXZlZCBvZiBzdWJzZWN0aW9ucykge1xuICAgICAgICBjb25zdCBzdWJTZWN0aW9uVG9BZGQgPSBuZXcgUmVjb3JkRm9ybVN1YlNlY3Rpb24oc3Vic2VjdGlvblJlY2VpdmVkLCBmb3JtT2JqZWN0LCBmb3JtQ29uZmlnKTtcbiAgICAgICAgY29uc3Qgc3Vic2VjdGlvbkNvZGUgPSBzdWJTZWN0aW9uVG9BZGQuc3Vic2VjdGlvbkNvZGU7XG4gICAgICAgIGlmIChzdWJzZWN0aW9uQ29kZSkge1xuICAgICAgICAgIHRoaXMuc3ViU2VjdGlvbnMucHVzaChzdWJTZWN0aW9uVG9BZGQpO1xuICAgICAgICAgIHRoaXMuc3ViU2VjdGlvbnNPYmpbc3Vic2VjdGlvbkNvZGVdID0gc3ViU2VjdGlvblRvQWRkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGNvZGUoKSB7IHJldHVybiB0aGlzLnNlY3Rpb25Db2RlOyB9XG4gIGdldCBhY3RpdmF0aW9uKCkgeyByZXR1cm4gdGhpcy5fYWN0aXZhdGlvbjsgfVxuICBnZXQgaW5hY3RpdmF0aW9uKCkgeyByZXR1cm4gdGhpcy5faW5hY3RpdmF0aW9uOyB9XG5cbiAgYWN0aXZhdGUoKSB7XG4gICAgaWYgKCF0aGlzLmFjdGl2ZSkge1xuICAgICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICAgICAgdGhpcy5zZWN0aW9uQ29kZSAmJiB0aGlzLl9hY3RpdmF0aW9uLm5leHQodGhpcy5zZWN0aW9uQ29kZSk7XG4gICAgfVxuICB9XG5cbiAgaW5hY3RpdmF0ZSgpIHtcbiAgICBpZiAodGhpcy5hY3RpdmUpIHtcbiAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgICB0aGlzLnNlY3Rpb25Db2RlICYmIHRoaXMuX2luYWN0aXZhdGlvbi5uZXh0KHRoaXMuc2VjdGlvbkNvZGUpO1xuICAgIH1cbiAgfVxuXG4gIGdldCB0aXRsZSgpIHsgcmV0dXJuIHRoaXMuc2VjdGlvblRpdGxlOyB9XG4gIHNldCB0aXRsZSh0aXRsZSkgeyB0aGlzLnNlY3Rpb25UaXRsZSA9IHRpdGxlOyB9XG5cbiAgZ2V0VmlzaWJsZVN1YnNlY3Rpb25zKHN0YXRlKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbnMuZmlsdGVyKHN1YlNlY3Rpb24gPT4gc3ViU2VjdGlvbi52aXNpYmxlKTtcbiAgfVxuXG4gIGdldFN1YnNlY3Rpb24oc3ViU2VjdGlvbkNvZGUpIHtcbiAgICByZXR1cm4gKHRoaXMuc3ViU2VjdGlvbnNPYmogJiYgdGhpcy5zdWJTZWN0aW9uc09ialtzdWJTZWN0aW9uQ29kZV0pXG4gICAgICA/IHRoaXMuc3ViU2VjdGlvbnNPYmpbc3ViU2VjdGlvbkNvZGVdIDogbnVsbDtcbiAgfVxuXG4gIGFjdGl2YXRlU3ViU2VjdGlvbihzdWJTZWN0aW9uQ29kZSkge1xuICAgIGlmIChzdWJTZWN0aW9uQ29kZSA9PT0gdGhpcy5fZXhjbHVzaXZlU3ViU2VjdGlvbnNCeUF0dHJbQUNUSVZFXSkgeyByZXR1cm47IH1cbiAgICBjb25zdCBzdWJTZWN0aW9uID0gKHRoaXMuc3ViU2VjdGlvbnNPYmogJiYgdGhpcy5zdWJTZWN0aW9uc09ialtzdWJTZWN0aW9uQ29kZV0pXG4gICAgICA/IHRoaXMuc3ViU2VjdGlvbnNPYmpbc3ViU2VjdGlvbkNvZGVdIDogbnVsbDtcbiAgICBpZiAoc3ViU2VjdGlvbikge1xuICAgICAgc3ViU2VjdGlvbj8uYWN0aXZhdGUoKTtcbiAgICAgIHRoaXMuX2V4Y2x1c2l2ZVN1YlNlY3Rpb25zQnlBdHRyW0FDVElWRV0gPSBzdWJTZWN0aW9uQ29kZTtcbiAgICB9XG4gIH1cblxuICBnZXRGaWVsZHMoKSB7XG4gICAgbGV0IGZpZWxkc0FycmF5OiBhbnlbXSA9IFtdO1xuICAgIGlmICh0aGlzLnN1YlNlY3Rpb25zICYmIHRoaXMuc3ViU2VjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgZm9yIChjb25zdCBzdWJTZWN0aW9uIG9mIHRoaXMuc3ViU2VjdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgc3Vic2VjdGlvbkZpZWxkczogYW55W10gPSBzdWJTZWN0aW9uLmdldEZpZWxkcygpID8/IFtdO1xuICAgICAgICBpZiAoc3Vic2VjdGlvbkZpZWxkcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGZpZWxkc0FycmF5ID0gZmllbGRzQXJyYXkuY29uY2F0KHN1YnNlY3Rpb25GaWVsZHMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmaWVsZHNBcnJheTtcbiAgfVxuXG4gIGdldEFjdGlvbnMoKTogRm9ybUFjdGlvbltdIHtcbiAgICBsZXQgYWN0aW9uQXJyYXk6IGFueVtdID0gW107XG4gICAgaWYgKHRoaXMuc3ViU2VjdGlvbnMgJiYgdGhpcy5zdWJTZWN0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGNvbnN0IHN1YlNlY3Rpb24gb2YgdGhpcy5zdWJTZWN0aW9ucykge1xuICAgICAgICBjb25zdCBzdWJTZWN0aW9uQWN0aW9ucyA9IHN1YlNlY3Rpb24uZ2V0QWN0aW9ucygpID8/IFtdO1xuICAgICAgICBpZiAoc3ViU2VjdGlvbkFjdGlvbnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBhY3Rpb25BcnJheSA9IGFjdGlvbkFycmF5LmNvbmNhdChzdWJTZWN0aW9uQWN0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGFjdGlvbkFycmF5O1xuICB9XG5cbiAgZ2V0QWN0aW9uTmFtZXMoKTogc3RyaW5nW10ge1xuICAgIGxldCBhY3Rpb25BcnJheTogc3RyaW5nW10gPSBbXTtcbiAgICBpZiAodGhpcy5zdWJTZWN0aW9ucyAmJiB0aGlzLnN1YlNlY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAoY29uc3Qgc3ViU2VjdGlvbiBvZiB0aGlzLnN1YlNlY3Rpb25zKSB7XG4gICAgICAgIGFjdGlvbkFycmF5ID0gYWN0aW9uQXJyYXkuY29uY2F0KHN1YlNlY3Rpb24uZ2V0QWN0aW9uTmFtZXMoKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBhY3Rpb25BcnJheTtcbiAgfVxuXG4gIGdldEZpZWxkTmFtZXMoKSB7XG4gICAgbGV0IGZpZWxkc0FycmF5OiBzdHJpbmdbXSA9IFtdO1xuICAgIGlmICh0aGlzLnN1YlNlY3Rpb25zICYmIHRoaXMuc3ViU2VjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgZm9yIChjb25zdCBzdWJTZWN0aW9uIG9mIHRoaXMuc3ViU2VjdGlvbnMpIHtcbiAgICAgICAgZmllbGRzQXJyYXkgPSBmaWVsZHNBcnJheS5jb25jYXQoc3ViU2VjdGlvbi5nZXRGaWVsZE5hbWVzKCkpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmllbGRzQXJyYXk7XG4gIH1cblxuICBnZXRGaWVsZChuYW1lKSB7XG4gICAgbGV0IGZpZWxkID0gbnVsbDtcbiAgICBpZiAodGhpcy5zdWJTZWN0aW9ucyAmJiB0aGlzLnN1YlNlY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAoY29uc3Qgc3ViU2VjdGlvbiBvZiB0aGlzLnN1YlNlY3Rpb25zKSB7XG4gICAgICAgIGZpZWxkID0gc3ViU2VjdGlvbi5nZXRGaWVsZChuYW1lKTtcbiAgICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgICAgcmV0dXJuIGZpZWxkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgb3ZlcnJpZGUgZm9ybVN0YXRlQ2hhbmdlQ3VzdG9tU3Vic2NyaWJlKGZvcm1DaGFuZ2VTdWJqZWN0KSB7XG4gICAgdGhpcy5zdWJTZWN0aW9ucz8uZm9yRWFjaChzdWJzZWN0aW9uID0+IHtcbiAgICAgIHN1YnNlY3Rpb24/LnN1YnNjcmliZUZvcm1TdGF0ZUNoYW5nZShmb3JtQ2hhbmdlU3ViamVjdCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,24 +1,28 @@
1
+ import { FormPiecePropagate } from './piece-propagate';
1
2
  import { elementTypes } from './form.constants';
2
- export class RecordFormSubSection {
3
- constructor(subsectionReceived, formObject) {
4
- if (!subsectionReceived) {
5
- return;
6
- }
3
+ export class RecordFormSubSection extends FormPiecePropagate {
4
+ constructor(subsectionReceived, formObject, formConfig) {
5
+ super(subsectionReceived, formConfig);
7
6
  this._customRender = null;
8
- this.visible = true;
7
+ this.subsectionId = null;
8
+ this.subsectionCode = null;
9
+ this.subsectionTitle = null;
9
10
  this.subSectionElements = [];
10
11
  this.subSectionFields = [];
11
12
  this.subSectionTables = [];
12
13
  this.subSectionActions = [];
13
14
  this.elementsArray = {};
15
+ this.active = false;
16
+ if (!subsectionReceived) {
17
+ return;
18
+ }
14
19
  this.subsectionId = (subsectionReceived.subsectionId) ? subsectionReceived.subsectionId.toString() : '';
15
20
  this.subsectionCode = (subsectionReceived.subsectionCode) ? subsectionReceived.subsectionCode : '';
16
21
  this.subsectionTitle = (subsectionReceived.subsectionTitle) ? subsectionReceived.subsectionTitle : '';
17
- this.visibleStates = subsectionReceived.visibleStates || [];
18
22
  if (subsectionReceived.elements) {
19
23
  for (const receivedElement of subsectionReceived.elements) {
20
24
  let elementObject = null;
21
- let arrayToAdd = null;
25
+ let arrayToAdd = [];
22
26
  const { type, code } = receivedElement;
23
27
  switch (type) {
24
28
  case elementTypes.field:
@@ -43,8 +47,6 @@ export class RecordFormSubSection {
43
47
  }
44
48
  }
45
49
  }
46
- show() { this.visible = true; }
47
- hide() { this.visible = false; }
48
50
  get customRender() { return this._customRender; }
49
51
  set customRender(customRenderName) { this._customRender = customRenderName; }
50
52
  getField(name) {
@@ -62,9 +64,17 @@ export class RecordFormSubSection {
62
64
  getActionNames() {
63
65
  return this.subSectionActions.map(action => action.actionCode);
64
66
  }
65
- viewOnState(state) {
66
- return this.visibleStates.includes(state);
67
+ activate() {
68
+ if (!this.active) {
69
+ this.active = true;
70
+ // this.subsectionCode && this._activation.next(this.subsectionCode);
71
+ }
72
+ }
73
+ inactivate() {
74
+ if (this.active) {
75
+ this.active = false;
76
+ // this.subsectionCode && this._inactivation.next(this.subsectionCode);
77
+ }
67
78
  }
68
- supportMode(state) { return this.viewOnState(state); }
69
79
  }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NsYXNzZXMvZm9ybXMvc3Vic2VjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQsTUFBTSxPQUFPLG9CQUFvQjtJQWMvQixZQUFZLGtCQUFrQixFQUFFLFVBQVU7UUFDeEMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQUUsT0FBTztTQUFFO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4RyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25HLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FB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dCB7IEZvcm1BY3Rpb24gfSBmcm9tICcuL2FjdGlvbic7XG5pbXBvcnQgeyBlbGVtZW50VHlwZXMgfSBmcm9tICcuL2Zvcm0uY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIFJlY29yZEZvcm1TdWJTZWN0aW9uIHtcbiAgdmlzaWJsZTogYm9vbGVhbjtcbiAgX2N1c3RvbVJlbmRlcjogc3RyaW5nO1xuICBzdWJzZWN0aW9uSWQ6IHN0cmluZztcbiAgc3Vic2VjdGlvbkNvZGU6IHN0cmluZztcbiAgc3Vic2VjdGlvblRpdGxlOiBzdHJpbmc7XG4gIHZpc2libGVTdGF0ZXM6IHN0cmluZ1tdO1xuXG4gIHN1YlNlY3Rpb25FbGVtZW50czogYW55W107XG4gIHN1YlNlY3Rpb25GaWVsZHM6IGFueVtdO1xuICBzdWJTZWN0aW9uVGFibGVzOiBhbnlbXTtcbiAgc3ViU2VjdGlvbkFjdGlvbnM6IGFueVtdO1xuICBlbGVtZW50c0FycmF5OiBhbnk7XG5cbiAgY29uc3RydWN0b3Ioc3Vic2VjdGlvblJlY2VpdmVkLCBmb3JtT2JqZWN0KSB7XG4gICAgaWYgKCFzdWJzZWN0aW9uUmVjZWl2ZWQpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5fY3VzdG9tUmVuZGVyID0gbnVsbDtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgIHRoaXMuc3ViU2VjdGlvbkVsZW1lbnRzID0gW107XG4gICAgdGhpcy5zdWJTZWN0aW9uRmllbGRzID0gW107XG4gICAgdGhpcy5zdWJTZWN0aW9uVGFibGVzID0gW107XG4gICAgdGhpcy5zdWJTZWN0aW9uQWN0aW9ucyA9IFtdO1xuICAgIHRoaXMuZWxlbWVudHNBcnJheSA9IHt9O1xuICAgIHRoaXMuc3Vic2VjdGlvbklkID0gKHN1YnNlY3Rpb25SZWNlaXZlZC5zdWJzZWN0aW9uSWQpID8gc3Vic2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25JZC50b1N0cmluZygpIDogJyc7XG4gICAgdGhpcy5zdWJzZWN0aW9uQ29kZSA9IChzdWJzZWN0aW9uUmVjZWl2ZWQuc3Vic2VjdGlvbkNvZGUpID8gc3Vic2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25Db2RlIDogJyc7XG4gICAgdGhpcy5zdWJzZWN0aW9uVGl0bGUgPSAoc3Vic2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25UaXRsZSkgPyBzdWJzZWN0aW9uUmVjZWl2ZWQuc3Vic2VjdGlvblRpdGxlIDogJyc7XG4gICAgdGhpcy52aXNpYmxlU3RhdGVzID0gc3Vic2VjdGlvblJlY2VpdmVkLnZpc2libGVTdGF0ZXMgfHwgW107XG4gICAgaWYgKHN1YnNlY3Rpb25SZWNlaXZlZC5lbGVtZW50cykge1xuICAgICAgZm9yIChjb25zdCByZWNlaXZlZEVsZW1lbnQgb2Ygc3Vic2VjdGlvblJlY2VpdmVkLmVsZW1lbnRzKSB7XG4gICAgICAgIGxldCBlbGVtZW50T2JqZWN0ID0gbnVsbDtcbiAgICAgICAgbGV0IGFycmF5VG9BZGQgPSBudWxsO1xuICAgICAgICBjb25zdCB7IHR5cGUsIGNvZGUgfSA9IHJlY2VpdmVkRWxlbWVudDtcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgY2FzZSBlbGVtZW50VHlwZXMuZmllbGQ6XG4gICAgICAgICAgICBlbGVtZW50T2JqZWN0ID0gZm9ybU9iamVjdC5nZXRGaWVsZChjb2RlKTtcbiAgICAgICAgICAgIGFycmF5VG9BZGQgPSB0aGlzLnN1YlNlY3Rpb25GaWVsZHM7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIGVsZW1lbnRUeXBlcy50YWJsZTpcbiAgICAgICAgICAgIGVsZW1lbnRPYmplY3QgPSBmb3JtT2JqZWN0LmdldFRhYmxlKGNvZGUpO1xuICAgICAgICAgICAgYXJyYXlUb0FkZCA9IHRoaXMuc3ViU2VjdGlvblRhYmxlcztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgZWxlbWVudFR5cGVzLmFjdGlvbjpcbiAgICAgICAgICAgIGVsZW1lbnRPYmplY3QgPSBmb3JtT2JqZWN0LmdldEFjdGlvbihjb2RlKTtcbiAgICAgICAgICAgIGFycmF5VG9BZGQgPSB0aGlzLnN1YlNlY3Rpb25BY3Rpb25zO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVsZW1lbnRPYmplY3QpIHtcbiAgICAgICAgICBlbGVtZW50T2JqZWN0LmVsZW1lbnRUeXBlID0gdHlwZTtcbiAgICAgICAgICBhcnJheVRvQWRkLnB1c2goZWxlbWVudE9iamVjdCk7XG4gICAgICAgICAgdGhpcy5zdWJTZWN0aW9uRWxlbWVudHMucHVzaChlbGVtZW50T2JqZWN0KTtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRzQXJyYXlbY29kZV0gPSBlbGVtZW50T2JqZWN0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2hvdygpIHsgdGhpcy52aXNpYmxlID0gdHJ1ZTsgfVxuICBoaWRlKCkgeyB0aGlzLnZpc2libGUgPSBmYWxzZTsgfVxuXG4gIGdldCBjdXN0b21SZW5kZXIoKSB7IHJldHVybiB0aGlzLl9jdXN0b21SZW5kZXI7IH1cbiAgc2V0IGN1c3RvbVJlbmRlcihjdXN0b21SZW5kZXJOYW1lKSB7IHRoaXMuX2N1c3RvbVJlbmRlciA9IGN1c3RvbVJlbmRlck5hbWU7IH1cblxuICBnZXRGaWVsZChuYW1lKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkZpZWxkcy5maW5kKGZsZCA9PiBmbGQubmFtZSA9PT0gbmFtZSk7XG4gIH1cblxuICBnZXRGaWVsZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkZpZWxkcztcbiAgfVxuXG4gIGdldEZpZWxkTmFtZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkZpZWxkcy5tYXAoZmllbGQgPT4gZmllbGQuY29kZSk7XG4gIH1cblxuICBnZXRBY3Rpb25zKCk6IEZvcm1BY3Rpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkFjdGlvbnM7XG4gIH1cblxuICBnZXRBY3Rpb25OYW1lcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkFjdGlvbnMubWFwKGFjdGlvbiA9PiBhY3Rpb24uYWN0aW9uQ29kZSk7XG4gIH1cblxuICB2aWV3T25TdGF0ZShzdGF0ZSkge1xuICAgIHJldHVybiB0aGlzLnZpc2libGVTdGF0ZXMuaW5jbHVkZXMoc3RhdGUpO1xuICB9XG5cbiAgc3VwcG9ydE1vZGUoc3RhdGUpIHsgcmV0dXJuIHRoaXMudmlld09uU3RhdGUoc3RhdGUpOyB9XG59XG4iXX0=
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NsYXNzZXMvZm9ybXMvc3Vic2VjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGtCQUFrQjtJQWExRCxZQUFZLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxVQUFVO1FBQ3BELEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxVQUFVLENBQUMsQ0FBQztRQWJ4QyxrQkFBYSxHQUFrQixJQUFJLENBQUM7UUFDcEMsaUJBQVksR0FBa0IsSUFBSSxDQUFDO1FBQ25DLG1CQUFjLEdBQWtCLElBQUksQ0FBQztRQUNyQyxvQkFBZSxHQUFrQixJQUFJLENBQUM7UUFFdEMsdUJBQWtCLEdBQVUsRUFBRSxDQUFDO1FBQy9CLHFCQUFnQixHQUFVLEVBQUUsQ0FBQztRQUM3QixxQkFBZ0IsR0FBVSxFQUFFLENBQUM7UUFDN0Isc0JBQWlCLEdBQVUsRUFBRSxDQUFDO1FBQzlCLGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFJYixJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4RyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGNB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OlsiaW1wb3J0IHsgRm9ybVBpZWNlUHJvcGFnYXRlIH0gZnJvbSAnLi9waWVjZS1wcm9wYWdhdGUnO1xuaW1wb3J0IHsgRm9ybUFjdGlvbiB9IGZyb20gJy4vYWN0aW9uJztcbmltcG9ydCB7IGVsZW1lbnRUeXBlcyB9IGZyb20gJy4vZm9ybS5jb25zdGFudHMnO1xuXG5leHBvcnQgY2xhc3MgUmVjb3JkRm9ybVN1YlNlY3Rpb24gZXh0ZW5kcyBGb3JtUGllY2VQcm9wYWdhdGUge1xuICBfY3VzdG9tUmVuZGVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgc3Vic2VjdGlvbklkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgc3Vic2VjdGlvbkNvZGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBzdWJzZWN0aW9uVGl0bGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIHN1YlNlY3Rpb25FbGVtZW50czogYW55W10gPSBbXTtcbiAgc3ViU2VjdGlvbkZpZWxkczogYW55W10gPSBbXTtcbiAgc3ViU2VjdGlvblRhYmxlczogYW55W10gPSBbXTtcbiAgc3ViU2VjdGlvbkFjdGlvbnM6IGFueVtdID0gW107XG4gIGVsZW1lbnRzQXJyYXk6IGFueSA9IHt9O1xuICBhY3RpdmUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihzdWJzZWN0aW9uUmVjZWl2ZWQsIGZvcm1PYmplY3QsIGZvcm1Db25maWcpIHtcbiAgICBzdXBlcihzdWJzZWN0aW9uUmVjZWl2ZWQsIGZvcm1Db25maWcpO1xuICAgIGlmICghc3Vic2VjdGlvblJlY2VpdmVkKSB7IHJldHVybjsgfVxuICAgIHRoaXMuc3Vic2VjdGlvbklkID0gKHN1YnNlY3Rpb25SZWNlaXZlZC5zdWJzZWN0aW9uSWQpID8gc3Vic2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25JZC50b1N0cmluZygpIDogJyc7XG4gICAgdGhpcy5zdWJzZWN0aW9uQ29kZSA9IChzdWJzZWN0aW9uUmVjZWl2ZWQuc3Vic2VjdGlvbkNvZGUpID8gc3Vic2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25Db2RlIDogJyc7XG4gICAgdGhpcy5zdWJzZWN0aW9uVGl0bGUgPSAoc3Vic2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25UaXRsZSkgPyBzdWJzZWN0aW9uUmVjZWl2ZWQuc3Vic2VjdGlvblRpdGxlIDogJyc7XG4gICAgaWYgKHN1YnNlY3Rpb25SZWNlaXZlZC5lbGVtZW50cykge1xuICAgICAgZm9yIChjb25zdCByZWNlaXZlZEVsZW1lbnQgb2Ygc3Vic2VjdGlvblJlY2VpdmVkLmVsZW1lbnRzKSB7XG4gICAgICAgIGxldCBlbGVtZW50T2JqZWN0OiBhbnkgPSBudWxsO1xuICAgICAgICBsZXQgYXJyYXlUb0FkZDogYW55W10gPSBbXTtcbiAgICAgICAgY29uc3QgeyB0eXBlLCBjb2RlIH0gPSByZWNlaXZlZEVsZW1lbnQ7XG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgIGNhc2UgZWxlbWVudFR5cGVzLmZpZWxkOlxuICAgICAgICAgICAgZWxlbWVudE9iamVjdCA9IGZvcm1PYmplY3QuZ2V0RmllbGQoY29kZSk7XG4gICAgICAgICAgICBhcnJheVRvQWRkID0gdGhpcy5zdWJTZWN0aW9uRmllbGRzO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBlbGVtZW50VHlwZXMudGFibGU6XG4gICAgICAgICAgICBlbGVtZW50T2JqZWN0ID0gZm9ybU9iamVjdC5nZXRUYWJsZShjb2RlKTtcbiAgICAgICAgICAgIGFycmF5VG9BZGQgPSB0aGlzLnN1YlNlY3Rpb25UYWJsZXM7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIGVsZW1lbnRUeXBlcy5hY3Rpb246XG4gICAgICAgICAgICBlbGVtZW50T2JqZWN0ID0gZm9ybU9iamVjdC5nZXRBY3Rpb24oY29kZSk7XG4gICAgICAgICAgICBhcnJheVRvQWRkID0gdGhpcy5zdWJTZWN0aW9uQWN0aW9ucztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbGVtZW50T2JqZWN0KSB7XG4gICAgICAgICAgZWxlbWVudE9iamVjdC5lbGVtZW50VHlwZSA9IHR5cGU7XG4gICAgICAgICAgYXJyYXlUb0FkZC5wdXNoKGVsZW1lbnRPYmplY3QpO1xuICAgICAgICAgIHRoaXMuc3ViU2VjdGlvbkVsZW1lbnRzLnB1c2goZWxlbWVudE9iamVjdCk7XG4gICAgICAgICAgdGhpcy5lbGVtZW50c0FycmF5W2NvZGVdID0gZWxlbWVudE9iamVjdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBjdXN0b21SZW5kZXIoKSB7IHJldHVybiB0aGlzLl9jdXN0b21SZW5kZXI7IH1cbiAgc2V0IGN1c3RvbVJlbmRlcihjdXN0b21SZW5kZXJOYW1lKSB7IHRoaXMuX2N1c3RvbVJlbmRlciA9IGN1c3RvbVJlbmRlck5hbWU7IH1cblxuICBnZXRGaWVsZChuYW1lKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkZpZWxkcy5maW5kKGZsZCA9PiBmbGQubmFtZSA9PT0gbmFtZSk7XG4gIH1cblxuICBnZXRGaWVsZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkZpZWxkcztcbiAgfVxuXG4gIGdldEZpZWxkTmFtZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkZpZWxkcy5tYXAoZmllbGQgPT4gZmllbGQuY29kZSk7XG4gIH1cblxuICBnZXRBY3Rpb25zKCk6IEZvcm1BY3Rpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkFjdGlvbnM7XG4gIH1cblxuICBnZXRBY3Rpb25OYW1lcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkFjdGlvbnMubWFwKGFjdGlvbiA9PiBhY3Rpb24uYWN0aW9uQ29kZSk7XG4gIH1cblxuICBhY3RpdmF0ZSgpIHtcbiAgICBpZiAoIXRoaXMuYWN0aXZlKSB7XG4gICAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICAvLyB0aGlzLnN1YnNlY3Rpb25Db2RlICYmIHRoaXMuX2FjdGl2YXRpb24ubmV4dCh0aGlzLnN1YnNlY3Rpb25Db2RlKTtcbiAgICB9XG4gIH1cblxuICBpbmFjdGl2YXRlKCkge1xuICAgIGlmICh0aGlzLmFjdGl2ZSkge1xuICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgIC8vIHRoaXMuc3Vic2VjdGlvbkNvZGUgJiYgdGhpcy5faW5hY3RpdmF0aW9uLm5leHQodGhpcy5zdWJzZWN0aW9uQ29kZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,5 +1,7 @@
1
- export class TableAction {
2
- constructor(actionDefinition) {
1
+ import { FormPiece } from '../piece';
2
+ export class TableAction extends FormPiece {
3
+ constructor(actionDefinition, formConfig) {
4
+ super(actionDefinition, formConfig);
3
5
  this.actionCode = actionDefinition.actionCode;
4
6
  this.actionTitle = actionDefinition.actionTitle;
5
7
  this.iconName = actionDefinition.iconName || this.actionCode;
@@ -7,25 +9,10 @@ export class TableAction {
7
9
  this.actionClass = actionDefinition.actionClass || 'INLINE';
8
10
  this.newState = actionDefinition.newState;
9
11
  this.stateField = actionDefinition.stateField || '';
10
- this.visibleStates = actionDefinition.visibleStates || [];
11
- this.enabledStates = actionDefinition.enabledStates || [];
12
12
  this.backend = actionDefinition?.serverAction ?? false;
13
13
  this.restrictedOnField = actionDefinition.fieldRestrictedCode || '';
14
14
  this.restrictedOnValue = actionDefinition.valueRestricted ?? '';
15
15
  this.restrictedOnOperator = actionDefinition.operatorRestricted || '';
16
- this.customAttributes = actionDefinition?.customAttributes ?? {};
17
16
  }
18
- getCustomAttribute(name) { return this.customAttributes?.[name] ?? null; }
19
- setCustomAttribute(name, value) { if (name) {
20
- this.customAttributes[name] = value;
21
- } }
22
- setCustomAttributes(attributes) {
23
- Object.entries(attributes).forEach(([name, value]) => {
24
- this.setCustomAttribute(name, value);
25
- });
26
- }
27
- supportMode(state) { return this.viewOnState(state); }
28
- viewOnState(state) { return this.visibleStates.includes(state); }
29
- enabledOnState(state) { return this.enabledStates.includes(state); }
30
17
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY2xhc3Nlcy9mb3Jtcy90YWJsZS9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVc7SUFrQnRCLFlBQVksZ0JBQWdCO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO1FBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDN0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDO1FBQzVELElBQUksQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQztRQUM1RCxJQUFJLENBQUMsUUFBUSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztRQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7UUFFcEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO1FBQzFELElBQUksQ0FBQyxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztRQUMxRCxJQUFJLENBQUMsT0FBTyxHQUFHLGdCQUFnQixFQUFFLFlBQVksSUFBSSxLQUFLLENBQUM7UUFDdkQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQztRQUNwRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQztRQUNoRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsZ0JBQWdCLENBQUMsa0JBQWtCLElBQUksRUFBRSxDQUFDO1FBQ3RFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsRUFBRSxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7SUFDbkUsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQVksSUFBUyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdkYsa0JBQWtCLENBQUMsSUFBWSxFQUFFLEtBQVUsSUFBVSxJQUFJLElBQUksRUFBRTtRQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7S0FBRSxDQUFDLENBQUM7SUFFekcsbUJBQW1CLENBQUMsVUFBZTtRQUNqQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBSyxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFdEQsV0FBVyxDQUFDLEtBQUssSUFBSSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRSxjQUFjLENBQUMsS0FBSyxJQUFJLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ3JFIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFRhYmxlQWN0aW9uIHtcbiAgdmlzaWJsZVN0YXRlczogc3RyaW5nW107XG4gIGVuYWJsZWRTdGF0ZXM6IHN0cmluZ1tdO1xuICBuZXdTdGF0ZTogc3RyaW5nO1xuXG4gIGFjdGlvbkNvZGU6IHN0cmluZztcbiAgYWN0aW9uVGl0bGU6IHN0cmluZztcbiAgaWNvbk5hbWU6IHN0cmluZztcbiAgYWN0aW9uVHlwZTogc3RyaW5nO1xuICBhY3Rpb25DbGFzczogc3RyaW5nO1xuICBzdGF0ZUZpZWxkOiBzdHJpbmc7XG5cbiAgYmFja2VuZDogYm9vbGVhbjtcbiAgcmVzdHJpY3RlZE9uRmllbGQ6IHN0cmluZztcbiAgcmVzdHJpY3RlZE9uVmFsdWU6IHN0cmluZztcbiAgcmVzdHJpY3RlZE9uT3BlcmF0b3I6IHN0cmluZztcbiAgY3VzdG9tQXR0cmlidXRlczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKGFjdGlvbkRlZmluaXRpb24pIHtcbiAgICB0aGlzLmFjdGlvbkNvZGUgPSBhY3Rpb25EZWZpbml0aW9uLmFjdGlvbkNvZGU7XG4gICAgdGhpcy5hY3Rpb25UaXRsZSA9IGFjdGlvbkRlZmluaXRpb24uYWN0aW9uVGl0bGU7XG4gICAgdGhpcy5pY29uTmFtZSA9IGFjdGlvbkRlZmluaXRpb24uaWNvbk5hbWUgfHwgdGhpcy5hY3Rpb25Db2RlO1xuICAgIHRoaXMuYWN0aW9uVHlwZSA9IGFjdGlvbkRlZmluaXRpb24uYWN0aW9uVHlwZSB8fCAnU1RBTkRBUkQnO1xuICAgIHRoaXMuYWN0aW9uQ2xhc3MgPSBhY3Rpb25EZWZpbml0aW9uLmFjdGlvbkNsYXNzIHx8ICdJTkxJTkUnO1xuICAgIHRoaXMubmV3U3RhdGUgPSBhY3Rpb25EZWZpbml0aW9uLm5ld1N0YXRlO1xuICAgIHRoaXMuc3RhdGVGaWVsZCA9IGFjdGlvbkRlZmluaXRpb24uc3RhdGVGaWVsZCB8fCAnJztcblxuICAgIHRoaXMudmlzaWJsZVN0YXRlcyA9IGFjdGlvbkRlZmluaXRpb24udmlzaWJsZVN0YXRlcyB8fCBbXTtcbiAgICB0aGlzLmVuYWJsZWRTdGF0ZXMgPSBhY3Rpb25EZWZpbml0aW9uLmVuYWJsZWRTdGF0ZXMgfHwgW107XG4gICAgdGhpcy5iYWNrZW5kID0gYWN0aW9uRGVmaW5pdGlvbj8uc2VydmVyQWN0aW9uID8/IGZhbHNlO1xuICAgIHRoaXMucmVzdHJpY3RlZE9uRmllbGQgPSBhY3Rpb25EZWZpbml0aW9uLmZpZWxkUmVzdHJpY3RlZENvZGUgfHwgJyc7XG4gICAgdGhpcy5yZXN0cmljdGVkT25WYWx1ZSA9IGFjdGlvbkRlZmluaXRpb24udmFsdWVSZXN0cmljdGVkID8/ICcnO1xuICAgIHRoaXMucmVzdHJpY3RlZE9uT3BlcmF0b3IgPSBhY3Rpb25EZWZpbml0aW9uLm9wZXJhdG9yUmVzdHJpY3RlZCB8fCAnJztcbiAgICB0aGlzLmN1c3RvbUF0dHJpYnV0ZXMgPSBhY3Rpb25EZWZpbml0aW9uPy5jdXN0b21BdHRyaWJ1dGVzID8/IHt9O1xuICB9XG5cbiAgZ2V0Q3VzdG9tQXR0cmlidXRlKG5hbWU6IHN0cmluZyk6IGFueSB7IHJldHVybiB0aGlzLmN1c3RvbUF0dHJpYnV0ZXM/LltuYW1lXSA/PyBudWxsOyB9XG4gIHNldEN1c3RvbUF0dHJpYnV0ZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHsgaWYgKG5hbWUpIHsgdGhpcy5jdXN0b21BdHRyaWJ1dGVzW25hbWVdID0gdmFsdWU7IH0gfVxuXG4gIHNldEN1c3RvbUF0dHJpYnV0ZXMoYXR0cmlidXRlczogYW55KTogdm9pZCB7XG4gICAgT2JqZWN0LmVudHJpZXMoYXR0cmlidXRlcykuZm9yRWFjaCgoW25hbWUsIHZhbHVlXSkgPT4ge1xuICAgICAgdGhpcy5zZXRDdXN0b21BdHRyaWJ1dGUobmFtZSwgdmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgc3VwcG9ydE1vZGUoc3RhdGUpIHsgcmV0dXJuIHRoaXMudmlld09uU3RhdGUoc3RhdGUpOyB9XG5cbiAgdmlld09uU3RhdGUoc3RhdGUpIHsgcmV0dXJuIHRoaXMudmlzaWJsZVN0YXRlcy5pbmNsdWRlcyhzdGF0ZSk7IH1cbiAgZW5hYmxlZE9uU3RhdGUoc3RhdGUpIHsgcmV0dXJuIHRoaXMuZW5hYmxlZFN0YXRlcy5pbmNsdWRlcyhzdGF0ZSk7IH1cbn1cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY2xhc3Nlcy9mb3Jtcy90YWJsZS9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNyQyxNQUFNLE9BQU8sV0FBWSxTQUFRLFNBQVM7SUFleEMsWUFBWSxnQkFBZ0IsRUFBRSxVQUFVO1FBQ3RDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztRQUM5QyxJQUFJLENBQUMsV0FBVyxHQUFHLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztRQUNoRCxJQUFJLENBQUMsUUFBUSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzdELElBQUksQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQztRQUM1RCxJQUFJLENBQUMsV0FBVyxHQUFHLGdCQUFnQixDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUM7UUFDNUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7UUFDMUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLEdBQUcsZ0JBQWdCLEVBQUUsWUFBWSxJQUFJLEtBQUssQ0FBQztRQUN2RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDO1FBQ3BFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsSUFBSSxFQUFFLENBQUM7SUFDeEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybVBpZWNlIH0gZnJvbSAnLi4vcGllY2UnO1xuZXhwb3J0IGNsYXNzIFRhYmxlQWN0aW9uIGV4dGVuZHMgRm9ybVBpZWNlIHtcbiAgbmV3U3RhdGU6IHN0cmluZztcblxuICBhY3Rpb25Db2RlOiBzdHJpbmc7XG4gIGFjdGlvblRpdGxlOiBzdHJpbmc7XG4gIGljb25OYW1lOiBzdHJpbmc7XG4gIGFjdGlvblR5cGU6IHN0cmluZztcbiAgYWN0aW9uQ2xhc3M6IHN0cmluZztcbiAgc3RhdGVGaWVsZDogc3RyaW5nO1xuXG4gIGJhY2tlbmQ6IGJvb2xlYW47XG4gIHJlc3RyaWN0ZWRPbkZpZWxkOiBzdHJpbmc7XG4gIHJlc3RyaWN0ZWRPblZhbHVlOiBzdHJpbmc7XG4gIHJlc3RyaWN0ZWRPbk9wZXJhdG9yOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoYWN0aW9uRGVmaW5pdGlvbiwgZm9ybUNvbmZpZykge1xuICAgIHN1cGVyKGFjdGlvbkRlZmluaXRpb24sIGZvcm1Db25maWcpO1xuXG4gICAgdGhpcy5hY3Rpb25Db2RlID0gYWN0aW9uRGVmaW5pdGlvbi5hY3Rpb25Db2RlO1xuICAgIHRoaXMuYWN0aW9uVGl0bGUgPSBhY3Rpb25EZWZpbml0aW9uLmFjdGlvblRpdGxlO1xuICAgIHRoaXMuaWNvbk5hbWUgPSBhY3Rpb25EZWZpbml0aW9uLmljb25OYW1lIHx8IHRoaXMuYWN0aW9uQ29kZTtcbiAgICB0aGlzLmFjdGlvblR5cGUgPSBhY3Rpb25EZWZpbml0aW9uLmFjdGlvblR5cGUgfHwgJ1NUQU5EQVJEJztcbiAgICB0aGlzLmFjdGlvbkNsYXNzID0gYWN0aW9uRGVmaW5pdGlvbi5hY3Rpb25DbGFzcyB8fCAnSU5MSU5FJztcbiAgICB0aGlzLm5ld1N0YXRlID0gYWN0aW9uRGVmaW5pdGlvbi5uZXdTdGF0ZTtcbiAgICB0aGlzLnN0YXRlRmllbGQgPSBhY3Rpb25EZWZpbml0aW9uLnN0YXRlRmllbGQgfHwgJyc7XG4gICAgdGhpcy5iYWNrZW5kID0gYWN0aW9uRGVmaW5pdGlvbj8uc2VydmVyQWN0aW9uID8/IGZhbHNlO1xuICAgIHRoaXMucmVzdHJpY3RlZE9uRmllbGQgPSBhY3Rpb25EZWZpbml0aW9uLmZpZWxkUmVzdHJpY3RlZENvZGUgfHwgJyc7XG4gICAgdGhpcy5yZXN0cmljdGVkT25WYWx1ZSA9IGFjdGlvbkRlZmluaXRpb24udmFsdWVSZXN0cmljdGVkID8/ICcnO1xuICAgIHRoaXMucmVzdHJpY3RlZE9uT3BlcmF0b3IgPSBhY3Rpb25EZWZpbml0aW9uLm9wZXJhdG9yUmVzdHJpY3RlZCB8fCAnJztcbiAgfVxufVxuIl19
@@ -1,19 +1,19 @@
1
- export class RecordTableColumn {
1
+ import { FormPiece } from '../piece';
2
+ export class RecordTableColumn extends FormPiece {
2
3
  constructor(recTableColReceived, formConfig) {
4
+ super(recTableColReceived, formConfig);
3
5
  this.fieldCode = '';
4
6
  this.fieldTitle = '';
5
7
  this.fieldType = '';
6
8
  this.fieldAlignment = '';
7
9
  this.fieldFormat = '';
8
- this.visible = true;
9
10
  this.sortable = true;
11
+ this.searchable = true;
10
12
  this.sortDirections = [];
11
- this.customAttributes = {};
12
13
  // Filtros
13
14
  this.filterVisible = false;
14
15
  this.filterDef = null;
15
16
  this.filterSetup = null;
16
- this._formConfig = formConfig;
17
17
  this.filterDef = null;
18
18
  if (recTableColReceived) {
19
19
  this.fieldCode = recTableColReceived.fieldCode;
@@ -21,22 +21,15 @@ export class RecordTableColumn {
21
21
  this.fieldType = recTableColReceived.fieldTypeCode || this._formConfig.fieldTypes.text;
22
22
  const defaultTypeAlignment = (this._formConfig.tableFieldStyles[this.fieldType] != null) ? this._formConfig.tableFieldStyles[this.fieldType]['text-align'] : 'left';
23
23
  this.fieldAlignment = (recTableColReceived.alignment != null) ? recTableColReceived.alignment.toLowerCase() : defaultTypeAlignment;
24
- this.visible = recTableColReceived?.visible ?? true;
24
+ this._absoluteVisible = recTableColReceived?.visible ?? true;
25
25
  this.sortable = recTableColReceived?.sortable ?? false;
26
+ this.searchable = recTableColReceived?.searchable ?? true;
26
27
  this.sortDirections = (this.sortable) ? ['ascend', 'descend'] : [];
27
28
  this.fieldFormat = recTableColReceived.format || '';
28
29
  this.customAttributes = recTableColReceived?.customAttributes ?? {};
29
30
  }
30
31
  }
31
- getCustomAttribute(name) { return this.customAttributes?.[name] ?? null; }
32
- setCustomAttribute(name, value) { if (name) {
33
- this.customAttributes[name] = value;
34
- } }
35
- setCustomAttributes(attributes) {
36
- Object.entries(attributes).forEach(([name, value]) => {
37
- this.setCustomAttribute(name, value);
38
- });
39
- }
32
+ setSearchable(searchable = true) { this.searchable = searchable; }
40
33
  hideFilter() {
41
34
  this.filterVisible = false;
42
35
  }
@@ -78,4 +71,4 @@ export class RecordTableColumn {
78
71
  }
79
72
  }
80
73
  }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY2xhc3Nlcy9mb3Jtcy90YWJsZS9jb2x1bW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsTUFBTSxPQUFPLGlCQUFpQjtJQWdCNUIsWUFBWSxtQkFBbUIsRUFBRSxVQUFVO1FBZDNDLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDdkIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBQzVCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFDeEIsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5QixxQkFBZ0IsR0FBUSxFQUFFLENBQUM7UUFDM0IsVUFBVTtRQUNWLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLGNBQVMsR0FBcUIsSUFBSSxDQUFDO1FBQ25DLGdCQUFXLEdBQXVCLElBQUksQ0FBQztRQUdyQyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLG1CQUFtQixFQUFFO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsbUJBQW1CLENBQUMsU0FBUyxDQUFDO1lBQy9DLElBQUksQ0FBQyxVQUFVLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxDQUFDO1lBQ2pELElBQUksQ0FBQyxTQUFTLEdBQUcsbUJBQW1CLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUN2RixNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENB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RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUFlLEVBQUUsT0FBZ0I7UUFDakQsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN2QztRQUNELElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDeEM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZpbHRlckRlZiB7XG4gIG9wZXJhdG9yczogc3RyaW5nW107XG4gIG9wdGlvbnM6IGFueVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlclNldHVwIHtcbiAgZmllbGRDb2RlOiBzdHJpbmc7XG4gIG9wZXJhdG9yOiBzdHJpbmc7XG4gIHZhbHVlczogYW55W107XG59XG5leHBvcnQgY2xhc3MgUmVjb3JkVGFibGVDb2x1bW4ge1xuICBfZm9ybUNvbmZpZzogYW55O1xuICBmaWVsZENvZGU6IHN0cmluZyA9ICcnO1xuICBmaWVsZFRpdGxlOiBzdHJpbmcgPSAnJztcbiAgZmllbGRUeXBlOiBzdHJpbmcgPSAnJztcbiAgZmllbGRBbGlnbm1lbnQ6IHN0cmluZyA9ICcnO1xuICBmaWVsZEZvcm1hdDogc3RyaW5nID0gJyc7XG4gIHZpc2libGU6IGJvb2xlYW4gPSB0cnVlO1xuICBzb3J0YWJsZTogYm9vbGVhbiA9IHRydWU7XG4gIHNvcnREaXJlY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuICBjdXN0b21BdHRyaWJ1dGVzOiBhbnkgPSB7fTtcbiAgLy8gRmlsdHJvc1xuICBmaWx0ZXJWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGZpbHRlckRlZjogRmlsdGVyRGVmIHwgbnVsbCA9IG51bGw7XG4gIGZpbHRlclNldHVwOiBGaWx0ZXJTZXR1cCB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHJlY1RhYmxlQ29sUmVjZWl2ZWQsIGZvcm1Db25maWcpIHtcbiAgICB0aGlzLl9mb3JtQ29uZmlnID0gZm9ybUNvbmZpZztcbiAgICB0aGlzLmZpbHRlckRlZiA9IG51bGw7XG4gICAgaWYgKHJlY1RhYmxlQ29sUmVjZWl2ZWQpIHtcbiAgICAgIHRoaXMuZmllbGRDb2RlID0gcmVjVGFibGVDb2xSZWNlaXZlZC5maWVsZENvZGU7XG4gICAgICB0aGlzLmZpZWxkVGl0bGUgPSByZWNUYWJsZUNvbFJlY2VpdmVkLmZpZWxkVGl0bGU7XG4gICAgICB0aGlzLmZpZWxkVHlwZSA9IHJlY1RhYmxlQ29sUmVjZWl2ZWQuZmllbGRUeXBlQ29kZSB8fCB0aGlzLl9mb3JtQ29uZmlnLmZpZWxkVHlwZXMudGV4dDtcbiAgICAgIGNvbnN0IGRlZmF1bHRUeXBlQWxpZ25tZW50ID0gKHRoaXMuX2Zvcm1Db25maWcudGFibGVGaWVsZFN0eWxlc1t0aGlzLmZpZWxkVHlwZV0gIT0gbnVsbCkgPyB0aGlzLl9mb3JtQ29uZmlnLnRhYmxlRmllbGRTdHlsZXNbdGhpcy5maWVsZFR5cGVdWyd0ZXh0LWFsaWduJ10gOiAnbGVmdCc7XG4gICAgICB0aGlzLmZpZWxkQWxpZ25tZW50ID0gKHJlY1RhYmxlQ29sUmVjZWl2ZWQuYWxpZ25tZW50ICE9IG51bGwpID8gcmVjVGFibGVDb2xSZWNlaXZlZC5hbGlnbm1lbnQudG9Mb3dlckNhc2UoKSA6IGRlZmF1bHRUeXBlQWxpZ25tZW50O1xuICAgICAgdGhpcy52aXNpYmxlID0gcmVjVGFibGVDb2xSZWNlaXZlZD8udmlzaWJsZSA/PyB0cnVlO1xuICAgICAgdGhpcy5zb3J0YWJsZSA9IHJlY1RhYmxlQ29sUmVjZWl2ZWQ/LnNvcnRhYmxlID8/IGZhbHNlO1xuICAgICAgdGhpcy5zb3J0RGlyZWN0aW9ucyA9ICh0aGlzLnNvcnRhYmxlKSA/IFsnYXNjZW5kJywgJ2Rlc2NlbmQnXSA6IFtdO1xuICAgICAgdGhpcy5maWVsZEZvcm1hdCA9IHJlY1RhYmxlQ29sUmVjZWl2ZWQuZm9ybWF0IHx8ICcnO1xuICAgICAgdGhpcy5jdXN0b21BdHRyaWJ1dGVzID0gcmVjVGFibGVDb2xSZWNlaXZlZD8uY3VzdG9tQXR0cmlidXRlcyA/PyB7fTtcbiAgICB9XG4gIH1cblxuICBnZXRDdXN0b21BdHRyaWJ1dGUobmFtZTogc3RyaW5nKTogYW55IHsgcmV0dXJuIHRoaXMuY3VzdG9tQXR0cmlidXRlcz8uW25hbWVdID8/IG51bGw7IH1cbiAgc2V0Q3VzdG9tQXR0cmlidXRlKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQgeyBpZiAobmFtZSkgeyB0aGlzLmN1c3RvbUF0dHJpYnV0ZXNbbmFtZV0gPSB2YWx1ZTsgfSB9XG5cbiAgc2V0Q3VzdG9tQXR0cmlidXRlcyhhdHRyaWJ1dGVzOiBhbnkpOiB2b2lkIHtcbiAgICBPYmplY3QuZW50cmllcyhhdHRyaWJ1dGVzKS5mb3JFYWNoKChbbmFtZSwgdmFsdWVdKSA9PiB7XG4gICAgICB0aGlzLnNldEN1c3RvbUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBoaWRlRmlsdGVyKCkge1xuICAgIHRoaXMuZmlsdGVyVmlzaWJsZSA9IGZhbHNlO1xuICB9XG5cbiAgYWRkRmlsdGVyRGVmaW5pdGlvbihmaWx0ZXJEZWZpbml0aW9uKSB7XG4gICAgdGhpcy5maWx0ZXJEZWYgPSB7XG4gICAgICBvcGVyYXRvcnM6IGZpbHRlckRlZmluaXRpb24ub3BlcmF0b3JzLFxuICAgICAgb3B0aW9uczogZmlsdGVyRGVmaW5pdGlvbi5vcHRpb25zID8/IG51bGwsXG4gICAgfTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJEZWZpbml0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckRlZjtcbiAgfVxuXG4gIGFkZEZpbHRlcihjb2x1bW5WYWx1ZXMsIG9wZXJhdG9yKSB7XG4gICAgdGhpcy5maWx0ZXJTZXR1cCA9IHtcbiAgICAgIGZpZWxkQ29kZTogdGhpcy5maWVsZENvZGUsXG4gICAgICBvcGVyYXRvcjogb3BlcmF0b3IgPz8gdGhpcy5maWx0ZXJEZWY/Lm9wZXJhdG9yc1swXSxcbiAgICAgIHZhbHVlczogY29sdW1uVmFsdWVzLFxuICAgIH1cbiAgfVxuXG4gIGdldCBmaWx0ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyU2V0dXA7XG4gIH1cblxuICByZW1vdmVGaWx0ZXIoKSB7XG4gICAgdGhpcy5maWx0ZXJTZXR1cCA9IG51bGw7XG4gIH1cblxuICBnZXQgb3B0aW9ucygpIHtcbiAgICBpZiAodGhpcy5maWx0ZXJEZWY/Lm9wZXJhdG9ycz8ubGVuZ3RoID09PSAxICYmIHRoaXMuZmlsdGVyRGVmPy5vcGVyYXRvcnNbMF0gPT09ICdJTicpIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlckRlZj8ub3B0aW9ucztcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzZXJTb3J0RGlyZWN0aW9ucyhhc2NlbmQ6IGJvb2xlYW4sIGRlc2NlbmQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNvcnREaXJlY3Rpb25zID0gW107XG4gICAgaWYgKGFzY2VuZCkge1xuICAgICAgdGhpcy5zb3J0RGlyZWN0aW9ucy51bnNoaWZ0KCdhc2NlbmQnKTtcbiAgICB9XG4gICAgaWYgKGRlc2NlbmQpIHtcbiAgICAgIHRoaXMuc29ydERpcmVjdGlvbnMudW5zaGlmdCgnZGVzY2VuZCcpO1xuICAgIH1cbiAgfVxufVxuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY2xhc3Nlcy9mb3Jtcy90YWJsZS9jb2x1bW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQVlyQyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsU0FBUztJQWM5QyxZQUFZLG1CQUFtQixFQUFFLFVBQVU7UUFDekMsS0FBSyxDQUFDLG1CQUFtQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBZHpDLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDdkIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBQzVCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDekIsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQixtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5QixVQUFVO1FBQ1Ysa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0IsY0FBUyxHQUFxQixJQUFJLENBQUM7UUFDbkMsZ0JBQVcsR0FBdUIsSUFBSSxDQUFDO1FBSXJDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksbUJBQW1CLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxTQUFTLENBQUM7WUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLENBQUM7WUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ3ZGLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNwSyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsbUJBQW1CLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO1lBQ25JLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxtQkFBbUIsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDO1lBQzdELElBQUksQ0FBQyxRQUFRLEdBQUcsbUJBQW1CLEVBQUUsUUFBUSxJQUFJLEtBQUssQ0FBQztZQUN2RCxJQUFJLENBQUMsVUFBVSxHQUFHLG1CQUFtQixFQUFFLFVBQVUsSUFBSSxJQUFJLENBQUM7WUFDMUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNuRSxJQUFJLENBQUMsV0FBVyxHQUFHLG1CQUFtQixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7WUFDcEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLG1CQUFtQixFQUFFLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztTQUNyRTtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsVUFBVSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFFbEUsVUFBVTtRQUNSLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxnQkFBZ0I7UUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNmLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxTQUFTO1lBQ3JDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPLElBQUksSUFBSTtTQUMxQyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsU0FBUyxDQUFDLFlBQVksRUFBRSxRQUFRO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDakIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFFBQVEsRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ2xELE1BQU0sRUFBRSxZQUFZO1NBQ3JCLENBQUE7SUFDSCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDcEYsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQztTQUNoQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGlCQUFpQixDQUFDLE1BQWUsRUFBRSxPQUFnQjtRQUNqRCxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3ZDO1FBQ0QsSUFBSSxPQUFPLEVBQUU7WUFDWCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1QaWVjZSB9IGZyb20gJy4uL3BpZWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJEZWYge1xuICBvcGVyYXRvcnM6IHN0cmluZ1tdO1xuICBvcHRpb25zOiBhbnlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJTZXR1cCB7XG4gIGZpZWxkQ29kZTogc3RyaW5nO1xuICBvcGVyYXRvcjogc3RyaW5nO1xuICB2YWx1ZXM6IGFueVtdO1xufVxuZXhwb3J0IGNsYXNzIFJlY29yZFRhYmxlQ29sdW1uIGV4dGVuZHMgRm9ybVBpZWNlIHtcbiAgZmllbGRDb2RlOiBzdHJpbmcgPSAnJztcbiAgZmllbGRUaXRsZTogc3RyaW5nID0gJyc7XG4gIGZpZWxkVHlwZTogc3RyaW5nID0gJyc7XG4gIGZpZWxkQWxpZ25tZW50OiBzdHJpbmcgPSAnJztcbiAgZmllbGRGb3JtYXQ6IHN0cmluZyA9ICcnO1xuICBzb3J0YWJsZTogYm9vbGVhbiA9IHRydWU7XG4gIHNlYXJjaGFibGU6IGJvb2xlYW4gPSB0cnVlO1xuICBzb3J0RGlyZWN0aW9uczogc3RyaW5nW10gPSBbXTtcbiAgLy8gRmlsdHJvc1xuICBmaWx0ZXJWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGZpbHRlckRlZjogRmlsdGVyRGVmIHwgbnVsbCA9IG51bGw7XG4gIGZpbHRlclNldHVwOiBGaWx0ZXJTZXR1cCB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHJlY1RhYmxlQ29sUmVjZWl2ZWQsIGZvcm1Db25maWcpIHtcbiAgICBzdXBlcihyZWNUYWJsZUNvbFJlY2VpdmVkLCBmb3JtQ29uZmlnKTtcbiAgICB0aGlzLmZpbHRlckRlZiA9IG51bGw7XG4gICAgaWYgKHJlY1RhYmxlQ29sUmVjZWl2ZWQpIHtcbiAgICAgIHRoaXMuZmllbGRDb2RlID0gcmVjVGFibGVDb2xSZWNlaXZlZC5maWVsZENvZGU7XG4gICAgICB0aGlzLmZpZWxkVGl0bGUgPSByZWNUYWJsZUNvbFJlY2VpdmVkLmZpZWxkVGl0bGU7XG4gICAgICB0aGlzLmZpZWxkVHlwZSA9IHJlY1RhYmxlQ29sUmVjZWl2ZWQuZmllbGRUeXBlQ29kZSB8fCB0aGlzLl9mb3JtQ29uZmlnLmZpZWxkVHlwZXMudGV4dDtcbiAgICAgIGNvbnN0IGRlZmF1bHRUeXBlQWxpZ25tZW50ID0gKHRoaXMuX2Zvcm1Db25maWcudGFibGVGaWVsZFN0eWxlc1t0aGlzLmZpZWxkVHlwZV0gIT0gbnVsbCkgPyB0aGlzLl9mb3JtQ29uZmlnLnRhYmxlRmllbGRTdHlsZXNbdGhpcy5maWVsZFR5cGVdWyd0ZXh0LWFsaWduJ10gOiAnbGVmdCc7XG4gICAgICB0aGlzLmZpZWxkQWxpZ25tZW50ID0gKHJlY1RhYmxlQ29sUmVjZWl2ZWQuYWxpZ25tZW50ICE9IG51bGwpID8gcmVjVGFibGVDb2xSZWNlaXZlZC5hbGlnbm1lbnQudG9Mb3dlckNhc2UoKSA6IGRlZmF1bHRUeXBlQWxpZ25tZW50O1xuICAgICAgdGhpcy5fYWJzb2x1dGVWaXNpYmxlID0gcmVjVGFibGVDb2xSZWNlaXZlZD8udmlzaWJsZSA/PyB0cnVlO1xuICAgICAgdGhpcy5zb3J0YWJsZSA9IHJlY1RhYmxlQ29sUmVjZWl2ZWQ/LnNvcnRhYmxlID8/IGZhbHNlO1xuICAgICAgdGhpcy5zZWFyY2hhYmxlID0gcmVjVGFibGVDb2xSZWNlaXZlZD8uc2VhcmNoYWJsZSA/PyB0cnVlO1xuICAgICAgdGhpcy5zb3J0RGlyZWN0aW9ucyA9ICh0aGlzLnNvcnRhYmxlKSA/IFsnYXNjZW5kJywgJ2Rlc2NlbmQnXSA6IFtdO1xuICAgICAgdGhpcy5maWVsZEZvcm1hdCA9IHJlY1RhYmxlQ29sUmVjZWl2ZWQuZm9ybWF0IHx8ICcnO1xuICAgICAgdGhpcy5jdXN0b21BdHRyaWJ1dGVzID0gcmVjVGFibGVDb2xSZWNlaXZlZD8uY3VzdG9tQXR0cmlidXRlcyA/PyB7fTtcbiAgICB9XG4gIH1cblxuICBzZXRTZWFyY2hhYmxlKHNlYXJjaGFibGUgPSB0cnVlKSB7IHRoaXMuc2VhcmNoYWJsZSA9IHNlYXJjaGFibGU7IH1cblxuICBoaWRlRmlsdGVyKCkge1xuICAgIHRoaXMuZmlsdGVyVmlzaWJsZSA9IGZhbHNlO1xuICB9XG5cbiAgYWRkRmlsdGVyRGVmaW5pdGlvbihmaWx0ZXJEZWZpbml0aW9uKSB7XG4gICAgdGhpcy5maWx0ZXJEZWYgPSB7XG4gICAgICBvcGVyYXRvcnM6IGZpbHRlckRlZmluaXRpb24ub3BlcmF0b3JzLFxuICAgICAgb3B0aW9uczogZmlsdGVyRGVmaW5pdGlvbi5vcHRpb25zID8/IG51bGwsXG4gICAgfTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJEZWZpbml0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckRlZjtcbiAgfVxuXG4gIGFkZEZpbHRlcihjb2x1bW5WYWx1ZXMsIG9wZXJhdG9yKSB7XG4gICAgdGhpcy5maWx0ZXJTZXR1cCA9IHtcbiAgICAgIGZpZWxkQ29kZTogdGhpcy5maWVsZENvZGUsXG4gICAgICBvcGVyYXRvcjogb3BlcmF0b3IgPz8gdGhpcy5maWx0ZXJEZWY/Lm9wZXJhdG9yc1swXSxcbiAgICAgIHZhbHVlczogY29sdW1uVmFsdWVzLFxuICAgIH1cbiAgfVxuXG4gIGdldCBmaWx0ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyU2V0dXA7XG4gIH1cblxuICByZW1vdmVGaWx0ZXIoKSB7XG4gICAgdGhpcy5maWx0ZXJTZXR1cCA9IG51bGw7XG4gIH1cblxuICBnZXQgb3B0aW9ucygpIHtcbiAgICBpZiAodGhpcy5maWx0ZXJEZWY/Lm9wZXJhdG9ycz8ubGVuZ3RoID09PSAxICYmIHRoaXMuZmlsdGVyRGVmPy5vcGVyYXRvcnNbMF0gPT09ICdJTicpIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlckRlZj8ub3B0aW9ucztcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzZXJTb3J0RGlyZWN0aW9ucyhhc2NlbmQ6IGJvb2xlYW4sIGRlc2NlbmQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNvcnREaXJlY3Rpb25zID0gW107XG4gICAgaWYgKGFzY2VuZCkge1xuICAgICAgdGhpcy5zb3J0RGlyZWN0aW9ucy51bnNoaWZ0KCdhc2NlbmQnKTtcbiAgICB9XG4gICAgaWYgKGRlc2NlbmQpIHtcbiAgICAgIHRoaXMuc29ydERpcmVjdGlvbnMudW5zaGlmdCgnZGVzY2VuZCcpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,11 +1,11 @@
1
1
  import { operators } from '../form.constants';
2
2
  export class TableRecordData {
3
3
  constructor(recordReceived, recordDefinition, selectionFieldName = null) {
4
+ this.recordId = null;
5
+ this.selected = false;
4
6
  this.recordData = {};
5
7
  const { tableRecordId, recordData } = recordReceived;
6
8
  this.recordId = tableRecordId;
7
- this.selected = false;
8
- this.recordData = {};
9
9
  if (!recordDefinition || recordDefinition.length === 0 || !recordData || recordData.length === 0) {
10
10
  return;
11
11
  }
@@ -44,10 +44,11 @@ export class TableRecordData {
44
44
  if (!words || words.length === 0) {
45
45
  return true;
46
46
  }
47
- for (const fieldCode in this.recordData) {
48
- const columnDef = columnObj?.[fieldCode];
49
- if (columnDef && columnDef?.visible && this.recordData.hasOwnProperty(fieldCode)) {
50
- for (const word of words) {
47
+ for (const word of words) {
48
+ let wordIsPresent = false;
49
+ for (const fieldCode in this.recordData) {
50
+ const columnDef = columnObj?.[fieldCode];
51
+ if (columnDef?.searchable && this.recordData.hasOwnProperty(fieldCode)) {
51
52
  const term = word.toUpperCase();
52
53
  let fieldValue;
53
54
  if (columnDef.fieldType.toUpperCase().includes('DATE')) {
@@ -57,12 +58,16 @@ export class TableRecordData {
57
58
  fieldValue = this.recordData[fieldCode];
58
59
  }
59
60
  if (fieldValue.toString().toUpperCase().includes(term)) {
60
- return true;
61
+ wordIsPresent = true;
62
+ break;
61
63
  }
62
64
  }
63
65
  }
66
+ if (!wordIsPresent) {
67
+ return false;
68
+ }
64
69
  }
65
- return false;
70
+ return true;
66
71
  }
67
72
  hasCondition(columnFilters) {
68
73
  if (!columnFilters || columnFilters.length === 0) {
@@ -108,4 +113,4 @@ export class TableRecordData {
108
113
  return true;
109
114
  }
110
115
  }
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jbGFzc2VzL2Zvcm1zL3RhYmxlL3Jvdy1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5QyxNQUFNLE9BQU8sZUFBZTtJQUsxQixZQUFZLGNBQWMsRUFBRSxnQkFBcUMsRUFBRSxrQkFBa0IsR0FBRyxJQUFJO1FBRjVGLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFHbkIsTUFBTSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsR0FBRyxjQUFjLENBQUM7UUFDckQsSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDaEcsT0FBTztTQUNSO1FBQ0QsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUM3QixNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ3RILGFBQWEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7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bXBvcnQgeyBvcGVyYXRvcnMgfSBmcm9tICcuLi9mb3JtLmNvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBUYWJsZVJlY29yZERhdGEge1xuICByZWNvcmRJZDogc3RyaW5nO1xuICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgcmVjb3JkRGF0YTogYW55ID0ge307XG5cbiAgY29uc3RydWN0b3IocmVjb3JkUmVjZWl2ZWQsIHJlY29yZERlZmluaXRpb246IFJlY29yZFRhYmxlQ29sdW1uW10sIHNlbGVjdGlvbkZpZWxkTmFtZSA9IG51bGwpIHtcbiAgICBjb25zdCB7IHRhYmxlUmVjb3JkSWQsIHJlY29yZERhdGEgfSA9IHJlY29yZFJlY2VpdmVkO1xuICAgIHRoaXMucmVjb3JkSWQgPSB0YWJsZVJlY29yZElkO1xuICAgIHRoaXMuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLnJlY29yZERhdGEgPSB7fTtcbiAgICBpZiAoIXJlY29yZERlZmluaXRpb24gfHwgcmVjb3JkRGVmaW5pdGlvbi5sZW5ndGggPT09IDAgfHwgIXJlY29yZERhdGEgfHwgcmVjb3JkRGF0YS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZmllbGROYW1lcyA9IHJlY29yZERlZmluaXRpb24ubWFwKGNvbHVtbiA9PiBjb2x1bW4uZmllbGRDb2RlKTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShyZWNvcmREYXRhKSkge1xuICAgICAgY29uc3QgcmF3UmVjb3JkRGF0YSA9IHJlY29yZERhdGEuZmlsdGVyKGZpZWxkRGF0YSA9PiBmaWVsZERhdGEuZmllbGRDb2RlICYmIGZpZWxkTmFtZXMuaW5jbHVkZXMoZmllbGREYXRhLmZpZWxkQ29kZSkpO1xuICAgICAgcmF3UmVjb3JkRGF0YS5mb3JFYWNoKGZpZWxkRGF0YSA9PiB7XG4gICAgICAgIGNvbnN0IHsgZmllbGRDb2RlLCBmaWVsZFZhbHVlIH0gPSBmaWVsZERhdGE7XG4gICAgICAgIGNvbnN0IGZpZWxkRGVmID0gcmVjb3JkRGVmaW5pdGlvbi5maW5kKGNvbHVtbiA9PiBjb2x1bW4uZmllbGRDb2RlID09PSBmaWVsZENvZGUpO1xuICAgICAgICB0aGlzLnJlY29yZERhdGFbZmllbGRDb2RlXSA9IGZpZWxkVmFsdWUgPz8gJyc7XG4gICAgICAgIGlmIChmaWVsZENvZGUgPT09IHNlbGVjdGlvbkZpZWxkTmFtZSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBmaWVsZFZhbHVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmllbGRzID0gT2JqZWN0LmtleXMocmVjb3JkRGF0YSk7XG4gICAgICBmaWVsZHMuZm9yRWFjaChmaWVsZENvZGUgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gcmVjb3JkRGF0YVtmaWVsZENvZGVdO1xuICAgICAgICBjb25zdCBmaWVsZERlZiA9IHJlY29yZERlZmluaXRpb24uZmluZChjb2x1bW4gPT4gY29sdW1uLmZpZWxkQ29kZSA9PT0gZmllbGRDb2RlKTtcbiAgICAgICAgdGhpcy5yZWNvcmREYXRhW2ZpZWxkQ29kZV0gPSBmaWVsZFZhbHVlID8/ICcnO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU2VsZWN0KCkgeyB0aGlzLnNlbGVjdGVkID0gIXRoaXMuc2VsZWN0ZWQ7IH1cbiAgc2VsZWN0KCkgeyB0aGlzLnNlbGVjdGVkID0gdHJ1ZTsgfVxuICB1bnNlbGVjdCgpIHsgdGhpcy5zZWxlY3RlZCA9IGZhbHNlOyB9XG5cbiAgZ2V0IHJlY29yZElkS2V5KCkge1xuICAgIHJldHVybiAodHlwZW9mIHRoaXMucmVjb3JkSWQgPT09ICdvYmplY3QnKVxuICAgICAgPyBKU09OLnN0cmluZ2lmeSh0aGlzLnJlY29yZElkKSA6IHRoaXMucmVjb3JkSWQ7XG4gIH1cblxuICBnZXRGaWVsZFZhbHVlKGZpZWxkQ29kZSk6IGFueSB7XG4gICAgcmV0dXJuIChmaWVsZENvZGUgJiYgdGhpcy5yZWNvcmREYXRhKSA/IHRoaXMucmVjb3JkRGF0YVtmaWVsZENvZGVdIDogbnVsbDtcbiAgfVxuXG4gIGhhc1BhdHRlcm4od29yZHMsIGNvbHVtbk9iaikge1xuICAgIGlmICghd29yZHMgfHwgd29yZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBmaWVsZENvZGUgaW4gdGhpcy5yZWNvcmREYXRhKSB7XG4gICAgICBjb25zdCBjb2x1bW5EZWYgPSBjb2x1bW5PYmo/LltmaWVsZENvZGVdO1xuICAgICAgaWYgKGNvbHVtbkRlZiAmJiBjb2x1bW5EZWY/LnZpc2libGUgJiYgdGhpcy5yZWNvcmREYXRhLmhhc093blByb3BlcnR5KGZpZWxkQ29kZSkpIHtcbiAgICAgICAgZm9yIChjb25zdCB3b3JkIG9mIHdvcmRzKSB7XG4gICAgICAgICAgY29uc3QgdGVybSA9IHdvcmQudG9VcHBlckNhc2UoKTtcbiAgICAgICAgICBsZXQgZmllbGRWYWx1ZTtcbiAgICAgICAgICBpZiAoY29sdW1uRGVmLmZpZWxkVHlwZS50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKCdEQVRFJykpIHtcbiAgICAgICAgICAgIGZpZWxkVmFsdWUgPSB0aGlzLnJlY29yZERhdGFbZmllbGRDb2RlXS5zdWJzdHJpbmcoMCwxNik7XG4gICAgICAgICAgfWVsc2Uge1xuICAgICAgICAgICAgZmllbGRWYWx1ZSA9IHRoaXMucmVjb3JkRGF0YVtmaWVsZENvZGVdO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChmaWVsZFZhbHVlLnRvU3RyaW5nKCkudG9VcHBlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBoYXNDb25kaXRpb24oY29sdW1uRmlsdGVycykge1xuICAgIGlmICghY29sdW1uRmlsdGVycyB8fCBjb2x1bW5GaWx0ZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGZvciAoY29uc3QgY29uZGl0aW9uIG9mIGNvbHVtbkZpbHRlcnMpIHtcbiAgICAgIGNvbnN0IHsgZmllbGRDb2RlLCBvcGVyYXRvciwgdmFsdWVzIH0gPSBjb25kaXRpb247XG4gICAgICBpZiAodGhpcy5yZWNvcmREYXRhLmhhc093blByb3BlcnR5KGZpZWxkQ29kZSkpIHtcbiAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IHRoaXMucmVjb3JkRGF0YVtmaWVsZENvZGVdO1xuICAgICAgICBjb25zdCBzdHJpbmdWYWx1ZSA9IGZpZWxkVmFsdWUudG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpO1xuICAgICAgICBpZiAob3BlcmF0b3IgPT09IG9wZXJhdG9ycy5HICYmIGZpZWxkVmFsdWUgPD0gdmFsdWVzWzBdKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcGVyYXRvciA9PT0gb3BlcmF0b3JzLkwgJiYgZmllbGRWYWx1ZSA+PSB2YWx1ZXNbMF0pIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wZXJhdG9yID09PSBvcGVyYXRvcnMuR0UgJiYgZmllbGRWYWx1ZSA8IHZhbHVlc1swXSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3BlcmF0b3IgPT09IG9wZXJhdG9ycy5MRSAmJiBmaWVsZFZhbHVlID4gdmFsdWVzWzBdKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcGVyYXRvciA9PT0gb3BlcmF0b3JzLklOICYmICF2YWx1ZXMuaW5jbHVkZXMoZmllbGRWYWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wZXJhdG9yID09PSBvcGVyYXRvcnMuRVEpIHtcbiAgICAgICAgICByZXR1cm4gZmllbGRWYWx1ZSA9PT0gdmFsdWVzWzBdO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcGVyYXRvciA9PT0gb3BlcmF0b3JzLk5FUSAmJiBmaWVsZFZhbHVlID09PSB2YWx1ZXNbMF0pIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wZXJhdG9yID09PSBvcGVyYXRvcnMuSEFTICYmICFzdHJpbmdWYWx1ZS5pbmNsdWRlcyh2YWx1ZXNbMF0udG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3BlcmF0b3IgPT09IG9wZXJhdG9ycy5OT1RIQVMgJiYgc3RyaW5nVmFsdWUuaW5jbHVkZXModmFsdWVzWzBdLnRvU3RyaW5nKCkudG9VcHBlckNhc2UoKSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wZXJhdG9yID09PSBvcGVyYXRvcnMuQkVUV0VFTiAmJiAoZmllbGRWYWx1ZSA8IHZhbHVlc1swXSB8fCBmaWVsZFZhbHVlID4gdmFsdWVzWzFdKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jbGFzc2VzL2Zvcm1zL3RhYmxlL3Jvdy1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5QyxNQUFNLE9BQU8sZUFBZTtJQUsxQixZQUFZLGNBQWMsRUFBRSxnQkFBcUMsRUFBRSxrQkFBa0IsR0FBRyxJQUFJO1FBSjVGLGFBQVEsR0FBa0IsSUFBSSxDQUFDO1FBQy9CLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsZUFBVSxHQUFRLEVBQUUsQ0FBQztRQUduQixNQUFNLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxHQUFHLGNBQWMsQ0FBQztRQUNyRCxJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQztRQUM5QixJQUFJLENBQUMsZ0JBQWdCLElBQUksZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNoRyxPQUFPO1NBQ1I7UUFDRCxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzdCLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDdEgsYUFBYSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDaEMsTUFBTSxFQUFFLFNB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QUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVjb3JkVGFibGVDb2x1bW4gfSBmcm9tICcuL2NvbHVtbic7XG5pbXBvcnQgeyBvcGVyYXRvcnMgfSBmcm9tICcuLi9mb3JtLmNvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBUYWJsZVJlY29yZERhdGEge1xuICByZWNvcmRJZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHJlY29yZERhdGE6IGFueSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHJlY29yZFJlY2VpdmVkLCByZWNvcmREZWZpbml0aW9uOiBSZWNvcmRUYWJsZUNvbHVtbltdLCBzZWxlY3Rpb25GaWVsZE5hbWUgPSBudWxsKSB7XG4gICAgY29uc3QgeyB0YWJsZVJlY29yZElkLCByZWNvcmREYXRhIH0gPSByZWNvcmRSZWNlaXZlZDtcbiAgICB0aGlzLnJlY29yZElkID0gdGFibGVSZWNvcmRJZDtcbiAgICBpZiAoIXJlY29yZERlZmluaXRpb24gfHwgcmVjb3JkRGVmaW5pdGlvbi5sZW5ndGggPT09IDAgfHwgIXJlY29yZERhdGEgfHwgcmVjb3JkRGF0YS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZmllbGROYW1lcyA9IHJlY29yZERlZmluaXRpb24ubWFwKGNvbHVtbiA9PiBjb2x1bW4uZmllbGRDb2RlKTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShyZWNvcmREYXRhKSkge1xuICAgICAgY29uc3QgcmF3UmVjb3JkRGF0YSA9IHJlY29yZERhdGEuZmlsdGVyKGZpZWxkRGF0YSA9PiBmaWVsZERhdGEuZmllbGRDb2RlICYmIGZpZWxkTmFtZXMuaW5jbHVkZXMoZmllbGREYXRhLmZpZWxkQ29kZSkpO1xuICAgICAgcmF3UmVjb3JkRGF0YS5mb3JFYWNoKGZpZWxkRGF0YSA9PiB7XG4gICAgICAgIGNvbnN0IHsgZmllbGRDb2RlLCBmaWVsZFZhbHVlIH0gPSBmaWVsZERhdGE7XG4gICAgICAgIGNvbnN0IGZpZWxkRGVmID0gcmVjb3JkRGVmaW5pdGlvbi5maW5kKGNvbHVtbiA9PiBjb2x1bW4uZmllbGRDb2RlID09PSBmaWVsZENvZGUpO1xuICAgICAgICB0aGlzLnJlY29yZERhdGFbZmllbGRDb2RlXSA9IGZpZWxkVmFsdWUgPz8gJyc7XG4gICAgICAgIGlmIChmaWVsZENvZGUgPT09IHNlbGVjdGlvbkZpZWxkTmFtZSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBmaWVsZFZhbHVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmllbGRzID0gT2JqZWN0LmtleXMocmVjb3JkRGF0YSk7XG4gICAgICBmaWVsZHMuZm9yRWFjaChmaWVsZENvZGUgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gcmVjb3JkRGF0YVtmaWVsZENvZGVdO1xuICAgICAgICBjb25zdCBmaWVsZERlZiA9IHJlY29yZERlZmluaXRpb24uZmluZChjb2x1bW4gPT4gY29sdW1uLmZpZWxkQ29kZSA9PT0gZmllbGRDb2RlKTtcbiAgICAgICAgdGhpcy5yZWNvcmREYXRhW2ZpZWxkQ29kZV0gPSBmaWVsZFZhbHVlID8/ICcnO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU2VsZWN0KCkgeyB0aGlzLnNlbGVjdGVkID0gIXRoaXMuc2VsZWN0ZWQ7IH1cbiAgc2VsZWN0KCkgeyB0aGlzLnNlbGVjdGVkID0gdHJ1ZTsgfVxuICB1bnNlbGVjdCgpIHsgdGhpcy5zZWxlY3RlZCA9IGZhbHNlOyB9XG5cbiAgZ2V0IHJlY29yZElkS2V5KCkge1xuICAgIHJldHVybiAodHlwZW9mIHRoaXMucmVjb3JkSWQgPT09ICdvYmplY3QnKVxuICAgICAgPyBKU09OLnN0cmluZ2lmeSh0aGlzLnJlY29yZElkKSA6IHRoaXMucmVjb3JkSWQ7XG4gIH1cblxuICBnZXRGaWVsZFZhbHVlKGZpZWxkQ29kZSk6IGFueSB7XG4gICAgcmV0dXJuIChmaWVsZENvZGUgJiYgdGhpcy5yZWNvcmREYXRhKSA/IHRoaXMucmVjb3JkRGF0YVtmaWVsZENvZGVdIDogbnVsbDtcbiAgfVxuXG4gIGhhc1BhdHRlcm4od29yZHMsIGNvbHVtbk9iaikge1xuICAgIGlmICghd29yZHMgfHwgd29yZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgZm9yIChjb25zdCB3b3JkIG9mIHdvcmRzKSB7XG4gICAgICBsZXQgd29yZElzUHJlc2VudCA9IGZhbHNlO1xuICAgICAgZm9yIChjb25zdCBmaWVsZENvZGUgaW4gdGhpcy5yZWNvcmREYXRhKSB7XG4gICAgICAgIGNvbnN0IGNvbHVtbkRlZiA9IGNvbHVtbk9iaj8uW2ZpZWxkQ29kZV07XG4gICAgICAgIGlmIChjb2x1bW5EZWY/LnNlYXJjaGFibGUgJiYgdGhpcy5yZWNvcmREYXRhLmhhc093blByb3BlcnR5KGZpZWxkQ29kZSkpIHtcbiAgICAgICAgICBjb25zdCB0ZXJtID0gd29yZC50b1VwcGVyQ2FzZSgpO1xuICAgICAgICAgIGxldCBmaWVsZFZhbHVlO1xuICAgICAgICAgIGlmIChjb2x1bW5EZWYuZmllbGRUeXBlLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMoJ0RBVEUnKSkge1xuICAgICAgICAgICAgZmllbGRWYWx1ZSA9IHRoaXMucmVjb3JkRGF0YVtmaWVsZENvZGVdLnN1YnN0cmluZygwLCAxNik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpZWxkVmFsdWUgPSB0aGlzLnJlY29yZERhdGFbZmllbGRDb2RlXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGZpZWxkVmFsdWUudG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKHRlcm0pKSB7XG4gICAgICAgICAgICB3b3JkSXNQcmVzZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCF3b3JkSXNQcmVzZW50KSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBoYXNDb25kaXRpb24oY29sdW1uRmlsdGVycykge1xuICAgIGlmICghY29sdW1uRmlsdGVycyB8fCBjb2x1bW5GaWx0ZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGZvciAoY29uc3QgY29uZGl0aW9uIG9mIGNvbHVtbkZpbHRlcnMpIHtcbiAgICAgIGNvbnN0IHsgZmllbGRDb2RlLCBvcGVyYXRvciwgdmFsdWVzIH0gPSBjb25kaXRpb247XG4gICAgICBpZiAodGhpcy5yZWNvcmREYXRhLmhhc093blByb3BlcnR5KGZpZWxkQ29kZSkpIHtcbiAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IHRoaXMucmVjb3JkRGF0YVtmaWVsZENvZGVdO1xuICAgICAgICBjb25zdCBzdHJpbmdWYWx1ZSA9IGZpZWxkVmFsdWUudG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpO1xuICAgICAgICBpZiAob3BlcmF0b3IgPT09IG9wZXJhdG9ycy5HICYmIGZpZWxkVmFsdWUgPD0gdmFsdWVzWzBdKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcGVyYXRvciA9PT0gb3BlcmF0b3JzLkwgJiYgZmllbGRWYWx1ZSA+PSB2YWx1ZXNbMF0pIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wZXJhdG9yID09PSBvcGVyYXRvcnMuR0UgJiYgZmllbGRWYWx1ZSA8IHZhbHVlc1swXSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3BlcmF0b3IgPT09IG9wZXJhdG9ycy5MRSAmJiBmaWVsZFZhbHVlID4gdmFsdWVzWzBdKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcGVyYXRvciA9PT0gb3BlcmF0b3JzLklOICYmICF2YWx1ZXMuaW5jbHVkZXMoZmllbGRWYWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wZXJhdG9yID09PSBvcGVyYXRvcnMuRVEpIHtcbiAgICAgICAgICByZXR1cm4gZmllbGRWYWx1ZSA9PT0gdmFsdWVzWzBdO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcGVyYXRvciA9PT0gb3BlcmF0b3JzLk5FUSAmJiBmaWVsZFZhbHVlID09PSB2YWx1ZXNbMF0pIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wZXJhdG9yID09PSBvcGVyYXRvcnMuSEFTICYmICFzdHJpbmdWYWx1ZS5pbmNsdWRlcyh2YWx1ZXNbMF0udG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3BlcmF0b3IgPT09IG9wZXJhdG9ycy5OT1RIQVMgJiYgc3RyaW5nVmFsdWUuaW5jbHVkZXModmFsdWVzWzBdLnRvU3RyaW5nKCkudG9VcHBlckNhc2UoKSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wZXJhdG9yID09PSBvcGVyYXRvcnMuQkVUV0VFTiAmJiAoZmllbGRWYWx1ZSA8IHZhbHVlc1swXSB8fCBmaWVsZFZhbHVlID4gdmFsdWVzWzFdKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19