@netgrif/components-core 6.2.3 → 6.3.0-beta.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 (109) hide show
  1. package/esm2020/assets/i18n/de.json +17 -0
  2. package/esm2020/assets/i18n/en.json +17 -0
  3. package/esm2020/assets/i18n/sk.json +17 -0
  4. package/esm2020/lib/authentication/models/user.transformer.mjs +2 -2
  5. package/esm2020/lib/authentication/public-api.mjs +3 -1
  6. package/esm2020/lib/authorization/permission/permission.service.mjs +2 -2
  7. package/esm2020/lib/dashboard/cards/model/custom-dashboard-model/custom-card.mjs +1 -1
  8. package/esm2020/lib/dashboard/cards/model/custom-dashboard-model/custom-iframe-card.mjs +2 -0
  9. package/esm2020/lib/dashboard/cards/model/dashboard-card-types.mjs +2 -1
  10. package/esm2020/lib/dashboard/cards/model/dashboard-card.mjs +1 -1
  11. package/esm2020/lib/data-fields/public-api.mjs +14 -1
  12. package/esm2020/lib/data-fields/task-ref-field/abstract-task-ref-field.component.mjs +133 -0
  13. package/esm2020/lib/data-fields/task-ref-field/model/task-ref-components.mjs +8 -0
  14. package/esm2020/lib/data-fields/task-ref-field/model/task-ref-dashboard-constants.mjs +10 -0
  15. package/esm2020/lib/data-fields/task-ref-field/model/task-ref-dashboard-tile-constants.mjs +13 -0
  16. package/esm2020/lib/data-fields/task-ref-field/model/task-ref-dashboard-tile.mjs +2 -0
  17. package/esm2020/lib/data-fields/task-ref-field/model/task-ref-field.mjs +19 -1
  18. package/esm2020/lib/data-fields/task-ref-field/task-ref-dashboard-field/task-ref-dashboard-tile/abstract-task-ref-dashboard-tile.component.mjs +140 -0
  19. package/esm2020/lib/data-fields/text-field/abstract-dashboard-text-field.component.mjs +42 -0
  20. package/esm2020/lib/data-fields/text-field/dashboard-bar-chart-text-field/abstract-dashboard-bar-chart-text-field.component.mjs +33 -0
  21. package/esm2020/lib/data-fields/text-field/dashboard-iframe-text-field/abstract-dashboard-iframe-text-field.component.mjs +27 -0
  22. package/esm2020/lib/data-fields/text-field/dashboard-line-chart-text-field/abstract-dashboard-line-chart-text-field.component.mjs +33 -0
  23. package/esm2020/lib/data-fields/text-field/dashboard-pie-chart-text-field/abstract-dashboard-pie-chart-text-field.component.mjs +31 -0
  24. package/esm2020/lib/data-fields/text-field/dashboard-portal-text-field/abstract-dashboard-portal-text-field.component.mjs +27 -0
  25. package/esm2020/lib/data-fields/text-field/dashboard-portal-text-field/dashboard-portal-component-registry.service.mjs +25 -0
  26. package/esm2020/lib/data-fields/text-field/models/text-field.mjs +23 -1
  27. package/esm2020/lib/filter/filter.repository.mjs +7 -1
  28. package/esm2020/lib/filter/user-filters.service.mjs +3 -1
  29. package/esm2020/lib/impersonation/models/user-impersonate-config-metadata.mjs +2 -0
  30. package/esm2020/lib/impersonation/models/user-impersonation-constants.mjs +11 -0
  31. package/esm2020/lib/impersonation/public-api.mjs +9 -0
  32. package/esm2020/lib/impersonation/services/impersonation-user-list.service.mjs +19 -0
  33. package/esm2020/lib/impersonation/services/impersonation-user-resource.service.mjs +25 -0
  34. package/esm2020/lib/impersonation/services/impersonation-user-select.service.mjs +85 -0
  35. package/esm2020/lib/impersonation/services/impersonation.service.mjs +90 -0
  36. package/esm2020/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +19 -6
  37. package/esm2020/lib/navigation/navigation-drawer/abstract-navigation-drawer.component.mjs +2 -2
  38. package/esm2020/lib/navigation/quick-panel/components/abstract-quick-panel.component.mjs +1 -1
  39. package/esm2020/lib/panel/task-panel/abstract-task-panel.component.mjs +25 -8
  40. package/esm2020/lib/resources/interface/data-groups.mjs +1 -1
  41. package/esm2020/lib/resources/interface/user-resource.mjs +1 -1
  42. package/esm2020/lib/side-menu/content-components/injection-tokens.mjs +3 -1
  43. package/esm2020/lib/side-menu/content-components/public-api.mjs +3 -1
  44. package/esm2020/lib/side-menu/content-components/user-impersonate/abstract-user-impersonate.component.mjs +37 -0
  45. package/esm2020/lib/side-menu/content-components/user-impersonate/model/user-impersonate-injection-data.mjs +2 -0
  46. package/esm2020/lib/side-menu/models/side-menu-size.mjs +2 -1
  47. package/esm2020/lib/task-content/model/preprocessed-data-groups.mjs +2 -0
  48. package/esm2020/lib/task-content/task-content/abstract-task-content.component.mjs +149 -4
  49. package/esm2020/lib/user/models/user.mjs +15 -2
  50. package/esm2020/lib/user/services/user-comparator.service.mjs +4 -3
  51. package/esm2020/lib/user/services/user.service.mjs +17 -12
  52. package/esm2020/lib/utility/tests/test-config.mjs +6 -1
  53. package/esm2020/lib/view/public-api.mjs +2 -1
  54. package/esm2020/lib/view/task-view/models/injection-token-task-force-open.mjs +3 -0
  55. package/esm2020/public-api.mjs +2 -1
  56. package/fesm2015/netgrif-components-core.mjs +4202 -3197
  57. package/fesm2015/netgrif-components-core.mjs.map +1 -1
  58. package/fesm2020/netgrif-components-core.mjs +4221 -3227
  59. package/fesm2020/netgrif-components-core.mjs.map +1 -1
  60. package/lib/authentication/public-api.d.ts +2 -0
  61. package/lib/dashboard/cards/model/custom-dashboard-model/custom-card.d.ts +8 -7
  62. package/lib/dashboard/cards/model/custom-dashboard-model/custom-iframe-card.d.ts +4 -0
  63. package/lib/dashboard/cards/model/dashboard-card-types.d.ts +1 -0
  64. package/lib/dashboard/cards/model/dashboard-card.d.ts +1 -1
  65. package/lib/data-fields/public-api.d.ts +13 -0
  66. package/lib/data-fields/task-ref-field/abstract-task-ref-field.component.d.ts +20 -0
  67. package/lib/data-fields/task-ref-field/model/task-ref-components.d.ts +6 -0
  68. package/lib/data-fields/task-ref-field/model/task-ref-dashboard-constants.d.ts +8 -0
  69. package/lib/data-fields/task-ref-field/model/task-ref-dashboard-tile-constants.d.ts +11 -0
  70. package/lib/data-fields/task-ref-field/model/task-ref-dashboard-tile.d.ts +9 -0
  71. package/lib/data-fields/task-ref-field/model/task-ref-field.d.ts +10 -0
  72. package/lib/data-fields/task-ref-field/task-ref-dashboard-field/task-ref-dashboard-tile/abstract-task-ref-dashboard-tile.component.d.ts +36 -0
  73. package/lib/data-fields/text-field/abstract-dashboard-text-field.component.d.ts +23 -0
  74. package/lib/data-fields/text-field/dashboard-bar-chart-text-field/abstract-dashboard-bar-chart-text-field.component.d.ts +10 -0
  75. package/lib/data-fields/text-field/dashboard-iframe-text-field/abstract-dashboard-iframe-text-field.component.d.ts +11 -0
  76. package/lib/data-fields/text-field/dashboard-line-chart-text-field/abstract-dashboard-line-chart-text-field.component.d.ts +10 -0
  77. package/lib/data-fields/text-field/dashboard-pie-chart-text-field/abstract-dashboard-pie-chart-text-field.component.d.ts +10 -0
  78. package/lib/data-fields/text-field/dashboard-portal-text-field/abstract-dashboard-portal-text-field.component.d.ts +10 -0
  79. package/lib/data-fields/text-field/dashboard-portal-text-field/dashboard-portal-component-registry.service.d.ts +11 -0
  80. package/lib/data-fields/text-field/models/text-field.d.ts +20 -0
  81. package/lib/filter/filter.repository.d.ts +4 -0
  82. package/lib/impersonation/models/user-impersonate-config-metadata.d.ts +3 -0
  83. package/lib/impersonation/models/user-impersonation-constants.d.ts +9 -0
  84. package/lib/impersonation/public-api.d.ts +6 -0
  85. package/lib/impersonation/services/impersonation-user-list.service.d.ts +12 -0
  86. package/lib/impersonation/services/impersonation-user-resource.service.d.ts +17 -0
  87. package/lib/impersonation/services/impersonation-user-select.service.d.ts +25 -0
  88. package/lib/impersonation/services/impersonation.service.d.ts +37 -0
  89. package/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.d.ts +9 -2
  90. package/lib/navigation/quick-panel/components/abstract-quick-panel.component.d.ts +1 -1
  91. package/lib/panel/task-panel/abstract-task-panel.component.d.ts +8 -3
  92. package/lib/resources/interface/data-groups.d.ts +10 -5
  93. package/lib/resources/interface/user-resource.d.ts +1 -0
  94. package/lib/side-menu/content-components/injection-tokens.d.ts +2 -0
  95. package/lib/side-menu/content-components/public-api.d.ts +2 -0
  96. package/lib/side-menu/content-components/user-impersonate/abstract-user-impersonate.component.d.ts +14 -0
  97. package/lib/side-menu/content-components/user-impersonate/model/user-impersonate-injection-data.d.ts +8 -0
  98. package/lib/side-menu/models/side-menu-size.d.ts +2 -1
  99. package/lib/task-content/model/preprocessed-data-groups.d.ts +5 -0
  100. package/lib/task-content/task-content/abstract-task-content.component.d.ts +42 -1
  101. package/lib/user/models/user.d.ts +10 -1
  102. package/lib/user/services/user-comparator.service.d.ts +1 -1
  103. package/lib/view/public-api.d.ts +1 -0
  104. package/lib/view/task-view/models/injection-token-task-force-open.d.ts +2 -0
  105. package/package.json +1 -1
  106. package/public-api.d.ts +1 -0
  107. package/src/assets/i18n/de.json +17 -0
  108. package/src/assets/i18n/en.json +17 -0
  109. package/src/assets/i18n/sk.json +17 -0
@@ -0,0 +1,140 @@
1
+ import { Component, Inject, Input } from '@angular/core';
2
+ import { TaskRefDashboardConstants } from '../../model/task-ref-dashboard-constants';
3
+ import { TaskRefDashboardTileConstants } from '../../model/task-ref-dashboard-tile-constants';
4
+ import { switchMap } from 'rxjs/operators';
5
+ import { FieldTypeResource } from '../../../../task-content/model/field-type-resource';
6
+ import { NAE_TASK_OPERATIONS } from '../../../../task/models/task-operations-injection-token';
7
+ import { AfterAction } from '../../../../utility/call-chain/after-action';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../../../resources/engine-endpoint/case-resource.service";
10
+ import * as i2 from "../../../../process/process.service";
11
+ import * as i3 from "../../../../logger/services/logger.service";
12
+ import * as i4 from "../../../../resources/engine-endpoint/task-resource.service";
13
+ import * as i5 from "../../../../utility/call-chain/call-chain.service";
14
+ import * as i6 from "../../../../task-content/services/task-content.service";
15
+ import * as i7 from "../../../../task/services/task-data.service";
16
+ export class AbstractTaskRefDashboardTileComponent {
17
+ constructor(_caseResourceService, _processService, _logger, _taskResourceService, _callChainService, _parentTaskContentService, _taskDataService, _taskOperations) {
18
+ this._caseResourceService = _caseResourceService;
19
+ this._processService = _processService;
20
+ this._logger = _logger;
21
+ this._taskResourceService = _taskResourceService;
22
+ this._callChainService = _callChainService;
23
+ this._parentTaskContentService = _parentTaskContentService;
24
+ this._taskDataService = _taskDataService;
25
+ this._taskOperations = _taskOperations;
26
+ this.caseCreating = false;
27
+ }
28
+ ngOnDestroy() {
29
+ if (this._sub !== undefined) {
30
+ this._sub.unsubscribe();
31
+ }
32
+ }
33
+ createNewDashboardTile() {
34
+ if (this.caseCreating) {
35
+ return;
36
+ }
37
+ this.caseCreating = true;
38
+ this._sub = this._processService.getNet(TaskRefDashboardTileConstants.DASHBOARD_TILE_PROCESS_IDENTIFIER).pipe(switchMap(net => this._caseResourceService.createCase({
39
+ netId: net.stringId,
40
+ title: `tile (${this.tile.x}, ${this.tile.y})`
41
+ }))).subscribe(outcome => {
42
+ if (outcome.error) {
43
+ this._logger.error(`Could not create task ref dashboard tile case`, outcome.error);
44
+ return;
45
+ }
46
+ const _case = outcome.outcome.aCase;
47
+ // set tile info
48
+ this.assignSetData(_case.tasks[0].task, {
49
+ [_case.tasks[0].task]: {
50
+ [TaskRefDashboardTileConstants.DASHBOARD_TILE_X]: {
51
+ type: FieldTypeResource.NUMBER,
52
+ value: this.tile.x
53
+ },
54
+ [TaskRefDashboardTileConstants.DASHBOARD_TILE_Y]: {
55
+ type: FieldTypeResource.NUMBER,
56
+ value: this.tile.y
57
+ },
58
+ [TaskRefDashboardTileConstants.DASHBOARD_TILE_ROWS]: {
59
+ type: FieldTypeResource.NUMBER,
60
+ value: this.tile.rows
61
+ },
62
+ [TaskRefDashboardTileConstants.DASHBOARD_TILE_COLS]: {
63
+ type: FieldTypeResource.NUMBER,
64
+ value: this.tile.cols
65
+ },
66
+ [TaskRefDashboardTileConstants.DASHBOARD_TILE_PARENT_ID]: {
67
+ type: FieldTypeResource.TEXT,
68
+ value: this._parentTaskContentService.task.caseId
69
+ }
70
+ }
71
+ }, this._callChainService.create(success => {
72
+ if (!success) {
73
+ return;
74
+ }
75
+ // reference new tile in task ref
76
+ this._taskResourceService.setData(this._parentTaskContentService.task.stringId, {
77
+ [this._parentTaskContentService.task.stringId]: {
78
+ [TaskRefDashboardConstants.DASHBOARD_TASK_REF]: {
79
+ type: FieldTypeResource.TASK_REF,
80
+ value: [...this.taskRef.value, _case.tasks[0].task]
81
+ }
82
+ }
83
+ }).subscribe(outcome => {
84
+ if (outcome.error) {
85
+ this._logger.error(`Could not reference created task ref dashboard tile in the task ref`, outcome.error);
86
+ return;
87
+ }
88
+ this._taskDataService.initializeTaskDataFields(new AfterAction(), true);
89
+ }, error => {
90
+ this._logger.error(`Could not reference created task ref dashboard tile in the task ref`, error);
91
+ });
92
+ }));
93
+ }, error => {
94
+ this._logger.error(`Could not create task ref dashboard tile case`, error);
95
+ });
96
+ }
97
+ // TODO copy of a similar method found in UserFilterService
98
+ assignSetData(taskId, data, callChain) {
99
+ this._taskResourceService.assignTask(taskId).subscribe(assignOutcome => {
100
+ if (assignOutcome.error) {
101
+ this._logger.error(`Could not assign task '${taskId}'`, assignOutcome.error);
102
+ callChain.next(false);
103
+ return;
104
+ }
105
+ this._taskResourceService.setData(taskId, data).subscribe(setDataOutcome => {
106
+ if (setDataOutcome.error) {
107
+ this._logger.error(`Could not set data of task '${taskId}'`, data, setDataOutcome.error);
108
+ callChain.next(false);
109
+ return;
110
+ }
111
+ callChain.next(true);
112
+ }, error => {
113
+ this._logger.error(`Could not set data of task '${taskId}'`, data, error);
114
+ callChain.next(false);
115
+ });
116
+ }, error => {
117
+ this._logger.error(`Could not assign task '${taskId}'`, error);
118
+ callChain.next(false);
119
+ });
120
+ }
121
+ }
122
+ AbstractTaskRefDashboardTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractTaskRefDashboardTileComponent, deps: [{ token: i1.CaseResourceService }, { token: i2.ProcessService }, { token: i3.LoggerService }, { token: i4.TaskResourceService }, { token: i5.CallChainService }, { token: i6.TaskContentService }, { token: i7.TaskDataService }, { token: NAE_TASK_OPERATIONS }], target: i0.ɵɵFactoryTarget.Component });
123
+ AbstractTaskRefDashboardTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AbstractTaskRefDashboardTileComponent, selector: "ncc-abstract-task-ref-dashboard-tile", inputs: { tile: "tile", taskRef: "taskRef", fc: "fc" }, ngImport: i0, template: '', isInline: true });
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractTaskRefDashboardTileComponent, decorators: [{
125
+ type: Component,
126
+ args: [{
127
+ selector: 'ncc-abstract-task-ref-dashboard-tile',
128
+ template: '',
129
+ }]
130
+ }], ctorParameters: function () { return [{ type: i1.CaseResourceService }, { type: i2.ProcessService }, { type: i3.LoggerService }, { type: i4.TaskResourceService }, { type: i5.CallChainService }, { type: i6.TaskContentService }, { type: i7.TaskDataService }, { type: undefined, decorators: [{
131
+ type: Inject,
132
+ args: [NAE_TASK_OPERATIONS]
133
+ }] }]; }, propDecorators: { tile: [{
134
+ type: Input
135
+ }], taskRef: [{
136
+ type: Input
137
+ }], fc: [{
138
+ type: Input
139
+ }] } });
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdGFzay1yZWYtZGFzaGJvYXJkLXRpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9kYXRhLWZpZWxkcy90YXNrLXJlZi1maWVsZC90YXNrLXJlZi1kYXNoYm9hcmQtZmllbGQvdGFzay1yZWYtZGFzaGJvYXJkLXRpbGUvYWJzdHJhY3QtdGFzay1yZWYtZGFzaGJvYXJkLXRpbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUlsRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUc1RixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFPekMsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFHckYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFFNUYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDZDQUE2QyxDQUFDOzs7Ozs7Ozs7QUFNeEUsTUFBTSxPQUFnQixxQ0FBcUM7SUFTdkQsWUFBZ0Msb0JBQXlDLEVBQ3pDLGVBQStCLEVBQy9CLE9BQXNCLEVBQ3RCLG9CQUF5QyxFQUN6QyxpQkFBbUMsRUFDbkMseUJBQTZDLEVBQzdDLGdCQUFpQyxFQUNKLGVBQStCO1FBUDVELHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFDekMsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFDdEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUN6QyxzQkFB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QUU7NEZBRU0scUNBQXFDO2tCQUoxRCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQ0FBc0M7b0JBQ2hELFFBQVEsRUFBRSxFQUFFO2lCQUNmOzswQkFpQjBCLE1BQU07MkJBQUMsbUJBQW1COzRDQWR4QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUYXNrUmVmRGFzaGJvYXJkVGlsZX0gZnJvbSAnLi4vLi4vbW9kZWwvdGFzay1yZWYtZGFzaGJvYXJkLXRpbGUnO1xuaW1wb3J0IHtDYXNlUmVzb3VyY2VTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvZW5naW5lLWVuZHBvaW50L2Nhc2UtcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge1Rhc2tSZWZGaWVsZH0gZnJvbSAnLi4vLi4vbW9kZWwvdGFzay1yZWYtZmllbGQnO1xuaW1wb3J0IHtUYXNrUmVmRGFzaGJvYXJkQ29uc3RhbnRzfSBmcm9tICcuLi8uLi9tb2RlbC90YXNrLXJlZi1kYXNoYm9hcmQtY29uc3RhbnRzJztcbmltcG9ydCB7VGFza1JlZkRhc2hib2FyZFRpbGVDb25zdGFudHN9IGZyb20gJy4uLy4uL21vZGVsL3Rhc2stcmVmLWRhc2hib2FyZC10aWxlLWNvbnN0YW50cyc7XG5pbXBvcnQge1N1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1Byb2Nlc3NTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9wcm9jZXNzL3Byb2Nlc3Muc2VydmljZSc7XG5pbXBvcnQge3N3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDcmVhdGVDYXNlRXZlbnRPdXRjb21lfSBmcm9tICcuLi8uLi8uLi8uLi9ldmVudC9tb2RlbC9ldmVudC1vdXRjb21lcy9jYXNlLW91dGNvbWVzL2NyZWF0ZS1jYXNlLWV2ZW50LW91dGNvbWUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtUYXNrU2V0RGF0YVJlcXVlc3RCb2R5fSBmcm9tICcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL3Rhc2stc2V0LWRhdGEtcmVxdWVzdC1ib2R5JztcbmltcG9ydCB7VGFza1Jlc291cmNlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2VuZ2luZS1lbmRwb2ludC90YXNrLXJlc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHtDYWxsQ2hhaW5TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXR5L2NhbGwtY2hhaW4vY2FsbC1jaGFpbi5zZXJ2aWNlJztcbmltcG9ydCB7RmllbGRUeXBlUmVzb3VyY2V9IGZyb20gJy4uLy4uLy4uLy4uL3Rhc2stY29udGVudC9tb2RlbC9maWVsZC10eXBlLXJlc291cmNlJztcbmltcG9ydCB7VGFza0NvbnRlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi90YXNrLWNvbnRlbnQvc2VydmljZXMvdGFzay1jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtUYXNrT3BlcmF0aW9uc30gZnJvbSAnLi4vLi4vLi4vLi4vdGFzay9pbnRlcmZhY2VzL3Rhc2stb3BlcmF0aW9ucyc7XG5pbXBvcnQge05BRV9UQVNLX09QRVJBVElPTlN9IGZyb20gJy4uLy4uLy4uLy4uL3Rhc2svbW9kZWxzL3Rhc2stb3BlcmF0aW9ucy1pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHtUYXNrRGF0YVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL3Rhc2svc2VydmljZXMvdGFzay1kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHtBZnRlckFjdGlvbn0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0eS9jYWxsLWNoYWluL2FmdGVyLWFjdGlvbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LXRhc2stcmVmLWRhc2hib2FyZC10aWxlJyxcbiAgICB0ZW1wbGF0ZTogJycsXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VGFza1JlZkRhc2hib2FyZFRpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgQElucHV0KCkgdGlsZTogVGFza1JlZkRhc2hib2FyZFRpbGU7XG4gICAgQElucHV0KCkgdGFza1JlZjogVGFza1JlZkZpZWxkO1xuICAgIEBJbnB1dCgpIGZjOiBGb3JtQ29udHJvbDtcblxuICAgIHByaXZhdGUgX3N1YjogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgY2FzZUNyZWF0aW5nID0gZmFsc2U7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jYXNlUmVzb3VyY2VTZXJ2aWNlOiBDYXNlUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Byb2Nlc3NTZXJ2aWNlOiBQcm9jZXNzU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9sb2dnZXI6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdGFza1Jlc291cmNlU2VydmljZTogVGFza1Jlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9jYWxsQ2hhaW5TZXJ2aWNlOiBDYWxsQ2hhaW5TZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3BhcmVudFRhc2tDb250ZW50U2VydmljZTogVGFza0NvbnRlbnRTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Rhc2tEYXRhU2VydmljZTogVGFza0RhdGFTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBASW5qZWN0KE5BRV9UQVNLX09QRVJBVElPTlMpIHByb3RlY3RlZCBfdGFza09wZXJhdGlvbnM6IFRhc2tPcGVyYXRpb25zKSB7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zdWIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5fc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY3JlYXRlTmV3RGFzaGJvYXJkVGlsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY2FzZUNyZWF0aW5nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jYXNlQ3JlYXRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLl9zdWIgPSB0aGlzLl9wcm9jZXNzU2VydmljZS5nZXROZXQoVGFza1JlZkRhc2hib2FyZFRpbGVDb25zdGFudHMuREFTSEJPQVJEX1RJTEVfUFJPQ0VTU19JREVOVElGSUVSKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKG5ldCA9PiB0aGlzLl9jYXNlUmVzb3VyY2VTZXJ2aWNlLmNyZWF0ZUNhc2Uoe1xuICAgICAgICAgICAgICAgIG5ldElkOiBuZXQuc3RyaW5nSWQsXG4gICAgICAgICAgICAgICAgdGl0bGU6IGB0aWxlICgke3RoaXMudGlsZS54fSwgJHt0aGlzLnRpbGUueX0pYFxuICAgICAgICAgICAgfSkpXG4gICAgICAgICkuc3Vic2NyaWJlKG91dGNvbWUgPT4ge1xuICAgICAgICAgICAgaWYgKG91dGNvbWUuZXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2dnZXIuZXJyb3IoYENvdWxkIG5vdCBjcmVhdGUgdGFzayByZWYgZGFzaGJvYXJkIHRpbGUgY2FzZWAsIG91dGNvbWUuZXJyb3IpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IF9jYXNlID0gKG91dGNvbWUub3V0Y29tZSBhcyBDcmVhdGVDYXNlRXZlbnRPdXRjb21lKS5hQ2FzZTtcblxuICAgICAgICAgICAgLy8gc2V0IHRpbGUgaW5mb1xuICAgICAgICAgICAgdGhpcy5hc3NpZ25TZXREYXRhKF9jYXNlLnRhc2tzWzBdLnRhc2ssIHtcbiAgICAgICAgICAgICAgICBbX2Nhc2UudGFza3NbMF0udGFza106IHtcbiAgICAgICAgICAgICAgICAgICAgW1Rhc2tSZWZEYXNoYm9hcmRUaWxlQ29uc3RhbnRzLkRBU0hCT0FSRF9USUxFX1hdOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGVSZXNvdXJjZS5OVU1CRVIsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy50aWxlLnhcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgW1Rhc2tSZWZEYXNoYm9hcmRUaWxlQ29uc3RhbnRzLkRBU0hCT0FSRF9USUxFX1ldOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGVSZXNvdXJjZS5OVU1CRVIsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy50aWxlLnlcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgW1Rhc2tSZWZEYXNoYm9hcmRUaWxlQ29uc3RhbnRzLkRBU0hCT0FSRF9USUxFX1JPV1NdOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGVSZXNvdXJjZS5OVU1CRVIsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy50aWxlLnJvd3NcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgW1Rhc2tSZWZEYXNoYm9hcmRUaWxlQ29uc3RhbnRzLkRBU0hCT0FSRF9USUxFX0NPTFNdOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGVSZXNvdXJjZS5OVU1CRVIsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy50aWxlLmNvbHNcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgW1Rhc2tSZWZEYXNoYm9hcmRUaWxlQ29uc3RhbnRzLkRBU0hCT0FSRF9USUxFX1BBUkVOVF9JRF06IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZVJlc291cmNlLlRFWFQsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5fcGFyZW50VGFza0NvbnRlbnRTZXJ2aWNlLnRhc2suY2FzZUlkXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB0aGlzLl9jYWxsQ2hhaW5TZXJ2aWNlLmNyZWF0ZShzdWNjZXNzID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHJlZmVyZW5jZSBuZXcgdGlsZSBpbiB0YXNrIHJlZlxuICAgICAgICAgICAgICAgIHRoaXMuX3Rhc2tSZXNvdXJjZVNlcnZpY2Uuc2V0RGF0YSh0aGlzLl9wYXJlbnRUYXNrQ29udGVudFNlcnZpY2UudGFzay5zdHJpbmdJZCwge1xuICAgICAgICAgICAgICAgICAgICBbdGhpcy5fcGFyZW50VGFza0NvbnRlbnRTZXJ2aWNlLnRhc2suc3RyaW5nSWRdOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBbVGFza1JlZkRhc2hib2FyZENvbnN0YW50cy5EQVNIQk9BUkRfVEFTS19SRUZdOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlUmVzb3VyY2UuVEFTS19SRUYsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFsuLi50aGlzLnRhc2tSZWYudmFsdWUsIF9jYXNlLnRhc2tzWzBdLnRhc2tdXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KS5zdWJzY3JpYmUob3V0Y29tZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvdXRjb21lLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9sb2dnZXIuZXJyb3IoYENvdWxkIG5vdCByZWZlcmVuY2UgY3JlYXRlZCB0YXNrIHJlZiBkYXNoYm9hcmQgdGlsZSBpbiB0aGUgdGFzayByZWZgLCBvdXRjb21lLmVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl90YXNrRGF0YVNlcnZpY2UuaW5pdGlhbGl6ZVRhc2tEYXRhRmllbGRzKG5ldyBBZnRlckFjdGlvbigpLCB0cnVlKTtcbiAgICAgICAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvZ2dlci5lcnJvcihgQ291bGQgbm90IHJlZmVyZW5jZSBjcmVhdGVkIHRhc2sgcmVmIGRhc2hib2FyZCB0aWxlIGluIHRoZSB0YXNrIHJlZmAsIGVycm9yKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICAgICAgdGhpcy5fbG9nZ2VyLmVycm9yKGBDb3VsZCBub3QgY3JlYXRlIHRhc2sgcmVmIGRhc2hib2FyZCB0aWxlIGNhc2VgLCBlcnJvcik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIFRPRE8gY29weSBvZiBhIHNpbWlsYXIgbWV0aG9kIGZvdW5kIGluIFVzZXJGaWx0ZXJTZXJ2aWNlXG4gICAgcHJvdGVjdGVkIGFzc2lnblNldERhdGEodGFza0lkOiBzdHJpbmcsIGRhdGE6IFRhc2tTZXREYXRhUmVxdWVzdEJvZHksIGNhbGxDaGFpbjogU3ViamVjdDxib29sZWFuPik6IHZvaWQge1xuICAgICAgICB0aGlzLl90YXNrUmVzb3VyY2VTZXJ2aWNlLmFzc2lnblRhc2sodGFza0lkKS5zdWJzY3JpYmUoYXNzaWduT3V0Y29tZSA9PiB7XG4gICAgICAgICAgICBpZiAoYXNzaWduT3V0Y29tZS5lcnJvcikge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xvZ2dlci5lcnJvcihgQ291bGQgbm90IGFzc2lnbiB0YXNrICcke3Rhc2tJZH0nYCwgYXNzaWduT3V0Y29tZS5lcnJvcik7XG4gICAgICAgICAgICAgICAgY2FsbENoYWluLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fdGFza1Jlc291cmNlU2VydmljZS5zZXREYXRhKHRhc2tJZCwgZGF0YSkuc3Vic2NyaWJlKHNldERhdGFPdXRjb21lID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoc2V0RGF0YU91dGNvbWUuZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG9nZ2VyLmVycm9yKGBDb3VsZCBub3Qgc2V0IGRhdGEgb2YgdGFzayAnJHt0YXNrSWR9J2AsIGRhdGEsIHNldERhdGFPdXRjb21lLmVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgY2FsbENoYWluLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY2FsbENoYWluLm5leHQodHJ1ZSk7XG5cbiAgICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2dnZXIuZXJyb3IoYENvdWxkIG5vdCBzZXQgZGF0YSBvZiB0YXNrICcke3Rhc2tJZH0nYCwgZGF0YSwgZXJyb3IpO1xuICAgICAgICAgICAgICAgIGNhbGxDaGFpbi5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICB0aGlzLl9sb2dnZXIuZXJyb3IoYENvdWxkIG5vdCBhc3NpZ24gdGFzayAnJHt0YXNrSWR9J2AsIGVycm9yKTtcbiAgICAgICAgICAgIGNhbGxDaGFpbi5uZXh0KGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,42 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { AbstractTextErrorsComponent } from './abstract-text-errors.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@ngx-translate/core";
5
+ export class AbstractDashboardTextFieldComponent extends AbstractTextErrorsComponent {
6
+ constructor(translate) {
7
+ super(translate);
8
+ this.initialized = false;
9
+ }
10
+ ngOnInit() {
11
+ if (this.formControlRef.value !== undefined) {
12
+ this.card = this.createCard(this.formControlRef.value);
13
+ this.initialized = true;
14
+ }
15
+ this._sub = this.formControlRef.valueChanges.subscribe(newVal => {
16
+ this.card = this.createCard(newVal);
17
+ this.initialized = true;
18
+ });
19
+ }
20
+ ngOnDestroy() {
21
+ this._sub.unsubscribe();
22
+ }
23
+ getErrorMessage() {
24
+ return this.buildErrorMessage(this.textField, this.formControlRef);
25
+ }
26
+ }
27
+ AbstractDashboardTextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractDashboardTextFieldComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
28
+ AbstractDashboardTextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AbstractDashboardTextFieldComponent, selector: "ncc-abstract-dashboard-text-field", inputs: { textField: "textField", formControlRef: "formControlRef", showLargeLayout: "showLargeLayout" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractDashboardTextFieldComponent, decorators: [{
30
+ type: Component,
31
+ args: [{
32
+ selector: 'ncc-abstract-dashboard-text-field',
33
+ template: ''
34
+ }]
35
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }]; }, propDecorators: { textField: [{
36
+ type: Input
37
+ }], formControlRef: [{
38
+ type: Input
39
+ }], showLargeLayout: [{
40
+ type: Input
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGFzaGJvYXJkLXRleHQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9kYXRhLWZpZWxkcy90ZXh0LWZpZWxkL2Fic3RyYWN0LWRhc2hib2FyZC10ZXh0LWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7OztBQVk3RSxNQUFNLE9BQWdCLG1DQUFvQyxTQUFRLDJCQUEyQjtJQVN6RixZQUFzQixTQUEyQjtRQUM3QyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFKZCxnQkFBVyxHQUFZLEtBQUssQ0FBQztJQUtwQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDNUQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFJTSxlQUFlO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7O2lJQWhDaUIsbUNBQW1DO3FIQUFuQyxtQ0FBbUMsME1BRjNDLEVBQUU7NEZBRU0sbUNBQW1DO2tCQUp4RCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQ0FBbUM7b0JBQzdDLFFBQVEsRUFBRSxFQUFFO2lCQUNmO3VHQUVZLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0VGV4dEVycm9yc0NvbXBvbmVudH0gZnJvbSAnLi9hYnN0cmFjdC10ZXh0LWVycm9ycy5jb21wb25lbnQnO1xuaW1wb3J0IHtUZXh0RmllbGR9IGZyb20gJy4vbW9kZWxzL3RleHQtZmllbGQnO1xuaW1wb3J0IHtGb3JtQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtXcmFwcGVkQm9vbGVhbn0gZnJvbSAnLi4vZGF0YS1maWVsZC10ZW1wbGF0ZS9tb2RlbHMvd3JhcHBlZC1ib29sZWFuJztcbmltcG9ydCB7Q3VzdG9tQ2FyZH0gZnJvbSAnLi4vLi4vZGFzaGJvYXJkL2NhcmRzL21vZGVsL2N1c3RvbS1kYXNoYm9hcmQtbW9kZWwvY3VzdG9tLWNhcmQnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduY2MtYWJzdHJhY3QtZGFzaGJvYXJkLXRleHQtZmllbGQnLFxuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdERhc2hib2FyZFRleHRGaWVsZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0VGV4dEVycm9yc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSB0ZXh0RmllbGQ6IFRleHRGaWVsZDtcbiAgICBASW5wdXQoKSBmb3JtQ29udHJvbFJlZjogRm9ybUNvbnRyb2w7XG4gICAgQElucHV0KCkgc2hvd0xhcmdlTGF5b3V0OiBXcmFwcGVkQm9vbGVhbjtcblxuICAgIHB1YmxpYyBjYXJkPzogQ3VzdG9tQ2FyZDtcbiAgICBwdWJsaWMgaW5pdGlhbGl6ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIF9zdWI6IFN1YnNjcmlwdGlvbjtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcih0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIodHJhbnNsYXRlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybUNvbnRyb2xSZWYudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5jYXJkID0gdGhpcy5jcmVhdGVDYXJkKHRoaXMuZm9ybUNvbnRyb2xSZWYudmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc3ViID0gdGhpcy5mb3JtQ29udHJvbFJlZi52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKG5ld1ZhbCA9PiB7XG4gICAgICAgICAgICB0aGlzLmNhcmQgPSB0aGlzLmNyZWF0ZUNhcmQobmV3VmFsKTtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGNyZWF0ZUNhcmQodGV4dEZpZWxkVmFsdWU6IHN0cmluZyk6IEN1c3RvbUNhcmQ7XG5cbiAgICBwdWJsaWMgZ2V0RXJyb3JNZXNzYWdlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5idWlsZEVycm9yTWVzc2FnZSh0aGlzLnRleHRGaWVsZCwgdGhpcy5mb3JtQ29udHJvbFJlZik7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,33 @@
1
+ import { Component } from '@angular/core';
2
+ import { DashboardCardTypes } from '../../../dashboard/cards/model/dashboard-card-types';
3
+ import { FilterType } from '../../../filter/models/filter-type';
4
+ import { AbstractDashboardTextFieldComponent } from '../abstract-dashboard-text-field.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@ngx-translate/core";
7
+ export class AbstractDashboardBarChartTextFieldComponent extends AbstractDashboardTextFieldComponent {
8
+ constructor(translate) {
9
+ super(translate);
10
+ }
11
+ createCard(textFieldValue) {
12
+ const parsedValue = JSON.parse(textFieldValue);
13
+ return {
14
+ type: DashboardCardTypes.BAR,
15
+ query: parsedValue.query,
16
+ title: parsedValue.title,
17
+ xAxisLabel: parsedValue.xAxisLabel,
18
+ yAxisLabel: parsedValue.yAxisLabel,
19
+ resourceType: !!parsedValue.resourceType ? parsedValue.resourceType : FilterType.CASE,
20
+ layout: { x: 0, y: 0, rows: 1, cols: 1 }
21
+ };
22
+ }
23
+ }
24
+ AbstractDashboardBarChartTextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractDashboardBarChartTextFieldComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
25
+ AbstractDashboardBarChartTextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AbstractDashboardBarChartTextFieldComponent, selector: "ncc-abstract-dashboard-bar-chart-text-field", usesInheritance: true, ngImport: i0, template: '', isInline: true });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractDashboardBarChartTextFieldComponent, decorators: [{
27
+ type: Component,
28
+ args: [{
29
+ selector: 'ncc-abstract-dashboard-bar-chart-text-field',
30
+ template: ''
31
+ }]
32
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGFzaGJvYXJkLWJhci1jaGFydC10ZXh0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvZGF0YS1maWVsZHMvdGV4dC1maWVsZC9kYXNoYm9hcmQtYmFyLWNoYXJ0LXRleHQtZmllbGQvYWJzdHJhY3QtZGFzaGJvYXJkLWJhci1jaGFydC10ZXh0LWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3hDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUMsbUNBQW1DLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQzs7O0FBTS9GLE1BQU0sT0FBZ0IsMkNBQTRDLFNBQVEsbUNBQW1DO0lBRXpHLFlBQXNCLFNBQTJCO1FBQzdDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRVMsVUFBVSxDQUFDLGNBQXNCO1FBQ3ZDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFlLENBQUM7UUFDN0QsT0FBTztZQUNILElBQUksRUFBRSxrQkFBa0IsQ0FBQyxHQUFHO1lBQzVCLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSztZQUN4QixLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUs7WUFDeEIsVUFBVSxFQUFFLFdBQVcsQ0FBQyxVQUFVO1lBQ2xDLFVBQVUsRUFBRSxXQUFXLENBQUMsVUFBVTtZQUNsQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJO1lBQ3JGLE1BQU0sRUFBRSxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUM7U0FDekMsQ0FBQztJQUNOLENBQUM7O3lJQWpCaUIsMkNBQTJDOzZIQUEzQywyQ0FBMkMsMEdBRm5ELEVBQUU7NEZBRU0sMkNBQTJDO2tCQUpoRSxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw2Q0FBNkM7b0JBQ3ZELFFBQVEsRUFBRSxFQUFFO2lCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDdXN0b21DYXJkfSBmcm9tICcuLi8uLi8uLi9kYXNoYm9hcmQvY2FyZHMvbW9kZWwvY3VzdG9tLWRhc2hib2FyZC1tb2RlbC9jdXN0b20tY2FyZCc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtEYXNoYm9hcmRDYXJkVHlwZXN9IGZyb20gJy4uLy4uLy4uL2Rhc2hib2FyZC9jYXJkcy9tb2RlbC9kYXNoYm9hcmQtY2FyZC10eXBlcyc7XG5pbXBvcnQge0ZpbHRlclR5cGV9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9tb2RlbHMvZmlsdGVyLXR5cGUnO1xuaW1wb3J0IHtBYnN0cmFjdERhc2hib2FyZFRleHRGaWVsZENvbXBvbmVudH0gZnJvbSAnLi4vYWJzdHJhY3QtZGFzaGJvYXJkLXRleHQtZmllbGQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduY2MtYWJzdHJhY3QtZGFzaGJvYXJkLWJhci1jaGFydC10ZXh0LWZpZWxkJyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3REYXNoYm9hcmRCYXJDaGFydFRleHRGaWVsZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RGFzaGJvYXJkVGV4dEZpZWxkQ29tcG9uZW50IHtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcih0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIodHJhbnNsYXRlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQ2FyZCh0ZXh0RmllbGRWYWx1ZTogc3RyaW5nKTogQ3VzdG9tQ2FyZCB7XG4gICAgICAgIGNvbnN0IHBhcnNlZFZhbHVlID0gSlNPTi5wYXJzZSh0ZXh0RmllbGRWYWx1ZSkgYXMgQ3VzdG9tQ2FyZDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IERhc2hib2FyZENhcmRUeXBlcy5CQVIsXG4gICAgICAgICAgICBxdWVyeTogcGFyc2VkVmFsdWUucXVlcnksXG4gICAgICAgICAgICB0aXRsZTogcGFyc2VkVmFsdWUudGl0bGUsXG4gICAgICAgICAgICB4QXhpc0xhYmVsOiBwYXJzZWRWYWx1ZS54QXhpc0xhYmVsLFxuICAgICAgICAgICAgeUF4aXNMYWJlbDogcGFyc2VkVmFsdWUueUF4aXNMYWJlbCxcbiAgICAgICAgICAgIHJlc291cmNlVHlwZTogISFwYXJzZWRWYWx1ZS5yZXNvdXJjZVR5cGUgPyBwYXJzZWRWYWx1ZS5yZXNvdXJjZVR5cGUgOiBGaWx0ZXJUeXBlLkNBU0UsXG4gICAgICAgICAgICBsYXlvdXQ6IHt4OiAwLCB5OiAwLCByb3dzOiAxLCBjb2xzOiAxfVxuICAgICAgICB9O1xuICAgIH1cblxufVxuIl19
@@ -0,0 +1,27 @@
1
+ import { Component } from '@angular/core';
2
+ import { DashboardCardTypes } from '../../../dashboard/cards/model/dashboard-card-types';
3
+ import { AbstractDashboardTextFieldComponent } from '../abstract-dashboard-text-field.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@ngx-translate/core";
6
+ export class AbstractDashboardIframeTextFieldComponent extends AbstractDashboardTextFieldComponent {
7
+ constructor(translate) {
8
+ super(translate);
9
+ }
10
+ createCard(textFieldValue) {
11
+ return {
12
+ url: textFieldValue,
13
+ type: DashboardCardTypes.IFRAME,
14
+ layout: { x: 0, y: 0, rows: 1, cols: 1 }
15
+ };
16
+ }
17
+ }
18
+ AbstractDashboardIframeTextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractDashboardIframeTextFieldComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
19
+ AbstractDashboardIframeTextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AbstractDashboardIframeTextFieldComponent, selector: "ncc-abstract-dashboard-iframe-text-field", usesInheritance: true, ngImport: i0, template: '', isInline: true });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractDashboardIframeTextFieldComponent, decorators: [{
21
+ type: Component,
22
+ args: [{
23
+ selector: 'ncc-abstract-dashboard-iframe-text-field',
24
+ template: ''
25
+ }]
26
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGFzaGJvYXJkLWlmcmFtZS10ZXh0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvZGF0YS1maWVsZHMvdGV4dC1maWVsZC9kYXNoYm9hcmQtaWZyYW1lLXRleHQtZmllbGQvYWJzdHJhY3QtZGFzaGJvYXJkLWlmcmFtZS10ZXh0LWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBRXZGLE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLDRDQUE0QyxDQUFDOzs7QUFNL0YsTUFBTSxPQUFnQix5Q0FBMEMsU0FBUSxtQ0FBbUM7SUFJdkcsWUFBc0IsU0FBMkI7UUFDN0MsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFUyxVQUFVLENBQUMsY0FBc0I7UUFDdkMsT0FBTztZQUNILEdBQUcsRUFBRSxjQUFjO1lBQ25CLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO1lBQy9CLE1BQU0sRUFBRSxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUM7U0FDekMsQ0FBQztJQUNOLENBQUM7O3VJQWRpQix5Q0FBeUM7MkhBQXpDLHlDQUF5Qyx1R0FGakQsRUFBRTs0RkFFTSx5Q0FBeUM7a0JBSjlELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBDQUEwQztvQkFDcEQsUUFBUSxFQUFFLEVBQUU7aUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtEYXNoYm9hcmRDYXJkVHlwZXN9IGZyb20gJy4uLy4uLy4uL2Rhc2hib2FyZC9jYXJkcy9tb2RlbC9kYXNoYm9hcmQtY2FyZC10eXBlcyc7XG5pbXBvcnQge0N1c3RvbUlmcmFtZUNhcmR9IGZyb20gJy4uLy4uLy4uL2Rhc2hib2FyZC9jYXJkcy9tb2RlbC9jdXN0b20tZGFzaGJvYXJkLW1vZGVsL2N1c3RvbS1pZnJhbWUtY2FyZCc7XG5pbXBvcnQge0Fic3RyYWN0RGFzaGJvYXJkVGV4dEZpZWxkQ29tcG9uZW50fSBmcm9tICcuLi9hYnN0cmFjdC1kYXNoYm9hcmQtdGV4dC1maWVsZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jYy1hYnN0cmFjdC1kYXNoYm9hcmQtaWZyYW1lLXRleHQtZmllbGQnLFxuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdERhc2hib2FyZElmcmFtZVRleHRGaWVsZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RGFzaGJvYXJkVGV4dEZpZWxkQ29tcG9uZW50IHtcblxuICAgIHB1YmxpYyBjYXJkPzogQ3VzdG9tSWZyYW1lQ2FyZDtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcih0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIodHJhbnNsYXRlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQ2FyZCh0ZXh0RmllbGRWYWx1ZTogc3RyaW5nKTogQ3VzdG9tSWZyYW1lQ2FyZCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB1cmw6IHRleHRGaWVsZFZhbHVlLFxuICAgICAgICAgICAgdHlwZTogRGFzaGJvYXJkQ2FyZFR5cGVzLklGUkFNRSxcbiAgICAgICAgICAgIGxheW91dDoge3g6IDAsIHk6IDAsIHJvd3M6IDEsIGNvbHM6IDF9XG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
@@ -0,0 +1,33 @@
1
+ import { Component } from '@angular/core';
2
+ import { DashboardCardTypes } from '../../../dashboard/cards/model/dashboard-card-types';
3
+ import { FilterType } from '../../../filter/models/filter-type';
4
+ import { AbstractDashboardTextFieldComponent } from '../abstract-dashboard-text-field.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@ngx-translate/core";
7
+ export class AbstractDashboardLineChartTextFieldComponent extends AbstractDashboardTextFieldComponent {
8
+ constructor(translate) {
9
+ super(translate);
10
+ }
11
+ createCard(textFieldValue) {
12
+ const parsedValue = JSON.parse(textFieldValue);
13
+ return {
14
+ type: DashboardCardTypes.LINE,
15
+ query: parsedValue.query,
16
+ title: parsedValue.title,
17
+ xAxisLabel: parsedValue.xAxisLabel,
18
+ yAxisLabel: parsedValue.yAxisLabel,
19
+ resourceType: !!parsedValue.resourceType ? parsedValue.resourceType : FilterType.CASE,
20
+ layout: { x: 0, y: 0, rows: 1, cols: 1 }
21
+ };
22
+ }
23
+ }
24
+ AbstractDashboardLineChartTextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractDashboardLineChartTextFieldComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
25
+ AbstractDashboardLineChartTextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AbstractDashboardLineChartTextFieldComponent, selector: "ncc-abstract-dashboard-line-chart-text-field", usesInheritance: true, ngImport: i0, template: '', isInline: true });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractDashboardLineChartTextFieldComponent, decorators: [{
27
+ type: Component,
28
+ args: [{
29
+ selector: 'ncc-abstract-dashboard-line-chart-text-field',
30
+ template: ''
31
+ }]
32
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGFzaGJvYXJkLWxpbmUtY2hhcnQtdGV4dC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2RhdGEtZmllbGRzL3RleHQtZmllbGQvZGFzaGJvYXJkLWxpbmUtY2hhcnQtdGV4dC1maWVsZC9hYnN0cmFjdC1kYXNoYm9hcmQtbGluZS1jaGFydC10ZXh0LWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3hDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUMsbUNBQW1DLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQzs7O0FBTS9GLE1BQU0sT0FBZ0IsNENBQTZDLFNBQVEsbUNBQW1DO0lBRTFHLFlBQXNCLFNBQTJCO1FBQzdDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRVMsVUFBVSxDQUFDLGNBQXNCO1FBQ3ZDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFlLENBQUM7UUFDN0QsT0FBTztZQUNILElBQUksRUFBRSxrQkFBa0IsQ0FBQyxJQUFJO1lBQzdCLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSztZQUN4QixLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUs7WUFDeEIsVUFBVSxFQUFFLFdBQVcsQ0FBQyxVQUFVO1lBQ2xDLFVBQVUsRUFBRSxXQUFXLENBQUMsVUFBVTtZQUNsQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJO1lBQ3JGLE1BQU0sRUFBRSxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUM7U0FDekMsQ0FBQztJQUNOLENBQUM7OzBJQWpCaUIsNENBQTRDOzhIQUE1Qyw0Q0FBNEMsMkdBRnBELEVBQUU7NEZBRU0sNENBQTRDO2tCQUpqRSxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw4Q0FBOEM7b0JBQ3hELFFBQVEsRUFBRSxFQUFFO2lCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q3VzdG9tQ2FyZH0gZnJvbSAnLi4vLi4vLi4vZGFzaGJvYXJkL2NhcmRzL21vZGVsL2N1c3RvbS1kYXNoYm9hcmQtbW9kZWwvY3VzdG9tLWNhcmQnO1xuaW1wb3J0IHtEYXNoYm9hcmRDYXJkVHlwZXN9IGZyb20gJy4uLy4uLy4uL2Rhc2hib2FyZC9jYXJkcy9tb2RlbC9kYXNoYm9hcmQtY2FyZC10eXBlcyc7XG5pbXBvcnQge0ZpbHRlclR5cGV9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9tb2RlbHMvZmlsdGVyLXR5cGUnO1xuaW1wb3J0IHtBYnN0cmFjdERhc2hib2FyZFRleHRGaWVsZENvbXBvbmVudH0gZnJvbSAnLi4vYWJzdHJhY3QtZGFzaGJvYXJkLXRleHQtZmllbGQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduY2MtYWJzdHJhY3QtZGFzaGJvYXJkLWxpbmUtY2hhcnQtdGV4dC1maWVsZCcsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGFzaGJvYXJkTGluZUNoYXJ0VGV4dEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3REYXNoYm9hcmRUZXh0RmllbGRDb21wb25lbnQge1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgICAgICBzdXBlcih0cmFuc2xhdGUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVDYXJkKHRleHRGaWVsZFZhbHVlOiBzdHJpbmcpOiBDdXN0b21DYXJkIHtcbiAgICAgICAgY29uc3QgcGFyc2VkVmFsdWUgPSBKU09OLnBhcnNlKHRleHRGaWVsZFZhbHVlKSBhcyBDdXN0b21DYXJkO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogRGFzaGJvYXJkQ2FyZFR5cGVzLkxJTkUsXG4gICAgICAgICAgICBxdWVyeTogcGFyc2VkVmFsdWUucXVlcnksXG4gICAgICAgICAgICB0aXRsZTogcGFyc2VkVmFsdWUudGl0bGUsXG4gICAgICAgICAgICB4QXhpc0xhYmVsOiBwYXJzZWRWYWx1ZS54QXhpc0xhYmVsLFxuICAgICAgICAgICAgeUF4aXNMYWJlbDogcGFyc2VkVmFsdWUueUF4aXNMYWJlbCxcbiAgICAgICAgICAgIHJlc291cmNlVHlwZTogISFwYXJzZWRWYWx1ZS5yZXNvdXJjZVR5cGUgPyBwYXJzZWRWYWx1ZS5yZXNvdXJjZVR5cGUgOiBGaWx0ZXJUeXBlLkNBU0UsXG4gICAgICAgICAgICBsYXlvdXQ6IHt4OiAwLCB5OiAwLCByb3dzOiAxLCBjb2xzOiAxfVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { Component } from '@angular/core';
2
+ import { DashboardCardTypes } from '../../../dashboard/cards/model/dashboard-card-types';
3
+ import { FilterType } from '../../../filter/models/filter-type';
4
+ import { AbstractDashboardTextFieldComponent } from '../abstract-dashboard-text-field.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@ngx-translate/core";
7
+ export class AbstractDashboardPieChartTextFieldComponent extends AbstractDashboardTextFieldComponent {
8
+ constructor(translate) {
9
+ super(translate);
10
+ }
11
+ createCard(textFieldValue) {
12
+ const parsedValue = JSON.parse(textFieldValue);
13
+ return {
14
+ type: DashboardCardTypes.PIE,
15
+ query: parsedValue.query,
16
+ title: parsedValue.title,
17
+ resourceType: !!parsedValue.resourceType ? parsedValue.resourceType : FilterType.CASE,
18
+ layout: { x: 0, y: 0, rows: 1, cols: 1 }
19
+ };
20
+ }
21
+ }
22
+ AbstractDashboardPieChartTextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractDashboardPieChartTextFieldComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
23
+ AbstractDashboardPieChartTextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AbstractDashboardPieChartTextFieldComponent, selector: "ncc-abstract-dashboard-pie-chart-text-field", usesInheritance: true, ngImport: i0, template: '', isInline: true });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractDashboardPieChartTextFieldComponent, decorators: [{
25
+ type: Component,
26
+ args: [{
27
+ selector: 'ncc-abstract-dashboard-pie-chart-text-field',
28
+ template: ''
29
+ }]
30
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGFzaGJvYXJkLXBpZS1jaGFydC10ZXh0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvZGF0YS1maWVsZHMvdGV4dC1maWVsZC9kYXNoYm9hcmQtcGllLWNoYXJ0LXRleHQtZmllbGQvYWJzdHJhY3QtZGFzaGJvYXJkLXBpZS1jaGFydC10ZXh0LWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3hDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUMsbUNBQW1DLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQzs7O0FBTS9GLE1BQU0sT0FBZ0IsMkNBQTRDLFNBQVEsbUNBQW1DO0lBRXpHLFlBQXNCLFNBQTJCO1FBQzdDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRVMsVUFBVSxDQUFDLGNBQXNCO1FBQ3ZDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFlLENBQUM7UUFDN0QsT0FBTztZQUNILElBQUksRUFBRSxrQkFBa0IsQ0FBQyxHQUFHO1lBQzVCLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSztZQUN4QixLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUs7WUFDeEIsWUFBWSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSTtZQUNyRixNQUFNLEVBQUUsRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFDO1NBQ3pDLENBQUM7SUFDTixDQUFDOzt5SUFmaUIsMkNBQTJDOzZIQUEzQywyQ0FBMkMsMEdBRm5ELEVBQUU7NEZBRU0sMkNBQTJDO2tCQUpoRSxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw2Q0FBNkM7b0JBQ3ZELFFBQVEsRUFBRSxFQUFFO2lCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q3VzdG9tQ2FyZH0gZnJvbSAnLi4vLi4vLi4vZGFzaGJvYXJkL2NhcmRzL21vZGVsL2N1c3RvbS1kYXNoYm9hcmQtbW9kZWwvY3VzdG9tLWNhcmQnO1xuaW1wb3J0IHtEYXNoYm9hcmRDYXJkVHlwZXN9IGZyb20gJy4uLy4uLy4uL2Rhc2hib2FyZC9jYXJkcy9tb2RlbC9kYXNoYm9hcmQtY2FyZC10eXBlcyc7XG5pbXBvcnQge0ZpbHRlclR5cGV9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9tb2RlbHMvZmlsdGVyLXR5cGUnO1xuaW1wb3J0IHtBYnN0cmFjdERhc2hib2FyZFRleHRGaWVsZENvbXBvbmVudH0gZnJvbSAnLi4vYWJzdHJhY3QtZGFzaGJvYXJkLXRleHQtZmllbGQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduY2MtYWJzdHJhY3QtZGFzaGJvYXJkLXBpZS1jaGFydC10ZXh0LWZpZWxkJyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3REYXNoYm9hcmRQaWVDaGFydFRleHRGaWVsZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RGFzaGJvYXJkVGV4dEZpZWxkQ29tcG9uZW50IHtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcih0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIodHJhbnNsYXRlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQ2FyZCh0ZXh0RmllbGRWYWx1ZTogc3RyaW5nKTogQ3VzdG9tQ2FyZCB7XG4gICAgICAgIGNvbnN0IHBhcnNlZFZhbHVlID0gSlNPTi5wYXJzZSh0ZXh0RmllbGRWYWx1ZSkgYXMgQ3VzdG9tQ2FyZDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IERhc2hib2FyZENhcmRUeXBlcy5QSUUsXG4gICAgICAgICAgICBxdWVyeTogcGFyc2VkVmFsdWUucXVlcnksXG4gICAgICAgICAgICB0aXRsZTogcGFyc2VkVmFsdWUudGl0bGUsXG4gICAgICAgICAgICByZXNvdXJjZVR5cGU6ICEhcGFyc2VkVmFsdWUucmVzb3VyY2VUeXBlID8gcGFyc2VkVmFsdWUucmVzb3VyY2VUeXBlIDogRmlsdGVyVHlwZS5DQVNFLFxuICAgICAgICAgICAgbGF5b3V0OiB7eDogMCwgeTogMCwgcm93czogMSwgY29sczogMX1cbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { Component } from '@angular/core';
2
+ import { DashboardCardTypes } from '../../../dashboard/cards/model/dashboard-card-types';
3
+ import { AbstractDashboardTextFieldComponent } from '../abstract-dashboard-text-field.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@ngx-translate/core";
6
+ export class AbstractDashboardPortalTextFieldComponent extends AbstractDashboardTextFieldComponent {
7
+ constructor(translate) {
8
+ super(translate);
9
+ }
10
+ createCard(textFieldValue) {
11
+ return {
12
+ type: DashboardCardTypes.PORTAL,
13
+ componentName: textFieldValue,
14
+ layout: { x: 0, y: 0, rows: 1, cols: 1 }
15
+ };
16
+ }
17
+ }
18
+ AbstractDashboardPortalTextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractDashboardPortalTextFieldComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
19
+ AbstractDashboardPortalTextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AbstractDashboardPortalTextFieldComponent, selector: "ncc-abstract-dashboard-pie-chart-text-field", usesInheritance: true, ngImport: i0, template: '', isInline: true });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractDashboardPortalTextFieldComponent, decorators: [{
21
+ type: Component,
22
+ args: [{
23
+ selector: 'ncc-abstract-dashboard-pie-chart-text-field',
24
+ template: ''
25
+ }]
26
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGFzaGJvYXJkLXBvcnRhbC10ZXh0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvZGF0YS1maWVsZHMvdGV4dC1maWVsZC9kYXNoYm9hcmQtcG9ydGFsLXRleHQtZmllbGQvYWJzdHJhY3QtZGFzaGJvYXJkLXBvcnRhbC10ZXh0LWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3hDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLDRDQUE0QyxDQUFDOzs7QUFNL0YsTUFBTSxPQUFnQix5Q0FBMEMsU0FBUSxtQ0FBbUM7SUFFdkcsWUFBc0IsU0FBMkI7UUFDN0MsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFUyxVQUFVLENBQUMsY0FBc0I7UUFDdkMsT0FBTztZQUNILElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO1lBQy9CLGFBQWEsRUFBRSxjQUFjO1lBQzdCLE1BQU0sRUFBRSxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUM7U0FDekMsQ0FBQztJQUNOLENBQUM7O3VJQVppQix5Q0FBeUM7MkhBQXpDLHlDQUF5QywwR0FGakQsRUFBRTs0RkFFTSx5Q0FBeUM7a0JBSjlELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDZDQUE2QztvQkFDdkQsUUFBUSxFQUFFLEVBQUU7aUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtDdXN0b21DYXJkfSBmcm9tICcuLi8uLi8uLi9kYXNoYm9hcmQvY2FyZHMvbW9kZWwvY3VzdG9tLWRhc2hib2FyZC1tb2RlbC9jdXN0b20tY2FyZCc7XG5pbXBvcnQge0Rhc2hib2FyZENhcmRUeXBlc30gZnJvbSAnLi4vLi4vLi4vZGFzaGJvYXJkL2NhcmRzL21vZGVsL2Rhc2hib2FyZC1jYXJkLXR5cGVzJztcbmltcG9ydCB7QWJzdHJhY3REYXNoYm9hcmRUZXh0RmllbGRDb21wb25lbnR9IGZyb20gJy4uL2Fic3RyYWN0LWRhc2hib2FyZC10ZXh0LWZpZWxkLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LWRhc2hib2FyZC1waWUtY2hhcnQtdGV4dC1maWVsZCcsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGFzaGJvYXJkUG9ydGFsVGV4dEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3REYXNoYm9hcmRUZXh0RmllbGRDb21wb25lbnQge1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgICAgICBzdXBlcih0cmFuc2xhdGUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVDYXJkKHRleHRGaWVsZFZhbHVlOiBzdHJpbmcpOiBDdXN0b21DYXJkIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IERhc2hib2FyZENhcmRUeXBlcy5QT1JUQUwsXG4gICAgICAgICAgICBjb21wb25lbnROYW1lOiB0ZXh0RmllbGRWYWx1ZSxcbiAgICAgICAgICAgIGxheW91dDoge3g6IDAsIHk6IDAsIHJvd3M6IDEsIGNvbHM6IDF9XG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
@@ -0,0 +1,25 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DashboardPortalComponentRegistryService {
4
+ constructor() {
5
+ this.registry = new Map();
6
+ }
7
+ register(component, factory) {
8
+ this.registry.set(component, factory);
9
+ }
10
+ get(component, injector) {
11
+ if (!this.registry.has(component)) {
12
+ return undefined;
13
+ }
14
+ return this.registry.get(component)(injector);
15
+ }
16
+ }
17
+ DashboardPortalComponentRegistryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DashboardPortalComponentRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18
+ DashboardPortalComponentRegistryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DashboardPortalComponentRegistryService, providedIn: 'root' });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DashboardPortalComponentRegistryService, decorators: [{
20
+ type: Injectable,
21
+ args: [{
22
+ providedIn: 'root'
23
+ }]
24
+ }], ctorParameters: function () { return []; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXBvcnRhbC1jb21wb25lbnQtcmVnaXN0cnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvZGF0YS1maWVsZHMvdGV4dC1maWVsZC9kYXNoYm9hcmQtcG9ydGFsLXRleHQtZmllbGQvZGFzaGJvYXJkLXBvcnRhbC1jb21wb25lbnQtcmVnaXN0cnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFXLE1BQU0sZUFBZSxDQUFDOztBQU1uRCxNQUFNLE9BQU8sdUNBQXVDO0lBSWhEO1FBQ0ksSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBd0QsQ0FBQztJQUNwRixDQUFDO0lBRU0sUUFBUSxDQUFDLFNBQWlCLEVBQUUsT0FBcUQ7UUFDcEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxHQUFHLENBQUMsU0FBaUIsRUFBRSxRQUFtQjtRQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDL0IsT0FBTyxTQUFTLENBQUE7U0FDbkI7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7O3FJQWpCUSx1Q0FBdUM7eUlBQXZDLHVDQUF1QyxjQUZwQyxNQUFNOzRGQUVULHVDQUF1QztrQkFIbkQsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIEluamVjdG9yfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEYXNoYm9hcmRQb3J0YWxDb21wb25lbnRSZWdpc3RyeVNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSByZWdpc3RyeTogTWFwPHN0cmluZywgKGluamVjdG9yOiBJbmplY3RvcikgPT4gQ29tcG9uZW50UG9ydGFsPGFueT4+O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMucmVnaXN0cnkgPSBuZXcgTWFwPHN0cmluZywgKGluamVjdG9yOiBJbmplY3RvcikgPT4gQ29tcG9uZW50UG9ydGFsPGFueT4+KCk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyKGNvbXBvbmVudDogc3RyaW5nLCBmYWN0b3J5OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBDb21wb25lbnRQb3J0YWw8YW55Pik6IHZvaWQge1xuICAgICAgICB0aGlzLnJlZ2lzdHJ5LnNldChjb21wb25lbnQsIGZhY3RvcnkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQoY29tcG9uZW50OiBzdHJpbmcsIGluamVjdG9yPzogSW5qZWN0b3IpOiBDb21wb25lbnRQb3J0YWw8YW55PiB7XG4gICAgICAgIGlmICghdGhpcy5yZWdpc3RyeS5oYXMoY29tcG9uZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnJlZ2lzdHJ5LmdldChjb21wb25lbnQpKGluamVjdG9yKTtcbiAgICB9XG59XG4iXX0=
@@ -1,5 +1,27 @@
1
1
  import { Validators } from '@angular/forms';
2
2
  import { DataField } from '../../models/abstract-data-field';
3
+ export var TextFieldView;
4
+ (function (TextFieldView) {
5
+ TextFieldView["DEFAULT"] = "default";
6
+ TextFieldView["TEXTAREA"] = "textarea";
7
+ TextFieldView["RICHTEXTAREA"] = "richtextarea";
8
+ TextFieldView["HTMLTEXTAREA"] = "htmltextarea";
9
+ })(TextFieldView || (TextFieldView = {}));
10
+ /**
11
+ * A collection of Text field component names supported by the application engine.
12
+ */
13
+ export var TextFieldComponent;
14
+ (function (TextFieldComponent) {
15
+ TextFieldComponent["PASSWORD"] = "password";
16
+ TextFieldComponent["TEXT_AREA"] = "text_area";
17
+ TextFieldComponent["RICH_TEXT_AREA"] = "richtextarea";
18
+ TextFieldComponent["HTML_TEXT_AREA"] = "htmltextarea";
19
+ TextFieldComponent["DASHBOARD_LINE_CHART"] = "dashboard_line_chart";
20
+ TextFieldComponent["DASHBOARD_PIE_CHART"] = "dashboard_pie_chart";
21
+ TextFieldComponent["DASHBOARD_BAR_CHART"] = "dashboard_bar_chart";
22
+ TextFieldComponent["DASHBOARD_IFRAME"] = "dashboard_iframe";
23
+ TextFieldComponent["DASHBOARD_PORTAL"] = "dashboard_portal";
24
+ })(TextFieldComponent || (TextFieldComponent = {}));
3
25
  export var TextAreaHeight;
4
26
  (function (TextAreaHeight) {
5
27
  TextAreaHeight[TextAreaHeight["OUTLINE"] = 27] = "OUTLINE";
@@ -70,4 +92,4 @@ export class TextField extends DataField {
70
92
  }
71
93
  }
72
94
  TextField.FIELD_HEIGHT = 105;
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvZGF0YS1maWVsZHMvdGV4dC1maWVsZC9tb2RlbHMvdGV4dC1maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQTJCLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSXBFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUUzRCxNQUFNLENBQU4sSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3RCLDBEQUFZLENBQUE7SUFDWixzRUFBa0IsQ0FBQTtBQUN0QixDQUFDLEVBSFcsY0FBYyxLQUFkLGNBQWMsUUFHekI7QUFFRCxNQUFNLENBQU4sSUFBWSxtQkFXWDtBQVhELFdBQVksbUJBQW1CO0lBQzNCLDRDQUFxQixDQUFBO0lBQ3JCLCtDQUF3QixDQUFBO0lBQ3hCLCtDQUF3QixDQUFBO0lBQ3hCLHFEQUE4QixDQUFBO0lBQzlCLHFEQUE4QixDQUFBO0lBQzlCLDBDQUFtQixDQUFBO0lBQ25CLHNDQUFlLENBQUE7SUFDZiwwREFBbUMsQ0FBQTtJQUNuQywrQ0FBd0IsQ0FBQTtJQUN4QixzQ0FBZSxDQUFBO0FBQ25CLENBQUMsRUFYVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBVzlCO0FBRUQsTUFBTSxPQUFPLFNBQVUsU0FBUSxTQUFpQjtJQUc1QyxZQUFZLFFBQWdCLEVBQUUsS0FBYSxFQUFFLEtBQWEsRUFBRSxRQUFrQixFQUFFLFdBQW9CLEVBQ3hGLFdBQW9CLEVBQUUsTUFBZSxFQUFFLFdBQStCLEVBQUUsVUFBc0IsRUFDOUYsWUFBcUI7UUFDN0IsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsVUFB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QUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3RILE9BQU8sQ0FBQyxFQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1NBQ25DO2FBQU07WUFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakI7SUFDTCxDQUFDOztBQWxEYSxzQkFBWSxHQUFHLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmVoYXZpb3J9IGZyb20gJy4uLy4uL21vZGVscy9iZWhhdmlvcic7XG5pbXBvcnQge0Zvcm1Db250cm9sLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtMYXlvdXR9IGZyb20gJy4uLy4uL21vZGVscy9sYXlvdXQnO1xuaW1wb3J0IHtWYWxpZGF0aW9ufSBmcm9tICcuLi8uLi9tb2RlbHMvdmFsaWRhdGlvbic7XG5pbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbXBvbmVudCc7XG5pbXBvcnQge0RhdGFGaWVsZH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Fic3RyYWN0LWRhdGEtZmllbGQnO1xuXG5leHBvcnQgZW51bSBUZXh0QXJlYUhlaWdodCB7XG4gICAgT1VUTElORSA9IDI3LFxuICAgIEZJTExfU1RBTkRBUkQgPSAzNFxufVxuXG5leHBvcnQgZW51bSBUZXh0RmllbGRWYWxpZGF0aW9uIHtcbiAgICBSRVFVSVJFRCA9ICdyZXF1aXJlZCcsXG4gICAgTUlOX0xFTkdUSCA9ICdtaW5MZW5ndGgnLFxuICAgIE1BWF9MRU5HVEggPSAnbWF4TGVuZ3RoJyxcbiAgICBWQUxJRF9NSU5fTEVOR1RIID0gJ21pbmxlbmd0aCcsXG4gICAgVkFMSURfTUFYX0xFTkdUSCA9ICdtYXhsZW5ndGgnLFxuICAgIFBBVFRFUk4gPSAncGF0dGVybicsXG4gICAgUkVHRVggPSAncmVnZXgnLFxuICAgIFZBTElEX1RFTF9OVU1CRVIgPSAndmFsaWRUZWxOdW1iZXInLFxuICAgIFRFTF9OVU1CRVIgPSAndGVsTnVtYmVyJyxcbiAgICBFTUFJTCA9ICdlbWFpbCdcbn1cblxuZXhwb3J0IGNsYXNzIFRleHRGaWVsZCBleHRlbmRzIERhdGFGaWVsZDxzdHJpbmc+IHtcbiAgICBwdWJsaWMgc3RhdGljIEZJRUxEX0hFSUdIVCA9IDEwNTtcblxuICAgIGNvbnN0cnVjdG9yKHN0cmluZ0lkOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIGJlaGF2aW9yOiBCZWhhdmlvciwgcGxhY2Vob2xkZXI/OiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb24/OiBzdHJpbmcsIGxheW91dD86IExheW91dCwgdmFsaWRhdGlvbnM/OiBBcnJheTxWYWxpZGF0aW9uPiwgX2NvbXBvbmVudD86IENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBwYXJlbnRUYXNrSWQ/OiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIoc3RyaW5nSWQsIHRpdGxlLCB2YWx1ZSwgYmVoYXZpb3IsIHBsYWNlaG9sZGVyLCBkZXNjcmlwdGlvbiwgbGF5b3V0LCB2YWxpZGF0aW9ucywgX2NvbXBvbmVudCwgcGFyZW50VGFza0lkKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzb2x2ZVZhbGlkYXRpb25zKCk6IEFycmF5PFZhbGlkYXRvckZuPiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbnMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLnZhbGlkYXRpb25SdWxlLmluY2x1ZGVzKFRleHRGaWVsZFZhbGlkYXRpb24uTUlOX0xFTkdUSCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0bXAgPSBpdGVtLnZhbGlkYXRpb25SdWxlLnNwbGl0KCcgJyk7XG4gICAgICAgICAgICAgICAgaWYgKHRtcFsxXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxlbmd0aCA9IHBhcnNlSW50KHRtcFsxXSwgMTApO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzTmFOKGxlbmd0aCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKFZhbGlkYXRvcnMubWluTGVuZ3RoKGxlbmd0aCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChpdGVtLnZhbGlkYXRpb25SdWxlLmluY2x1ZGVzKFRleHRGaWVsZFZhbGlkYXRpb24uTUFYX0xFTkdUSCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0bXAgPSBpdGVtLnZhbGlkYXRpb25SdWxlLnNwbGl0KCcgJyk7XG4gICAgICAgICAgICAgICAgaWYgKHRtcFsxXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxlbmd0aCA9IHBhcnNlSW50KHRtcFsxXSwgMTApO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzTmFOKGxlbmd0aCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKFZhbGlkYXRvcnMubWF4TGVuZ3RoKGxlbmd0aCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChpdGVtLnZhbGlkYXRpb25SdWxlLmluY2x1ZGVzKFRleHRGaWVsZFZhbGlkYXRpb24uUkVHRVgpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0udmFsaWRhdGlvblJ1bGUuc3RhcnRzV2l0aCgncmVnZXggJykpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKG5ldyBSZWdFeHAoaXRlbS52YWxpZGF0aW9uUnVsZS5zdWJzdHJpbmcoNiwgaXRlbS52YWxpZGF0aW9uUnVsZS5sZW5ndGggKSkpKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0udmFsaWRhdGlvblJ1bGUuc3RhcnRzV2l0aCgncmVnZXgoXCInKSkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChWYWxpZGF0b3JzLnBhdHRlcm4obmV3IFJlZ0V4cChpdGVtLnZhbGlkYXRpb25SdWxlLnN1YnN0cmluZyg3LCBpdGVtLnZhbGlkYXRpb25SdWxlLmxlbmd0aCAtIDIpKSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbS52YWxpZGF0aW9uUnVsZS5pbmNsdWRlcyhUZXh0RmllbGRWYWxpZGF0aW9uLkVNQUlMKSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKFZhbGlkYXRvcnMuZW1haWwpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpdGVtLnZhbGlkYXRpb25SdWxlLmluY2x1ZGVzKFRleHRGaWVsZFZhbGlkYXRpb24uVEVMX05VTUJFUikpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh0aGlzLnZhbGlkVGVsTnVtYmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkVGVsTnVtYmVyKGZjOiBGb3JtQ29udHJvbCkge1xuICAgICAgICBpZiAoIShuZXcgUmVnRXhwKC9eKD86XFwrPyhcXGR7MSwzfSkpPyhbLS4gKF0qKFxcZHszfSlbLS4gKV0qKT8oKFxcZHszfSlbLS4gXSooXFxkezIsNH0pKD86Wy0ueCBdKihcXGQrKSk/KSQvKS50ZXN0KGZjLnZhbHVlKSkpIHtcbiAgICAgICAgICAgIHJldHVybiAoe3ZhbGlkVGVsTnVtYmVyOiB0cnVlfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gKG51bGwpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvZGF0YS1maWVsZHMvdGV4dC1maWVsZC9tb2RlbHMvdGV4dC1maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQTJCLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSXBFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUUzRCxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3JCLG9DQUFtQixDQUFBO0lBQ25CLHNDQUFxQixDQUFBO0lBQ3JCLDhDQUE2QixDQUFBO0lBQzdCLDhDQUE2QixDQUFBO0FBQ2pDLENBQUMsRUFMVyxhQUFhLEtBQWIsYUFBYSxRQUt4QjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksa0JBVVg7QUFWRCxXQUFZLGtCQUFrQjtJQUMxQiwyQ0FBcUIsQ0FBQTtJQUNyQiw2Q0FBdUIsQ0FBQTtJQUN2QixxREFBK0IsQ0FBQTtJQUMvQixxREFBK0IsQ0FBQTtJQUMvQixtRUFBNkMsQ0FBQTtJQUM3QyxpRUFBMkMsQ0FBQTtJQUMzQyxpRUFBMkMsQ0FBQTtJQUMzQywyREFBcUMsQ0FBQTtJQUNyQywyREFBcUMsQ0FBQTtBQUN6QyxDQUFDLEVBVlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQVU3QjtBQUVELE1BQU0sQ0FBTixJQUFZLGNBR1g7QUFIRCxXQUFZLGNBQWM7SUFDdEIsMERBQVksQ0FBQTtJQUNaLHNFQUFrQixDQUFBO0FBQ3RCLENBQUMsRUFIVyxjQUFjLEtBQWQsY0FBYyxRQUd6QjtBQUVELE1BQU0sQ0FBTixJQUFZLG1CQVdYO0FBWEQsV0FBWSxtQkFBbUI7SUFDM0IsNENBQXFCLENBQUE7SUFDckIsK0NBQXdCLENBQUE7SUFDeEIsK0NBQXdCLENBQUE7SUFDeEIscURBQThCLENBQUE7SUFDOUIscURBQThCLENBQUE7SUFDOUIsMENBQW1CLENBQUE7SUFDbkIsc0NBQWUsQ0FBQTtJQUNmLDBEQUFtQyxDQUFBO0lBQ25DLCtDQUF3QixDQUFBO0lBQ3hCLHNDQUFlLENBQUE7QUFDbkIsQ0FBQyxFQVhXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFXOUI7QUFFRCxNQUFNLE9BQU8sU0FBVSxTQUFRLFNBQWlCO0lBRzVDLFlBQVksUUFBZ0IsRUFBRSxLQUFhLEVBQUUsS0FBYSxFQUFFLFFBQWtCLEVBQUUsV0FBb0IsRUFDeEYsV0FBb0IsRUFBRSxNQUFlLEVBQUUsV0FBK0IsRUFBRSxVQUFzQixFQUM5RixZQUFxQjtRQUM3QixLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVTLGtCQUFrQjtRQUN4QixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFFbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDNUIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDOUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzNDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsRUFBRTtvQkFDdEIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTt3QkFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7cUJBQzdDO2lCQUNKO2FBQ0o7aUJBQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDckUsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzNDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsRUFBRTtvQkFDdEIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTt3QkFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7cUJBQzdDO2lCQUNKO2FBQ0o7aUJBQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDaEUsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUM5RztxQkFBTSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFO29CQUNsRCxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNqSDthQUNKO2lCQUFNLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2hFLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2pDO2lCQUFNLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ3JFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3BDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRU8sY0FBYyxDQUFDLEVBQWU7UUFDbEMsSUFBSSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsc0ZBQXNGLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDdEgsT0FBTyxDQUFDLEVBQUMsY0FBYyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7U0FDbkM7YUFBTTtZQUNILE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNqQjtJQUNMLENBQUM7O0FBbERhLHNCQUFZLEdBQUcsR0FBRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCZWhhdmlvcn0gZnJvbSAnLi4vLi4vbW9kZWxzL2JlaGF2aW9yJztcbmltcG9ydCB7Rm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0xheW91dH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xheW91dCc7XG5pbXBvcnQge1ZhbGlkYXRpb259IGZyb20gJy4uLy4uL21vZGVscy92YWxpZGF0aW9uJztcbmltcG9ydCB7Q29tcG9uZW50fSBmcm9tICcuLi8uLi9tb2RlbHMvY29tcG9uZW50JztcbmltcG9ydCB7RGF0YUZpZWxkfSBmcm9tICcuLi8uLi9tb2RlbHMvYWJzdHJhY3QtZGF0YS1maWVsZCc7XG5cbmV4cG9ydCBlbnVtIFRleHRGaWVsZFZpZXcge1xuICAgIERFRkFVTFQgPSAnZGVmYXVsdCcsXG4gICAgVEVYVEFSRUEgPSAndGV4dGFyZWEnLFxuICAgIFJJQ0hURVhUQVJFQSA9ICdyaWNodGV4dGFyZWEnLFxuICAgIEhUTUxURVhUQVJFQSA9ICdodG1sdGV4dGFyZWEnXG59XG5cbi8qKlxuICogQSBjb2xsZWN0aW9uIG9mIFRleHQgZmllbGQgY29tcG9uZW50IG5hbWVzIHN1cHBvcnRlZCBieSB0aGUgYXBwbGljYXRpb24gZW5naW5lLlxuICovXG5leHBvcnQgZW51bSBUZXh0RmllbGRDb21wb25lbnQge1xuICAgIFBBU1NXT1JEID0gJ3Bhc3N3b3JkJyxcbiAgICBURVhUX0FSRUEgPSAndGV4dF9hcmVhJyxcbiAgICBSSUNIX1RFWFRfQVJFQSA9ICdyaWNodGV4dGFyZWEnLFxuICAgIEhUTUxfVEVYVF9BUkVBID0gJ2h0bWx0ZXh0YXJlYScsXG4gICAgREFTSEJPQVJEX0xJTkVfQ0hBUlQgPSAnZGFzaGJvYXJkX2xpbmVfY2hhcnQnLFxuICAgIERBU0hCT0FSRF9QSUVfQ0hBUlQgPSAnZGFzaGJvYXJkX3BpZV9jaGFydCcsXG4gICAgREFTSEJPQVJEX0JBUl9DSEFSVCA9ICdkYXNoYm9hcmRfYmFyX2NoYXJ0JyxcbiAgICBEQVNIQk9BUkRfSUZSQU1FID0gJ2Rhc2hib2FyZF9pZnJhbWUnLFxuICAgIERBU0hCT0FSRF9QT1JUQUwgPSAnZGFzaGJvYXJkX3BvcnRhbCcsXG59XG5cbmV4cG9ydCBlbnVtIFRleHRBcmVhSGVpZ2h0IHtcbiAgICBPVVRMSU5FID0gMjcsXG4gICAgRklMTF9TVEFOREFSRCA9IDM0XG59XG5cbmV4cG9ydCBlbnVtIFRleHRGaWVsZFZhbGlkYXRpb24ge1xuICAgIFJFUVVJUkVEID0gJ3JlcXVpcmVkJyxcbiAgICBNSU5fTEVOR1RIID0gJ21pbkxlbmd0aCcsXG4gICAgTUFYX0xFTkdUSCA9ICdtYXhMZW5ndGgnLFxuICAgIFZBTElEX01JTl9MRU5HVEggPSAnbWlubGVuZ3RoJyxcbiAgICBWQUxJRF9NQVhfTEVOR1RIID0gJ21heGxlbmd0aCcsXG4gICAgUEFUVEVSTiA9ICdwYXR0ZXJuJyxcbiAgICBSRUdFWCA9ICdyZWdleCcsXG4gICAgVkFMSURfVEVMX05VTUJFUiA9ICd2YWxpZFRlbE51bWJlcicsXG4gICAgVEVMX05VTUJFUiA9ICd0ZWxOdW1iZXInLFxuICAgIEVNQUlMID0gJ2VtYWlsJ1xufVxuXG5leHBvcnQgY2xhc3MgVGV4dEZpZWxkIGV4dGVuZHMgRGF0YUZpZWxkPHN0cmluZz4ge1xuICAgIHB1YmxpYyBzdGF0aWMgRklFTERfSEVJR0hUID0gMTA1O1xuXG4gICAgY29uc3RydWN0b3Ioc3RyaW5nSWQ6IHN0cmluZywgdGl0bGU6IHN0cmluZywgdmFsdWU6IHN0cmluZywgYmVoYXZpb3I6IEJlaGF2aW9yLCBwbGFjZWhvbGRlcj86IHN0cmluZyxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbj86IHN0cmluZywgbGF5b3V0PzogTGF5b3V0LCB2YWxpZGF0aW9ucz86IEFycmF5PFZhbGlkYXRpb24+LCBfY29tcG9uZW50PzogQ29tcG9uZW50LFxuICAgICAgICAgICAgICAgIHBhcmVudFRhc2tJZD86IHN0cmluZykge1xuICAgICAgICBzdXBlcihzdHJpbmdJZCwgdGl0bGUsIHZhbHVlLCBiZWhhdmlvciwgcGxhY2Vob2xkZXIsIGRlc2NyaXB0aW9uLCBsYXlvdXQsIHZhbGlkYXRpb25zLCBfY29tcG9uZW50LCBwYXJlbnRUYXNrSWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlVmFsaWRhdGlvbnMoKTogQXJyYXk8VmFsaWRhdG9yRm4+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG5cbiAgICAgICAgdGhpcy52YWxpZGF0aW9ucy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0udmFsaWRhdGlvblJ1bGUuaW5jbHVkZXMoVGV4dEZpZWxkVmFsaWRhdGlvbi5NSU5fTEVOR1RIKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRtcCA9IGl0ZW0udmFsaWRhdGlvblJ1bGUuc3BsaXQoJyAnKTtcbiAgICAgICAgICAgICAgICBpZiAodG1wWzFdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGVuZ3RoID0gcGFyc2VJbnQodG1wWzFdLCAxMCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNOYU4obGVuZ3RoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goVmFsaWRhdG9ycy5taW5MZW5ndGgobGVuZ3RoKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0udmFsaWRhdGlvblJ1bGUuaW5jbHVkZXMoVGV4dEZpZWxkVmFsaWRhdGlvbi5NQVhfTEVOR1RIKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRtcCA9IGl0ZW0udmFsaWRhdGlvblJ1bGUuc3BsaXQoJyAnKTtcbiAgICAgICAgICAgICAgICBpZiAodG1wWzFdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGVuZ3RoID0gcGFyc2VJbnQodG1wWzFdLCAxMCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNOYU4obGVuZ3RoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goVmFsaWRhdG9ycy5tYXhMZW5ndGgobGVuZ3RoKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0udmFsaWRhdGlvblJ1bGUuaW5jbHVkZXMoVGV4dEZpZWxkVmFsaWRhdGlvbi5SRUdFWCkpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS52YWxpZGF0aW9uUnVsZS5zdGFydHNXaXRoKCdyZWdleCAnKSkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChWYWxpZGF0b3JzLnBhdHRlcm4obmV3IFJlZ0V4cChpdGVtLnZhbGlkYXRpb25SdWxlLnN1YnN0cmluZyg2LCBpdGVtLnZhbGlkYXRpb25SdWxlLmxlbmd0aCApKSkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbS52YWxpZGF0aW9uUnVsZS5zdGFydHNXaXRoKCdyZWdleChcIicpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKFZhbGlkYXRvcnMucGF0dGVybihuZXcgUmVnRXhwKGl0ZW0udmFsaWRhdGlvblJ1bGUuc3Vic3RyaW5nKDcsIGl0ZW0udmFsaWRhdGlvblJ1bGUubGVuZ3RoIC0gMikpKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChpdGVtLnZhbGlkYXRpb25SdWxlLmluY2x1ZGVzKFRleHRGaWVsZFZhbGlkYXRpb24uRU1BSUwpKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goVmFsaWRhdG9ycy5lbWFpbCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0udmFsaWRhdGlvblJ1bGUuaW5jbHVkZXMoVGV4dEZpZWxkVmFsaWRhdGlvbi5URUxfTlVNQkVSKSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHRoaXMudmFsaWRUZWxOdW1iZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRUZWxOdW1iZXIoZmM6IEZvcm1Db250cm9sKSB7XG4gICAgICAgIGlmICghKG5ldyBSZWdFeHAoL14oPzpcXCs/KFxcZHsxLDN9KSk/KFstLiAoXSooXFxkezN9KVstLiApXSopPygoXFxkezN9KVstLiBdKihcXGR7Miw0fSkoPzpbLS54IF0qKFxcZCspKT8pJC8pLnRlc3QoZmMudmFsdWUpKSkge1xuICAgICAgICAgICAgcmV0dXJuICh7dmFsaWRUZWxOdW1iZXI6IHRydWV9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAobnVsbCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -121,6 +121,12 @@ export class FilterRepository {
121
121
  });
122
122
  return result;
123
123
  }
124
+ /**
125
+ * Removes all stored filters from the repository
126
+ */
127
+ removeAllFilters() {
128
+ this._filters = new Map();
129
+ }
124
130
  }
125
131
  FilterRepository.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FilterRepository, deps: [{ token: i1.ConfigurationService }, { token: i2.LoggerService }], target: i0.ɵɵFactoryTarget.Injectable });
126
132
  FilterRepository.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FilterRepository, providedIn: 'root' });
@@ -130,4 +136,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
130
136
  providedIn: 'root'
131
137
  }]
132
138
  }], ctorParameters: function () { return [{ type: i1.ConfigurationService }, { type: i2.LoggerService }]; } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2ZpbHRlci9maWx0ZXIucmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBS3pDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFcEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7O0FBR3BEOzs7Ozs7R0FNRztBQUlILE1BQU0sT0FBTyxnQkFBZ0I7SUFPekI7O09BRUc7SUFDSCxZQUFzQixjQUFvQyxFQUFZLElBQW1CO1FBQW5FLG1CQUFjLEdBQWQsY0FBYyxDQUFzQjtRQUFZLFNBQUksR0FBSixJQUFJLENBQWU7UUFSekY7O1dBRUc7UUFDTyxhQUFRLEdBQXdCLElBQUksR0FBRyxFQUFrQixDQUFDO1FBTWhFLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFDN0MsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNWLE9BQU87U0FDVjtRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3BDLE1BQU0sWUFBWSxHQUFpQixPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckQsdURBQXVEO1lBQ3ZELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRTtnQkFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLFFBQVEsMERBQTBELENBQUMsQ0FBQztnQkFDekYsT0FBTzthQUNWO1lBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUU7b0JBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxRQUFRLDZFQUE2RSxDQUFDLENBQUM7b0JBQzVHLE9BQU87aUJBQ1Y7Z0JBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUVsQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLElBQWtCLEVBQ3JFLFlBQVksQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLGFBQThCLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN4RixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFFdkM7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNsQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLElBQWtCLEVBQUUsWUFBWSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2xILElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUN2QztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7T0FHRztJQUNPLGtCQUFrQixDQUFDLFFBQWdCO1FBQ3pDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLFFBQVEsMERBQTBELENBQUMsQ0FBQztTQUN6RztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSxTQUFTLENBQUMsUUFBZ0I7UUFDN0IsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ1YsTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUMzQjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxVQUFVLENBQUMsTUFBYztRQUM1QixJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksaUJBQWlCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNJLGlCQUFpQjtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sYUFBYSxDQUFDLFNBQWlDO1FBQ3JELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMzQixJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDMUI7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksVUFBVSxDQUFDLFNBQXdCO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ25CLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEMsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFO2dCQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3RCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDOzs4R0F0SFEsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FGYixNQUFNOzRGQUVULGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtDb25maWdGaWx0ZXJ9IGZyb20gJy4uLy4uL2NvbW1vbnMvc2NoZW1hJztcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vbG9nZ2VyL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7TWVyZ2VPcGVyYXRvcn0gZnJvbSAnLi9tb2RlbHMvbWVyZ2Utb3BlcmF0b3InO1xuaW1wb3J0IHtGaWx0ZXJUeXBlfSBmcm9tICcuL21vZGVscy9maWx0ZXItdHlwZSc7XG5pbXBvcnQge1NpbXBsZUZpbHRlcn0gZnJvbSAnLi9tb2RlbHMvc2ltcGxlLWZpbHRlcic7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi9tb2RlbHMvZmlsdGVyJztcbmltcG9ydCB7TWVyZ2VkRmlsdGVyfSBmcm9tICcuL21vZGVscy9tZXJnZWQtZmlsdGVyJztcblxuXG4vKipcbiAqIEFsbG93cyBhY2Nlc3MgdG8gZmlsdGVycyBkZWZpbmVkIGluIG5hZS5qc29uIGR1cmluZyBydW50aW1lLlxuICpcbiAqIEZpbHRlcnMgYXJlIGFsd2F5cyByZXR1cm5lZCBhcyBjb3BpZXMgdG8gYXZvaWQgdW5pbnRlbmRlZCBzaWRlIGVmZmVjdHMgd2hlbiBvcGVyYXRpbmcgb24gdGhlbS5cbiAqXG4gKiBBbHNvIHNlZSB7QGxpbmsgRmlsdGVyfS5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJSZXBvc2l0b3J5IHtcblxuICAgIC8qKlxuICAgICAqIFN0b3JlcyB0aGUgZmlsdGVycyBtYW5hZ2VkIGJ5IHRoZSByZXBvc2l0b3J5LiBLZXlzIGFyZSBmaWx0ZXJJZHMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9maWx0ZXJzOiBNYXA8c3RyaW5nLCBGaWx0ZXI+ID0gbmV3IE1hcDxzdHJpbmcsIEZpbHRlcj4oKTtcblxuICAgIC8qKlxuICAgICAqIExvYWRzIGFuZCBjcmVhdGVzIGZpbHRlcnMgZGVjbGFyZWQgaW4gbmFlLmpzb24uXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jb25maWdTZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSwgcHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UpIHtcbiAgICAgICAgY29uc3QgZmlsdGVycyA9IF9jb25maWdTZXJ2aWNlLmdldCgpLmZpbHRlcnM7XG4gICAgICAgIGlmICghZmlsdGVycykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgT2JqZWN0LmtleXMoZmlsdGVycykuZm9yRWFjaChmaWx0ZXJJZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb25maWdGaWx0ZXI6IENvbmZpZ0ZpbHRlciA9IGZpbHRlcnNbZmlsdGVySWRdO1xuICAgICAgICAgICAgLy8gVE9ETyAxNy40LjIwMjAgLSBkb24ndCBpZ25vcmUgZmlsdGVyLmFjY2VzcyBwcm9wZXJ0eVxuICAgICAgICAgICAgaWYgKCFjb25maWdGaWx0ZXIudHlwZSB8fCAhY29uZmlnRmlsdGVyLmJvZHkpIHtcbiAgICAgICAgICAgICAgICBfbG9nLndhcm4oYEZpbHRlciAnJHtmaWx0ZXJJZH0nIGRvZXNuJ3QgZGVmaW5lIGFsbCB0aGUgbmVjZXNzYXJ5IHByb3BlcnRpZXMuIFNraXBwaW5nLmApO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNvbmZpZ0ZpbHRlci5ib2R5KSkge1xuICAgICAgICAgICAgICAgIGlmICghY29uZmlnRmlsdGVyLm1lcmdlT3BlcmF0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgX2xvZy53YXJuKGBGaWx0ZXIgJyR7ZmlsdGVySWR9JyBjb250YWlucyBtdWx0aXBsZSBmaWx0ZXJzLCBidXQgZG9lc24ndCBkZWZpbmUgYSBtZXJnZSBvcGVyYXRvci4gU2tpcHBpbmcuYCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy53YXJuSWZGaWx0ZXJFeGlzdHMoZmlsdGVySWQpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyID0gbmV3IE1lcmdlZEZpbHRlcihmaWx0ZXJJZCwgY29uZmlnRmlsdGVyLnR5cGUgYXMgRmlsdGVyVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlnRmlsdGVyLmJvZHksIGNvbmZpZ0ZpbHRlci5tZXJnZU9wZXJhdG9yIGFzIE1lcmdlT3BlcmF0b3IsIGNvbmZpZ0ZpbHRlci50aXRsZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fZmlsdGVycy5zZXQoZmlsdGVySWQsIGZpbHRlcik7XG5cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy53YXJuSWZGaWx0ZXJFeGlzdHMoZmlsdGVySWQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlciA9IG5ldyBTaW1wbGVGaWx0ZXIoZmlsdGVySWQsIGNvbmZpZ0ZpbHRlci50eXBlIGFzIEZpbHRlclR5cGUsIGNvbmZpZ0ZpbHRlci5ib2R5LCBjb25maWdGaWx0ZXIudGl0bGUpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2ZpbHRlcnMuc2V0KGZpbHRlcklkLCBmaWx0ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGEgd2FybmluZyBpZiBmaWx0ZXIgd2l0aCB0aGUgZ2l2ZW4gaWQgYWxyZWFkeSBleGlzdHMuIFRoZSB3YXJuaW5nIHN0YXRlcyB0aGF0IHRoZSBmaWx0ZXIgd2lsbCBiZSByZXBsYWNlZC5cbiAgICAgKiBAcGFyYW0gZmlsdGVySWQgSUQgb2YgdGhlIGZpbHRlciB3aG8ncyBleGlzdGVuY2Ugc2hvdWxkIGJlIGNoZWNrZWRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgd2FybklmRmlsdGVyRXhpc3RzKGZpbHRlcklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2ZpbHRlcnMuaGFzKGZpbHRlcklkKSkge1xuICAgICAgICAgICAgdGhpcy5fbG9nLndhcm4oYEZpbHRlciB3aXRoIGlkICcke2ZpbHRlcklkfScgYWxyZWFkeSBleGlzdHMgaW4gdGhlIHJlcG9zaXRvcnkgYW5kIHdpbGwgYmUgcmVwbGFjZWQhYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZmlsdGVySWQgSUQgb2YgdGhlIGZpbHRlciB0aGF0IHNob3VsZCBiZSByZXRyaWV2ZWRcbiAgICAgKiBAcmV0dXJucyBhIGNvcHkgb2YgdGhlIHNwZWNpZmllZCBmaWx0ZXIsIG9yIGB1bmRlZmluZWRgIGlmIHN1Y2ggZmlsdGVyIGRvZXNuJ3QgZXhpc3QgaW4gdGhlIHJlcG9zaXRvcnkuXG4gICAgICovXG4gICAgcHVibGljIGdldEZpbHRlcihmaWx0ZXJJZDogc3RyaW5nKTogRmlsdGVyIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgbGV0IGZpbHRlciA9IHRoaXMuX2ZpbHRlcnMuZ2V0KGZpbHRlcklkKTtcbiAgICAgICAgaWYgKCEhZmlsdGVyKSB7XG4gICAgICAgICAgICBmaWx0ZXIgPSBmaWx0ZXIuY2xvbmUoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsdGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN0b3JlcyBhIG5ldyBmaWx0ZXIgaW50byB0aGUgcmVwb3NpdG9yeS4gSWYgdGhlIHJlcG9zaXRvcnkgYWxyZWFkeSBjb250YWlucyBhIGZpbHRlciB3aXRoIHRoZSBzYW1lIElELCB0aGUgc3RvcmVkIGZpbHRlclxuICAgICAqIHdpbGwgYmUgcmVwbGFjZWQgYW5kIGEgd2FybmluZyB3aWxsIGJlIGxvZ2dlZC5cbiAgICAgKlxuICAgICAqIFRoZSByZXBvc2l0b3J5IHN0b3JlcyBhIGNvcHkgb2YgdGhlIHByb3ZpZGVkIGZpbHRlciwgdG8gZW5zdXJlIHRoYXQgdGhlIG9iamVjdHMgaW4gdGhlIHJlcG9zaXRvcnkgYXJlbid0IHJlZmVyZW5jZWQgZnJvbSBvdXRzaWRlLlxuICAgICAqIEBwYXJhbSBmaWx0ZXIgdGhlIGZpbHRlciB0aGF0IHNob3VsZCBiZSBzdG9yZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgc2F2ZUZpbHRlcihmaWx0ZXI6IEZpbHRlcik6IHZvaWQge1xuICAgICAgICB0aGlzLndhcm5JZkZpbHRlckV4aXN0cyhmaWx0ZXIuaWQpO1xuICAgICAgICB0aGlzLl9maWx0ZXJzLnNldChmaWx0ZXIuaWQsIGZpbHRlci5jbG9uZSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyBsaXN0IG9mIGNhc2UgZmlsdGVyIGlkZW50aWZpZXJzIHN0b3JlZCBpbiB0aGUgcmVwb3NpdG9yeVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYXNlRmlsdGVyTGlzdCgpOiBBcnJheTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RmlsdGVyTGlzdChmaWx0ZXIgPT4gZmlsdGVyLnR5cGUgPT09IEZpbHRlclR5cGUuQ0FTRSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgbGlzdCBvZiB0YXNrIGZpbHRlciBpZGVudGlmaWVycyBzdG9yZWQgaW4gdGhlIHJlcG9zaXRvcnlcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VGFza0ZpbHRlckxpc3QoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZpbHRlckxpc3QoZmlsdGVyID0+IGZpbHRlci50eXBlID09PSBGaWx0ZXJUeXBlLlRBU0spO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBwcmVkaWNhdGUgY29uZGl0aW9uIHRoYXQgbXVzdCBiZSBmdWxmaWxsZWQgYnkgdGhlIGZpbHRlcnMgaW4gdGhlIHJlcG9zaXRvcnkgaW4gb3JkZXIgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdFxuICAgICAqIEByZXR1cm5zIGxpc3Qgb2YgZmlsdGVyIGlkZW50aWZpZXJzIHRoYXQgZnVsZmlsbCB0aGUgZ2l2ZW4gcHJlZGljYXRlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldEZpbHRlckxpc3QocHJlZGljYXRlOiAoZjogRmlsdGVyKSA9PiBib29sZWFuKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICB0aGlzLl9maWx0ZXJzLmZvckVhY2goZmlsdGVyID0+IHtcbiAgICAgICAgICAgIGlmIChwcmVkaWNhdGUoZmlsdGVyKSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGZpbHRlci5pZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBmaWx0ZXJJZHMgbGlzdCBvZiBpZHMgb2YgZmlsdGVycyB0aGF0IHNob3VsZCBiZSByZXR1cm5lZFxuICAgICAqIEByZXR1cm5zIGxpc3Qgb2YgY29waWVzIG9mIHNwZWNpZmllZCBmaWx0ZXJzLiBJZiBzb21lIG9mIHRoZSBmaWx0ZXJzIGRvbid0IGV4aXN0IGluIHRoZSByZXBvc2l0b3J5LCB0aGV5IHdvbid0IGJlIGluY2x1ZGVkXG4gICAgICogYW5kIHRoZSBhcnJheSB3aWxsIGNvbnRhaW4gbGVzcyBlbGVtZW50cyB0aGFuIHRoZSBpbnB1dCBhcnJheS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RmlsdGVycyhmaWx0ZXJJZHM6IEFycmF5PHN0cmluZz4pOiBBcnJheTxGaWx0ZXI+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIGZpbHRlcklkcy5mb3JFYWNoKGlkID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZ2V0RmlsdGVyKGlkKTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goZmlsdGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuIl19
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2ZpbHRlci9maWx0ZXIucmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBS3pDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFcEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7O0FBR3BEOzs7Ozs7R0FNRztBQUlILE1BQU0sT0FBTyxnQkFBZ0I7SUFPekI7O09BRUc7SUFDSCxZQUFzQixjQUFvQyxFQUFZLElBQW1CO1FBQW5FLG1CQUFjLEdBQWQsY0FBYyxDQUFzQjtRQUFZLFNBQUksR0FBSixJQUFJLENBQWU7UUFSekY7O1dBRUc7UUFDTyxhQUFRLEdBQXdCLElBQUksR0FBRyxFQUFrQixDQUFDO1FBTWhFLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFDN0MsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNWLE9BQU87U0FDVjtRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3BDLE1BQU0sWUFBWSxHQUFpQixPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckQsdURBQXVEO1lBQ3ZELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRTtnQkFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLFFBQVEsMERBQTBELENBQUMsQ0FBQztnQkFDekYsT0FBTzthQUNWO1lBQ0QsSUFBSSxLQUFL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Q0FBQztRQUNsQixTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ25CLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEMsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFO2dCQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3RCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxnQkFBZ0I7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztJQUM5QyxDQUFDOzs4R0E3SFEsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FGYixNQUFNOzRGQUVULGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtDb25maWdGaWx0ZXJ9IGZyb20gJy4uLy4uL2NvbW1vbnMvc2NoZW1hJztcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vbG9nZ2VyL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7TWVyZ2VPcGVyYXRvcn0gZnJvbSAnLi9tb2RlbHMvbWVyZ2Utb3BlcmF0b3InO1xuaW1wb3J0IHtGaWx0ZXJUeXBlfSBmcm9tICcuL21vZGVscy9maWx0ZXItdHlwZSc7XG5pbXBvcnQge1NpbXBsZUZpbHRlcn0gZnJvbSAnLi9tb2RlbHMvc2ltcGxlLWZpbHRlcic7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi9tb2RlbHMvZmlsdGVyJztcbmltcG9ydCB7TWVyZ2VkRmlsdGVyfSBmcm9tICcuL21vZGVscy9tZXJnZWQtZmlsdGVyJztcblxuXG4vKipcbiAqIEFsbG93cyBhY2Nlc3MgdG8gZmlsdGVycyBkZWZpbmVkIGluIG5hZS5qc29uIGR1cmluZyBydW50aW1lLlxuICpcbiAqIEZpbHRlcnMgYXJlIGFsd2F5cyByZXR1cm5lZCBhcyBjb3BpZXMgdG8gYXZvaWQgdW5pbnRlbmRlZCBzaWRlIGVmZmVjdHMgd2hlbiBvcGVyYXRpbmcgb24gdGhlbS5cbiAqXG4gKiBBbHNvIHNlZSB7QGxpbmsgRmlsdGVyfS5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJSZXBvc2l0b3J5IHtcblxuICAgIC8qKlxuICAgICAqIFN0b3JlcyB0aGUgZmlsdGVycyBtYW5hZ2VkIGJ5IHRoZSByZXBvc2l0b3J5LiBLZXlzIGFyZSBmaWx0ZXJJZHMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9maWx0ZXJzOiBNYXA8c3RyaW5nLCBGaWx0ZXI+ID0gbmV3IE1hcDxzdHJpbmcsIEZpbHRlcj4oKTtcblxuICAgIC8qKlxuICAgICAqIExvYWRzIGFuZCBjcmVhdGVzIGZpbHRlcnMgZGVjbGFyZWQgaW4gbmFlLmpzb24uXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jb25maWdTZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSwgcHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UpIHtcbiAgICAgICAgY29uc3QgZmlsdGVycyA9IF9jb25maWdTZXJ2aWNlLmdldCgpLmZpbHRlcnM7XG4gICAgICAgIGlmICghZmlsdGVycykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgT2JqZWN0LmtleXMoZmlsdGVycykuZm9yRWFjaChmaWx0ZXJJZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb25maWdGaWx0ZXI6IENvbmZpZ0ZpbHRlciA9IGZpbHRlcnNbZmlsdGVySWRdO1xuICAgICAgICAgICAgLy8gVE9ETyAxNy40LjIwMjAgLSBkb24ndCBpZ25vcmUgZmlsdGVyLmFjY2VzcyBwcm9wZXJ0eVxuICAgICAgICAgICAgaWYgKCFjb25maWdGaWx0ZXIudHlwZSB8fCAhY29uZmlnRmlsdGVyLmJvZHkpIHtcbiAgICAgICAgICAgICAgICBfbG9nLndhcm4oYEZpbHRlciAnJHtmaWx0ZXJJZH0nIGRvZXNuJ3QgZGVmaW5lIGFsbCB0aGUgbmVjZXNzYXJ5IHByb3BlcnRpZXMuIFNraXBwaW5nLmApO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNvbmZpZ0ZpbHRlci5ib2R5KSkge1xuICAgICAgICAgICAgICAgIGlmICghY29uZmlnRmlsdGVyLm1lcmdlT3BlcmF0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgX2xvZy53YXJuKGBGaWx0ZXIgJyR7ZmlsdGVySWR9JyBjb250YWlucyBtdWx0aXBsZSBmaWx0ZXJzLCBidXQgZG9lc24ndCBkZWZpbmUgYSBtZXJnZSBvcGVyYXRvci4gU2tpcHBpbmcuYCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy53YXJuSWZGaWx0ZXJFeGlzdHMoZmlsdGVySWQpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyID0gbmV3IE1lcmdlZEZpbHRlcihmaWx0ZXJJZCwgY29uZmlnRmlsdGVyLnR5cGUgYXMgRmlsdGVyVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlnRmlsdGVyLmJvZHksIGNvbmZpZ0ZpbHRlci5tZXJnZU9wZXJhdG9yIGFzIE1lcmdlT3BlcmF0b3IsIGNvbmZpZ0ZpbHRlci50aXRsZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fZmlsdGVycy5zZXQoZmlsdGVySWQsIGZpbHRlcik7XG5cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy53YXJuSWZGaWx0ZXJFeGlzdHMoZmlsdGVySWQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlciA9IG5ldyBTaW1wbGVGaWx0ZXIoZmlsdGVySWQsIGNvbmZpZ0ZpbHRlci50eXBlIGFzIEZpbHRlclR5cGUsIGNvbmZpZ0ZpbHRlci5ib2R5LCBjb25maWdGaWx0ZXIudGl0bGUpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2ZpbHRlcnMuc2V0KGZpbHRlcklkLCBmaWx0ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGEgd2FybmluZyBpZiBmaWx0ZXIgd2l0aCB0aGUgZ2l2ZW4gaWQgYWxyZWFkeSBleGlzdHMuIFRoZSB3YXJuaW5nIHN0YXRlcyB0aGF0IHRoZSBmaWx0ZXIgd2lsbCBiZSByZXBsYWNlZC5cbiAgICAgKiBAcGFyYW0gZmlsdGVySWQgSUQgb2YgdGhlIGZpbHRlciB3aG8ncyBleGlzdGVuY2Ugc2hvdWxkIGJlIGNoZWNrZWRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgd2FybklmRmlsdGVyRXhpc3RzKGZpbHRlcklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2ZpbHRlcnMuaGFzKGZpbHRlcklkKSkge1xuICAgICAgICAgICAgdGhpcy5fbG9nLndhcm4oYEZpbHRlciB3aXRoIGlkICcke2ZpbHRlcklkfScgYWxyZWFkeSBleGlzdHMgaW4gdGhlIHJlcG9zaXRvcnkgYW5kIHdpbGwgYmUgcmVwbGFjZWQhYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZmlsdGVySWQgSUQgb2YgdGhlIGZpbHRlciB0aGF0IHNob3VsZCBiZSByZXRyaWV2ZWRcbiAgICAgKiBAcmV0dXJucyBhIGNvcHkgb2YgdGhlIHNwZWNpZmllZCBmaWx0ZXIsIG9yIGB1bmRlZmluZWRgIGlmIHN1Y2ggZmlsdGVyIGRvZXNuJ3QgZXhpc3QgaW4gdGhlIHJlcG9zaXRvcnkuXG4gICAgICovXG4gICAgcHVibGljIGdldEZpbHRlcihmaWx0ZXJJZDogc3RyaW5nKTogRmlsdGVyIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgbGV0IGZpbHRlciA9IHRoaXMuX2ZpbHRlcnMuZ2V0KGZpbHRlcklkKTtcbiAgICAgICAgaWYgKCEhZmlsdGVyKSB7XG4gICAgICAgICAgICBmaWx0ZXIgPSBmaWx0ZXIuY2xvbmUoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsdGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN0b3JlcyBhIG5ldyBmaWx0ZXIgaW50byB0aGUgcmVwb3NpdG9yeS4gSWYgdGhlIHJlcG9zaXRvcnkgYWxyZWFkeSBjb250YWlucyBhIGZpbHRlciB3aXRoIHRoZSBzYW1lIElELCB0aGUgc3RvcmVkIGZpbHRlclxuICAgICAqIHdpbGwgYmUgcmVwbGFjZWQgYW5kIGEgd2FybmluZyB3aWxsIGJlIGxvZ2dlZC5cbiAgICAgKlxuICAgICAqIFRoZSByZXBvc2l0b3J5IHN0b3JlcyBhIGNvcHkgb2YgdGhlIHByb3ZpZGVkIGZpbHRlciwgdG8gZW5zdXJlIHRoYXQgdGhlIG9iamVjdHMgaW4gdGhlIHJlcG9zaXRvcnkgYXJlbid0IHJlZmVyZW5jZWQgZnJvbSBvdXRzaWRlLlxuICAgICAqIEBwYXJhbSBmaWx0ZXIgdGhlIGZpbHRlciB0aGF0IHNob3VsZCBiZSBzdG9yZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgc2F2ZUZpbHRlcihmaWx0ZXI6IEZpbHRlcik6IHZvaWQge1xuICAgICAgICB0aGlzLndhcm5JZkZpbHRlckV4aXN0cyhmaWx0ZXIuaWQpO1xuICAgICAgICB0aGlzLl9maWx0ZXJzLnNldChmaWx0ZXIuaWQsIGZpbHRlci5jbG9uZSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyBsaXN0IG9mIGNhc2UgZmlsdGVyIGlkZW50aWZpZXJzIHN0b3JlZCBpbiB0aGUgcmVwb3NpdG9yeVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYXNlRmlsdGVyTGlzdCgpOiBBcnJheTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RmlsdGVyTGlzdChmaWx0ZXIgPT4gZmlsdGVyLnR5cGUgPT09IEZpbHRlclR5cGUuQ0FTRSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgbGlzdCBvZiB0YXNrIGZpbHRlciBpZGVudGlmaWVycyBzdG9yZWQgaW4gdGhlIHJlcG9zaXRvcnlcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VGFza0ZpbHRlckxpc3QoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZpbHRlckxpc3QoZmlsdGVyID0+IGZpbHRlci50eXBlID09PSBGaWx0ZXJUeXBlLlRBU0spO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBwcmVkaWNhdGUgY29uZGl0aW9uIHRoYXQgbXVzdCBiZSBmdWxmaWxsZWQgYnkgdGhlIGZpbHRlcnMgaW4gdGhlIHJlcG9zaXRvcnkgaW4gb3JkZXIgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdFxuICAgICAqIEByZXR1cm5zIGxpc3Qgb2YgZmlsdGVyIGlkZW50aWZpZXJzIHRoYXQgZnVsZmlsbCB0aGUgZ2l2ZW4gcHJlZGljYXRlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldEZpbHRlckxpc3QocHJlZGljYXRlOiAoZjogRmlsdGVyKSA9PiBib29sZWFuKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICB0aGlzLl9maWx0ZXJzLmZvckVhY2goZmlsdGVyID0+IHtcbiAgICAgICAgICAgIGlmIChwcmVkaWNhdGUoZmlsdGVyKSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGZpbHRlci5pZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBmaWx0ZXJJZHMgbGlzdCBvZiBpZHMgb2YgZmlsdGVycyB0aGF0IHNob3VsZCBiZSByZXR1cm5lZFxuICAgICAqIEByZXR1cm5zIGxpc3Qgb2YgY29waWVzIG9mIHNwZWNpZmllZCBmaWx0ZXJzLiBJZiBzb21lIG9mIHRoZSBmaWx0ZXJzIGRvbid0IGV4aXN0IGluIHRoZSByZXBvc2l0b3J5LCB0aGV5IHdvbid0IGJlIGluY2x1ZGVkXG4gICAgICogYW5kIHRoZSBhcnJheSB3aWxsIGNvbnRhaW4gbGVzcyBlbGVtZW50cyB0aGFuIHRoZSBpbnB1dCBhcnJheS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RmlsdGVycyhmaWx0ZXJJZHM6IEFycmF5PHN0cmluZz4pOiBBcnJheTxGaWx0ZXI+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIGZpbHRlcklkcy5mb3JFYWNoKGlkID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZ2V0RmlsdGVyKGlkKTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goZmlsdGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhbGwgc3RvcmVkIGZpbHRlcnMgZnJvbSB0aGUgcmVwb3NpdG9yeVxuICAgICAqL1xuICAgIHB1YmxpYyByZW1vdmVBbGxGaWx0ZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9maWx0ZXJzID0gbmV3IE1hcDxzdHJpbmcsIEZpbHRlcj4oKTtcbiAgICB9XG59XG4iXX0=