@onecx/angular-accelerator 5.37.0 → 6.0.0-rc.10

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 (128) hide show
  1. package/assets/i18n/de.json +3 -3
  2. package/assets/i18n/en.json +3 -3
  3. package/assets/i18n/primeng/de.json +1 -1
  4. package/assets/i18n/primeng/en.json +1 -1
  5. package/assets/styles.scss +0 -4
  6. package/fesm2022/onecx-angular-accelerator-testing.mjs +90 -28
  7. package/fesm2022/onecx-angular-accelerator-testing.mjs.map +1 -1
  8. package/fesm2022/onecx-angular-accelerator.mjs +777 -398
  9. package/fesm2022/onecx-angular-accelerator.mjs.map +1 -1
  10. package/index.d.ts +8 -0
  11. package/lib/angular-accelerator-primeng.module.d.ts +6 -4
  12. package/lib/angular-accelerator.module.d.ts +26 -20
  13. package/lib/components/content/content.component.d.ts +13 -0
  14. package/lib/components/content-container/content-container.component.d.ts +19 -0
  15. package/lib/components/custom-group-column-selector/custom-group-column-selector.component.d.ts +0 -2
  16. package/lib/components/data-list-grid/data-list-grid.component.d.ts +9 -19
  17. package/lib/components/data-list-grid-sorting/data-list-grid-sorting.component.d.ts +2 -2
  18. package/lib/components/data-table/data-table.component.d.ts +8 -18
  19. package/lib/components/data-view/data-view.component.d.ts +10 -8
  20. package/lib/components/diagram/diagram.component.d.ts +0 -2
  21. package/lib/components/filter-view/filter-view.component.d.ts +2 -2
  22. package/lib/components/group-by-count-diagram/group-by-count-diagram.component.d.ts +0 -2
  23. package/lib/components/interactive-data-view/interactive-data-view.component.d.ts +10 -6
  24. package/lib/components/lifecycle/lifecycle.component.d.ts +12 -0
  25. package/lib/components/page-header/page-header.component.d.ts +1 -4
  26. package/lib/components/search-header/search-header.component.d.ts +3 -4
  27. package/lib/directives/advanced.directive.d.ts +5 -6
  28. package/lib/directives/content-container.directive.d.ts +23 -0
  29. package/lib/directives/content.directive.d.ts +21 -0
  30. package/lib/directives/if-breakpoint.directive.d.ts +3 -4
  31. package/lib/directives/if-permission.directive.d.ts +6 -8
  32. package/lib/directives/src.directive.d.ts +2 -3
  33. package/lib/directives/template.directive.d.ts +9 -0
  34. package/lib/directives/tooltipOnOverflow.directive.d.ts +2 -3
  35. package/lib/model/filter.model.d.ts +16 -4
  36. package/lib/pipes/dynamic.pipe.d.ts +2 -2
  37. package/lib/pipes/ocxtimeago.pipe.d.ts +3 -3
  38. package/lib/services/breadcrumb.service.d.ts +2 -4
  39. package/lib/services/translation-connection.service.d.ts +10 -0
  40. package/lib/utils/criteria.utils.d.ts +3 -3
  41. package/lib/utils/data-operation-strategy.d.ts +20 -0
  42. package/lib/utils/dateutils.d.ts +0 -1
  43. package/lib/utils/provide-connection-service.d.ts +6 -0
  44. package/migrations.json +26 -0
  45. package/package.json +21 -20
  46. package/testing/column-group-selection.harness.d.ts +2 -2
  47. package/testing/content-container.harness.d.ts +7 -0
  48. package/testing/content.harness.d.ts +10 -0
  49. package/testing/data-layout-selection.harness.d.ts +7 -6
  50. package/testing/index.d.ts +3 -0
  51. package/testing/interactive-data-view.harness.d.ts +5 -3
  52. package/testing/lifecycle.harness.d.ts +6 -0
  53. package/esm2022/index.mjs +0 -63
  54. package/esm2022/lib/angular-accelerator-primeng.module.mjs +0 -146
  55. package/esm2022/lib/angular-accelerator.module.mjs +0 -209
  56. package/esm2022/lib/components/column-group-selection/column-group-selection.component.mjs +0 -90
  57. package/esm2022/lib/components/custom-group-column-selector/custom-group-column-selector.component.mjs +0 -184
  58. package/esm2022/lib/components/data-layout-selection/data-layout-selection.component.mjs +0 -73
  59. package/esm2022/lib/components/data-list-grid/data-list-grid.component.mjs +0 -615
  60. package/esm2022/lib/components/data-list-grid-sorting/data-list-grid-sorting.component.mjs +0 -107
  61. package/esm2022/lib/components/data-loading-error/data-loading-error.component.mjs +0 -28
  62. package/esm2022/lib/components/data-sort-base/data-sort-base.mjs +0 -134
  63. package/esm2022/lib/components/data-table/data-table.component.mjs +0 -840
  64. package/esm2022/lib/components/data-view/data-view.component.mjs +0 -672
  65. package/esm2022/lib/components/diagram/diagram.component.mjs +0 -183
  66. package/esm2022/lib/components/filter-view/filter-view.component.mjs +0 -263
  67. package/esm2022/lib/components/group-by-count-diagram/group-by-count-diagram.component.mjs +0 -133
  68. package/esm2022/lib/components/interactive-data-view/interactive-data-view.component.mjs +0 -724
  69. package/esm2022/lib/components/page-header/page-header.component.mjs +0 -238
  70. package/esm2022/lib/components/search-header/search-header.component.mjs +0 -199
  71. package/esm2022/lib/directives/advanced.directive.mjs +0 -36
  72. package/esm2022/lib/directives/if-breakpoint.directive.mjs +0 -47
  73. package/esm2022/lib/directives/if-permission.directive.mjs +0 -95
  74. package/esm2022/lib/directives/src.directive.mjs +0 -65
  75. package/esm2022/lib/directives/tooltipOnOverflow.directive.mjs +0 -48
  76. package/esm2022/lib/functions/at-least-one-field-filled-validator.mjs +0 -7
  77. package/esm2022/lib/functions/flatten-object.mjs +0 -20
  78. package/esm2022/lib/injection-tokens/has-permission-checker.mjs +0 -10
  79. package/esm2022/lib/model/breadcrumb-menu-item.model.mjs +0 -2
  80. package/esm2022/lib/model/column-type.model.mjs +0 -16
  81. package/esm2022/lib/model/data-action.mjs +0 -2
  82. package/esm2022/lib/model/data-column-name-id.model.mjs +0 -2
  83. package/esm2022/lib/model/data-sort-direction.mjs +0 -2
  84. package/esm2022/lib/model/data-table-column.model.mjs +0 -2
  85. package/esm2022/lib/model/diagram-column.mjs +0 -2
  86. package/esm2022/lib/model/diagram-data.mjs +0 -2
  87. package/esm2022/lib/model/diagram-type.mjs +0 -2
  88. package/esm2022/lib/model/filter.model.mjs +0 -6
  89. package/esm2022/lib/pipes/dynamic.pipe.mjs +0 -58
  90. package/esm2022/lib/pipes/ocxtimeago.pipe.mjs +0 -107
  91. package/esm2022/lib/services/breadcrumb.service.mjs +0 -128
  92. package/esm2022/lib/services/translation-cache.service.mjs +0 -44
  93. package/esm2022/lib/utils/async-translate-loader.utils.mjs +0 -15
  94. package/esm2022/lib/utils/caching-translate-loader.utils.mjs +0 -18
  95. package/esm2022/lib/utils/colorutils.mjs +0 -19
  96. package/esm2022/lib/utils/create-remote-component-and-mfe-translate-loader.utils.mjs +0 -12
  97. package/esm2022/lib/utils/create-remote-component-translate-loader.utils.mjs +0 -25
  98. package/esm2022/lib/utils/create-translate-loader.utils.mjs +0 -30
  99. package/esm2022/lib/utils/criteria.utils.mjs +0 -28
  100. package/esm2022/lib/utils/dateutils.mjs +0 -38
  101. package/esm2022/lib/utils/dynamic-locale-id.mjs +0 -21
  102. package/esm2022/lib/utils/enum-to-dropdown-options.utils.mjs +0 -8
  103. package/esm2022/lib/utils/filter.utils.mjs +0 -6
  104. package/esm2022/lib/utils/objectutils.mjs +0 -30
  105. package/esm2022/lib/utils/primeicon.utils.mjs +0 -2
  106. package/esm2022/lib/utils/rxjs-utils.mjs +0 -13
  107. package/esm2022/lib/utils/string-and-array-helper-functions.utils.mjs +0 -22
  108. package/esm2022/lib/utils/template.utils.mjs +0 -11
  109. package/esm2022/lib/utils/translate.combined.loader.mjs +0 -42
  110. package/esm2022/onecx-angular-accelerator.mjs +0 -5
  111. package/esm2022/testing/column-group-selection.harness.mjs +0 -10
  112. package/esm2022/testing/custom-group-column-selector.harness.mjs +0 -31
  113. package/esm2022/testing/data-layout-selection.harness.mjs +0 -32
  114. package/esm2022/testing/data-list-grid.harness.mjs +0 -51
  115. package/esm2022/testing/data-table.harness.mjs +0 -69
  116. package/esm2022/testing/data-view.harness.mjs +0 -12
  117. package/esm2022/testing/default-grid-item.harness.mjs +0 -24
  118. package/esm2022/testing/default-list-item.harness.mjs +0 -26
  119. package/esm2022/testing/diagram.harness.mjs +0 -22
  120. package/esm2022/testing/filter-view.harness.mjs +0 -18
  121. package/esm2022/testing/group-by-count-diagram.harness.mjs +0 -10
  122. package/esm2022/testing/index.mjs +0 -23
  123. package/esm2022/testing/interactive-data-view.harness.mjs +0 -21
  124. package/esm2022/testing/more-actions-menu-button.harness.mjs +0 -35
  125. package/esm2022/testing/onecx-angular-accelerator-testing.mjs +0 -5
  126. package/esm2022/testing/page-header.harness.mjs +0 -81
  127. package/esm2022/testing/search-header.harness.mjs +0 -36
  128. package/esm2022/testing/slot.harness.mjs +0 -5
@@ -1,36 +0,0 @@
1
- import { Directive, Optional, TemplateRef, ViewContainerRef } from '@angular/core';
2
- import { SearchHeaderComponent } from '../components/search-header/search-header.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../components/search-header/search-header.component";
5
- export class AdvancedDirective {
6
- constructor(viewContainer, templateRef, searchHeader) {
7
- this.viewContainer = viewContainer;
8
- this.templateRef = templateRef;
9
- this.searchHeader = searchHeader;
10
- if (!searchHeader) {
11
- throw 'Advanced directive can only be used inside search header component';
12
- }
13
- searchHeader.hasAdvanced = true;
14
- }
15
- ngDoCheck() {
16
- if (this.searchHeader?.viewMode === 'advanced') {
17
- if (this.templateRef && !this.viewContainer.length) {
18
- this.viewContainer.createEmbeddedView(this.templateRef);
19
- }
20
- }
21
- else {
22
- this.viewContainer.clear();
23
- }
24
- }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AdvancedDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef, optional: true }, { token: i1.SearchHeaderComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
26
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AdvancedDirective, selector: "[ocxAdvanced]", ngImport: i0 }); }
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AdvancedDirective, decorators: [{
29
- type: Directive,
30
- args: [{ selector: '[ocxAdvanced]' }]
31
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef, decorators: [{
32
- type: Optional
33
- }] }, { type: i1.SearchHeaderComponent, decorators: [{
34
- type: Optional
35
- }] }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY2VsZXJhdG9yL3NyYy9saWIvZGlyZWN0aXZlcy9hZHZhbmNlZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVyxRQUFRLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzNGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFBOzs7QUFHM0YsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUNVLGFBQStCLEVBQ25CLFdBQThCLEVBQzlCLFlBQW9DO1FBRmhELGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQXdCO1FBRXhELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQixNQUFNLG9FQUFvRSxDQUFBO1FBQzVFLENBQUM7UUFDRCxZQUFZLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQTtJQUNqQyxDQUFDO0lBQ0QsU0FBUztRQUNQLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDL0MsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDbkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7WUFDekQsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUM1QixDQUFDO0lBQ0gsQ0FBQzsrR0FuQlUsaUJBQWlCO21HQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFOzswQkFJbkMsUUFBUTs7MEJBQ1IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRG9DaGVjaywgT3B0aW9uYWwsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFNlYXJjaEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvc2VhcmNoLWhlYWRlci9zZWFyY2gtaGVhZGVyLmNvbXBvbmVudCdcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW29jeEFkdmFuY2VkXScgfSlcbmV4cG9ydCBjbGFzcyBBZHZhbmNlZERpcmVjdGl2ZSBpbXBsZW1lbnRzIERvQ2hlY2sge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSB0ZW1wbGF0ZVJlZj86IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBzZWFyY2hIZWFkZXI/OiBTZWFyY2hIZWFkZXJDb21wb25lbnRcbiAgKSB7XG4gICAgaWYgKCFzZWFyY2hIZWFkZXIpIHtcbiAgICAgIHRocm93ICdBZHZhbmNlZCBkaXJlY3RpdmUgY2FuIG9ubHkgYmUgdXNlZCBpbnNpZGUgc2VhcmNoIGhlYWRlciBjb21wb25lbnQnXG4gICAgfVxuICAgIHNlYXJjaEhlYWRlci5oYXNBZHZhbmNlZCA9IHRydWVcbiAgfVxuICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VhcmNoSGVhZGVyPy52aWV3TW9kZSA9PT0gJ2FkdmFuY2VkJykge1xuICAgICAgaWYgKHRoaXMudGVtcGxhdGVSZWYgJiYgIXRoaXMudmlld0NvbnRhaW5lci5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKVxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,47 +0,0 @@
1
- import { Directive, HostListener, Input, Optional, TemplateRef, ViewContainerRef } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class IfBreakpointDirective {
4
- constructor(viewContainer, templateRef) {
5
- this.viewContainer = viewContainer;
6
- this.templateRef = templateRef;
7
- }
8
- ngOnInit() {
9
- this.onResize();
10
- }
11
- onResize() {
12
- const mobileBreakpointVar = getComputedStyle(document.documentElement).getPropertyValue('--mobile-break-point');
13
- const isMobile = window.matchMedia(`(max-width: ${mobileBreakpointVar})`).matches;
14
- const isDesktop = !isMobile;
15
- const newState = isMobile ? 'mobile' : 'desktop';
16
- if ((this.breakpoint === 'mobile' && isMobile) || (this.breakpoint === 'desktop' && isDesktop)) {
17
- if (this.templateRef && newState !== this.state) {
18
- this.viewContainer.clear();
19
- this.viewContainer.createEmbeddedView(this.templateRef);
20
- }
21
- }
22
- else {
23
- if (this.ocxIfBreakpointElseTemplate && newState !== this.state) {
24
- this.viewContainer.clear();
25
- this.viewContainer.createEmbeddedView(this.ocxIfBreakpointElseTemplate);
26
- }
27
- }
28
- this.state = newState;
29
- }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IfBreakpointDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
31
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: IfBreakpointDirective, selector: "[ocxIfBreakpoint]", inputs: { breakpoint: ["ocxIfBreakpoint", "breakpoint"], ocxIfBreakpointElseTemplate: "ocxIfBreakpointElseTemplate" }, host: { listeners: { "window:resize": "onResize()" } }, ngImport: i0 }); }
32
- }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IfBreakpointDirective, decorators: [{
34
- type: Directive,
35
- args: [{ selector: '[ocxIfBreakpoint]' }]
36
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef, decorators: [{
37
- type: Optional
38
- }] }], propDecorators: { breakpoint: [{
39
- type: Input,
40
- args: ['ocxIfBreakpoint']
41
- }], ocxIfBreakpointElseTemplate: [{
42
- type: Input
43
- }], onResize: [{
44
- type: HostListener,
45
- args: ['window:resize']
46
- }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYtYnJlYWtwb2ludC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9kaXJlY3RpdmVzL2lmLWJyZWFrcG9pbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFBOztBQUcvRyxNQUFNLE9BQU8scUJBQXFCO0lBUWhDLFlBQ1UsYUFBK0IsRUFDbkIsV0FBa0M7UUFEOUMsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUF1QjtJQUNyRCxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNqQixDQUFDO0lBR0QsUUFBUTtRQUNOLE1BQU0sbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLENBQUE7UUFDL0csTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxlQUFlLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUE7UUFDakYsTUFBTSxTQUFTLEdBQUcsQ0FBQyxRQUFRLENBQUE7UUFDM0IsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxRQUFRLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQy9GLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxRQUFRLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNoRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO2dCQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtZQUN6RCxDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLElBQUksQ0FBQywyQkFBMkIsSUFBSSxRQUFRLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNoRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO2dCQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO1lBQ3pFLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUE7SUFDdkIsQ0FBQzsrR0FuQ1UscUJBQXFCO21HQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRGpDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUU7OzBCQVd2QyxRQUFRO3lDQVRlLFVBQVU7c0JBQW5DLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUd4QiwyQkFBMkI7c0JBRDFCLEtBQUs7Z0JBZU4sUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW29jeElmQnJlYWtwb2ludF0nIH0pXG5leHBvcnQgY2xhc3MgSWZCcmVha3BvaW50RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCdvY3hJZkJyZWFrcG9pbnQnKSBicmVha3BvaW50OiAnbW9iaWxlJyB8ICdkZXNrdG9wJyB8IHVuZGVmaW5lZFxuXG4gIEBJbnB1dCgpXG4gIG9jeElmQnJlYWtwb2ludEVsc2VUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZFxuXG4gIHN0YXRlOiAnbW9iaWxlJyB8ICdkZXNrdG9wJyB8IHVuZGVmaW5lZFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHRlbXBsYXRlUmVmPzogVGVtcGxhdGVSZWY8dW5rbm93bj5cbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMub25SZXNpemUoKVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gIG9uUmVzaXplKCkge1xuICAgIGNvbnN0IG1vYmlsZUJyZWFrcG9pbnRWYXIgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLS1tb2JpbGUtYnJlYWstcG9pbnQnKVxuICAgIGNvbnN0IGlzTW9iaWxlID0gd2luZG93Lm1hdGNoTWVkaWEoYChtYXgtd2lkdGg6ICR7bW9iaWxlQnJlYWtwb2ludFZhcn0pYCkubWF0Y2hlc1xuICAgIGNvbnN0IGlzRGVza3RvcCA9ICFpc01vYmlsZVxuICAgIGNvbnN0IG5ld1N0YXRlID0gaXNNb2JpbGUgPyAnbW9iaWxlJyA6ICdkZXNrdG9wJ1xuICAgIGlmICgodGhpcy5icmVha3BvaW50ID09PSAnbW9iaWxlJyAmJiBpc01vYmlsZSkgfHwgKHRoaXMuYnJlYWtwb2ludCA9PT0gJ2Rlc2t0b3AnICYmIGlzRGVza3RvcCkpIHtcbiAgICAgIGlmICh0aGlzLnRlbXBsYXRlUmVmICYmIG5ld1N0YXRlICE9PSB0aGlzLnN0YXRlKSB7XG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZilcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMub2N4SWZCcmVha3BvaW50RWxzZVRlbXBsYXRlICYmIG5ld1N0YXRlICE9PSB0aGlzLnN0YXRlKSB7XG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5vY3hJZkJyZWFrcG9pbnRFbHNlVGVtcGxhdGUpXG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc3RhdGUgPSBuZXdTdGF0ZVxuICB9XG59XG4iXX0=
@@ -1,95 +0,0 @@
1
- import { Directive, ElementRef, Inject, Input, Optional, Renderer2, TemplateRef, ViewContainerRef, } from '@angular/core';
2
- import { UserService } from '@onecx/angular-integration-interface';
3
- import { HAS_PERMISSION_CHECKER } from '@onecx/angular-utils';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@onecx/angular-integration-interface";
6
- export class IfPermissionDirective {
7
- set notPermission(value) {
8
- this.permission = value;
9
- this.negate = true;
10
- }
11
- set ocxIfNotPermissionPermissions(value) {
12
- this.ocxIfPermissionPermissions = value;
13
- }
14
- set ocxIfNotPermissionElseTemplate(value) {
15
- this.ocxIfPermissionElseTemplate = value;
16
- }
17
- constructor(renderer, el, viewContainer, hasPermissionChecker, templateRef, userService) {
18
- this.renderer = renderer;
19
- this.el = el;
20
- this.viewContainer = viewContainer;
21
- this.hasPermissionChecker = hasPermissionChecker;
22
- this.templateRef = templateRef;
23
- this.userService = userService;
24
- this.onMissingPermission = 'hide';
25
- this.negate = false;
26
- if (!(hasPermissionChecker || userService)) {
27
- throw 'IfPermission requires UserService or HasPermissionChecker to be provided!';
28
- }
29
- this.permissionChecker = hasPermissionChecker ?? userService;
30
- }
31
- ngOnInit() {
32
- if ((this.permission &&
33
- this.negate === this.hasPermission(Array.isArray(this.permission) ? this.permission : [this.permission])) ||
34
- !this.permission) {
35
- if (this.ocxIfPermissionElseTemplate) {
36
- this.viewContainer.createEmbeddedView(this.ocxIfPermissionElseTemplate);
37
- }
38
- else {
39
- if (this.onMissingPermission === 'disable') {
40
- this.renderer.setAttribute(this.el.nativeElement, 'disabled', 'disabled');
41
- }
42
- else {
43
- this.viewContainer.clear();
44
- }
45
- }
46
- }
47
- else {
48
- if (this.templateRef) {
49
- this.viewContainer.createEmbeddedView(this.templateRef);
50
- }
51
- }
52
- }
53
- hasPermission(permission) {
54
- if (this.ocxIfPermissionPermissions) {
55
- const result = permission.every((p) => this.ocxIfPermissionPermissions?.includes(p));
56
- if (!result) {
57
- console.log('👮‍♀️ No permission in overwrites for: `', permission);
58
- }
59
- return result;
60
- }
61
- return permission.every((p) => this.permissionChecker?.hasPermission(p));
62
- }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IfPermissionDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: HAS_PERMISSION_CHECKER, optional: true }, { token: i0.TemplateRef, optional: true }, { token: i1.UserService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
64
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: IfPermissionDirective, selector: "[ocxIfPermission], [ocxIfNotPermission]", inputs: { permission: ["ocxIfPermission", "permission"], notPermission: ["ocxIfNotPermission", "notPermission"], onMissingPermission: "onMissingPermission", ocxIfPermissionPermissions: "ocxIfPermissionPermissions", ocxIfNotPermissionPermissions: "ocxIfNotPermissionPermissions", ocxIfPermissionElseTemplate: "ocxIfPermissionElseTemplate", ocxIfNotPermissionElseTemplate: "ocxIfNotPermissionElseTemplate" }, ngImport: i0 }); }
65
- }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IfPermissionDirective, decorators: [{
67
- type: Directive,
68
- args: [{ selector: '[ocxIfPermission], [ocxIfNotPermission]' }]
69
- }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{
70
- type: Optional
71
- }, {
72
- type: Inject,
73
- args: [HAS_PERMISSION_CHECKER]
74
- }] }, { type: i0.TemplateRef, decorators: [{
75
- type: Optional
76
- }] }, { type: i1.UserService, decorators: [{
77
- type: Optional
78
- }] }], propDecorators: { permission: [{
79
- type: Input,
80
- args: ['ocxIfPermission']
81
- }], notPermission: [{
82
- type: Input,
83
- args: ['ocxIfNotPermission']
84
- }], onMissingPermission: [{
85
- type: Input
86
- }], ocxIfPermissionPermissions: [{
87
- type: Input
88
- }], ocxIfNotPermissionPermissions: [{
89
- type: Input
90
- }], ocxIfPermissionElseTemplate: [{
91
- type: Input
92
- }], ocxIfNotPermissionElseTemplate: [{
93
- type: Input
94
- }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYtcGVybWlzc2lvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9kaXJlY3RpdmVzL2lmLXBlcm1pc3Npb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLFNBQVMsRUFDVCxXQUFXLEVBQ1gsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQXdCLE1BQU0sc0JBQXNCLENBQUE7OztBQUduRixNQUFNLE9BQU8scUJBQXFCO0lBRWhDLElBQWlDLGFBQWEsQ0FBQyxLQUFvQztRQUNqRixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQTtRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQTtJQUNwQixDQUFDO0lBS0QsSUFDSSw2QkFBNkIsQ0FBQyxLQUEyQjtRQUMzRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsS0FBSyxDQUFBO0lBQ3pDLENBQUM7SUFJRCxJQUNJLDhCQUE4QixDQUFDLEtBQW1DO1FBQ3BFLElBQUksQ0FBQywyQkFBMkIsR0FBRyxLQUFLLENBQUE7SUFDMUMsQ0FBQztJQUtELFlBQ1UsUUFBbUIsRUFDbkIsRUFBYyxFQUNkLGFBQStCLEVBRy9CLG9CQUEyQyxFQUMvQixXQUE4QixFQUM5QixXQUF5QjtRQVByQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFHL0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF1QjtRQUMvQixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWM7UUExQnRDLHdCQUFtQixHQUF1QixNQUFNLENBQUE7UUFnQnpELFdBQU0sR0FBRyxLQUFLLENBQUE7UUFZWixJQUFJLENBQUMsQ0FBQyxvQkFBb0IsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQzNDLE1BQU0sMkVBQTJFLENBQUE7UUFDbkYsQ0FBQztRQUVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxvQkFBb0IsSUFBSSxXQUFXLENBQUE7SUFDOUQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUNFLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFDZCxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDM0csQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUNoQixDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztnQkFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtZQUN6RSxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxJQUFJLENBQUMsbUJBQW1CLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQTtnQkFDM0UsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUE7Z0JBQzVCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7WUFDekQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQW9CO1FBQ2hDLElBQUksSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7WUFDcEMsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3BGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDWixPQUFPLENBQUMsR0FBRyxDQUFDLDBDQUEwQyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1lBQ3JFLENBQUM7WUFDRCxPQUFPLE1BQU0sQ0FBQTtRQUNmLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMxRSxDQUFDOytHQXpFVSxxQkFBcUIscUdBOEJ0QixzQkFBc0I7bUdBOUJyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRGpDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUseUNBQXlDLEVBQUU7OzBCQThCN0QsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxzQkFBc0I7OzBCQUU3QixRQUFROzswQkFDUixRQUFRO3lDQWhDZSxVQUFVO3NCQUFuQyxLQUFLO3VCQUFDLGlCQUFpQjtnQkFDUyxhQUFhO3NCQUE3QyxLQUFLO3VCQUFDLG9CQUFvQjtnQkFLbEIsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVHLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFFRiw2QkFBNkI7c0JBRGhDLEtBQUs7Z0JBTU4sMkJBQTJCO3NCQUQxQixLQUFLO2dCQUdGLDhCQUE4QjtzQkFEakMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgUmVuZGVyZXIyLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnQG9uZWN4L2FuZ3VsYXItaW50ZWdyYXRpb24taW50ZXJmYWNlJ1xuaW1wb3J0IHsgSEFTX1BFUk1JU1NJT05fQ0hFQ0tFUiwgSGFzUGVybWlzc2lvbkNoZWNrZXIgfSBmcm9tICdAb25lY3gvYW5ndWxhci11dGlscydcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW29jeElmUGVybWlzc2lvbl0sIFtvY3hJZk5vdFBlcm1pc3Npb25dJyB9KVxuZXhwb3J0IGNsYXNzIElmUGVybWlzc2lvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgnb2N4SWZQZXJtaXNzaW9uJykgcGVybWlzc2lvbjogc3RyaW5nIHwgc3RyaW5nW10gfCB1bmRlZmluZWRcbiAgQElucHV0KCdvY3hJZk5vdFBlcm1pc3Npb24nKSBzZXQgbm90UGVybWlzc2lvbih2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnBlcm1pc3Npb24gPSB2YWx1ZVxuICAgIHRoaXMubmVnYXRlID0gdHJ1ZVxuICB9XG5cbiAgQElucHV0KCkgb25NaXNzaW5nUGVybWlzc2lvbjogJ2hpZGUnIHwgJ2Rpc2FibGUnID0gJ2hpZGUnXG5cbiAgQElucHV0KCkgb2N4SWZQZXJtaXNzaW9uUGVybWlzc2lvbnM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkXG4gIEBJbnB1dCgpXG4gIHNldCBvY3hJZk5vdFBlcm1pc3Npb25QZXJtaXNzaW9ucyh2YWx1ZTogc3RyaW5nW10gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLm9jeElmUGVybWlzc2lvblBlcm1pc3Npb25zID0gdmFsdWVcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIG9jeElmUGVybWlzc2lvbkVsc2VUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZFxuICBASW5wdXQoKVxuICBzZXQgb2N4SWZOb3RQZXJtaXNzaW9uRWxzZVRlbXBsYXRlKHZhbHVlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5vY3hJZlBlcm1pc3Npb25FbHNlVGVtcGxhdGUgPSB2YWx1ZVxuICB9XG5cbiAgcHJpdmF0ZSBwZXJtaXNzaW9uQ2hlY2tlcjogSGFzUGVybWlzc2lvbkNoZWNrZXIgfCB1bmRlZmluZWRcbiAgbmVnYXRlID0gZmFsc2VcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KEhBU19QRVJNSVNTSU9OX0NIRUNLRVIpXG4gICAgcHJpdmF0ZSBoYXNQZXJtaXNzaW9uQ2hlY2tlcj86IEhhc1Blcm1pc3Npb25DaGVja2VyLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgdGVtcGxhdGVSZWY/OiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgdXNlclNlcnZpY2U/OiBVc2VyU2VydmljZVxuICApIHtcbiAgICBpZiAoIShoYXNQZXJtaXNzaW9uQ2hlY2tlciB8fCB1c2VyU2VydmljZSkpIHtcbiAgICAgIHRocm93ICdJZlBlcm1pc3Npb24gcmVxdWlyZXMgVXNlclNlcnZpY2Ugb3IgSGFzUGVybWlzc2lvbkNoZWNrZXIgdG8gYmUgcHJvdmlkZWQhJ1xuICAgIH1cblxuICAgIHRoaXMucGVybWlzc2lvbkNoZWNrZXIgPSBoYXNQZXJtaXNzaW9uQ2hlY2tlciA/PyB1c2VyU2VydmljZVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKFxuICAgICAgKHRoaXMucGVybWlzc2lvbiAmJlxuICAgICAgICB0aGlzLm5lZ2F0ZSA9PT0gdGhpcy5oYXNQZXJtaXNzaW9uKEFycmF5LmlzQXJyYXkodGhpcy5wZXJtaXNzaW9uKSA/IHRoaXMucGVybWlzc2lvbiA6IFt0aGlzLnBlcm1pc3Npb25dKSkgfHxcbiAgICAgICF0aGlzLnBlcm1pc3Npb25cbiAgICApIHtcbiAgICAgIGlmICh0aGlzLm9jeElmUGVybWlzc2lvbkVsc2VUZW1wbGF0ZSkge1xuICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMub2N4SWZQZXJtaXNzaW9uRWxzZVRlbXBsYXRlKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMub25NaXNzaW5nUGVybWlzc2lvbiA9PT0gJ2Rpc2FibGUnKSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnLCAnZGlzYWJsZWQnKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMudGVtcGxhdGVSZWYpIHtcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhc1Blcm1pc3Npb24ocGVybWlzc2lvbjogc3RyaW5nW10pIHtcbiAgICBpZiAodGhpcy5vY3hJZlBlcm1pc3Npb25QZXJtaXNzaW9ucykge1xuICAgICAgY29uc3QgcmVzdWx0ID0gcGVybWlzc2lvbi5ldmVyeSgocCkgPT4gdGhpcy5vY3hJZlBlcm1pc3Npb25QZXJtaXNzaW9ucz8uaW5jbHVkZXMocCkpXG4gICAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICBjb25zb2xlLmxvZygn8J+RruKAjeKZgO+4jyBObyBwZXJtaXNzaW9uIGluIG92ZXJ3cml0ZXMgZm9yOiBgJywgcGVybWlzc2lvbilcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHRcbiAgICB9XG4gICAgcmV0dXJuIHBlcm1pc3Npb24uZXZlcnkoKHApID0+IHRoaXMucGVybWlzc2lvbkNoZWNrZXI/Lmhhc1Blcm1pc3Npb24ocCkpXG4gIH1cbn1cbiJdfQ==
@@ -1,65 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Directive, ElementRef, EventEmitter, Input, Output } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common/http";
5
- export class SrcDirective {
6
- get ocxSrc() {
7
- return this._src;
8
- }
9
- set ocxSrc(value) {
10
- if (value && this._src !== value && window.location.hostname) {
11
- try {
12
- if (new URL(value, window.location.origin).hostname === window.location.hostname) {
13
- this.httpClient.get(value, { observe: 'response', responseType: 'blob' }).subscribe((response) => {
14
- // ok with content
15
- if (response?.status === 200) {
16
- const url = URL.createObjectURL(response.body);
17
- this.el.nativeElement.addEventListener('load', () => {
18
- URL.revokeObjectURL(url);
19
- });
20
- this.el.nativeElement.src = url;
21
- }
22
- // no content
23
- if (response?.status === 204) {
24
- this.error.emit();
25
- }
26
- }, () => {
27
- // on error
28
- this.error.emit();
29
- }, () => {
30
- // on complete
31
- this.el.nativeElement.style.visibility = 'initial';
32
- });
33
- }
34
- else {
35
- this.el.nativeElement.src = value;
36
- this.el.nativeElement.style.visibility = 'initial';
37
- }
38
- }
39
- catch (error) {
40
- console.error('Cannot parse URL ', value, error);
41
- this.el.nativeElement.src = value;
42
- this.el.nativeElement.style.visibility = 'initial';
43
- }
44
- this._src = value;
45
- }
46
- }
47
- constructor(el, httpClient) {
48
- this.el = el;
49
- this.httpClient = httpClient;
50
- // eslint-disable-next-line @angular-eslint/no-output-native
51
- this.error = new EventEmitter();
52
- this.el.nativeElement.style.visibility = 'hidden';
53
- }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SrcDirective, deps: [{ token: i0.ElementRef }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Directive }); }
55
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: SrcDirective, selector: "[ocxSrc]", inputs: { ocxSrc: "ocxSrc" }, outputs: { error: "error" }, ngImport: i0 }); }
56
- }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SrcDirective, decorators: [{
58
- type: Directive,
59
- args: [{ selector: '[ocxSrc]' }]
60
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.HttpClient }], propDecorators: { error: [{
61
- type: Output
62
- }], ocxSrc: [{
63
- type: Input
64
- }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1hY2NlbGVyYXRvci9zcmMvbGliL2RpcmVjdGl2ZXMvc3JjLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFnQixNQUFNLHNCQUFzQixDQUFBO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBOzs7QUFHbEYsTUFBTSxPQUFPLFlBQVk7SUFNdkIsSUFDSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFBO0lBQ2xCLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxLQUF5QjtRQUNsQyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdELElBQUksQ0FBQztnQkFDSCxJQUFJLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNqRixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FDakYsQ0FBQyxRQUE0QixFQUFFLEVBQUU7d0JBQy9CLGtCQUFrQjt3QkFDbEIsSUFBSSxRQUFRLEVBQUUsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDOzRCQUM3QixNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFZLENBQUMsQ0FBQTs0QkFDdEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtnQ0FDbEQsR0FBRyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQTs0QkFDMUIsQ0FBQyxDQUFDLENBQUE7NEJBQ0YsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQTt3QkFDakMsQ0FBQzt3QkFDRCxhQUFhO3dCQUNiLElBQUksUUFBUSxFQUFFLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQzs0QkFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQTt3QkFDbkIsQ0FBQztvQkFDSCxDQUFDLEVBQ0QsR0FBRyxFQUFFO3dCQUNILFdBQVc7d0JBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQTtvQkFDbkIsQ0FBQyxFQUNELEdBQUcsRUFBRTt3QkFDSCxjQUFjO3dCQUNkLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFBO29CQUNwRCxDQUFDLENBQ0YsQ0FBQTtnQkFDSCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQTtvQkFDakMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUE7Z0JBQ3BELENBQUM7WUFDSCxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQTtnQkFDaEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQTtnQkFDakMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUE7WUFDcEQsQ0FBQztZQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFBO1FBQ25CLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFDVSxFQUFjLEVBQ2QsVUFBc0I7UUFEdEIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGVBQVUsR0FBVixVQUFVLENBQVk7UUFsRGhDLDREQUE0RDtRQUNsRCxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQTtRQW1EeEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUE7SUFDbkQsQ0FBQzsrR0F4RFUsWUFBWTttR0FBWixZQUFZOzs0RkFBWixZQUFZO2tCQUR4QixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTt3R0FLdkIsS0FBSztzQkFBZCxNQUFNO2dCQUdILE1BQU07c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbb2N4U3JjXScgfSlcbmV4cG9ydCBjbGFzcyBTcmNEaXJlY3RpdmUge1xuICBwcml2YXRlIF9zcmM6IHN0cmluZyB8IHVuZGVmaW5lZFxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgZXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KClcblxuICBASW5wdXQoKVxuICBnZXQgb2N4U3JjKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3NyY1xuICB9XG4gIHNldCBvY3hTcmModmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSAmJiB0aGlzLl9zcmMgIT09IHZhbHVlICYmIHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKG5ldyBVUkwodmFsdWUsIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pLmhvc3RuYW1lID09PSB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpIHtcbiAgICAgICAgICB0aGlzLmh0dHBDbGllbnQuZ2V0KHZhbHVlLCB7IG9ic2VydmU6ICdyZXNwb25zZScsIHJlc3BvbnNlVHlwZTogJ2Jsb2InIH0pLnN1YnNjcmliZShcbiAgICAgICAgICAgIChyZXNwb25zZTogSHR0cFJlc3BvbnNlPEJsb2I+KSA9PiB7XG4gICAgICAgICAgICAgIC8vIG9rIHdpdGggY29udGVudFxuICAgICAgICAgICAgICBpZiAocmVzcG9uc2U/LnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChyZXNwb25zZS5ib2R5IGFzIEJsb2IpXG4gICAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKHVybClcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zcmMgPSB1cmxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvLyBubyBjb250ZW50XG4gICAgICAgICAgICAgIGlmIChyZXNwb25zZT8uc3RhdHVzID09PSAyMDQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAvLyBvbiBlcnJvclxuICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgLy8gb24gY29tcGxldGVcbiAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAnaW5pdGlhbCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnNyYyA9IHZhbHVlXG4gICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAnaW5pdGlhbCdcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignQ2Fubm90IHBhcnNlIFVSTCAnLCB2YWx1ZSwgZXJyb3IpXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zcmMgPSB2YWx1ZVxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9ICdpbml0aWFsJ1xuICAgICAgfVxuICAgICAgdGhpcy5fc3JjID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudFxuICApIHtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nXG4gIH1cbn1cbiJdfQ==
@@ -1,48 +0,0 @@
1
- import { Directive, ElementRef, Inject, Input, NgZone, PLATFORM_ID, Renderer2, ViewContainerRef, } from '@angular/core';
2
- import { PrimeNGConfig } from 'primeng/api';
3
- import { Tooltip } from 'primeng/tooltip';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "primeng/api";
6
- export class TooltipOnOverflowDirective extends Tooltip {
7
- get ocxTooltipOnOverflow() {
8
- return this.content;
9
- }
10
- set ocxTooltipOnOverflow(value) {
11
- this.content = value;
12
- this.setOption({ tooltipLabel: value });
13
- }
14
- ngOnDestroy() {
15
- super.ngOnDestroy();
16
- this.mutationObserver.disconnect();
17
- }
18
- ngAfterViewInit() {
19
- super.ngAfterViewInit();
20
- this.mutationObserver.observe(this.el.nativeElement, { subtree: true, characterData: true, childList: true });
21
- }
22
- constructor(platformId, el, zone, config, renderer, viewContainer) {
23
- super(platformId, el, zone, config, renderer, viewContainer);
24
- this.mutationObserver = new MutationObserver(() => {
25
- this.zone.run(() => {
26
- this.disabled = this.el.nativeElement.scrollWidth <= this.el.nativeElement.offsetWidth;
27
- this.setOption({ disabled: this.disabled });
28
- }, this);
29
- });
30
- renderer.setStyle(this.el.nativeElement, 'text-overflow', 'ellipsis');
31
- renderer.setStyle(this.el.nativeElement, 'overflow', 'hidden');
32
- renderer.setStyle(this.el.nativeElement, 'white-space', 'nowrap');
33
- this.disabled = true;
34
- this.setOption({ disabled: this.disabled });
35
- }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipOnOverflowDirective, deps: [{ token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.PrimeNGConfig }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
37
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TooltipOnOverflowDirective, selector: "[ocxTooltipOnOverflow]", inputs: { ocxTooltipOnOverflow: "ocxTooltipOnOverflow" }, usesInheritance: true, ngImport: i0 }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipOnOverflowDirective, decorators: [{
40
- type: Directive,
41
- args: [{ selector: '[ocxTooltipOnOverflow]' }]
42
- }], ctorParameters: () => [{ type: undefined, decorators: [{
43
- type: Inject,
44
- args: [PLATFORM_ID]
45
- }] }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.PrimeNGConfig }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }], propDecorators: { ocxTooltipOnOverflow: [{
46
- type: Input
47
- }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcE9uT3ZlcmZsb3cuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY2VsZXJhdG9yL3NyYy9saWIvZGlyZWN0aXZlcy90b29sdGlwT25PdmVyZmxvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsRUFFVCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUE7OztBQUd6QyxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsT0FBTztJQVFyRCxJQUNJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDckIsQ0FBQztJQUNELElBQUksb0JBQW9CLENBQUMsS0FBb0Q7UUFDM0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFUSxXQUFXO1FBQ2xCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUNuQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDcEMsQ0FBQztJQUVRLGVBQWU7UUFDdEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7SUFDL0csQ0FBQztJQUVELFlBQ3VCLFVBQWUsRUFDcEMsRUFBYyxFQUNkLElBQVksRUFDWixNQUFxQixFQUNyQixRQUFtQixFQUNuQixhQUErQjtRQUUvQixLQUFLLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQTtRQWxDOUQscUJBQWdCLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7WUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUE7Z0JBQ3RGLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7WUFDN0MsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ1YsQ0FBQyxDQUFDLENBQUE7UUE4QkEsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDckUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFDOUQsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFDakUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUM3QyxDQUFDOytHQXpDVSwwQkFBMEIsa0JBNEIzQixXQUFXO21HQTVCViwwQkFBMEI7OzRGQUExQiwwQkFBMEI7a0JBRHRDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUU7OzBCQTZCNUMsTUFBTTsyQkFBQyxXQUFXOzBLQW5CakIsb0JBQW9CO3NCQUR2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIFBMQVRGT1JNX0lELFxuICAgIFJlbmRlcmVyMixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUHJpbWVOR0NvbmZpZyB9IGZyb20gJ3ByaW1lbmcvYXBpJ1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ3ByaW1lbmcvdG9vbHRpcCdcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW29jeFRvb2x0aXBPbk92ZXJmbG93XScgfSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwT25PdmVyZmxvd0RpcmVjdGl2ZSBleHRlbmRzIFRvb2x0aXAgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICBtdXRhdGlvbk9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgdGhpcy5kaXNhYmxlZCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aCA8PSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGhcbiAgICAgIHRoaXMuc2V0T3B0aW9uKHsgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQgfSlcbiAgICB9LCB0aGlzKVxuICB9KVxuXG4gIEBJbnB1dCgpXG4gIGdldCBvY3hUb29sdGlwT25PdmVyZmxvdygpOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnRcbiAgfVxuICBzZXQgb2N4VG9vbHRpcE9uT3ZlcmZsb3codmFsdWU6IHN0cmluZyB8IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuY29udGVudCA9IHZhbHVlXG4gICAgdGhpcy5zZXRPcHRpb24oeyB0b29sdGlwTGFiZWw6IHZhbHVlIH0pXG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpXG4gICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyLmRpc2Nvbm5lY3QoKVxuICB9XG5cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpXG4gICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyLm9ic2VydmUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCB7IHN1YnRyZWU6IHRydWUsIGNoYXJhY3RlckRhdGE6IHRydWUsIGNoaWxkTGlzdDogdHJ1ZSB9KVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogYW55LFxuICAgIGVsOiBFbGVtZW50UmVmLFxuICAgIHpvbmU6IE5nWm9uZSxcbiAgICBjb25maWc6IFByaW1lTkdDb25maWcsXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmXG4gICkge1xuICAgIHN1cGVyKHBsYXRmb3JtSWQsIGVsLCB6b25lLCBjb25maWcsIHJlbmRlcmVyLCB2aWV3Q29udGFpbmVyKVxuICAgIHJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RleHQtb3ZlcmZsb3cnLCAnZWxsaXBzaXMnKVxuICAgIHJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ292ZXJmbG93JywgJ2hpZGRlbicpXG4gICAgcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnd2hpdGUtc3BhY2UnLCAnbm93cmFwJylcbiAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZVxuICAgIHRoaXMuc2V0T3B0aW9uKHsgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQgfSlcbiAgfVxufVxuIl19
@@ -1,7 +0,0 @@
1
- export const atLeastOneFieldFilledValidator = (form) => {
2
- if (Object.values(form.value).every((x) => x === null || x === undefined || x === '')) {
3
- return { allFieldsEmpty: true };
4
- }
5
- return null;
6
- };
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXQtbGVhc3Qtb25lLWZpZWxkLWZpbGxlZC12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9mdW5jdGlvbnMvYXQtbGVhc3Qtb25lLWZpZWxkLWZpbGxlZC12YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQWdCLENBQUMsSUFBcUIsRUFBMkIsRUFBRTtJQUM1RyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3RGLE9BQU8sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDakMsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yRm4sIEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuXG5leHBvcnQgY29uc3QgYXRMZWFzdE9uZUZpZWxkRmlsbGVkVmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IChmb3JtOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gIGlmIChPYmplY3QudmFsdWVzKGZvcm0udmFsdWUpLmV2ZXJ5KCh4KSA9PiB4ID09PSBudWxsIHx8IHggPT09IHVuZGVmaW5lZCB8fCB4ID09PSAnJykpIHtcbiAgICByZXR1cm4geyBhbGxGaWVsZHNFbXB0eTogdHJ1ZSB9XG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cbiJdfQ==
@@ -1,20 +0,0 @@
1
- export function flattenObject(ob) {
2
- const toReturn = {};
3
- for (const i in ob) {
4
- if (!Object.prototype.hasOwnProperty.call(ob, i))
5
- continue;
6
- if (!!ob[i] && typeof ob[i] == 'object' && !(ob[i] instanceof Date) && !Array.isArray(ob[i])) {
7
- const flatObject = flattenObject(ob[i]);
8
- for (const x in flatObject) {
9
- if (!Object.prototype.hasOwnProperty.call(flatObject, x))
10
- continue;
11
- toReturn[i + '.' + x] = flatObject[x];
12
- }
13
- }
14
- else {
15
- toReturn[i] = ob[i];
16
- }
17
- }
18
- return toReturn;
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdHRlbi1vYmplY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9mdW5jdGlvbnMvZmxhdHRlbi1vYmplY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEJBLE1BQU0sVUFBVSxhQUFhLENBQW9DLEVBQUs7SUFDcEUsTUFBTSxRQUFRLEdBQTRCLEVBQUUsQ0FBQTtJQUU1QyxLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUFFLFNBQVE7UUFFMUQsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzdGLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUE0QixDQUFDLENBQUE7WUFDbEUsS0FBSyxNQUFNLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO29CQUFFLFNBQVE7Z0JBRWxFLFFBQVEsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFJLFVBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDaEQsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sUUFBcUIsQ0FBQTtBQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsidHlwZSBFeHRlbmQ8VE9iaiBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBLIGV4dGVuZHMgc3RyaW5nPiA9IHtcbiAgW1RLZXkgaW4ga2V5b2YgVE9iaiAmIHN0cmluZyBhcyBgJHtLfSR7VEtleX1gXTogVE9ialtUS2V5XSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgPyBFeHRlbmQ8VE9ialtUS2V5XSwgYCR7S30ke1RLZXl9LmA+XG4gICAgOiBUT2JqW1RLZXldXG59XG5cbnR5cGUgTm9uT2JqZWN0S2V5c09mPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIEFycmF5PGFueT4gPyBLIDogVFtLXSBleHRlbmRzIG9iamVjdCA/IChUW0tdIGV4dGVuZHMgRGF0ZSA/IEsgOiBuZXZlcikgOiBLXG59W2tleW9mIFRdXG5cbnR5cGUgT2JqZWN0S2V5c09mPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIEFycmF5PGFueT4gPyBuZXZlciA6IFRbS10gZXh0ZW5kcyBvYmplY3QgPyBLIDogbmV2ZXJcbn1ba2V5b2YgVF1cblxudHlwZSBGaWx0ZXI8VE9iaiBleHRlbmRzIG9iamVjdCwgVEtleSA9IGtleW9mIFRPYmo+ID0gVEtleSBleHRlbmRzIGtleW9mIFRPYmpcbiAgPyBUT2JqW1RLZXldIGV4dGVuZHMgQXJyYXk8YW55PlxuICAgID8gVE9ialxuICAgIDogVE9ialtUS2V5XSBleHRlbmRzIG9iamVjdFxuICAgID8gRmlsdGVyPFRPYmpbVEtleV0+XG4gICAgOiBQaWNrPFRPYmosIE5vbk9iamVjdEtleXNPZjxUT2JqPj4gfCBGaWx0ZXI8UGljazxUT2JqLCBPYmplY3RLZXlzT2Y8VE9iaj4+PlxuICA6IG5ldmVyXG5cbnR5cGUgVW5pb25Ub0ludGVyc2VjdGlvbjxVPiA9IChVIGV4dGVuZHMgYW55ID8gKGs6IFUpID0+IHZvaWQgOiBuZXZlcikgZXh0ZW5kcyAoazogaW5mZXIgSSkgPT4gdm9pZCA/IEkgOiBuZXZlclxuXG5leHBvcnQgdHlwZSBSZXN1bHQ8VE9iaiBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+PiA9IFVuaW9uVG9JbnRlcnNlY3Rpb248RmlsdGVyPEV4dGVuZDxUT2JqLCAnJz4+PlxuXG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlbk9iamVjdDxPIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KG9iOiBPKTogUmVzdWx0PE8+IHtcbiAgY29uc3QgdG9SZXR1cm46IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge31cblxuICBmb3IgKGNvbnN0IGkgaW4gb2IpIHtcbiAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYiwgaSkpIGNvbnRpbnVlXG5cbiAgICBpZiAoISFvYltpXSAmJiB0eXBlb2Ygb2JbaV0gPT0gJ29iamVjdCcgJiYgIShvYltpXSBpbnN0YW5jZW9mIERhdGUpICYmICFBcnJheS5pc0FycmF5KG9iW2ldKSkge1xuICAgICAgY29uc3QgZmxhdE9iamVjdCA9IGZsYXR0ZW5PYmplY3Qob2JbaV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pXG4gICAgICBmb3IgKGNvbnN0IHggaW4gZmxhdE9iamVjdCkge1xuICAgICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChmbGF0T2JqZWN0LCB4KSkgY29udGludWVcblxuICAgICAgICB0b1JldHVybltpICsgJy4nICsgeF0gPSAoZmxhdE9iamVjdCBhcyBhbnkpW3hdXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRvUmV0dXJuW2ldID0gb2JbaV1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRvUmV0dXJuIGFzIFJlc3VsdDxPPlxufVxuIl19
@@ -1,10 +0,0 @@
1
- /**
2
- * This checker always returns true, basically disabling the permission system on the UI side
3
- * @deprecated Please import from `@onecx/angular-utils` instead.
4
- */
5
- export { AlwaysGrantPermissionChecker } from '@onecx/angular-utils';
6
- /**
7
- * @deprecated Please import from `@onecx/angular-utils` instead.
8
- */
9
- export { HAS_PERMISSION_CHECKER } from '@onecx/angular-utils';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzLXBlcm1pc3Npb24tY2hlY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1hY2NlbGVyYXRvci9zcmMvbGliL2luamVjdGlvbi10b2tlbnMvaGFzLXBlcm1pc3Npb24tY2hlY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQTs7O0dBR0c7QUFDSCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUVuRTs7R0FFRztBQUNILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVwcmVjYXRlZCBQbGVhc2UgaW1wb3J0IGZyb20gYEBvbmVjeC9hbmd1bGFyLXV0aWxzYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgeyBIYXNQZXJtaXNzaW9uQ2hlY2tlciB9IGZyb20gJ0BvbmVjeC9hbmd1bGFyLXV0aWxzJ1xuXG4vKipcbiAqIFRoaXMgY2hlY2tlciBhbHdheXMgcmV0dXJucyB0cnVlLCBiYXNpY2FsbHkgZGlzYWJsaW5nIHRoZSBwZXJtaXNzaW9uIHN5c3RlbSBvbiB0aGUgVUkgc2lkZVxuICogQGRlcHJlY2F0ZWQgUGxlYXNlIGltcG9ydCBmcm9tIGBAb25lY3gvYW5ndWxhci11dGlsc2AgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IHsgQWx3YXlzR3JhbnRQZXJtaXNzaW9uQ2hlY2tlciB9IGZyb20gJ0BvbmVjeC9hbmd1bGFyLXV0aWxzJ1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFBsZWFzZSBpbXBvcnQgZnJvbSBgQG9uZWN4L2FuZ3VsYXItdXRpbHNgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCB7IEhBU19QRVJNSVNTSU9OX0NIRUNLRVIgfSBmcm9tICdAb25lY3gvYW5ndWxhci11dGlscydcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1tZW51LWl0ZW0ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9tb2RlbC9icmVhZGNydW1iLW1lbnUtaXRlbS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUXVlcnlQYXJhbXNIYW5kbGluZyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknXG5leHBvcnQgaW50ZXJmYWNlIEJyZWFkQ3J1bWJNZW51SXRlbSB7XG4gIC8qKiBAZGVwcmVjYXRlZCB1c2UgbGFiZWxLZXkgaW5zdGVhZCAqL1xuICBsYWJlbD86IHN0cmluZ1xuICBsYWJlbEtleT86IHN0cmluZ1xuICBpY29uPzogc3RyaW5nXG4gIGNvbW1hbmQ/OiAoZXZlbnQ/OiBhbnkpID0+IHZvaWRcbiAgdXJsPzogc3RyaW5nXG4gIGl0ZW1zPzogTWVudUl0ZW1bXVxuICBleHBhbmRlZD86IGJvb2xlYW5cbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIHZpc2libGU/OiBib29sZWFuXG4gIHRhcmdldD86IHN0cmluZ1xuICBlc2NhcGU/OiBib29sZWFuXG4gIHJvdXRlckxpbmtBY3RpdmVPcHRpb25zPzogYW55XG4gIHNlcGFyYXRvcj86IGJvb2xlYW5cbiAgYmFkZ2U/OiBzdHJpbmdcbiAgdG9vbHRpcD86IHN0cmluZ1xuICB0b29sdGlwUG9zaXRpb24/OiBzdHJpbmdcbiAgYmFkZ2VTdHlsZUNsYXNzPzogc3RyaW5nXG4gIHN0eWxlPzogYW55XG4gIHN0eWxlQ2xhc3M/OiBzdHJpbmdcbiAgLyoqIEBkZXByZWNhdGVkIHVzZSB0aXRsZUtleSBpbnN0ZWFkICovXG4gIHRpdGxlPzogc3RyaW5nXG4gIHRpdGxlS2V5Pzogc3RyaW5nXG4gIGlkPzogc3RyaW5nXG4gIGF1dG9tYXRpb25JZD86IGFueVxuICB0YWJpbmRleD86IHN0cmluZ1xuICByb3V0ZXJMaW5rPzogYW55XG4gIHF1ZXJ5UGFyYW1zPzoge1xuICAgIFtrOiBzdHJpbmddOiBhbnlcbiAgfVxuICBmcmFnbWVudD86IHN0cmluZ1xuICBxdWVyeVBhcmFtc0hhbmRsaW5nPzogUXVlcnlQYXJhbXNIYW5kbGluZ1xuICBwcmVzZXJ2ZUZyYWdtZW50PzogYm9vbGVhblxuICBza2lwTG9jYXRpb25DaGFuZ2U/OiBib29sZWFuXG4gIHJlcGxhY2VVcmw/OiBib29sZWFuXG4gIGljb25TdHlsZT86IGFueVxuICBpY29uQ2xhc3M/OiBzdHJpbmdcbiAgc3RhdGU/OiB7XG4gICAgW2s6IHN0cmluZ106IGFueVxuICB9XG4gIHRvb2x0aXBPcHRpb25zPzoge1xuICAgIHRvb2x0aXBMYWJlbD86IHN0cmluZ1xuICAgIHRvb2x0aXBQb3NpdGlvbj86ICdyaWdodCcgfCAnbGVmdCcgfCAndG9wJyB8ICdib3R0b20nXG4gICAgdG9vbHRpcEV2ZW50PzogJ2hvdmVyJyB8ICdmb2N1cydcbiAgICBhcHBlbmRUbz86IGFueVxuICAgIHBvc2l0aW9uU3R5bGU/OiBzdHJpbmdcbiAgICB0b29sdGlwU3R5bGVDbGFzcz86IHN0cmluZ1xuICAgIHRvb2x0aXBaSW5kZXg/OiBzdHJpbmdcbiAgICBlc2NhcGU/OiBib29sZWFuXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuXG4gICAgcG9zaXRpb25Ub3A/OiBudW1iZXJcbiAgICBwb3NpdGlvbkxlZnQ/OiBudW1iZXJcbiAgICBzaG93RGVsYXk/OiBudW1iZXJcbiAgICBoaWRlRGVsYXk/OiBudW1iZXJcbiAgICBsaWZlPzogbnVtYmVyXG4gIH1cbn1cbiJdfQ==
@@ -1,16 +0,0 @@
1
- export var ColumnType;
2
- (function (ColumnType) {
3
- ColumnType["STRING"] = "STRING";
4
- ColumnType["NUMBER"] = "NUMBER";
5
- ColumnType["DATE"] = "DATE";
6
- ColumnType["RELATIVE_DATE"] = "RELATIVE_DATE";
7
- ColumnType["TRANSLATION_KEY"] = "TRANSLATION_KEY";
8
- /**
9
- * @deprecated Will be removed with the next major v6 upgrade.
10
- * Please use pTemplate="column id + IdCell" in DataTable or
11
- * pTemplate="column id + IdTableCell" in DataView and InteractiveDataView
12
- * e.g. for a column with the id 'status' in DataTable use pTemplate="statusIdCell"
13
- */
14
- ColumnType["CUSTOM"] = "CUSTOM";
15
- })(ColumnType || (ColumnType = {}));
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXR5cGUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9tb2RlbC9jb2x1bW4tdHlwZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxVQWFYO0FBYkQsV0FBWSxVQUFVO0lBQ3BCLCtCQUFpQixDQUFBO0lBQ2pCLCtCQUFpQixDQUFBO0lBQ2pCLDJCQUFhLENBQUE7SUFDYiw2Q0FBK0IsQ0FBQTtJQUMvQixpREFBbUMsQ0FBQTtJQUNuQzs7Ozs7T0FLRztJQUNILCtCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFiVyxVQUFVLEtBQVYsVUFBVSxRQWFyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENvbHVtblR5cGUge1xuICBTVFJJTkcgPSAnU1RSSU5HJyxcbiAgTlVNQkVSID0gJ05VTUJFUicsXG4gIERBVEUgPSAnREFURScsXG4gIFJFTEFUSVZFX0RBVEUgPSAnUkVMQVRJVkVfREFURScsXG4gIFRSQU5TTEFUSU9OX0tFWSA9ICdUUkFOU0xBVElPTl9LRVknLFxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIHdpdGggdGhlIG5leHQgbWFqb3IgdjYgdXBncmFkZS5cbiAgICogUGxlYXNlIHVzZSBwVGVtcGxhdGU9XCJjb2x1bW4gaWQgKyBJZENlbGxcIiBpbiBEYXRhVGFibGUgb3JcbiAgICogcFRlbXBsYXRlPVwiY29sdW1uIGlkICsgSWRUYWJsZUNlbGxcIiBpbiBEYXRhVmlldyBhbmQgSW50ZXJhY3RpdmVEYXRhVmlld1xuICAgKiBlLmcuIGZvciBhIGNvbHVtbiB3aXRoIHRoZSBpZCAnc3RhdHVzJyBpbiBEYXRhVGFibGUgdXNlIHBUZW1wbGF0ZT1cInN0YXR1c0lkQ2VsbFwiXG4gICAqL1xuICBDVVNUT00gPSAnQ1VTVE9NJyxcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9tb2RlbC9kYXRhLWFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBEYXRhQWN0aW9uIHtcbiAgaWQ/OiBzdHJpbmdcbiAgbGFiZWxLZXk/OiBzdHJpbmdcbiAgaWNvbj86IHN0cmluZ1xuICBwZXJtaXNzaW9uOiBzdHJpbmcgfCBzdHJpbmdbXVxuICBjbGFzc2VzPzogc3RyaW5nW11cbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGFjdGlvblZpc2libGVGaWVsZD86IHN0cmluZ1xuICBhY3Rpb25FbmFibGVkRmllbGQ/OiBzdHJpbmdcbiAgc2hvd0FzT3ZlcmZsb3c/OiBib29sZWFuXG4gIGNhbGxiYWNrOiAoZGF0YTogYW55KSA9PiB2b2lkXG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb2x1bW4tbmFtZS1pZC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1hY2NlbGVyYXRvci9zcmMvbGliL21vZGVsL2RhdGEtY29sdW1uLW5hbWUtaWQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRGF0YUNvbHVtbk5hbWVJZCB7XG4gIGNvbHVtbklkOiBzdHJpbmdcbiAgY29sdW1uTmFtZTogc3RyaW5nIHwgbnVtYmVyXG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3J0LWRpcmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1hY2NlbGVyYXRvci9zcmMvbGliL21vZGVsL2RhdGEtc29ydC1kaXJlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBlbnVtIERhdGFTb3J0RGlyZWN0aW9uIHtcbiAgQVNDRU5ESU5HID0gJ0FTQ0VORElORycsXG4gIERFU0NFTkRJTkcgPSAnREVTQ0VORElORycsXG4gIE5PTkUgPSAnTk9ORScsXG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1jb2x1bW4ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9tb2RlbC9kYXRhLXRhYmxlLWNvbHVtbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sdW1uVHlwZSB9IGZyb20gJy4vY29sdW1uLXR5cGUubW9kZWwnXG5pbXBvcnQgeyBGaWx0ZXJUeXBlIH0gZnJvbSAnLi9maWx0ZXIubW9kZWwnXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlQ29sdW1uIHtcbiAgY29sdW1uVHlwZTogQ29sdW1uVHlwZVxuICBuYW1lS2V5OiBzdHJpbmdcbiAgaWQ6IHN0cmluZ1xuICBzb3J0YWJsZT86IGJvb2xlYW5cbiAgZmlsdGVyYWJsZT86IGJvb2xlYW5cbiAgZmlsdGVyVHlwZT86IEZpbHRlclR5cGVcbiAgcHJlZGVmaW5lZEdyb3VwS2V5cz86IHN0cmluZ1tdXG4gIGRhdGVGb3JtYXQ/OiBzdHJpbmdcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ3JhbS1jb2x1bW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9tb2RlbC9kaWFncmFtLWNvbHVtbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sdW1uVHlwZSB9IGZyb20gJy4vY29sdW1uLXR5cGUubW9kZWwnXG5cbmV4cG9ydCB0eXBlIERpYWdyYW1Db2x1bW4gPSB7IGNvbHVtblR5cGU6IENvbHVtblR5cGU7IGlkOiBzdHJpbmcgfVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ3JhbS1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY2VsZXJhdG9yL3NyYy9saWIvbW9kZWwvZGlhZ3JhbS1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBEaWFncmFtRGF0YSA9IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IG51bWJlcjsgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nIH1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ3JhbS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY2VsZXJhdG9yL3NyYy9saWIvbW9kZWwvZGlhZ3JhbS10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW51bSBEaWFncmFtVHlwZSB7XG4gIFBJRSA9ICdQSUUnLFxuICBWRVJUSUNBTF9CQVIgPSAnVkVSVElDQUxfQkFSJyxcbiAgSE9SSVpPTlRBTF9CQVIgPSAnSE9SSVpPTlRBTF9CQVInLFxufVxuIl19
@@ -1,6 +0,0 @@
1
- export var FilterType;
2
- (function (FilterType) {
3
- FilterType["EQUAL"] = "EQUAL";
4
- FilterType["TRUTHY"] = "TRUTHY";
5
- })(FilterType || (FilterType = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY2VsZXJhdG9yL3NyYy9saWIvbW9kZWwvZmlsdGVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sQ0FBTixJQUFZLFVBR1g7QUFIRCxXQUFZLFVBQVU7SUFDcEIsNkJBQWUsQ0FBQTtJQUNmLCtCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFIVyxVQUFVLEtBQVYsVUFBVSxRQUdyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uRmlsdGVyRGF0YVNlbGVjdE9wdGlvbnMge1xuICByZXZlcnNlOiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIEZpbHRlciA9IHsgY29sdW1uSWQ6IHN0cmluZzsgdmFsdWU6IHVua25vd247IGZpbHRlclR5cGU/OiBGaWx0ZXJUeXBlIH1cblxuZXhwb3J0IGVudW0gRmlsdGVyVHlwZSB7XG4gIEVRVUFMID0gJ0VRVUFMJyxcbiAgVFJVVEhZID0gJ1RSVVRIWScsXG59XG4iXX0=
@@ -1,58 +0,0 @@
1
- import { CurrencyPipe, DatePipe, DecimalPipe } from '@angular/common';
2
- import { Inject, Injector, LOCALE_ID, Pipe } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- export class DynamicPipe {
5
- constructor(locale, injector) {
6
- this.injector = injector;
7
- this.knownPipes = {};
8
- this.knownPipes = {
9
- currency: new CurrencyPipe(locale),
10
- decimal: new DecimalPipe(locale),
11
- date: new DatePipe(locale),
12
- };
13
- }
14
- transform(value, requiredPipe, pipeArgs) {
15
- if (!requiredPipe) {
16
- return value;
17
- }
18
- const injector = Injector.create({
19
- name: 'DynamicPipe',
20
- parent: this.injector,
21
- providers: [{ provide: requiredPipe }],
22
- });
23
- const pipe = injector.get(requiredPipe);
24
- return pipe.transform(value, pipeArgs);
25
- }
26
- transform2(value, pipeToken, ...pipeArgs) {
27
- if (!pipeToken) {
28
- return value;
29
- }
30
- else {
31
- // eslint-disable-next-line no-prototype-builtins
32
- if (pipeToken && this.knownPipes.hasOwnProperty(pipeToken)) {
33
- const pipe = this.knownPipes[pipeToken];
34
- if (Array.isArray(pipeArgs)) {
35
- return pipe.transform(value, ...pipeArgs);
36
- }
37
- else {
38
- return pipe.transform(value, pipeArgs);
39
- }
40
- }
41
- else {
42
- return value;
43
- }
44
- }
45
- }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicPipe, deps: [{ token: LOCALE_ID }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Pipe }); }
47
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DynamicPipe, name: "dynamicPipe" }); }
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicPipe, decorators: [{
50
- type: Pipe,
51
- args: [{
52
- name: 'dynamicPipe',
53
- }]
54
- }], ctorParameters: () => [{ type: undefined, decorators: [{
55
- type: Inject,
56
- args: [LOCALE_ID]
57
- }] }, { type: i0.Injector }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY2VsZXJhdG9yL3NyYy9saWIvcGlwZXMvZHluYW1pYy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ3JFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQXVCLE1BQU0sZUFBZSxDQUFBOztBQUt0RixNQUFNLE9BQU8sV0FBVztJQUV0QixZQUFzQyxNQUFjLEVBQVUsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQURoRixlQUFVLEdBQXNDLEVBQUUsQ0FBQTtRQUVoRCxJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2hCLFFBQVEsRUFBRSxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUM7WUFDbEMsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQztZQUNoQyxJQUFJLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDO1NBQzNCLENBQUE7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVUsRUFBRSxZQUF3QixFQUFFLFFBQWM7UUFDNUQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLE9BQU8sS0FBSyxDQUFBO1FBQ2QsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDL0IsSUFBSSxFQUFFLGFBQWE7WUFDbkIsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3JCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDO1NBQ3ZDLENBQUMsQ0FBQTtRQUNGLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDdkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVUsRUFBRSxTQUFjLEVBQUUsR0FBRyxRQUFlO1FBQ3ZELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNmLE9BQU8sS0FBSyxDQUFBO1FBQ2QsQ0FBQzthQUFNLENBQUM7WUFDTixpREFBaUQ7WUFDakQsSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDM0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtnQkFDdkMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7b0JBQzVCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQTtnQkFDM0MsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUE7Z0JBQ3hDLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxLQUFLLENBQUE7WUFDZCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7K0dBeENVLFdBQVcsa0JBRUssU0FBUzs2R0FGekIsV0FBVzs7NEZBQVgsV0FBVztrQkFIdkIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtpQkFDcEI7OzBCQUdxQixNQUFNOzJCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXJyZW5jeVBpcGUsIERhdGVQaXBlLCBEZWNpbWFsUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0b3IsIExPQ0FMRV9JRCwgUGlwZSwgUGlwZVRyYW5zZm9ybSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbkBQaXBlKHtcbiAgbmFtZTogJ2R5bmFtaWNQaXBlJyxcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAga25vd25QaXBlczogeyBbbmFtZTogc3RyaW5nXTogUGlwZVRyYW5zZm9ybSB9ID0ge31cbiAgcHVibGljIGNvbnN0cnVjdG9yKEBJbmplY3QoTE9DQUxFX0lEKSBsb2NhbGU6IHN0cmluZywgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLmtub3duUGlwZXMgPSB7XG4gICAgICBjdXJyZW5jeTogbmV3IEN1cnJlbmN5UGlwZShsb2NhbGUpLFxuICAgICAgZGVjaW1hbDogbmV3IERlY2ltYWxQaXBlKGxvY2FsZSksXG4gICAgICBkYXRlOiBuZXcgRGF0ZVBpcGUobG9jYWxlKSxcbiAgICB9XG4gIH1cblxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgcmVxdWlyZWRQaXBlPzogVHlwZTxhbnk+LCBwaXBlQXJncz86IGFueSk6IGFueSB7XG4gICAgaWYgKCFyZXF1aXJlZFBpcGUpIHtcbiAgICAgIHJldHVybiB2YWx1ZVxuICAgIH1cblxuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIG5hbWU6ICdEeW5hbWljUGlwZScsXG4gICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IHJlcXVpcmVkUGlwZSB9XSxcbiAgICB9KVxuICAgIGNvbnN0IHBpcGUgPSBpbmplY3Rvci5nZXQocmVxdWlyZWRQaXBlKVxuICAgIHJldHVybiBwaXBlLnRyYW5zZm9ybSh2YWx1ZSwgcGlwZUFyZ3MpXG4gIH1cblxuICB0cmFuc2Zvcm0yKHZhbHVlOiBhbnksIHBpcGVUb2tlbjogYW55LCAuLi5waXBlQXJnczogYW55W10pOiBhbnkge1xuICAgIGlmICghcGlwZVRva2VuKSB7XG4gICAgICByZXR1cm4gdmFsdWVcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuICAgICAgaWYgKHBpcGVUb2tlbiAmJiB0aGlzLmtub3duUGlwZXMuaGFzT3duUHJvcGVydHkocGlwZVRva2VuKSkge1xuICAgICAgICBjb25zdCBwaXBlID0gdGhpcy5rbm93blBpcGVzW3BpcGVUb2tlbl1cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocGlwZUFyZ3MpKSB7XG4gICAgICAgICAgcmV0dXJuIHBpcGUudHJhbnNmb3JtKHZhbHVlLCAuLi5waXBlQXJncylcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gcGlwZS50cmFuc2Zvcm0odmFsdWUsIHBpcGVBcmdzKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdmFsdWVcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==