nuxeo-development-framework 5.3.2 → 5.3.4

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 (121) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +2677 -292
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +3 -3
  4. package/esm2015/lib/components/ndf-config-editor/components/config-editor-actions/config-editor-actions.component.js +35 -0
  5. package/esm2015/lib/components/ndf-config-editor/components/editor-mode-switch.component.js +43 -0
  6. package/esm2015/lib/components/ndf-config-editor/components/index.js +4 -0
  7. package/esm2015/lib/components/ndf-config-editor/components/info-dialog/info-dialog.component.js +27 -0
  8. package/esm2015/lib/components/ndf-config-editor/config.token.js +3 -0
  9. package/esm2015/lib/components/ndf-config-editor/constants/index.js +4 -0
  10. package/esm2015/lib/components/ndf-config-editor/constants/mode.js +5 -0
  11. package/esm2015/lib/components/ndf-config-editor/constants/query.js +5 -0
  12. package/esm2015/lib/components/ndf-config-editor/constants/type.js +5 -0
  13. package/esm2015/lib/components/ndf-config-editor/containers/config-preview/config-preview.component.js +28 -0
  14. package/esm2015/lib/components/ndf-config-editor/containers/editor-settings/editor-settings.component.js +73 -0
  15. package/esm2015/lib/components/ndf-config-editor/containers/index.js +5 -0
  16. package/esm2015/lib/components/ndf-config-editor/containers/monaco-editor.component.js +195 -0
  17. package/esm2015/lib/components/ndf-config-editor/containers/ndf-config-editor/ndf-config-editor.component.js +133 -0
  18. package/esm2015/lib/components/ndf-config-editor/index.js +2 -0
  19. package/esm2015/lib/components/ndf-config-editor/models/config.js +2 -0
  20. package/esm2015/lib/components/ndf-config-editor/models/dialog-data.js +2 -0
  21. package/esm2015/lib/components/ndf-config-editor/models/editor-model.js +2 -0
  22. package/esm2015/lib/components/ndf-config-editor/models/index.js +5 -0
  23. package/esm2015/lib/components/ndf-config-editor/models/type-helper.js +2 -0
  24. package/esm2015/lib/components/ndf-config-editor/ndf-config-editor.module.js +118 -0
  25. package/esm2015/lib/components/ndf-config-editor/pipes/index.js +3 -0
  26. package/esm2015/lib/components/ndf-config-editor/pipes/is-valid-json.pipe.js +17 -0
  27. package/esm2015/lib/components/ndf-config-editor/pipes/validate-object.pipe.js +16 -0
  28. package/esm2015/lib/components/ndf-config-editor/public/editor-navigate-button.js +104 -0
  29. package/esm2015/lib/components/ndf-config-editor/public/index.js +2 -0
  30. package/esm2015/lib/components/ndf-config-editor/public-api.js +7 -0
  31. package/esm2015/lib/components/ndf-config-editor/services/data-access.service.js +26 -0
  32. package/esm2015/lib/components/ndf-config-editor/services/data-store.service.js +52 -0
  33. package/esm2015/lib/components/ndf-config-editor/services/dummy-data.js +1321 -0
  34. package/esm2015/lib/components/ndf-config-editor/services/index.js +4 -0
  35. package/esm2015/lib/components/ndf-config-editor/services/monaco.loader.service.js +51 -0
  36. package/esm2015/lib/components/ndf-config-editor/utility/index.js +2 -0
  37. package/esm2015/lib/components/ndf-config-editor/utility/json.js +10 -0
  38. package/esm2015/lib/components/reports/charts/components/data-chart.component.js +2 -2
  39. package/esm2015/lib/components/reports/index.js +3 -0
  40. package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +19 -12
  41. package/esm2015/lib/components/reports/ndf-reports/ndf-reports.module.js +14 -5
  42. package/esm2015/lib/components/reports/ndf-reports/services/chart-data-transformers.service.js +15 -1
  43. package/esm2015/lib/components/reports/ndf-reports/services/chart-plugins-registry.service.js +9 -1
  44. package/esm2015/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.js +20 -14
  45. package/esm2015/lib/components/tables/ndf-table/directives/index.js +1 -2
  46. package/esm2015/lib/components/tables/ndf-table/models/table-config.js +1 -1
  47. package/esm2015/lib/components/tables/ndf-table/ndf-table.module.js +15 -7
  48. package/esm2015/lib/core/services/extension/component-register.service.js +4 -1
  49. package/esm2015/lib/core/tokens/index.js +2 -0
  50. package/esm2015/lib/core/tokens/project.token.js +3 -0
  51. package/esm2015/lib/directive/permissions/evaluators.service.js +20 -18
  52. package/esm2015/lib/shared/directives/copy-to-clipboard.directive.js +41 -0
  53. package/esm2015/lib/shared/directives/element-height.directive.js +80 -0
  54. package/esm2015/lib/shared/directives/fluid-height.directive.js +115 -0
  55. package/esm2015/lib/shared/directives/index.js +4 -0
  56. package/esm2015/lib/shared/index.js +6 -0
  57. package/esm2015/lib/shared/libraryShared.module.js +35 -10
  58. package/esm2015/lib/shared/models/index.js +2 -1
  59. package/esm2015/lib/shared/models/ndf-request.model.js +2 -0
  60. package/esm2015/public-api.js +4 -1
  61. package/fesm2015/nuxeo-development-framework.js +2531 -193
  62. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  63. package/lib/components/ndf-config-editor/components/config-editor-actions/config-editor-actions.component.d.ts +14 -0
  64. package/lib/components/ndf-config-editor/components/editor-mode-switch.component.d.ts +17 -0
  65. package/lib/components/ndf-config-editor/components/index.d.ts +3 -0
  66. package/lib/components/ndf-config-editor/components/info-dialog/info-dialog.component.d.ts +11 -0
  67. package/lib/components/ndf-config-editor/config.token.d.ts +9 -0
  68. package/lib/components/ndf-config-editor/constants/index.d.ts +3 -0
  69. package/lib/components/ndf-config-editor/constants/mode.d.ts +4 -0
  70. package/lib/components/ndf-config-editor/constants/query.d.ts +4 -0
  71. package/lib/components/ndf-config-editor/constants/type.d.ts +4 -0
  72. package/lib/components/ndf-config-editor/containers/config-preview/config-preview.component.d.ts +15 -0
  73. package/lib/components/ndf-config-editor/containers/editor-settings/editor-settings.component.d.ts +24 -0
  74. package/lib/components/ndf-config-editor/containers/index.d.ts +4 -0
  75. package/lib/components/ndf-config-editor/containers/monaco-editor.component.d.ts +33 -0
  76. package/lib/components/ndf-config-editor/containers/ndf-config-editor/ndf-config-editor.component.d.ts +48 -0
  77. package/lib/components/ndf-config-editor/index.d.ts +1 -0
  78. package/lib/components/ndf-config-editor/models/config.d.ts +24 -0
  79. package/lib/components/ndf-config-editor/models/dialog-data.d.ts +6 -0
  80. package/lib/components/ndf-config-editor/models/editor-model.d.ts +15 -0
  81. package/lib/components/ndf-config-editor/models/index.d.ts +4 -0
  82. package/lib/components/ndf-config-editor/models/type-helper.d.ts +3 -0
  83. package/lib/components/ndf-config-editor/ndf-config-editor.module.d.ts +36 -0
  84. package/lib/components/ndf-config-editor/pipes/index.d.ts +2 -0
  85. package/lib/components/ndf-config-editor/pipes/is-valid-json.pipe.d.ts +7 -0
  86. package/lib/components/ndf-config-editor/pipes/validate-object.pipe.d.ts +7 -0
  87. package/lib/components/ndf-config-editor/public/editor-navigate-button.d.ts +31 -0
  88. package/lib/components/ndf-config-editor/public/index.d.ts +1 -0
  89. package/lib/components/ndf-config-editor/public-api.d.ts +6 -0
  90. package/lib/components/ndf-config-editor/services/data-access.service.d.ts +8 -0
  91. package/lib/components/ndf-config-editor/services/data-store.service.d.ts +24 -0
  92. package/lib/components/ndf-config-editor/services/dummy-data.d.ts +992 -0
  93. package/lib/components/ndf-config-editor/services/index.d.ts +3 -0
  94. package/lib/components/ndf-config-editor/services/monaco.loader.service.d.ts +14 -0
  95. package/lib/components/ndf-config-editor/utility/index.d.ts +1 -0
  96. package/lib/components/ndf-config-editor/utility/json.d.ts +1 -0
  97. package/lib/components/reports/index.d.ts +2 -0
  98. package/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.d.ts +6 -3
  99. package/lib/components/reports/ndf-reports/ndf-reports.module.d.ts +4 -2
  100. package/lib/components/reports/ndf-reports/services/chart-data-transformers.service.d.ts +10 -0
  101. package/lib/components/reports/ndf-reports/services/chart-plugins-registry.service.d.ts +6 -0
  102. package/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.d.ts +3 -1
  103. package/lib/components/tables/ndf-table/directives/index.d.ts +0 -1
  104. package/lib/components/tables/ndf-table/models/table-config.d.ts +1 -0
  105. package/lib/components/tables/ndf-table/ndf-table.module.d.ts +4 -2
  106. package/lib/core/services/extension/component-register.service.d.ts +3 -0
  107. package/lib/core/tokens/index.d.ts +1 -0
  108. package/lib/core/tokens/project.token.d.ts +2 -0
  109. package/lib/directive/permissions/evaluators.service.d.ts +4 -2
  110. package/lib/shared/directives/copy-to-clipboard.directive.d.ts +15 -0
  111. package/lib/shared/directives/element-height.directive.d.ts +28 -0
  112. package/lib/{components/tables/ndf-table → shared}/directives/fluid-height.directive.d.ts +2 -1
  113. package/lib/shared/directives/index.d.ts +3 -0
  114. package/lib/shared/index.d.ts +5 -0
  115. package/lib/shared/libraryShared.module.d.ts +3 -1
  116. package/lib/shared/models/index.d.ts +1 -0
  117. package/lib/shared/models/ndf-request.model.d.ts +7 -0
  118. package/package.json +4 -2
  119. package/public-api.d.ts +3 -0
  120. package/src/docs/ndf-table.doc.md +1433 -0
  121. package/esm2015/lib/components/tables/ndf-table/directives/fluid-height.directive.js +0 -112
@@ -0,0 +1,104 @@
1
+ import { Component, Inject, Input, NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { PROJECT_BASE_HREF } from '../../../core/tokens';
4
+ import { PARAMS_KEYS } from '../constants';
5
+ import { DirectiveModule } from '../../../directive/directive.module';
6
+ import { TranslateModule } from '@ngx-translate/core';
7
+ import { MatButtonModule } from '@angular/material/button';
8
+ import { MatIconModule } from '@angular/material/icon';
9
+ import { MatTooltipModule } from '@angular/material/tooltip';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/router";
12
+ import * as i2 from "../../../configuration/app-config.service";
13
+ import * as i3 from "@angular/material/button";
14
+ import * as i4 from "@angular/material/icon";
15
+ import * as i5 from "@angular/common";
16
+ import * as i6 from "../../../directive/permissions/permissions.directive";
17
+ import * as i7 from "@angular/material/tooltip";
18
+ import * as i8 from "@ngx-translate/core";
19
+ export class EditorButtonComponent {
20
+ constructor(environment, router, baseAppUrl, configService) {
21
+ var _a;
22
+ this.environment = environment;
23
+ this.router = router;
24
+ this.baseAppUrl = baseAppUrl;
25
+ this.configService = configService;
26
+ this.isFeatureEnabled = false;
27
+ this.editorConfig = (_a = this.configService.myConfiguration) === null || _a === void 0 ? void 0 : _a.configEditor;
28
+ this.isFeatureEnabled = environment.configEditor === 'YES';
29
+ }
30
+ ngOnInit() { }
31
+ navigate() {
32
+ var _a;
33
+ const config = (_a = this.editorConfig) === null || _a === void 0 ? void 0 : _a.types[this.type];
34
+ if (!config || !this.key || !this.type) {
35
+ return;
36
+ }
37
+ const navigateUrl = config.navigateUrl;
38
+ if (!navigateUrl) {
39
+ return;
40
+ }
41
+ const url = `${this.baseAppUrl || ''}${navigateUrl}`;
42
+ this.router.navigate([url], {
43
+ queryParams: {
44
+ [PARAMS_KEYS.TYPE]: this.type,
45
+ [PARAMS_KEYS.KEY]: this.key
46
+ }
47
+ });
48
+ }
49
+ }
50
+ EditorButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorButtonComponent, deps: [{ token: 'environment' }, { token: i1.Router }, { token: PROJECT_BASE_HREF }, { token: i2.AppConfigService }], target: i0.ɵɵFactoryTarget.Component });
51
+ EditorButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EditorButtonComponent, selector: "app-editor-button", inputs: { type: "type", key: "key" }, ngImport: i0, template: `
52
+ <ng-container *ngIf="isFeatureEnabled && editorConfig?.enabled && editorConfig?.types?.tables?.enabled">
53
+ <button
54
+ mat-stroked-button
55
+ [matTooltip]="'JSON_EDITOR.navigateToEditor' | translate"
56
+ (click)="navigate()"
57
+ *permission="{ name: item?.permission }"
58
+ >
59
+ <mat-icon>edit</mat-icon>
60
+ </button>
61
+ </ng-container>
62
+ `, isInline: true, components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], pipes: { "translate": i8.TranslatePipe } });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorButtonComponent, decorators: [{
64
+ type: Component,
65
+ args: [{
66
+ selector: 'app-editor-button',
67
+ template: `
68
+ <ng-container *ngIf="isFeatureEnabled && editorConfig?.enabled && editorConfig?.types?.tables?.enabled">
69
+ <button
70
+ mat-stroked-button
71
+ [matTooltip]="'JSON_EDITOR.navigateToEditor' | translate"
72
+ (click)="navigate()"
73
+ *permission="{ name: item?.permission }"
74
+ >
75
+ <mat-icon>edit</mat-icon>
76
+ </button>
77
+ </ng-container>
78
+ `
79
+ }]
80
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
81
+ type: Inject,
82
+ args: ['environment']
83
+ }] }, { type: i1.Router }, { type: undefined, decorators: [{
84
+ type: Inject,
85
+ args: [PROJECT_BASE_HREF]
86
+ }] }, { type: i2.AppConfigService }]; }, propDecorators: { type: [{
87
+ type: Input
88
+ }], key: [{
89
+ type: Input
90
+ }] } });
91
+ export class EditorNavigateButton {
92
+ }
93
+ EditorNavigateButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorNavigateButton, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
94
+ EditorNavigateButton.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorNavigateButton, declarations: [EditorButtonComponent], imports: [CommonModule, TranslateModule, MatButtonModule, MatIconModule, MatTooltipModule, DirectiveModule], exports: [EditorButtonComponent] });
95
+ EditorNavigateButton.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorNavigateButton, imports: [[CommonModule, TranslateModule, MatButtonModule, MatIconModule, MatTooltipModule, DirectiveModule]] });
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorNavigateButton, decorators: [{
97
+ type: NgModule,
98
+ args: [{
99
+ declarations: [EditorButtonComponent],
100
+ exports: [EditorButtonComponent],
101
+ imports: [CommonModule, TranslateModule, MatButtonModule, MatIconModule, MatTooltipModule, DirectiveModule]
102
+ }]
103
+ }] });
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLW5hdmlnYXRlLWJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLWNvbmZpZy1lZGl0b3IvcHVibGljL2VkaXRvci1uYXZpZ2F0ZS1idXR0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7QUFpQjdELE1BQU0sT0FBTyxxQkFBcUI7SUFNakMsWUFDeUMsV0FBZ0MsRUFDaEUsTUFBYyxFQUNhLFVBQWtCLEVBQzdDLGFBQStCOztRQUhDLGdCQUFXLEdBQVgsV0FBVyxDQUFxQjtRQUNoRSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2EsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUM3QyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFMeEMscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBT3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBQSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsMENBQUUsWUFBWSxDQUFDO1FBQ3JFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQztJQUM1RCxDQUFDO0lBRUQsUUFBUSxLQUFVLENBQUM7SUFFbkIsUUFBUTs7UUFDUCxNQUFNLE1BQU0sR0FBRyxNQUFBLElBQUksQ0FBQyxZQUFZLDBDQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbkQsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3ZDLE9BQU87U0FDUDtRQUVELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDdkMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNqQixPQUFPO1NBQ1A7UUFFRCxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBRXJELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDM0IsV0FBVyxFQUFFO2dCQUNaLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUM3QixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRzthQUMzQjtTQUNELENBQUMsQ0FBQztJQUNKLENBQUM7O21IQXRDVyxxQkFBcUIsa0JBT3hCLGFBQWEsbUNBRWIsaUJBQWlCO3VHQVRkLHFCQUFxQiwrRkFidkI7Ozs7Ozs7Ozs7O0VBV1Q7NEZBRVcscUJBQXFCO2tCQWZqQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7RUFXVDtpQkFDRDs7MEJBUUUsTUFBTTsyQkFBQyxhQUFhOzswQkFFcEIsTUFBTTsyQkFBQyxpQkFBaUI7MkVBTmpCLElBQUk7c0JBQVosS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7O0FBMENQLE1BQU0sT0FBTyxvQkFBb0I7O2tIQUFwQixvQkFBb0I7bUhBQXBCLG9CQUFvQixpQkE5Q3BCLHFCQUFxQixhQTRDdkIsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGVBQWUsYUE1QzlGLHFCQUFxQjttSEE4Q3JCLG9CQUFvQixZQUZ2QixDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLENBQUM7NEZBRS9GLG9CQUFvQjtrQkFMaEMsUUFBUTttQkFBQztvQkFDVCxZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDckMsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ2hDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLENBQUM7aUJBQzNHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBOZ01vZHVsZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEVkaXRvclR5cGUsIE5kZkNvbmZpZ01vZGVsIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgUFJPSkVDVF9CQVNFX0hSRUYgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3Rva2Vucyc7XHJcbmltcG9ydCB7IFBBUkFNU19LRVlTIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvbmZpZ3VyYXRpb24vYXBwLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2RpcmVjdGl2ZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC1lZGl0b3ItYnV0dG9uJyxcclxuXHR0ZW1wbGF0ZTogYFxyXG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRmVhdHVyZUVuYWJsZWQgJiYgZWRpdG9yQ29uZmlnPy5lbmFibGVkICYmIGVkaXRvckNvbmZpZz8udHlwZXM/LnRhYmxlcz8uZW5hYmxlZFwiPlxyXG5cdFx0XHQ8YnV0dG9uXHJcblx0XHRcdFx0bWF0LXN0cm9rZWQtYnV0dG9uXHJcblx0XHRcdFx0W21hdFRvb2x0aXBdPVwiJ0pTT05fRURJVE9SLm5hdmlnYXRlVG9FZGl0b3InIHwgdHJhbnNsYXRlXCJcclxuXHRcdFx0XHQoY2xpY2spPVwibmF2aWdhdGUoKVwiXHJcblx0XHRcdFx0KnBlcm1pc3Npb249XCJ7IG5hbWU6IGl0ZW0/LnBlcm1pc3Npb24gfVwiXHJcblx0XHRcdD5cclxuXHRcdFx0XHQ8bWF0LWljb24+ZWRpdDwvbWF0LWljb24+XHJcblx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0PC9uZy1jb250YWluZXI+XHJcblx0YFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWRpdG9yQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHRlZGl0b3JDb25maWc6IE5kZkNvbmZpZ01vZGVsO1xyXG5cclxuXHRASW5wdXQoKSB0eXBlOiBFZGl0b3JUeXBlO1xyXG5cdEBJbnB1dCgpIGtleTogc3RyaW5nO1xyXG5cdGlzRmVhdHVyZUVuYWJsZWQgPSBmYWxzZTtcclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSByZWFkb25seSBlbnZpcm9ubWVudDogUmVjb3JkPHN0cmluZywgYW55PixcclxuXHRcdHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcblx0XHRASW5qZWN0KFBST0pFQ1RfQkFTRV9IUkVGKSBwcml2YXRlIGJhc2VBcHBVcmw6IHN0cmluZyxcclxuXHRcdHByaXZhdGUgY29uZmlnU2VydmljZTogQXBwQ29uZmlnU2VydmljZVxyXG5cdCkge1xyXG5cdFx0dGhpcy5lZGl0b3JDb25maWcgPSB0aGlzLmNvbmZpZ1NlcnZpY2UubXlDb25maWd1cmF0aW9uPy5jb25maWdFZGl0b3I7XHJcblx0XHR0aGlzLmlzRmVhdHVyZUVuYWJsZWQgPSBlbnZpcm9ubWVudC5jb25maWdFZGl0b3IgPT09ICdZRVMnO1xyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuXHRuYXZpZ2F0ZSgpIHtcclxuXHRcdGNvbnN0IGNvbmZpZyA9IHRoaXMuZWRpdG9yQ29uZmlnPy50eXBlc1t0aGlzLnR5cGVdO1xyXG5cclxuXHRcdGlmICghY29uZmlnIHx8ICF0aGlzLmtleSB8fCAhdGhpcy50eXBlKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBuYXZpZ2F0ZVVybCA9IGNvbmZpZy5uYXZpZ2F0ZVVybDtcclxuXHRcdGlmICghbmF2aWdhdGVVcmwpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHVybCA9IGAke3RoaXMuYmFzZUFwcFVybCB8fCAnJ30ke25hdmlnYXRlVXJsfWA7XHJcblxyXG5cdFx0dGhpcy5yb3V0ZXIubmF2aWdhdGUoW3VybF0sIHtcclxuXHRcdFx0cXVlcnlQYXJhbXM6IHtcclxuXHRcdFx0XHRbUEFSQU1TX0tFWVMuVFlQRV06IHRoaXMudHlwZSxcclxuXHRcdFx0XHRbUEFSQU1TX0tFWVMuS0VZXTogdGhpcy5rZXlcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGRlY2xhcmF0aW9uczogW0VkaXRvckJ1dHRvbkNvbXBvbmVudF0sXHJcblx0ZXhwb3J0czogW0VkaXRvckJ1dHRvbkNvbXBvbmVudF0sXHJcblx0aW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIERpcmVjdGl2ZU1vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXRvck5hdmlnYXRlQnV0dG9uIHt9XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './editor-navigate-button';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25kZi1jb25maWctZWRpdG9yL3B1YmxpYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lZGl0b3ItbmF2aWdhdGUtYnV0dG9uJztcclxuIl19
@@ -0,0 +1,7 @@
1
+ export * from './containers';
2
+ export * from './ndf-config-editor.module';
3
+ export * from './components';
4
+ export * from './config.token';
5
+ export * from './models';
6
+ export * from './constants';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLWNvbmZpZy1lZGl0b3IvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnRhaW5lcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL25kZi1jb25maWctZWRpdG9yLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlnLnRva2VuJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cyc7XHJcbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { of } from 'rxjs';
3
+ import { BaseService } from '../../../shared/services';
4
+ import { NDF_EDITOR_TYPE } from '../constants';
5
+ import { REPORTS_DATA, TABLE_DATA } from './dummy-data';
6
+ import * as i0 from "@angular/core";
7
+ export class DataAccessService extends BaseService {
8
+ getData(key, type) {
9
+ if (type == NDF_EDITOR_TYPE.REPORTS) {
10
+ return of(JSON.stringify(REPORTS_DATA, null, 2));
11
+ }
12
+ return of(JSON.stringify(TABLE_DATA, null, 2));
13
+ }
14
+ saveData(key, data) {
15
+ return of(JSON.stringify(TABLE_DATA, null, 2));
16
+ }
17
+ }
18
+ DataAccessService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataAccessService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
19
+ DataAccessService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataAccessService, providedIn: 'root' });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataAccessService, decorators: [{
21
+ type: Injectable,
22
+ args: [{
23
+ providedIn: 'root'
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1hY2Nlc3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLWNvbmZpZy1lZGl0b3Ivc2VydmljZXMvZGF0YS1hY2Nlc3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBS3hELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxXQUFXO0lBQ2pELE9BQU8sQ0FBQyxHQUFXLEVBQUUsSUFBWTtRQUNoQyxJQUFJLElBQUksSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFO1lBQ3BDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBQ0QsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFXLEVBQUUsSUFBWTtRQUNqQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDOzsrR0FWVyxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQUZqQixNQUFNOzRGQUVOLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgTkRGX0VESVRPUl9UWVBFIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgUkVQT1JUU19EQVRBLCBUQUJMRV9EQVRBIH0gZnJvbSAnLi9kdW1teS1kYXRhJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGFBY2Nlc3NTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2Uge1xyXG5cdGdldERhdGEoa2V5OiBzdHJpbmcsIHR5cGU6IHN0cmluZykge1xyXG5cdFx0aWYgKHR5cGUgPT0gTkRGX0VESVRPUl9UWVBFLlJFUE9SVFMpIHtcclxuXHRcdFx0cmV0dXJuIG9mKEpTT04uc3RyaW5naWZ5KFJFUE9SVFNfREFUQSwgbnVsbCwgMikpO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIG9mKEpTT04uc3RyaW5naWZ5KFRBQkxFX0RBVEEsIG51bGwsIDIpKTtcclxuXHR9XHJcblxyXG5cdHNhdmVEYXRhKGtleTogc3RyaW5nLCBkYXRhOiBzdHJpbmcpIHtcclxuXHRcdHJldHVybiBvZihKU09OLnN0cmluZ2lmeShUQUJMRV9EQVRBLCBudWxsLCAyKSk7XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,52 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { CONFIG_EDITOR_MODE, NDF_EDITOR_TYPE } from '../constants';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { map, switchMap } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./data-access.service";
7
+ export class DataStoreService {
8
+ constructor(dataAccessService) {
9
+ this.dataAccessService = dataAccessService;
10
+ this._editorTypeSubject = new BehaviorSubject(NDF_EDITOR_TYPE.TABLES);
11
+ this.editorType$ = this._editorTypeSubject.asObservable();
12
+ this._editorModeSubject = new BehaviorSubject(CONFIG_EDITOR_MODE.EDIT);
13
+ this.editorMode$ = this._editorModeSubject.asObservable();
14
+ this._dataSubject = new BehaviorSubject('{\n"key": "value"\n}');
15
+ this.editorData$ = this._dataSubject.asObservable();
16
+ this.previewData$ = this._dataSubject.asObservable().pipe(map((result) => JSON.parse(result)));
17
+ }
18
+ get editorMode() {
19
+ return this._editorModeSubject.getValue();
20
+ }
21
+ get type() {
22
+ return this._editorTypeSubject.getValue();
23
+ }
24
+ get editorData() {
25
+ return this._dataSubject.getValue();
26
+ }
27
+ changeMode(mode) {
28
+ this._editorModeSubject.next(mode);
29
+ }
30
+ changeEditorType(type) {
31
+ this._editorTypeSubject.next(type);
32
+ }
33
+ getData(key, type) {
34
+ return this.dataAccessService.getData(key, type).pipe(switchMap((data) => {
35
+ this._dataSubject.next(data);
36
+ return this.editorData$;
37
+ }));
38
+ }
39
+ saveData(key) {
40
+ const data = this._dataSubject.getValue();
41
+ return this.dataAccessService.saveData(key, data);
42
+ }
43
+ storeData(data) {
44
+ this._dataSubject.next(data);
45
+ }
46
+ }
47
+ DataStoreService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataStoreService, deps: [{ token: i1.DataAccessService }], target: i0.ɵɵFactoryTarget.Injectable });
48
+ DataStoreService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataStoreService });
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataStoreService, decorators: [{
50
+ type: Injectable
51
+ }], ctorParameters: function () { return [{ type: i1.DataAccessService }]; } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zdG9yZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9uZGYtY29uZmlnLWVkaXRvci9zZXJ2aWNlcy9kYXRhLXN0b3JlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBR2hELE1BQU0sT0FBTyxnQkFBZ0I7SUFZNUIsWUFBNkIsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFYaEQsdUJBQWtCLEdBQUcsSUFBSSxlQUFlLENBQWEsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JGLGdCQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTdDLHVCQUFrQixHQUFHLElBQUksZUFBZSxDQUFhLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RGLGdCQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTdDLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNuRSxnQkFBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFL0MsaUJBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRS9CLENBQUM7SUFFckUsSUFBSSxVQUFVO1FBQ2IsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksSUFBSTtRQUNQLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFnQjtRQUMxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFnQjtRQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBVyxFQUFFLElBQVk7UUFDaEMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ3BELFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FDRixDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFXO1FBQ25CLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVk7UUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7OEdBbERXLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEVkaXRvck1vZGUsIEVkaXRvclR5cGUgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBDT05GSUdfRURJVE9SX01PREUsIE5ERl9FRElUT1JfVFlQRSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEYXRhQWNjZXNzU2VydmljZSB9IGZyb20gJy4vZGF0YS1hY2Nlc3Muc2VydmljZSc7XHJcbmltcG9ydCB7IG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRGF0YVN0b3JlU2VydmljZSB7XHJcblx0cHJpdmF0ZSByZWFkb25seSBfZWRpdG9yVHlwZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEVkaXRvclR5cGU+KE5ERl9FRElUT1JfVFlQRS5UQUJMRVMpO1xyXG5cdHJlYWRvbmx5IGVkaXRvclR5cGUkID0gdGhpcy5fZWRpdG9yVHlwZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG5cdHByaXZhdGUgcmVhZG9ubHkgX2VkaXRvck1vZGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFZGl0b3JNb2RlPihDT05GSUdfRURJVE9SX01PREUuRURJVCk7XHJcblx0cmVhZG9ubHkgZWRpdG9yTW9kZSQgPSB0aGlzLl9lZGl0b3JNb2RlU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcblx0cHJpdmF0ZSByZWFkb25seSBfZGF0YVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCd7XFxuXCJrZXlcIjogXCJ2YWx1ZVwiXFxufScpO1xyXG5cdHJlYWRvbmx5IGVkaXRvckRhdGEkID0gdGhpcy5fZGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG5cdHJlYWRvbmx5IHByZXZpZXdEYXRhJCA9IHRoaXMuX2RhdGFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUobWFwKChyZXN1bHQpID0+IEpTT04ucGFyc2UocmVzdWx0KSkpO1xyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRhdGFBY2Nlc3NTZXJ2aWNlOiBEYXRhQWNjZXNzU2VydmljZSkge31cclxuXHJcblx0Z2V0IGVkaXRvck1vZGUoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fZWRpdG9yTW9kZVN1YmplY3QuZ2V0VmFsdWUoKTtcclxuXHR9XHJcblxyXG5cdGdldCB0eXBlKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2VkaXRvclR5cGVTdWJqZWN0LmdldFZhbHVlKCk7XHJcblx0fVxyXG5cclxuXHRnZXQgZWRpdG9yRGF0YSgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9kYXRhU3ViamVjdC5nZXRWYWx1ZSgpO1xyXG5cdH1cclxuXHJcblx0Y2hhbmdlTW9kZShtb2RlOiBFZGl0b3JNb2RlKSB7XHJcblx0XHR0aGlzLl9lZGl0b3JNb2RlU3ViamVjdC5uZXh0KG1vZGUpO1xyXG5cdH1cclxuXHJcblx0Y2hhbmdlRWRpdG9yVHlwZSh0eXBlOiBFZGl0b3JUeXBlKSB7XHJcblx0XHR0aGlzLl9lZGl0b3JUeXBlU3ViamVjdC5uZXh0KHR5cGUpO1xyXG5cdH1cclxuXHJcblx0Z2V0RGF0YShrZXk6IHN0cmluZywgdHlwZTogc3RyaW5nKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5kYXRhQWNjZXNzU2VydmljZS5nZXREYXRhKGtleSwgdHlwZSkucGlwZShcclxuXHRcdFx0c3dpdGNoTWFwKChkYXRhKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5fZGF0YVN1YmplY3QubmV4dChkYXRhKTtcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy5lZGl0b3JEYXRhJDtcclxuXHRcdFx0fSlcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRzYXZlRGF0YShrZXk6IHN0cmluZykge1xyXG5cdFx0Y29uc3QgZGF0YSA9IHRoaXMuX2RhdGFTdWJqZWN0LmdldFZhbHVlKCk7XHJcblx0XHRyZXR1cm4gdGhpcy5kYXRhQWNjZXNzU2VydmljZS5zYXZlRGF0YShrZXksIGRhdGEpO1xyXG5cdH1cclxuXHJcblx0c3RvcmVEYXRhKGRhdGE6IHN0cmluZykge1xyXG5cdFx0dGhpcy5fZGF0YVN1YmplY3QubmV4dChkYXRhKTtcclxuXHR9XHJcbn1cclxuIl19