@one-paragon/angular-utilities 1.2.0 → 1.2.2

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 (115) hide show
  1. package/esm2022/action-state/action-state-spinner/action-state-spinner.component.mjs +7 -7
  2. package/esm2022/action-state/action-state-ui/action-state-ui.module.mjs +5 -5
  3. package/esm2022/action-state/ngrx-ext/ngrx-ext.module.mjs +6 -6
  4. package/esm2022/action-state/ngrx.mjs +6 -1
  5. package/esm2022/http-request-state/HttpRequestStateFactory.mjs +6 -7
  6. package/esm2022/http-request-state/HttpRequestStateStore.mjs +41 -37
  7. package/esm2022/http-request-state/directives/HttpStateDirectiveBase.mjs +17 -21
  8. package/esm2022/http-request-state/directives/http-error-state-directive.mjs +12 -18
  9. package/esm2022/http-request-state/directives/http-inProgress-state-directive.mjs +12 -18
  10. package/esm2022/http-request-state/directives/http-notStarted-state-directive.mjs +12 -18
  11. package/esm2022/http-request-state/directives/http-success-state-directive.mjs +13 -18
  12. package/esm2022/http-request-state/directives/request-state-directive.mjs +20 -19
  13. package/esm2022/http-request-state/http-state-module.mjs +6 -6
  14. package/esm2022/ngrx/actionable-selector.mjs +12 -14
  15. package/esm2022/rxjs/subjectifier.mjs +6 -6
  16. package/esm2022/rxjs/subscriber.directive.mjs +11 -13
  17. package/esm2022/table-builder/classes/MatTableObservableDataSource.mjs +3 -1
  18. package/esm2022/table-builder/classes/TableBuilderDataSource.mjs +10 -8
  19. package/esm2022/table-builder/classes/TableState.mjs +13 -15
  20. package/esm2022/table-builder/classes/table-builder-general-settings.mjs +46 -54
  21. package/esm2022/table-builder/classes/table-builder.mjs +4 -1
  22. package/esm2022/table-builder/classes/table-store.mjs +280 -282
  23. package/esm2022/table-builder/components/array-column.component.mjs +15 -19
  24. package/esm2022/table-builder/components/column-builder/column-builder.component.mjs +44 -35
  25. package/esm2022/table-builder/components/date-filter/date-filter.component.mjs +7 -7
  26. package/esm2022/table-builder/components/date-time-filter/date-time-filter.component.mjs +7 -7
  27. package/esm2022/table-builder/components/filter/filter.component.mjs +24 -24
  28. package/esm2022/table-builder/components/filter/in-list/in-list-filter.component.mjs +19 -18
  29. package/esm2022/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +15 -15
  30. package/esm2022/table-builder/components/generic-table/generic-table.component.mjs +100 -86
  31. package/esm2022/table-builder/components/generic-table/paginator.component.mjs +20 -18
  32. package/esm2022/table-builder/components/group-by-list/group-by-list.component.mjs +5 -7
  33. package/esm2022/table-builder/components/header-menu/header-menu.component.mjs +24 -21
  34. package/esm2022/table-builder/components/in-filter/in-filter.component.mjs +14 -13
  35. package/esm2022/table-builder/components/initialization-component/initialization-component.mjs +11 -4
  36. package/esm2022/table-builder/components/link-column.component.mjs +19 -23
  37. package/esm2022/table-builder/components/number-filter/number-filter.component.mjs +8 -8
  38. package/esm2022/table-builder/components/profiles-menu/profiles-menu.component.mjs +26 -28
  39. package/esm2022/table-builder/components/scroll-strategy.mjs +11 -7
  40. package/esm2022/table-builder/components/sort-menu/sort-menu.component-store.mjs +31 -31
  41. package/esm2022/table-builder/components/sort-menu/sort-menu.component.mjs +23 -22
  42. package/esm2022/table-builder/components/table-container/table-container.mjs +90 -80
  43. package/esm2022/table-builder/components/table-container/virtual-scroll-container.mjs +49 -51
  44. package/esm2022/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +8 -10
  45. package/esm2022/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +17 -15
  46. package/esm2022/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +14 -14
  47. package/esm2022/table-builder/directives/custom-cell-directive.mjs +24 -20
  48. package/esm2022/table-builder/directives/multi-sort.directive.mjs +10 -10
  49. package/esm2022/table-builder/directives/resize-column.directive.mjs +13 -14
  50. package/esm2022/table-builder/directives/table-wrapper.directive.mjs +5 -7
  51. package/esm2022/table-builder/directives/tb-filter.directive.mjs +105 -110
  52. package/esm2022/table-builder/ngrx/tableBuilderStateStore.mjs +124 -124
  53. package/esm2022/table-builder/pipes/column-total.pipe.mjs +4 -4
  54. package/esm2022/table-builder/pipes/format-filter-type.pipe.mjs +4 -4
  55. package/esm2022/table-builder/pipes/format-filter-value.pipe.mjs +10 -12
  56. package/esm2022/table-builder/pipes/key-display.mjs +8 -10
  57. package/esm2022/table-builder/services/export-to-csv.service.mjs +57 -63
  58. package/esm2022/table-builder/services/table-template-service.mjs +11 -8
  59. package/esm2022/table-builder/services/transform-creator.mjs +35 -40
  60. package/esm2022/table-builder/table-builder.module.mjs +7 -7
  61. package/esm2022/utilities/directives/auto-focus.directive.mjs +8 -10
  62. package/esm2022/utilities/directives/clickEmitterDirective.mjs +4 -4
  63. package/esm2022/utilities/directives/clickSubject.mjs +5 -4
  64. package/esm2022/utilities/directives/conditional-classes.directive.mjs +11 -11
  65. package/esm2022/utilities/directives/dialog-service.mjs +5 -7
  66. package/esm2022/utilities/directives/dialog.mjs +38 -39
  67. package/esm2022/utilities/directives/mat-toggle-group-directive.mjs +7 -8
  68. package/esm2022/utilities/directives/prevent-enter.directive.mjs +4 -4
  69. package/esm2022/utilities/directives/stop-propagation.directive.mjs +4 -4
  70. package/esm2022/utilities/directives/styler.mjs +10 -11
  71. package/esm2022/utilities/directives/trim-whitespace.directive.mjs +7 -9
  72. package/esm2022/utilities/module.mjs +7 -7
  73. package/esm2022/utilities/pipes/function.pipe.mjs +4 -4
  74. package/esm2022/utilities/pipes/phone.pipe.mjs +4 -4
  75. package/esm2022/utilities/pipes/space-case.pipes.mjs +4 -4
  76. package/fesm2022/one-paragon-angular-utilities.mjs +1666 -1678
  77. package/fesm2022/one-paragon-angular-utilities.mjs.map +1 -1
  78. package/http-request-state/HttpRequestStateStore.d.ts +2 -2
  79. package/http-request-state/directives/HttpStateDirectiveBase.d.ts +5 -7
  80. package/http-request-state/directives/http-error-state-directive.d.ts +1 -4
  81. package/http-request-state/directives/http-inProgress-state-directive.d.ts +3 -6
  82. package/http-request-state/directives/http-notStarted-state-directive.d.ts +1 -4
  83. package/http-request-state/directives/http-success-state-directive.d.ts +1 -6
  84. package/http-request-state/directives/request-state-directive.d.ts +0 -1
  85. package/package.json +8 -8
  86. package/rxjs/subjectifier.d.ts +0 -1
  87. package/table-builder/classes/TableBuilderDataSource.d.ts +0 -1
  88. package/table-builder/classes/table-store.d.ts +1 -2
  89. package/table-builder/components/column-builder/column-builder.component.d.ts +2 -6
  90. package/table-builder/components/filter/filter.component.d.ts +1 -2
  91. package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +0 -3
  92. package/table-builder/components/gen-col-displayer/gen-col-displayer.component.d.ts +1 -2
  93. package/table-builder/components/generic-table/generic-table.component.d.ts +4 -4
  94. package/table-builder/components/generic-table/paginator.component.d.ts +0 -2
  95. package/table-builder/components/header-menu/header-menu.component.d.ts +1 -2
  96. package/table-builder/components/in-filter/in-filter.component.d.ts +1 -2
  97. package/table-builder/components/sort-menu/sort-menu.component-store.d.ts +1 -2
  98. package/table-builder/components/sort-menu/sort-menu.component.d.ts +2 -3
  99. package/table-builder/components/table-container/table-container-imports.d.ts +1 -1
  100. package/table-builder/components/table-container/virtual-scroll-container.d.ts +0 -2
  101. package/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.d.ts +3 -3
  102. package/table-builder/directives/custom-cell-directive.d.ts +3 -3
  103. package/table-builder/directives/multi-sort.directive.d.ts +1 -2
  104. package/table-builder/directives/resize-column.directive.d.ts +1 -2
  105. package/table-builder/directives/tb-filter.directive.d.ts +19 -23
  106. package/table-builder/pipes/format-filter-value.pipe.d.ts +0 -2
  107. package/table-builder/pipes/key-display.d.ts +0 -1
  108. package/table-builder/services/export-to-csv.service.d.ts +0 -3
  109. package/table-builder/services/table-template-service.d.ts +1 -2
  110. package/table-builder/services/transform-creator.d.ts +0 -5
  111. package/utilities/directives/auto-focus.directive.d.ts +1 -2
  112. package/utilities/directives/conditional-classes.directive.d.ts +1 -2
  113. package/utilities/directives/dialog.d.ts +2 -5
  114. package/utilities/directives/styler.d.ts +0 -2
  115. package/utilities/directives/trim-whitespace.directive.d.ts +0 -2
@@ -1,19 +1,17 @@
1
1
  import { ChangeDetectionStrategy, Component, input, computed } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class ArrayCommaColumnComponent {
4
- constructor() {
5
- this.value = input.required();
6
- this.additional = input(3);
7
- this.displayArray = computed(() => (this.value() || []).slice(0, this.additional()));
8
- }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ArrayCommaColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: ArrayCommaColumnComponent, isStandalone: true, selector: "tb-comma-array-column", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, additional: { classPropertyName: "additional", publicName: "additional", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
4
+ value = input.required();
5
+ additional = input(3);
6
+ displayArray = computed(() => (this.value() || []).slice(0, this.additional()));
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ArrayCommaColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: ArrayCommaColumnComponent, isStandalone: true, selector: "tb-comma-array-column", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, additional: { classPropertyName: "additional", publicName: "additional", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
11
9
  @for(val of displayArray(); track $index){
12
10
  {{val + (!$last ? ',' : '')}}
13
11
  }
14
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
15
13
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ArrayCommaColumnComponent, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ArrayCommaColumnComponent, decorators: [{
17
15
  type: Component,
18
16
  args: [{
19
17
  selector: 'tb-comma-array-column',
@@ -27,20 +25,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
27
25
  }]
28
26
  }] });
29
27
  export class ArrayNewLineColumnComponent {
30
- constructor() {
31
- this.value = input.required();
32
- this.additional = input(3);
33
- this.displayArray = computed(() => (this.value() || []).slice(0, this.additional()));
34
- }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ArrayNewLineColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: ArrayNewLineColumnComponent, isStandalone: true, selector: "tb-new-line-array-column", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, additional: { classPropertyName: "additional", publicName: "additional", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
28
+ value = input.required();
29
+ additional = input(3);
30
+ displayArray = computed(() => (this.value() || []).slice(0, this.additional()));
31
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ArrayNewLineColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: ArrayNewLineColumnComponent, isStandalone: true, selector: "tb-new-line-array-column", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, additional: { classPropertyName: "additional", publicName: "additional", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
37
33
  @for(val of displayArray(); track $index){
38
34
  {{val}}
39
35
  @if(!$last){ <br/> }
40
36
  }
41
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
38
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ArrayNewLineColumnComponent, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ArrayNewLineColumnComponent, decorators: [{
44
40
  type: Component,
45
41
  args: [{
46
42
  selector: 'tb-new-line-array-column',
@@ -54,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
54
50
  changeDetection: ChangeDetectionStrategy.OnPush
55
51
  }]
56
52
  }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NvbXBvbmVudHMvYXJyYXktY29sdW1uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBWXBGLE1BQU0sT0FBTyx5QkFBeUI7SUFWdEM7UUFZRSxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBdUIsQ0FBQztRQUM5QyxlQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQTtLQUNoRjs4R0FMWSx5QkFBeUI7a0dBQXpCLHlCQUF5QiwyVkFQMUI7Ozs7R0FJVDs7MkZBR1UseUJBQXlCO2tCQVZyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7R0FJVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7O0FBb0JELE1BQU0sT0FBTywyQkFBMkI7SUFYeEM7UUFZRSxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBdUIsQ0FBQztRQUM5QyxlQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUNqRjs4R0FKWSwyQkFBMkI7a0dBQTNCLDJCQUEyQiw4VkFSNUI7Ozs7O0dBS1Q7OzJGQUdVLDJCQUEyQjtrQkFYdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7OztHQUtUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0Yi1jb21tYS1hcnJheS1jb2x1bW4nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgdGVtcGxhdGU6IGBcclxuICBAZm9yKHZhbCBvZiBkaXNwbGF5QXJyYXkoKTsgdHJhY2sgJGluZGV4KXtcclxuICAgICAgICAgIHt7dmFsICsgKCEkbGFzdCA/ICcsJyA6ICcnKX19XHJcbiAgICAgICAgfVxyXG4gIGAsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEFycmF5Q29tbWFDb2x1bW5Db21wb25lbnQge1xyXG5cclxuICB2YWx1ZSA9IGlucHV0LnJlcXVpcmVkPChzdHJpbmcgfCBudW1iZXIpW10+KCk7XHJcbiAgYWRkaXRpb25hbCA9IGlucHV0KDMpO1xyXG4gIGRpc3BsYXlBcnJheSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLnZhbHVlKCkgfHwgW10pLnNsaWNlKDAsIHRoaXMuYWRkaXRpb25hbCgpKSlcclxufVxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGItbmV3LWxpbmUtYXJyYXktY29sdW1uJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgQGZvcih2YWwgb2YgZGlzcGxheUFycmF5KCk7IHRyYWNrICRpbmRleCl7XHJcbiAgICAgICAgICB7e3ZhbH19XHJcbiAgICAgICAgICBAaWYoISRsYXN0KXsgPGJyLz4gfVxyXG4gICAgICAgIH1cclxuICBgLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcnJheU5ld0xpbmVDb2x1bW5Db21wb25lbnQge1xyXG4gIHZhbHVlID0gaW5wdXQucmVxdWlyZWQ8KHN0cmluZyB8IG51bWJlcilbXT4oKTtcclxuICBhZGRpdGlvbmFsID0gaW5wdXQoMyk7XHJcbiAgZGlzcGxheUFycmF5ID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMudmFsdWUoKSB8fCBbXSkuc2xpY2UoMCwgdGhpcy5hZGRpdGlvbmFsKCkpKTtcclxufVxyXG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NvbXBvbmVudHMvYXJyYXktY29sdW1uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBWXBGLE1BQU0sT0FBTyx5QkFBeUI7SUFFcEMsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXVCLENBQUM7SUFDOUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0QixZQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQTt1R0FKcEUseUJBQXlCOzJGQUF6Qix5QkFBeUIsMlZBUDFCOzs7O0dBSVQ7OzJGQUdVLHlCQUF5QjtrQkFWckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7O0dBSVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOztBQW9CRCxNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF1QixDQUFDO0lBQzlDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEIsWUFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7dUdBSHJFLDJCQUEyQjsyRkFBM0IsMkJBQTJCLDhWQVI1Qjs7Ozs7R0FLVDs7MkZBR1UsMkJBQTJCO2tCQVh2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7O0dBS1Q7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQsIGNvbXB1dGVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RiLWNvbW1hLWFycmF5LWNvbHVtbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICB0ZW1wbGF0ZTogYFxyXG4gIEBmb3IodmFsIG9mIGRpc3BsYXlBcnJheSgpOyB0cmFjayAkaW5kZXgpe1xyXG4gICAgICAgICAge3t2YWwgKyAoISRsYXN0ID8gJywnIDogJycpfX1cclxuICAgICAgICB9XHJcbiAgYCxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJyYXlDb21tYUNvbHVtbkNvbXBvbmVudCB7XHJcblxyXG4gIHZhbHVlID0gaW5wdXQucmVxdWlyZWQ8KHN0cmluZyB8IG51bWJlcilbXT4oKTtcclxuICBhZGRpdGlvbmFsID0gaW5wdXQoMyk7XHJcbiAgZGlzcGxheUFycmF5ID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMudmFsdWUoKSB8fCBbXSkuc2xpY2UoMCwgdGhpcy5hZGRpdGlvbmFsKCkpKVxyXG59XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0Yi1uZXctbGluZS1hcnJheS1jb2x1bW4nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgdGVtcGxhdGU6IGBcclxuICBAZm9yKHZhbCBvZiBkaXNwbGF5QXJyYXkoKTsgdHJhY2sgJGluZGV4KXtcclxuICAgICAgICAgIHt7dmFsfX1cclxuICAgICAgICAgIEBpZighJGxhc3QpeyA8YnIvPiB9XHJcbiAgICAgICAgfVxyXG4gIGAsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEFycmF5TmV3TGluZUNvbHVtbkNvbXBvbmVudCB7XHJcbiAgdmFsdWUgPSBpbnB1dC5yZXF1aXJlZDwoc3RyaW5nIHwgbnVtYmVyKVtdPigpO1xyXG4gIGFkZGl0aW9uYWwgPSBpbnB1dCgzKTtcclxuICBkaXNwbGF5QXJyYXkgPSBjb21wdXRlZCgoKSA9PiAodGhpcy52YWx1ZSgpIHx8IFtdKS5zbGljZSgwLCB0aGlzLmFkZGl0aW9uYWwoKSkpO1xyXG59XHJcbiJdfQ==
@@ -1,8 +1,11 @@
1
- import { Component, ChangeDetectionStrategy, ViewChild, computed, inject } from '@angular/core';
1
+ import { Component, ChangeDetectionStrategy, ViewChild, Injector, computed, inject } from '@angular/core';
2
2
  import { FieldType } from '../../interfaces/report-def';
3
- import { MatColumnDef, MatTableModule } from '@angular/material/table';
3
+ import { MatColumnDef, MatTable, MatTableModule } from '@angular/material/table';
4
4
  import { ResizeColumnDirective } from '../../directives';
5
+ import { TransformCreator } from '../../services/transform-creator';
6
+ import { TableStore } from '../../classes/table-store';
5
7
  import { map } from 'rxjs/operators';
8
+ import { TableTemplateService } from '../../services/table-template-service';
6
9
  import { CdkDropList, CDK_DROP_LIST, DragDropModule } from '@angular/cdk/drag-drop';
7
10
  import { AsyncPipe, CurrencyPipe, DecimalPipe, NgTemplateOutlet } from '@angular/common';
8
11
  import { ConditionalClassesDirective, FunctionPipe, SpaceCasePipe } from '../../../utilities';
@@ -15,14 +18,22 @@ import { StylerDirective } from '../../../utilities/directives/styler';
15
18
  import { columnStyles } from './column-helpers';
16
19
  import { TableBuilderConfigToken } from '../../classes/TableBuilderConfig';
17
20
  import * as i0 from "@angular/core";
18
- import * as i1 from "../../services/transform-creator";
19
- import * as i2 from "@angular/material/table";
20
- import * as i3 from "../../classes/table-store";
21
- import * as i4 from "../../services/table-template-service";
22
- import * as i5 from "@angular/cdk/drag-drop";
23
- import * as i6 from "@angular/material/sort";
24
- import * as i7 from "@angular/material/tooltip";
21
+ import * as i1 from "@angular/material/table";
22
+ import * as i2 from "@angular/cdk/drag-drop";
23
+ import * as i3 from "@angular/material/sort";
24
+ import * as i4 from "@angular/material/tooltip";
25
25
  export class ColumnBuilderComponent {
26
+ transformCreator = inject(TransformCreator);
27
+ table = inject(MatTable);
28
+ state = inject(TableStore);
29
+ templateService = inject(TableTemplateService);
30
+ injector = inject(Injector);
31
+ columnDef;
32
+ bodyTemplate;
33
+ tableConfig = inject(TableBuilderConfigToken);
34
+ FieldType = FieldType;
35
+ filter;
36
+ _metaData;
26
37
  get metaData() {
27
38
  return this._metaData;
28
39
  }
@@ -36,25 +47,11 @@ export class ColumnBuilderComponent {
36
47
  this._metaData = md;
37
48
  }
38
49
  }
39
- constructor(transformCreator, table, state, templateService, injector) {
40
- this.transformCreator = transformCreator;
41
- this.table = table;
42
- this.state = state;
43
- this.templateService = templateService;
44
- this.injector = injector;
45
- this.tableConfig = inject(TableBuilderConfigToken);
46
- this.FieldType = FieldType;
47
- this.customCell = undefined;
48
- this.styles = computed(() => {
49
- return columnStyles(this.metaData, this.state.getUserDefinedWidth(this.metaData.key)());
50
- });
51
- this.getTooltip = (element) => {
52
- if (typeof this.metaData.toolTip === 'string') {
53
- return this.metaData.toolTip;
54
- }
55
- return this.metaData.toolTip(element);
56
- };
57
- }
50
+ customCell = undefined;
51
+ data$;
52
+ outerTemplate;
53
+ innerTemplate;
54
+ transform;
58
55
  getInnerTemplate() {
59
56
  if (this.metaData.template)
60
57
  return this.metaData.template;
@@ -62,9 +59,14 @@ export class ColumnBuilderComponent {
62
59
  return this.customCell.TemplateRef;
63
60
  return this.templateService.getTemplate(this.metaData);
64
61
  }
62
+ showFilters$;
65
63
  getOuterTemplate() {
66
64
  return this.customCell?.columnDef?.cell?.template ?? this.bodyTemplate;
67
65
  }
66
+ classes;
67
+ styles = computed(() => {
68
+ return columnStyles(this.metaData, this.state.getUserDefinedWidth(this.metaData.key)());
69
+ });
68
70
  ngOnInit() {
69
71
  this.initialSetUp();
70
72
  }
@@ -101,12 +103,19 @@ export class ColumnBuilderComponent {
101
103
  this.metaData.click(element, key);
102
104
  }
103
105
  }
104
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ColumnBuilderComponent, deps: [{ token: i1.TransformCreator }, { token: i2.MatTable }, { token: i3.TableStore }, { token: i4.TableTemplateService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
105
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: ColumnBuilderComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "columnDef", first: true, predicate: MatColumnDef, descendants: true }, { propertyName: "bodyTemplate", first: true, predicate: ["body"], descendants: true }], ngImport: i0, template: "<ng-container [matColumnDef]=\"metaData.key\" *ngrxLet=\"styles() as styles\" >\r\n\r\n <!-- header -->\r\n <ng-template matHeaderCellDef #myHeader>\r\n <mat-header-cell cdkDrag [style]='styles.header' resizeColumn [key]=\"metaData.key\" class=\"column-head\" \r\n [class]='metaData.additional?.columnPartClasses?.header'>\r\n <div class=\"header-container\" cdkDragHandle>\r\n @if(!customCell?.columnDef?.headerCell)\r\n {\r\n @if(metaData.fieldType !== FieldType.NotMapped && !customCell?.columnDef?.cell){\r\n <div mat-sort-header [disabled]=\"metaData.noSort\" style=\"width: 100%\">\r\n {{ metaData.displayName ? metaData.displayName : ( metaData.key | spaceCase ) }}\r\n </div>\r\n } @else if(metaData.fieldType === FieldType.NotMapped){\r\n <div style=\"width: 100%\">\r\n {{ metaData.displayName ? metaData.displayName : ( metaData.key | spaceCase ) }}\r\n </div>\r\n }\r\n @if(!customCell?.columnDef?.cell && (showFilters$ | async)){\r\n <tb-header-menu #menu [metaData]='metaData' />\r\n }\r\n }\r\n @else\r\n {\r\n <ng-container *ngTemplateOutlet=\"customCell!.columnDef.headerCell.template; context: {metaData: metaData, styles: styles.header} \">\r\n </ng-container>\r\n }\r\n </div>\r\n </mat-header-cell>\r\n </ng-template>\r\n\r\n <!-- body -->\r\n <ng-container *matCellDef=\"let element;\">\r\n <ng-container *ngTemplateOutlet=\"outerTemplate; context: { metaData: metaData, element: element , styles: styles.body, $implicit: element }\"/>\r\n </ng-container>\r\n <ng-template #body let-element='element' >\r\n <mat-cell [matTooltip]=\"metaData.toolTip ? (getTooltip | func : element) : ''\" [conditionalClasses]='metaData.classes' [element]='element' [styler]='styles.body' (click)='cellClicked(element, metaData.key)' >\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context: { value: (transform | func : element), element: element, additional: additional, $implicit: element }; Injector: injector\" />\r\n </mat-cell>\r\n </ng-template>\r\n \r\n <!-- footer -->\r\n <ng-template matFooterCellDef>\r\n @if(customCell?.columnDef?.footerCell){\r\n <ng-container\r\n *ngTemplateOutlet=\"customCell!.columnDef.footerCell.template;context: {metaData: metaData, data: data$, styles : styles.footer }\"/>\r\n } @else {\r\n <mat-footer-cell [style]='styles.footer' *ngrxLet=\"data$ as data\" [class]='metaData.additional?.columnPartClasses?.footer'>\r\n @if(!!data?.length && metaData.additional?.footer){\r\n <span class=\"bold\">\r\n @switch (metaData.fieldType) {\r\n @case (FieldType.Currency) { {{ data | columnTotal: metaData | currency }} }\r\n @case (FieldType.Number) { {{ data | columnTotal: metaData | number }} }\r\n }\r\n </span>\r\n }\r\n \r\n </mat-footer-cell>\r\n }\r\n </ng-template>\r\n</ng-container>\r\n", styles: [".header-container{display:flex;flex-direction:row;width:100%;align-items:center}.negative-currency{color:red}.column-head{position:relative}.bold,.group-footer{font-weight:900}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:33%;border-right-width:0px}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.drag-handle{color:#add8e6;cursor:move;margin-right:9px}\n"], dependencies: [{ kind: "ngmodule", type: MatTableModule }, { kind: "directive", type: i2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i2.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2.MatFooterCellDef, selector: "[matFooterCellDef]" }, { kind: "directive", type: i2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: i2.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ResizeColumnDirective, selector: "[resizeColumn]", inputs: ["resizeColumn", "key"] }, { kind: "pipe", type: FunctionPipe, name: "func" }, { kind: "directive", type: StylerDirective, selector: "[styler]", inputs: ["element", "styler"] }, { kind: "directive", type: ConditionalClassesDirective, selector: "[conditionalClasses]", inputs: ["element", "conditionalClasses"] }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i5.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "component", type: i6.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "pipe", type: SpaceCasePipe, name: "spaceCase" }, { kind: "component", type: HeaderMenuComponent, selector: "tb-header-menu", inputs: ["metaData"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "pipe", type: ColumnTotalPipe, name: "columnTotal" }, { kind: "pipe", type: CurrencyPipe, name: "currency" }, { kind: "pipe", type: DecimalPipe, name: "number" }], viewProviders: [
106
+ getTooltip = (element) => {
107
+ if (typeof this.metaData.toolTip === 'string') {
108
+ return this.metaData.toolTip;
109
+ }
110
+ return this.metaData.toolTip(element);
111
+ };
112
+ additional;
113
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ColumnBuilderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
114
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: ColumnBuilderComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "columnDef", first: true, predicate: MatColumnDef, descendants: true }, { propertyName: "bodyTemplate", first: true, predicate: ["body"], descendants: true }], ngImport: i0, template: "<ng-container [matColumnDef]=\"metaData.key\" *ngrxLet=\"styles() as styles\" >\r\n\r\n <!-- header -->\r\n <ng-template matHeaderCellDef #myHeader>\r\n <mat-header-cell cdkDrag [style]='styles.header' resizeColumn [key]=\"metaData.key\" class=\"column-head\"\r\n [class]='metaData.additional?.columnPartClasses?.header'>\r\n <div class=\"header-container\" cdkDragHandle>\r\n @if(!customCell?.columnDef?.headerCell)\r\n {\r\n @if(metaData.fieldType !== FieldType.NotMapped){\r\n <div mat-sort-header [disabled]=\"metaData.noSort\" style=\"width: 100%\">\r\n {{ metaData.displayName ? metaData.displayName : ( metaData.key | spaceCase ) }}\r\n </div>\r\n } @else if(metaData.fieldType === FieldType.NotMapped){\r\n <div style=\"width: 100%\">\r\n {{ metaData.displayName ? metaData.displayName : ( metaData.key | spaceCase ) }}\r\n </div>\r\n }\r\n @if(!customCell?.columnDef?.cell && (showFilters$ | async)){\r\n <tb-header-menu #menu [metaData]='metaData' />\r\n }\r\n }\r\n @else\r\n {\r\n <ng-container *ngTemplateOutlet=\"customCell!.columnDef!.headerCell.template; context: {metaData: metaData, styles: styles.header} \">\r\n </ng-container>\r\n }\r\n </div>\r\n </mat-header-cell>\r\n </ng-template>\r\n\r\n <!-- body -->\r\n <ng-container *matCellDef=\"let element;\">\r\n <ng-container *ngTemplateOutlet=\"outerTemplate; context: { metaData: metaData, element: element , styles: styles.body, $implicit: element }\"/>\r\n </ng-container>\r\n <ng-template #body let-element='element' >\r\n <mat-cell [matTooltip]=\"metaData.toolTip ? (getTooltip | func : element) : ''\" [conditionalClasses]='metaData.classes' [element]='element' [styler]='styles.body' (click)='cellClicked(element, metaData.key)' >\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context: { value: (transform | func : element), element: element, additional: additional, $implicit: element }; Injector: injector\" />\r\n </mat-cell>\r\n </ng-template>\r\n\r\n <!-- footer -->\r\n <ng-template matFooterCellDef>\r\n @if(customCell?.columnDef?.footerCell){\r\n <ng-container\r\n *ngTemplateOutlet=\"customCell!.columnDef!.footerCell.template;context: {metaData: metaData, data: data$, styles : styles.footer }\"/>\r\n } @else {\r\n <mat-footer-cell [style]='styles.footer' *ngrxLet=\"data$ as data\" [class]='metaData.additional?.columnPartClasses?.footer'>\r\n @if(!!data?.length && metaData.additional?.footer){\r\n <span class=\"bold\">\r\n @switch (metaData.fieldType) {\r\n @case (FieldType.Currency) { {{ data | columnTotal: metaData | currency }} }\r\n @case (FieldType.Number) { {{ data | columnTotal: metaData | number }} }\r\n }\r\n </span>\r\n }\r\n\r\n </mat-footer-cell>\r\n }\r\n </ng-template>\r\n</ng-container>\r\n", styles: [".header-container{display:flex;flex-direction:row;width:100%;align-items:center}.negative-currency{color:red}.column-head{position:relative}.bold,.group-footer{font-weight:900}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:33%;border-right-width:0px}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.drag-handle{color:#add8e6;cursor:move;margin-right:9px}\n"], dependencies: [{ kind: "ngmodule", type: MatTableModule }, { kind: "directive", type: i1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1.MatFooterCellDef, selector: "[matFooterCellDef]" }, { kind: "directive", type: i1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: i1.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ResizeColumnDirective, selector: "[resizeColumn]", inputs: ["resizeColumn", "key"] }, { kind: "pipe", type: FunctionPipe, name: "func" }, { kind: "directive", type: StylerDirective, selector: "[styler]", inputs: ["element", "styler"] }, { kind: "directive", type: ConditionalClassesDirective, selector: "[conditionalClasses]", inputs: ["element", "conditionalClasses"] }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "component", type: i3.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "pipe", type: SpaceCasePipe, name: "spaceCase" }, { kind: "component", type: HeaderMenuComponent, selector: "tb-header-menu", inputs: ["metaData"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "pipe", type: ColumnTotalPipe, name: "columnTotal" }, { kind: "pipe", type: CurrencyPipe, name: "currency" }, { kind: "pipe", type: DecimalPipe, name: "number" }], viewProviders: [
106
115
  { provide: CDK_DROP_LIST, useExisting: CdkDropList },
107
- ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
116
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
108
117
  }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ColumnBuilderComponent, decorators: [{
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ColumnBuilderComponent, decorators: [{
110
119
  type: Component,
111
120
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [
112
121
  { provide: CDK_DROP_LIST, useExisting: CdkDropList },
@@ -114,12 +123,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
114
123
  MatTableModule, NgTemplateOutlet, ResizeColumnDirective, FunctionPipe, StylerDirective,
115
124
  ConditionalClassesDirective, DragDropModule, MatSortModule, SpaceCasePipe, HeaderMenuComponent,
116
125
  AsyncPipe, MatTooltipModule, LetDirective, ColumnTotalPipe, CurrencyPipe, DecimalPipe
117
- ], template: "<ng-container [matColumnDef]=\"metaData.key\" *ngrxLet=\"styles() as styles\" >\r\n\r\n <!-- header -->\r\n <ng-template matHeaderCellDef #myHeader>\r\n <mat-header-cell cdkDrag [style]='styles.header' resizeColumn [key]=\"metaData.key\" class=\"column-head\" \r\n [class]='metaData.additional?.columnPartClasses?.header'>\r\n <div class=\"header-container\" cdkDragHandle>\r\n @if(!customCell?.columnDef?.headerCell)\r\n {\r\n @if(metaData.fieldType !== FieldType.NotMapped && !customCell?.columnDef?.cell){\r\n <div mat-sort-header [disabled]=\"metaData.noSort\" style=\"width: 100%\">\r\n {{ metaData.displayName ? metaData.displayName : ( metaData.key | spaceCase ) }}\r\n </div>\r\n } @else if(metaData.fieldType === FieldType.NotMapped){\r\n <div style=\"width: 100%\">\r\n {{ metaData.displayName ? metaData.displayName : ( metaData.key | spaceCase ) }}\r\n </div>\r\n }\r\n @if(!customCell?.columnDef?.cell && (showFilters$ | async)){\r\n <tb-header-menu #menu [metaData]='metaData' />\r\n }\r\n }\r\n @else\r\n {\r\n <ng-container *ngTemplateOutlet=\"customCell!.columnDef.headerCell.template; context: {metaData: metaData, styles: styles.header} \">\r\n </ng-container>\r\n }\r\n </div>\r\n </mat-header-cell>\r\n </ng-template>\r\n\r\n <!-- body -->\r\n <ng-container *matCellDef=\"let element;\">\r\n <ng-container *ngTemplateOutlet=\"outerTemplate; context: { metaData: metaData, element: element , styles: styles.body, $implicit: element }\"/>\r\n </ng-container>\r\n <ng-template #body let-element='element' >\r\n <mat-cell [matTooltip]=\"metaData.toolTip ? (getTooltip | func : element) : ''\" [conditionalClasses]='metaData.classes' [element]='element' [styler]='styles.body' (click)='cellClicked(element, metaData.key)' >\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context: { value: (transform | func : element), element: element, additional: additional, $implicit: element }; Injector: injector\" />\r\n </mat-cell>\r\n </ng-template>\r\n \r\n <!-- footer -->\r\n <ng-template matFooterCellDef>\r\n @if(customCell?.columnDef?.footerCell){\r\n <ng-container\r\n *ngTemplateOutlet=\"customCell!.columnDef.footerCell.template;context: {metaData: metaData, data: data$, styles : styles.footer }\"/>\r\n } @else {\r\n <mat-footer-cell [style]='styles.footer' *ngrxLet=\"data$ as data\" [class]='metaData.additional?.columnPartClasses?.footer'>\r\n @if(!!data?.length && metaData.additional?.footer){\r\n <span class=\"bold\">\r\n @switch (metaData.fieldType) {\r\n @case (FieldType.Currency) { {{ data | columnTotal: metaData | currency }} }\r\n @case (FieldType.Number) { {{ data | columnTotal: metaData | number }} }\r\n }\r\n </span>\r\n }\r\n \r\n </mat-footer-cell>\r\n }\r\n </ng-template>\r\n</ng-container>\r\n", styles: [".header-container{display:flex;flex-direction:row;width:100%;align-items:center}.negative-currency{color:red}.column-head{position:relative}.bold,.group-footer{font-weight:900}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:33%;border-right-width:0px}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.drag-handle{color:#add8e6;cursor:move;margin-right:9px}\n"] }]
118
- }], ctorParameters: () => [{ type: i1.TransformCreator }, { type: i2.MatTable }, { type: i3.TableStore }, { type: i4.TableTemplateService }, { type: i0.Injector }], propDecorators: { columnDef: [{
126
+ ], template: "<ng-container [matColumnDef]=\"metaData.key\" *ngrxLet=\"styles() as styles\" >\r\n\r\n <!-- header -->\r\n <ng-template matHeaderCellDef #myHeader>\r\n <mat-header-cell cdkDrag [style]='styles.header' resizeColumn [key]=\"metaData.key\" class=\"column-head\"\r\n [class]='metaData.additional?.columnPartClasses?.header'>\r\n <div class=\"header-container\" cdkDragHandle>\r\n @if(!customCell?.columnDef?.headerCell)\r\n {\r\n @if(metaData.fieldType !== FieldType.NotMapped){\r\n <div mat-sort-header [disabled]=\"metaData.noSort\" style=\"width: 100%\">\r\n {{ metaData.displayName ? metaData.displayName : ( metaData.key | spaceCase ) }}\r\n </div>\r\n } @else if(metaData.fieldType === FieldType.NotMapped){\r\n <div style=\"width: 100%\">\r\n {{ metaData.displayName ? metaData.displayName : ( metaData.key | spaceCase ) }}\r\n </div>\r\n }\r\n @if(!customCell?.columnDef?.cell && (showFilters$ | async)){\r\n <tb-header-menu #menu [metaData]='metaData' />\r\n }\r\n }\r\n @else\r\n {\r\n <ng-container *ngTemplateOutlet=\"customCell!.columnDef!.headerCell.template; context: {metaData: metaData, styles: styles.header} \">\r\n </ng-container>\r\n }\r\n </div>\r\n </mat-header-cell>\r\n </ng-template>\r\n\r\n <!-- body -->\r\n <ng-container *matCellDef=\"let element;\">\r\n <ng-container *ngTemplateOutlet=\"outerTemplate; context: { metaData: metaData, element: element , styles: styles.body, $implicit: element }\"/>\r\n </ng-container>\r\n <ng-template #body let-element='element' >\r\n <mat-cell [matTooltip]=\"metaData.toolTip ? (getTooltip | func : element) : ''\" [conditionalClasses]='metaData.classes' [element]='element' [styler]='styles.body' (click)='cellClicked(element, metaData.key)' >\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context: { value: (transform | func : element), element: element, additional: additional, $implicit: element }; Injector: injector\" />\r\n </mat-cell>\r\n </ng-template>\r\n\r\n <!-- footer -->\r\n <ng-template matFooterCellDef>\r\n @if(customCell?.columnDef?.footerCell){\r\n <ng-container\r\n *ngTemplateOutlet=\"customCell!.columnDef!.footerCell.template;context: {metaData: metaData, data: data$, styles : styles.footer }\"/>\r\n } @else {\r\n <mat-footer-cell [style]='styles.footer' *ngrxLet=\"data$ as data\" [class]='metaData.additional?.columnPartClasses?.footer'>\r\n @if(!!data?.length && metaData.additional?.footer){\r\n <span class=\"bold\">\r\n @switch (metaData.fieldType) {\r\n @case (FieldType.Currency) { {{ data | columnTotal: metaData | currency }} }\r\n @case (FieldType.Number) { {{ data | columnTotal: metaData | number }} }\r\n }\r\n </span>\r\n }\r\n\r\n </mat-footer-cell>\r\n }\r\n </ng-template>\r\n</ng-container>\r\n", styles: [".header-container{display:flex;flex-direction:row;width:100%;align-items:center}.negative-currency{color:red}.column-head{position:relative}.bold,.group-footer{font-weight:900}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:33%;border-right-width:0px}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.drag-handle{color:#add8e6;cursor:move;margin-right:9px}\n"] }]
127
+ }], propDecorators: { columnDef: [{
119
128
  type: ViewChild,
120
129
  args: [MatColumnDef]
121
130
  }], bodyTemplate: [{
122
131
  type: ViewChild,
123
132
  args: ['body']
124
133
  }] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWJ1aWxkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9jb2x1bW4tYnVpbGRlci9jb2x1bW4tYnVpbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2NvbHVtbi1idWlsZGVyL2NvbHVtbi1idWlsZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQWUsU0FBUyxFQUErQixRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFJLE9BQU8sRUFBbUIsU0FBUyxFQUFZLE1BQU0sNkJBQTZCLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBWSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVqRixPQUFPLEVBQXVCLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJOUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXBGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFD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O3FCQUNyRCxjQUNXLElBQUksV0FDUDt3QkFDUCxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsWUFBWSxFQUFFLGVBQWU7d0JBQ3RGLDJCQUEyQixFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLG1CQUFtQjt3QkFDOUYsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFdBQVc7cUJBQ3RGOytMQUd3QixTQUFTO3NCQUFqQyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ0osWUFBWTtzQkFBOUIsU0FBUzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgT25Jbml0LCBQcmVkaWNhdGUsIEluamVjdG9yLCBjb21wdXRlZCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFycmF5QWRkaXRpb25hbCwgRmllbGRUeXBlLCBNZXRhRGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XHJcbmltcG9ydCB7IE1hdENvbHVtbkRlZiwgTWF0VGFibGUsIE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEN1c3RvbUNlbGxEaXJlY3RpdmUsIFJlc2l6ZUNvbHVtbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBGaWx0ZXJJbmZvIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9maWx0ZXItaW5mbyc7XHJcbmltcG9ydCB7IFRyYW5zZm9ybUNyZWF0b3IgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2Zvcm0tY3JlYXRvcic7XHJcbmltcG9ydCB7IFRhYmxlU3RvcmUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3RhYmxlLXN0b3JlJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBUYWJsZVRlbXBsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RhYmxlLXRlbXBsYXRlLXNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDZGtEcm9wTGlzdCwgQ0RLX0RST1BfTElTVCwgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ0BuZ3J4L2VudGl0eSc7XHJcbmltcG9ydCB7IEFzeW5jUGlwZSwgQ3VycmVuY3lQaXBlLCBEZWNpbWFsUGlwZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbmRpdGlvbmFsQ2xhc3Nlc0RpcmVjdGl2ZSwgRnVuY3Rpb25QaXBlLCBTcGFjZUNhc2VQaXBlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzJztcclxuaW1wb3J0IHsgTWF0U29ydE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBIZWFkZXJNZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vaGVhZGVyLW1lbnUvaGVhZGVyLW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBMZXREaXJlY3RpdmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2x1bW5Ub3RhbFBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9jb2x1bW4tdG90YWwucGlwZSc7XHJcbmltcG9ydCB7IFN0eWxlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9kaXJlY3RpdmVzL3N0eWxlcic7XHJcbmltcG9ydCB7IGNvbHVtblN0eWxlcyB9IGZyb20gJy4vY29sdW1uLWhlbHBlcnMnO1xyXG5pbXBvcnQgeyBUYWJsZUJ1aWxkZXJDb25maWdUb2tlbiB9IGZyb20gJy4uLy4uL2NsYXNzZXMvVGFibGVCdWlsZGVyQ29uZmlnJztcclxuaW1wb3J0IHsgTGlua0luZm8gfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9saW5rLWNyZWF0b3Iuc2VydmljZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi1idWlsZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb2x1bW4tYnVpbGRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHZpZXdQcm92aWRlcnM6IFtcclxuICAgIHsgcHJvdmlkZTogQ0RLX0RST1BfTElTVCwgdXNlRXhpc3Rpbmc6IENka0Ryb3BMaXN0IH0sXHJcbiAgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdFRhYmxlTW9kdWxlLCBOZ1RlbXBsYXRlT3V0bGV0LCBSZXNpemVDb2x1bW5EaXJlY3RpdmUsIEZ1bmN0aW9uUGlwZSwgU3R5bGVyRGlyZWN0aXZlLFxyXG4gICAgQ29uZGl0aW9uYWxDbGFzc2VzRGlyZWN0aXZlLCBEcmFnRHJvcE1vZHVsZSwgTWF0U29ydE1vZHVsZSwgU3BhY2VDYXNlUGlwZSwgSGVhZGVyTWVudUNvbXBvbmVudCxcclxuICAgIEFzeW5jUGlwZSwgTWF0VG9vbHRpcE1vZHVsZSwgTGV0RGlyZWN0aXZlLCBDb2x1bW5Ub3RhbFBpcGUsIEN1cnJlbmN5UGlwZSwgRGVjaW1hbFBpcGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb2x1bW5CdWlsZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKE1hdENvbHVtbkRlZikgY29sdW1uRGVmITogTWF0Q29sdW1uRGVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2JvZHknKSBib2R5VGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIHRhYmxlQ29uZmlnID0gaW5qZWN0KFRhYmxlQnVpbGRlckNvbmZpZ1Rva2VuKTtcclxuICBGaWVsZFR5cGUgPSBGaWVsZFR5cGU7XHJcbiAgZmlsdGVyITogUGFydGlhbDxGaWx0ZXJJbmZvPjtcclxuICBfbWV0YURhdGEhOiBNZXRhRGF0YTtcclxuICBnZXQgbWV0YURhdGEoKXtcclxuICAgIHJldHVybiB0aGlzLl9tZXRhRGF0YTtcclxuICB9XHJcbiAgc2V0IG1ldGFEYXRhKG1kOiBNZXRhRGF0YSl7XHJcbiAgICBpZih0aGlzLm1ldGFEYXRhICYmIHRoaXMubWV0YURhdGEuZmllbGRUeXBlICE9PSBtZC5maWVsZFR5cGUpe1xyXG4gICAgICB0aGlzLl9tZXRhRGF0YSA9IG1kO1xyXG4gICAgICB0aGlzLmluaXRpYWxTZXRVcCgpO1xyXG4gICAgICB0aGlzLmZ1cnRoZXJTZXRVcCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fbWV0YURhdGEgPSBtZDtcclxuICAgIH1cclxuICB9XHJcbiAgY3VzdG9tQ2VsbD86IEN1c3RvbUNlbGxEaXJlY3RpdmUgPSB1bmRlZmluZWQ7XHJcbiAgZGF0YSQhOiBPYnNlcnZhYmxlPGFueVtdPjtcclxuXHJcbiAgb3V0ZXJUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgaW5uZXJUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgdHJhbnNmb3JtITogKG86IGFueSwgLi4uYXJnczogYW55W10pPT4gYW55IDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRyYW5zZm9ybUNyZWF0b3I6IFRyYW5zZm9ybUNyZWF0b3IsXHJcbiAgICBwcml2YXRlIHRhYmxlOiBNYXRUYWJsZTxhbnk+LFxyXG4gICAgcHVibGljIHN0YXRlOiBUYWJsZVN0b3JlLFxyXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVNlcnZpY2U6IFRhYmxlVGVtcGxhdGVTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgICkgeyB9XHJcblxyXG4gIGdldElubmVyVGVtcGxhdGUoKSA6VGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICBpZih0aGlzLm1ldGFEYXRhLnRlbXBsYXRlKSByZXR1cm4gdGhpcy5tZXRhRGF0YS50ZW1wbGF0ZTtcclxuICAgIGlmICh0aGlzLmN1c3RvbUNlbGw/LlRlbXBsYXRlUmVmKSAgcmV0dXJuIHRoaXMuY3VzdG9tQ2VsbC5UZW1wbGF0ZVJlZjtcclxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlU2VydmljZS5nZXRUZW1wbGF0ZSh0aGlzLm1ldGFEYXRhKTtcclxuICB9XHJcbiAgc2hvd0ZpbHRlcnMkITogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICBnZXRPdXRlclRlbXBsYXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY3VzdG9tQ2VsbD8uY29sdW1uRGVmPy5jZWxsPy50ZW1wbGF0ZSA/PyB0aGlzLmJvZHlUZW1wbGF0ZTtcclxuICB9XHJcbiAgY2xhc3Nlcz86IERpY3Rpb25hcnk8UHJlZGljYXRlPGFueT4+O1xyXG4gIHN0eWxlcyA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiBjb2x1bW5TdHlsZXModGhpcy5tZXRhRGF0YSwgdGhpcy5zdGF0ZS5nZXRVc2VyRGVmaW5lZFdpZHRoKHRoaXMubWV0YURhdGEua2V5KSgpKVxyXG4gIH0pXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmluaXRpYWxTZXRVcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5mdXJ0aGVyU2V0VXAoKTtcclxuICAgIHRoaXMudGFibGUuYWRkQ29sdW1uRGVmKHRoaXMuY29sdW1uRGVmKTtcclxuICB9XHJcblxyXG4gIGluaXRpYWxTZXRVcCgpe1xyXG4gICAgaWYodGhpcy5tZXRhRGF0YS5maWVsZFR5cGUgPT09IEZpZWxkVHlwZS5DdXJyZW5jeSkge1xyXG4gICAgICB0aGlzLmNsYXNzZXMgPSB7XHJcbiAgICAgICAgWyduZWdhdGl2ZS1jdXJyZW5jeSddOiAoZWxlbWVudCkgPT4gZWxlbWVudFt0aGlzLm1ldGFEYXRhLmtleV0gPCAwLFxyXG4gICAgICAgIC4uLnRoaXMubWV0YURhdGEuY2xhc3Nlc1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5jbGFzc2VzID0gdGhpcy5tZXRhRGF0YS5jbGFzc2VzO1xyXG4gICAgfVxyXG4gICAgdGhpcy5maWx0ZXIgPSB7a2V5OiB0aGlzLm1ldGFEYXRhLmtleSwgZmllbGRUeXBlOiB0aGlzLm1ldGFEYXRhLmZpZWxkVHlwZX07XHJcblxyXG4gICAgdGhpcy5zaG93RmlsdGVycyQgPSB0aGlzLnN0YXRlLnRhYmxlU2V0dGluZ3MkLnBpcGUobWFwKHNldHRpbmdzID0+ICEoc2V0dGluZ3MuaGlkZUNvbHVtbkhlYWRlckZpbHRlcnMgfHwgdGhpcy5tZXRhRGF0YS5ub0ZpbHRlcikpKTtcclxuICAgIHRoaXMuYWRkaXRpb25hbCA9IHRoaXMubWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuTGlua1xyXG4gICAgICA/IHRoaXMuc3RhdGUuZ2V0TGlua0luZm8odGhpcy5tZXRhRGF0YSkoKVxyXG4gICAgICA6XHJcbiAgICAgIHRoaXMubWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQXJyYXlcclxuICAgICAgPyAodGhpcy5tZXRhRGF0YS5hZGRpdGlvbmFsIGFzIEFycmF5QWRkaXRpb25hbCk/LmxpbWl0IHx8IHRoaXMudGFibGVDb25maWc/LmFycmF5SW5mbz8uYXJyYXlTdHlsZVxyXG4gICAgICA6IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIGZ1cnRoZXJTZXRVcCgpe1xyXG4gICAgdGhpcy5vdXRlclRlbXBsYXRlID0gdGhpcy5nZXRPdXRlclRlbXBsYXRlKCk7XHJcbiAgICB0aGlzLmlubmVyVGVtcGxhdGUgPSB0aGlzLmdldElubmVyVGVtcGxhdGUoKTtcclxuICAgIHRoaXMudHJhbnNmb3JtID0gdGhpcy50cmFuc2Zvcm1DcmVhdG9yLmNyZWF0ZVRyYW5zZm9ybWVyKHRoaXMubWV0YURhdGEpO1xyXG4gIH1cclxuXHJcbiAgY2VsbENsaWNrZWQoZWxlbWVudDogYW55LCBrZXk6IHN0cmluZykge1xyXG4gICAgaWYodGhpcy5tZXRhRGF0YS5jbGljaykge1xyXG4gICAgICB0aGlzLm1ldGFEYXRhLmNsaWNrKGVsZW1lbnQsa2V5KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFRvb2x0aXAgPSAoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICBpZih0eXBlb2YgdGhpcy5tZXRhRGF0YS50b29sVGlwID09PSAnc3RyaW5nJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5tZXRhRGF0YS50b29sVGlwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMubWV0YURhdGEudG9vbFRpcCEoZWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBhZGRpdGlvbmFsOiBMaW5rSW5mbyB8IG51bWJlciB8IHVuZGVmaW5lZDtcclxufVxyXG4iLCI8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPVwibWV0YURhdGEua2V5XCIgKm5ncnhMZXQ9XCJzdHlsZXMoKSBhcyBzdHlsZXNcIiA+XHJcblxyXG4gIDwhLS0gaGVhZGVyIC0tPlxyXG4gIDxuZy10ZW1wbGF0ZSBtYXRIZWFkZXJDZWxsRGVmICNteUhlYWRlcj5cclxuICAgIDxtYXQtaGVhZGVyLWNlbGwgY2RrRHJhZyBbc3R5bGVdPSdzdHlsZXMuaGVhZGVyJyByZXNpemVDb2x1bW4gW2tleV09XCJtZXRhRGF0YS5rZXlcIiBjbGFzcz1cImNvbHVtbi1oZWFkXCIgXHJcbiAgICAgIFtjbGFzc109J21ldGFEYXRhLmFkZGl0aW9uYWw/LmNvbHVtblBhcnRDbGFzc2VzPy5oZWFkZXInPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWNvbnRhaW5lclwiIGNka0RyYWdIYW5kbGU+XHJcbiAgICAgICAgQGlmKCFjdXN0b21DZWxsPy5jb2x1bW5EZWY/LmhlYWRlckNlbGwpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBAaWYobWV0YURhdGEuZmllbGRUeXBlICE9PSBGaWVsZFR5cGUuTm90TWFwcGVkICAmJiAhY3VzdG9tQ2VsbD8uY29sdW1uRGVmPy5jZWxsKXtcclxuICAgICAgICAgICAgICA8ZGl2IG1hdC1zb3J0LWhlYWRlciBbZGlzYWJsZWRdPVwibWV0YURhdGEubm9Tb3J0XCIgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxyXG4gICAgICAgICAgICAgICAge3sgbWV0YURhdGEuZGlzcGxheU5hbWUgPyAgbWV0YURhdGEuZGlzcGxheU5hbWUgOiAoIG1ldGFEYXRhLmtleSB8IHNwYWNlQ2FzZSApIH19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYobWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuTm90TWFwcGVkKXtcclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cclxuICAgICAgICAgICAgICAgIHt7IG1ldGFEYXRhLmRpc3BsYXlOYW1lID8gIG1ldGFEYXRhLmRpc3BsYXlOYW1lIDogKCBtZXRhRGF0YS5rZXkgfCBzcGFjZUNhc2UgKSB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZighY3VzdG9tQ2VsbD8uY29sdW1uRGVmPy5jZWxsICYmIChzaG93RmlsdGVycyQgfCBhc3luYykpe1xyXG4gICAgICAgICAgICAgIDx0Yi1oZWFkZXItbWVudSAjbWVudSBbbWV0YURhdGFdPSdtZXRhRGF0YScgLz5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAZWxzZVxyXG4gICAgICAgIHtcclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21DZWxsIS5jb2x1bW5EZWYuaGVhZGVyQ2VsbC50ZW1wbGF0ZTsgY29udGV4dDoge21ldGFEYXRhOiBtZXRhRGF0YSwgc3R5bGVzOiAgc3R5bGVzLmhlYWRlcn0gXCI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPCEtLSBib2R5IC0tPlxyXG4gIDxuZy1jb250YWluZXIgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudDtcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJvdXRlclRlbXBsYXRlOyBjb250ZXh0OiB7IG1ldGFEYXRhOiBtZXRhRGF0YSwgZWxlbWVudDogZWxlbWVudCAsIHN0eWxlczogc3R5bGVzLmJvZHksICRpbXBsaWNpdDogZWxlbWVudCB9XCIvPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYm9keSBsZXQtZWxlbWVudD0nZWxlbWVudCcgPlxyXG4gICAgPG1hdC1jZWxsICBbbWF0VG9vbHRpcF09XCJtZXRhRGF0YS50b29sVGlwID8gKGdldFRvb2x0aXAgfCBmdW5jIDogZWxlbWVudCkgOiAnJ1wiICBbY29uZGl0aW9uYWxDbGFzc2VzXT0nbWV0YURhdGEuY2xhc3NlcycgW2VsZW1lbnRdPSdlbGVtZW50JyBbc3R5bGVyXT0nc3R5bGVzLmJvZHknIChjbGljayk9J2NlbGxDbGlja2VkKGVsZW1lbnQsIG1ldGFEYXRhLmtleSknID5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlubmVyVGVtcGxhdGU7IGNvbnRleHQ6IHsgdmFsdWU6ICh0cmFuc2Zvcm0gfCBmdW5jIDogZWxlbWVudCksIGVsZW1lbnQ6IGVsZW1lbnQsIGFkZGl0aW9uYWw6IGFkZGl0aW9uYWwsICRpbXBsaWNpdDogZWxlbWVudCB9OyBJbmplY3RvcjogaW5qZWN0b3JcIiAvPlxyXG4gICAgPC9tYXQtY2VsbD5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIFxyXG4gIDwhLS0gZm9vdGVyIC0tPlxyXG4gIDxuZy10ZW1wbGF0ZSBtYXRGb290ZXJDZWxsRGVmPlxyXG4gICAgQGlmKGN1c3RvbUNlbGw/LmNvbHVtbkRlZj8uZm9vdGVyQ2VsbCl7XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21DZWxsIS5jb2x1bW5EZWYuZm9vdGVyQ2VsbC50ZW1wbGF0ZTtjb250ZXh0OiB7bWV0YURhdGE6IG1ldGFEYXRhLCBkYXRhOiBkYXRhJCwgc3R5bGVzIDogc3R5bGVzLmZvb3RlciB9XCIvPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIDxtYXQtZm9vdGVyLWNlbGwgIFtzdHlsZV09J3N0eWxlcy5mb290ZXInICpuZ3J4TGV0PVwiZGF0YSQgYXMgZGF0YVwiIFtjbGFzc109J21ldGFEYXRhLmFkZGl0aW9uYWw/LmNvbHVtblBhcnRDbGFzc2VzPy5mb290ZXInPlxyXG4gICAgICAgIEBpZighIWRhdGE/Lmxlbmd0aCAmJiBtZXRhRGF0YS5hZGRpdGlvbmFsPy5mb290ZXIpe1xyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJib2xkXCI+XHJcbiAgICAgICAgICAgIEBzd2l0Y2ggKG1ldGFEYXRhLmZpZWxkVHlwZSkge1xyXG4gICAgICAgICAgICAgIEBjYXNlIChGaWVsZFR5cGUuQ3VycmVuY3kpIHsge3sgZGF0YSB8IGNvbHVtblRvdGFsOiBtZXRhRGF0YSB8IGN1cnJlbmN5IH19IH1cclxuICAgICAgICAgICAgICBAY2FzZSAoRmllbGRUeXBlLk51bWJlcikgeyB7eyBkYXRhIHwgY29sdW1uVG90YWw6IG1ldGFEYXRhIHwgbnVtYmVyIH19IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgPC9tYXQtZm9vdGVyLWNlbGw+XHJcbiAgICB9XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWJ1aWxkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9jb2x1bW4tYnVpbGRlci9jb2x1bW4tYnVpbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2NvbHVtbi1idWlsZGVyL2NvbHVtbi1idWlsZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQWUsU0FBUyxFQUFxQixRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxSSxPQUFPLEVBQW1CLFNBQVMsRUFBWSxNQUFNLDZCQUE2QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWpGLE9BQU8sRUFBdUIscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXBGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFD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QkFBcUIsdUZBQUUsWUFBWSw2Q0FBRSxlQUFlLG9GQUN0RiwyQkFBMkIsMkdBQUUsY0FBYywrbEJBQUUsYUFBYSxpUEFBRSxhQUFhLGtEQUFFLG1CQUFtQiw0RUFDOUYsU0FBUyw2Q0FBRSxnQkFBZ0IsNlRBQUUsWUFBWSw0RkFBRSxlQUFlLCtDQUFFLFlBQVksNENBQUUsV0FBVyxvQ0FQeEU7WUFDYixFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRTtTQUNyRDs7MkZBUVUsc0JBQXNCO2tCQWRsQyxTQUFTO3NDQUdTLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDO3dCQUNiLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFO3FCQUNyRCxjQUNXLElBQUksV0FDUDt3QkFDUCxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsWUFBWSxFQUFFLGVBQWU7d0JBQ3RGLDJCQUEyQixFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLG1CQUFtQjt3QkFDOUYsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFdBQVc7cUJBQ3RGOzhCQVN3QixTQUFTO3NCQUFqQyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ0osWUFBWTtzQkFBOUIsU0FBUzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgT25Jbml0LCBQcmVkaWNhdGUsIEluamVjdG9yLCBjb21wdXRlZCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFycmF5QWRkaXRpb25hbCwgRmllbGRUeXBlLCBNZXRhRGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XHJcbmltcG9ydCB7IE1hdENvbHVtbkRlZiwgTWF0VGFibGUsIE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEN1c3RvbUNlbGxEaXJlY3RpdmUsIFJlc2l6ZUNvbHVtbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBGaWx0ZXJJbmZvIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9maWx0ZXItaW5mbyc7XHJcbmltcG9ydCB7IFRyYW5zZm9ybUNyZWF0b3IgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2Zvcm0tY3JlYXRvcic7XHJcbmltcG9ydCB7IFRhYmxlU3RvcmUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3RhYmxlLXN0b3JlJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBUYWJsZVRlbXBsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RhYmxlLXRlbXBsYXRlLXNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDZGtEcm9wTGlzdCwgQ0RLX0RST1BfTElTVCwgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ0BuZ3J4L2VudGl0eSc7XHJcbmltcG9ydCB7IEFzeW5jUGlwZSwgQ3VycmVuY3lQaXBlLCBEZWNpbWFsUGlwZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbmRpdGlvbmFsQ2xhc3Nlc0RpcmVjdGl2ZSwgRnVuY3Rpb25QaXBlLCBTcGFjZUNhc2VQaXBlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzJztcclxuaW1wb3J0IHsgTWF0U29ydE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBIZWFkZXJNZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vaGVhZGVyLW1lbnUvaGVhZGVyLW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBMZXREaXJlY3RpdmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2x1bW5Ub3RhbFBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9jb2x1bW4tdG90YWwucGlwZSc7XHJcbmltcG9ydCB7IFN0eWxlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9kaXJlY3RpdmVzL3N0eWxlcic7XHJcbmltcG9ydCB7IGNvbHVtblN0eWxlcyB9IGZyb20gJy4vY29sdW1uLWhlbHBlcnMnO1xyXG5pbXBvcnQgeyBUYWJsZUJ1aWxkZXJDb25maWdUb2tlbiB9IGZyb20gJy4uLy4uL2NsYXNzZXMvVGFibGVCdWlsZGVyQ29uZmlnJztcclxuaW1wb3J0IHsgTGlua0luZm8gfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9saW5rLWNyZWF0b3Iuc2VydmljZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi1idWlsZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb2x1bW4tYnVpbGRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHZpZXdQcm92aWRlcnM6IFtcclxuICAgIHsgcHJvdmlkZTogQ0RLX0RST1BfTElTVCwgdXNlRXhpc3Rpbmc6IENka0Ryb3BMaXN0IH0sXHJcbiAgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdFRhYmxlTW9kdWxlLCBOZ1RlbXBsYXRlT3V0bGV0LCBSZXNpemVDb2x1bW5EaXJlY3RpdmUsIEZ1bmN0aW9uUGlwZSwgU3R5bGVyRGlyZWN0aXZlLFxyXG4gICAgQ29uZGl0aW9uYWxDbGFzc2VzRGlyZWN0aXZlLCBEcmFnRHJvcE1vZHVsZSwgTWF0U29ydE1vZHVsZSwgU3BhY2VDYXNlUGlwZSwgSGVhZGVyTWVudUNvbXBvbmVudCxcclxuICAgIEFzeW5jUGlwZSwgTWF0VG9vbHRpcE1vZHVsZSwgTGV0RGlyZWN0aXZlLCBDb2x1bW5Ub3RhbFBpcGUsIEN1cnJlbmN5UGlwZSwgRGVjaW1hbFBpcGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb2x1bW5CdWlsZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwcml2YXRlIHRyYW5zZm9ybUNyZWF0b3IgPSBpbmplY3QoVHJhbnNmb3JtQ3JlYXRvcik7XHJcbiAgcHJpdmF0ZSB0YWJsZSA9IGluamVjdDxNYXRUYWJsZTxhbnk+PihNYXRUYWJsZSk7XHJcbiAgcHJpdmF0ZSBzdGF0ZSA9IGluamVjdChUYWJsZVN0b3JlKTtcclxuICBwcml2YXRlIHRlbXBsYXRlU2VydmljZSA9IGluamVjdChUYWJsZVRlbXBsYXRlU2VydmljZSk7XHJcbiAgcHJvdGVjdGVkIGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcclxuXHJcbiAgQFZpZXdDaGlsZChNYXRDb2x1bW5EZWYpIGNvbHVtbkRlZiE6IE1hdENvbHVtbkRlZjtcclxuICBAVmlld0NoaWxkKCdib2R5JykgYm9keVRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuICB0YWJsZUNvbmZpZyA9IGluamVjdChUYWJsZUJ1aWxkZXJDb25maWdUb2tlbik7XHJcbiAgRmllbGRUeXBlID0gRmllbGRUeXBlO1xyXG4gIGZpbHRlciE6IFBhcnRpYWw8RmlsdGVySW5mbz47XHJcbiAgX21ldGFEYXRhITogTWV0YURhdGE7XHJcbiAgZ2V0IG1ldGFEYXRhKCl7XHJcbiAgICByZXR1cm4gdGhpcy5fbWV0YURhdGE7XHJcbiAgfVxyXG4gIHNldCBtZXRhRGF0YShtZDogTWV0YURhdGEpe1xyXG4gICAgaWYodGhpcy5tZXRhRGF0YSAmJiB0aGlzLm1ldGFEYXRhLmZpZWxkVHlwZSAhPT0gbWQuZmllbGRUeXBlKXtcclxuICAgICAgdGhpcy5fbWV0YURhdGEgPSBtZDtcclxuICAgICAgdGhpcy5pbml0aWFsU2V0VXAoKTtcclxuICAgICAgdGhpcy5mdXJ0aGVyU2V0VXAoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX21ldGFEYXRhID0gbWQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGN1c3RvbUNlbGw/OiBDdXN0b21DZWxsRGlyZWN0aXZlID0gdW5kZWZpbmVkO1xyXG4gIGRhdGEkITogT2JzZXJ2YWJsZTxhbnlbXT47XHJcblxyXG4gIG91dGVyVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIGlubmVyVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIHRyYW5zZm9ybSE6IChvOiBhbnksIC4uLmFyZ3M6IGFueVtdKT0+IGFueSA7XHJcblxyXG4gIGdldElubmVyVGVtcGxhdGUoKSA6VGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICBpZih0aGlzLm1ldGFEYXRhLnRlbXBsYXRlKSByZXR1cm4gdGhpcy5tZXRhRGF0YS50ZW1wbGF0ZTtcclxuICAgIGlmICh0aGlzLmN1c3RvbUNlbGw/LlRlbXBsYXRlUmVmKSAgcmV0dXJuIHRoaXMuY3VzdG9tQ2VsbC5UZW1wbGF0ZVJlZjtcclxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlU2VydmljZS5nZXRUZW1wbGF0ZSh0aGlzLm1ldGFEYXRhKTtcclxuICB9XHJcbiAgc2hvd0ZpbHRlcnMkITogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICBnZXRPdXRlclRlbXBsYXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY3VzdG9tQ2VsbD8uY29sdW1uRGVmPy5jZWxsPy50ZW1wbGF0ZSA/PyB0aGlzLmJvZHlUZW1wbGF0ZTtcclxuICB9XHJcbiAgY2xhc3Nlcz86IERpY3Rpb25hcnk8UHJlZGljYXRlPGFueT4+O1xyXG4gIHN0eWxlcyA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiBjb2x1bW5TdHlsZXModGhpcy5tZXRhRGF0YSwgdGhpcy5zdGF0ZS5nZXRVc2VyRGVmaW5lZFdpZHRoKHRoaXMubWV0YURhdGEua2V5KSgpKVxyXG4gIH0pXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmluaXRpYWxTZXRVcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5mdXJ0aGVyU2V0VXAoKTtcclxuICAgIHRoaXMudGFibGUuYWRkQ29sdW1uRGVmKHRoaXMuY29sdW1uRGVmKTtcclxuICB9XHJcblxyXG4gIGluaXRpYWxTZXRVcCgpe1xyXG4gICAgaWYodGhpcy5tZXRhRGF0YS5maWVsZFR5cGUgPT09IEZpZWxkVHlwZS5DdXJyZW5jeSkge1xyXG4gICAgICB0aGlzLmNsYXNzZXMgPSB7XHJcbiAgICAgICAgWyduZWdhdGl2ZS1jdXJyZW5jeSddOiAoZWxlbWVudCkgPT4gZWxlbWVudFt0aGlzLm1ldGFEYXRhLmtleV0gPCAwLFxyXG4gICAgICAgIC4uLnRoaXMubWV0YURhdGEuY2xhc3Nlc1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5jbGFzc2VzID0gdGhpcy5tZXRhRGF0YS5jbGFzc2VzO1xyXG4gICAgfVxyXG4gICAgdGhpcy5maWx0ZXIgPSB7a2V5OiB0aGlzLm1ldGFEYXRhLmtleSwgZmllbGRUeXBlOiB0aGlzLm1ldGFEYXRhLmZpZWxkVHlwZX07XHJcblxyXG4gICAgdGhpcy5zaG93RmlsdGVycyQgPSB0aGlzLnN0YXRlLnRhYmxlU2V0dGluZ3MkLnBpcGUobWFwKHNldHRpbmdzID0+ICEoc2V0dGluZ3MuaGlkZUNvbHVtbkhlYWRlckZpbHRlcnMgfHwgdGhpcy5tZXRhRGF0YS5ub0ZpbHRlcikpKTtcclxuICAgIHRoaXMuYWRkaXRpb25hbCA9IHRoaXMubWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuTGlua1xyXG4gICAgICA/IHRoaXMuc3RhdGUuZ2V0TGlua0luZm8odGhpcy5tZXRhRGF0YSkoKVxyXG4gICAgICA6XHJcbiAgICAgIHRoaXMubWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQXJyYXlcclxuICAgICAgPyAodGhpcy5tZXRhRGF0YS5hZGRpdGlvbmFsIGFzIEFycmF5QWRkaXRpb25hbCk/LmxpbWl0IHx8IHRoaXMudGFibGVDb25maWc/LmFycmF5SW5mbz8uYXJyYXlTdHlsZVxyXG4gICAgICA6IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIGZ1cnRoZXJTZXRVcCgpe1xyXG4gICAgdGhpcy5vdXRlclRlbXBsYXRlID0gdGhpcy5nZXRPdXRlclRlbXBsYXRlKCk7XHJcbiAgICB0aGlzLmlubmVyVGVtcGxhdGUgPSB0aGlzLmdldElubmVyVGVtcGxhdGUoKTtcclxuICAgIHRoaXMudHJhbnNmb3JtID0gdGhpcy50cmFuc2Zvcm1DcmVhdG9yLmNyZWF0ZVRyYW5zZm9ybWVyKHRoaXMubWV0YURhdGEpO1xyXG4gIH1cclxuXHJcbiAgY2VsbENsaWNrZWQoZWxlbWVudDogYW55LCBrZXk6IHN0cmluZykge1xyXG4gICAgaWYodGhpcy5tZXRhRGF0YS5jbGljaykge1xyXG4gICAgICB0aGlzLm1ldGFEYXRhLmNsaWNrKGVsZW1lbnQsa2V5KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFRvb2x0aXAgPSAoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICBpZih0eXBlb2YgdGhpcy5tZXRhRGF0YS50b29sVGlwID09PSAnc3RyaW5nJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5tZXRhRGF0YS50b29sVGlwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMubWV0YURhdGEudG9vbFRpcCEoZWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBhZGRpdGlvbmFsOiBMaW5rSW5mbyB8IG51bWJlciB8IHVuZGVmaW5lZDtcclxufVxyXG4iLCI8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPVwibWV0YURhdGEua2V5XCIgKm5ncnhMZXQ9XCJzdHlsZXMoKSBhcyBzdHlsZXNcIiA+XHJcblxyXG4gIDwhLS0gaGVhZGVyIC0tPlxyXG4gIDxuZy10ZW1wbGF0ZSBtYXRIZWFkZXJDZWxsRGVmICNteUhlYWRlcj5cclxuICAgIDxtYXQtaGVhZGVyLWNlbGwgY2RrRHJhZyBbc3R5bGVdPSdzdHlsZXMuaGVhZGVyJyByZXNpemVDb2x1bW4gW2tleV09XCJtZXRhRGF0YS5rZXlcIiBjbGFzcz1cImNvbHVtbi1oZWFkXCJcclxuICAgICAgW2NsYXNzXT0nbWV0YURhdGEuYWRkaXRpb25hbD8uY29sdW1uUGFydENsYXNzZXM/LmhlYWRlcic+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItY29udGFpbmVyXCIgY2RrRHJhZ0hhbmRsZT5cclxuICAgICAgICBAaWYoIWN1c3RvbUNlbGw/LmNvbHVtbkRlZj8uaGVhZGVyQ2VsbClcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIEBpZihtZXRhRGF0YS5maWVsZFR5cGUgIT09IEZpZWxkVHlwZS5Ob3RNYXBwZWQpe1xyXG4gICAgICAgICAgICAgIDxkaXYgbWF0LXNvcnQtaGVhZGVyIFtkaXNhYmxlZF09XCJtZXRhRGF0YS5ub1NvcnRcIiBzdHlsZT1cIndpZHRoOiAxMDAlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBtZXRhRGF0YS5kaXNwbGF5TmFtZSA/ICBtZXRhRGF0YS5kaXNwbGF5TmFtZSA6ICggbWV0YURhdGEua2V5IHwgc3BhY2VDYXNlICkgfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfSBAZWxzZSBpZihtZXRhRGF0YS5maWVsZFR5cGUgPT09IEZpZWxkVHlwZS5Ob3RNYXBwZWQpe1xyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxyXG4gICAgICAgICAgICAgICAge3sgbWV0YURhdGEuZGlzcGxheU5hbWUgPyAgbWV0YURhdGEuZGlzcGxheU5hbWUgOiAoIG1ldGFEYXRhLmtleSB8IHNwYWNlQ2FzZSApIH19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmKCFjdXN0b21DZWxsPy5jb2x1bW5EZWY/LmNlbGwgJiYgKHNob3dGaWx0ZXJzJCB8IGFzeW5jKSl7XHJcbiAgICAgICAgICAgICAgPHRiLWhlYWRlci1tZW51ICNtZW51IFttZXRhRGF0YV09J21ldGFEYXRhJyAvPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbUNlbGwhLmNvbHVtbkRlZiEuaGVhZGVyQ2VsbC50ZW1wbGF0ZTsgY29udGV4dDoge21ldGFEYXRhOiBtZXRhRGF0YSwgc3R5bGVzOiAgc3R5bGVzLmhlYWRlcn0gXCI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPCEtLSBib2R5IC0tPlxyXG4gIDxuZy1jb250YWluZXIgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudDtcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJvdXRlclRlbXBsYXRlOyBjb250ZXh0OiB7IG1ldGFEYXRhOiBtZXRhRGF0YSwgZWxlbWVudDogZWxlbWVudCAsIHN0eWxlczogc3R5bGVzLmJvZHksICRpbXBsaWNpdDogZWxlbWVudCB9XCIvPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYm9keSBsZXQtZWxlbWVudD0nZWxlbWVudCcgPlxyXG4gICAgPG1hdC1jZWxsICBbbWF0VG9vbHRpcF09XCJtZXRhRGF0YS50b29sVGlwID8gKGdldFRvb2x0aXAgfCBmdW5jIDogZWxlbWVudCkgOiAnJ1wiICBbY29uZGl0aW9uYWxDbGFzc2VzXT0nbWV0YURhdGEuY2xhc3NlcycgW2VsZW1lbnRdPSdlbGVtZW50JyBbc3R5bGVyXT0nc3R5bGVzLmJvZHknIChjbGljayk9J2NlbGxDbGlja2VkKGVsZW1lbnQsIG1ldGFEYXRhLmtleSknID5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlubmVyVGVtcGxhdGU7IGNvbnRleHQ6IHsgdmFsdWU6ICh0cmFuc2Zvcm0gfCBmdW5jIDogZWxlbWVudCksIGVsZW1lbnQ6IGVsZW1lbnQsIGFkZGl0aW9uYWw6IGFkZGl0aW9uYWwsICRpbXBsaWNpdDogZWxlbWVudCB9OyBJbmplY3RvcjogaW5qZWN0b3JcIiAvPlxyXG4gICAgPC9tYXQtY2VsbD5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8IS0tIGZvb3RlciAtLT5cclxuICA8bmctdGVtcGxhdGUgbWF0Rm9vdGVyQ2VsbERlZj5cclxuICAgIEBpZihjdXN0b21DZWxsPy5jb2x1bW5EZWY/LmZvb3RlckNlbGwpe1xyXG4gICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tQ2VsbCEuY29sdW1uRGVmIS5mb290ZXJDZWxsLnRlbXBsYXRlO2NvbnRleHQ6IHttZXRhRGF0YTogbWV0YURhdGEsIGRhdGE6IGRhdGEkLCBzdHlsZXMgOiBzdHlsZXMuZm9vdGVyIH1cIi8+XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgPG1hdC1mb290ZXItY2VsbCAgW3N0eWxlXT0nc3R5bGVzLmZvb3RlcicgKm5ncnhMZXQ9XCJkYXRhJCBhcyBkYXRhXCIgW2NsYXNzXT0nbWV0YURhdGEuYWRkaXRpb25hbD8uY29sdW1uUGFydENsYXNzZXM/LmZvb3Rlcic+XHJcbiAgICAgICAgQGlmKCEhZGF0YT8ubGVuZ3RoICYmIG1ldGFEYXRhLmFkZGl0aW9uYWw/LmZvb3Rlcil7XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImJvbGRcIj5cclxuICAgICAgICAgICAgQHN3aXRjaCAobWV0YURhdGEuZmllbGRUeXBlKSB7XHJcbiAgICAgICAgICAgICAgQGNhc2UgKEZpZWxkVHlwZS5DdXJyZW5jeSkgeyB7eyBkYXRhIHwgY29sdW1uVG90YWw6IG1ldGFEYXRhIHwgY3VycmVuY3kgfX0gfVxyXG4gICAgICAgICAgICAgIEBjYXNlIChGaWVsZFR5cGUuTnVtYmVyKSB7IHt7IGRhdGEgfCBjb2x1bW5Ub3RhbDogbWV0YURhdGEgfCBudW1iZXIgfX0gfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgPC9tYXQtZm9vdGVyLWNlbGw+XHJcbiAgICB9XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
@@ -10,13 +10,13 @@ import * as i2 from "@angular/material/form-field";
10
10
  import * as i3 from "@angular/forms";
11
11
  import * as i4 from "@angular/material/datepicker";
12
12
  export class DateFilterComponent {
13
- constructor() {
14
- this.FilterType = FilterType;
15
- }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: DateFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: DateFilterComponent, isStandalone: true, selector: "tb-date-filter", inputs: { info: "info", CurrentFilterType: "CurrentFilterType" }, ngImport: i0, template: "@if (CurrentFilterType !== FilterType.DateBetween && CurrentFilterType !== FilterType.IsNull) {\r\n <mat-form-field>\r\n <input matInput name=\"filterValue\" [ngModel]=\"info.filterValue\" [matDatepicker]=\"cal\"/>\r\n <mat-datepicker-toggle class=\"small-button date-toggle\" matSuffix [for]=\"cal\" preventEnter />\r\n <mat-datepicker #cal />\r\n </mat-form-field>\r\n}\r\n@if(CurrentFilterType === FilterType.DateBetween){\r\n <ng-container ngModelGroup=\"filterValue\">\r\n <mat-form-field class=\"my-filter\" >\r\n <input matInput name=\"Start\" [ngModel]=\"info.filterValue?.Start\" placeholder=\"From\" [matDatepicker]=\"fromVal\"\r\n (click)=\"fromVal.open()\"/>\r\n <mat-datepicker-toggle matSuffix class=\"small-button date-toggle\" [for]=\"fromVal\" preventEnter />\r\n <mat-datepicker #fromVal></mat-datepicker>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput name=\"End\" [ngModel]=\"info.filterValue?.End\" placeholder=\"To\" [matDatepicker]=\"toVal\" (click)=\"toVal.open()\"/>\r\n <mat-datepicker-toggle matSuffix class=\"small-button date-toggle\" [for]=\"toVal\" preventEnter />\r\n <mat-datepicker #toVal />\r\n </mat-form-field>\r\n </ng-container>\r\n}\r\n\r\n", styles: [".filter-name{color:#6495ed;margin:10px 0;font-weight:600;display:inline-block}.switch{display:inline-block}.my-filter{margin-right:15px}.cancel-button{float:right}.head-row{width:100%}.filter-row{width:fit-content}mat-card.filter-card::ng-deep mat-form-field{width:150px}mat-card.filter-card::ng-deep .mat-mdc-form-field-subscript-wrapper{line-height:0}mat-card.filter-card::ng-deep .mat-mdc-form-field-subscript-wrapper:before{height:0}.inline{display:inline-block}.small-button{height:18px;width:18px;font-size:18px;padding:0;margin:0}.small-button ::ng-deep *{line-height:initial;font-size:initial;height:18px;width:18px;font-size:18px;bottom:initial}.cancel-button{float:right;font-weight:700}.date-toggle ::ng-deep svg{position:absolute;left:0;top:0}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgModelGroup, selector: "[ngModelGroup]", inputs: ["ngModelGroup"], exportAs: ["ngModelGroup"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13
+ FilterType = FilterType;
14
+ info;
15
+ CurrentFilterType;
16
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DateFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: DateFilterComponent, isStandalone: true, selector: "tb-date-filter", inputs: { info: "info", CurrentFilterType: "CurrentFilterType" }, ngImport: i0, template: "@if (CurrentFilterType !== FilterType.DateBetween && CurrentFilterType !== FilterType.IsNull) {\r\n <mat-form-field>\r\n <input matInput name=\"filterValue\" [ngModel]=\"info.filterValue\" [matDatepicker]=\"cal\"/>\r\n <mat-datepicker-toggle class=\"small-button date-toggle\" matSuffix [for]=\"cal\" preventEnter />\r\n <mat-datepicker #cal />\r\n </mat-form-field>\r\n}\r\n@if(CurrentFilterType === FilterType.DateBetween){\r\n <ng-container ngModelGroup=\"filterValue\">\r\n <mat-form-field class=\"my-filter\" >\r\n <input matInput name=\"Start\" [ngModel]=\"info.filterValue?.Start\" placeholder=\"From\" [matDatepicker]=\"fromVal\"\r\n (click)=\"fromVal.open()\"/>\r\n <mat-datepicker-toggle matSuffix class=\"small-button date-toggle\" [for]=\"fromVal\" preventEnter />\r\n <mat-datepicker #fromVal></mat-datepicker>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput name=\"End\" [ngModel]=\"info.filterValue?.End\" placeholder=\"To\" [matDatepicker]=\"toVal\" (click)=\"toVal.open()\"/>\r\n <mat-datepicker-toggle matSuffix class=\"small-button date-toggle\" [for]=\"toVal\" preventEnter />\r\n <mat-datepicker #toVal />\r\n </mat-form-field>\r\n </ng-container>\r\n}\r\n\r\n", styles: [".filter-name{color:#6495ed;margin:10px 0;font-weight:600;display:inline-block}.switch{display:inline-block}.my-filter{margin-right:15px}.cancel-button{float:right}.head-row{width:100%}.filter-row{width:fit-content}mat-card.filter-card::ng-deep mat-form-field{width:150px}mat-card.filter-card::ng-deep .mat-mdc-form-field-subscript-wrapper{line-height:0}mat-card.filter-card::ng-deep .mat-mdc-form-field-subscript-wrapper:before{height:0}.inline{display:inline-block}.small-button{height:18px;width:18px;font-size:18px;padding:0;margin:0}.small-button ::ng-deep *{line-height:initial;font-size:initial;height:18px;width:18px;font-size:18px;bottom:initial}.cancel-button{float:right;font-weight:700}.date-toggle ::ng-deep svg{position:absolute;left:0;top:0}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgModelGroup, selector: "[ngModelGroup]", inputs: ["ngModelGroup"], exportAs: ["ngModelGroup"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: DateFilterComponent, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DateFilterComponent, decorators: [{
20
20
  type: Component,
21
21
  args: [{ selector: 'tb-date-filter', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], standalone: true, imports: [
22
22
  MatInputModule, FormsModule, MatDatepickerModule, PreventEnterDirective
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
26
26
  }], CurrentFilterType: [{
27
27
  type: Input
28
28
  }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9kYXRlLWZpbHRlci9kYXRlLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2RhdGUtZmlsdGVyL2RhdGUtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7O0FBYTNELE1BQU0sT0FBTyxtQkFBbUI7SUFYaEM7UUFZSSxlQUFVLEdBQUcsVUFBVSxDQUFDO0tBRzNCOzhHQUpZLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDRJQ25CaEMsZ3ZDQXVCQSw4eUJEUFEsY0FBYyxzckJBQUUsV0FBVywwNEJBQUUsbUJBQW1CLHVmQUhyQyxDQUFDLEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUMsQ0FBQzs7MkZBTXhELG1CQUFtQjtrQkFYL0IsU0FBUzsrQkFDSSxnQkFBZ0IsbUJBRVQsdUJBQXVCLENBQUMsTUFBTSxpQkFFaEMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFDLENBQUMsY0FDckQsSUFBSSxXQUNQO3dCQUNMLGNBQWMsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCO3FCQUMxRTs4QkFJUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGFydGlhbEZpbHRlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZmlsdGVyLWluZm8nO1xyXG5pbXBvcnQgeyBGaWx0ZXJUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvZmlsdGVyVHlwZXMnO1xyXG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBGb3Jtc01vZHVsZSwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBQcmV2ZW50RW50ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3RiLWRhdGUtZmlsdGVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0eWxlVXJsczogWycuLi9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICB2aWV3UHJvdmlkZXJzOiBbe3Byb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBOZ0Zvcm19XSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsIEZvcm1zTW9kdWxlLCBNYXREYXRlcGlja2VyTW9kdWxlLCBQcmV2ZW50RW50ZXJEaXJlY3RpdmVcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVGaWx0ZXJDb21wb25lbnQge1xyXG4gICAgRmlsdGVyVHlwZSA9IEZpbHRlclR5cGU7XHJcbiAgICBASW5wdXQoKSBpbmZvITogUGFydGlhbEZpbHRlcjtcclxuICAgIEBJbnB1dCgpIEN1cnJlbnRGaWx0ZXJUeXBlITogRmlsdGVyVHlwZTtcclxufVxyXG4iLCJAaWYgKEN1cnJlbnRGaWx0ZXJUeXBlICE9PSBGaWx0ZXJUeXBlLkRhdGVCZXR3ZWVuICYmIEN1cnJlbnRGaWx0ZXJUeXBlICE9PSBGaWx0ZXJUeXBlLklzTnVsbCkge1xyXG4gIDxtYXQtZm9ybS1maWVsZD5cclxuICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPVwiZmlsdGVyVmFsdWVcIiBbbmdNb2RlbF09XCJpbmZvLmZpbHRlclZhbHVlXCIgW21hdERhdGVwaWNrZXJdPVwiY2FsXCIvPlxyXG4gICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBjbGFzcz1cInNtYWxsLWJ1dHRvbiBkYXRlLXRvZ2dsZVwiIG1hdFN1ZmZpeCBbZm9yXT1cImNhbFwiIHByZXZlbnRFbnRlciAvPlxyXG4gICAgPG1hdC1kYXRlcGlja2VyICNjYWwgLz5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG59XHJcbkBpZihDdXJyZW50RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5EYXRlQmV0d2Vlbil7XHJcbiAgPG5nLWNvbnRhaW5lciBuZ01vZGVsR3JvdXA9XCJmaWx0ZXJWYWx1ZVwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibXktZmlsdGVyXCIgPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT1cIlN0YXJ0XCIgW25nTW9kZWxdPVwiaW5mby5maWx0ZXJWYWx1ZT8uU3RhcnRcIiAgcGxhY2Vob2xkZXI9XCJGcm9tXCIgW21hdERhdGVwaWNrZXJdPVwiZnJvbVZhbFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiZnJvbVZhbC5vcGVuKClcIi8+XHJcbiAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IGNsYXNzPVwic21hbGwtYnV0dG9uIGRhdGUtdG9nZ2xlXCIgW2Zvcl09XCJmcm9tVmFsXCIgcHJldmVudEVudGVyIC8+XHJcbiAgICAgIDxtYXQtZGF0ZXBpY2tlciAjZnJvbVZhbD48L21hdC1kYXRlcGlja2VyPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9XCJFbmRcIiBbbmdNb2RlbF09XCJpbmZvLmZpbHRlclZhbHVlPy5FbmRcIiAgcGxhY2Vob2xkZXI9XCJUb1wiIFttYXREYXRlcGlja2VyXT1cInRvVmFsXCIgKGNsaWNrKT1cInRvVmFsLm9wZW4oKVwiLz5cclxuICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggY2xhc3M9XCJzbWFsbC1idXR0b24gZGF0ZS10b2dnbGVcIiBbZm9yXT1cInRvVmFsXCIgcHJldmVudEVudGVyIC8+XHJcbiAgICAgIDxtYXQtZGF0ZXBpY2tlciAjdG9WYWwgLz5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbn1cclxuXHJcbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9kYXRlLWZpbHRlci9kYXRlLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2RhdGUtZmlsdGVyL2RhdGUtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7O0FBYTNELE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUNmLElBQUksQ0FBaUI7SUFDckIsaUJBQWlCLENBQWM7dUdBSC9CLG1CQUFtQjsyRkFBbkIsbUJBQW1CLDRJQ25CaEMsZ3ZDQXVCQSw4eUJEUFEsY0FBYyxzckJBQUUsV0FBVywwNEJBQUUsbUJBQW1CLHVmQUhyQyxDQUFDLEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUMsQ0FBQzs7MkZBTXhELG1CQUFtQjtrQkFYL0IsU0FBUzsrQkFDSSxnQkFBZ0IsbUJBRVQsdUJBQXVCLENBQUMsTUFBTSxpQkFFaEMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFDLENBQUMsY0FDckQsSUFBSSxXQUNQO3dCQUNMLGNBQWMsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCO3FCQUMxRTs4QkFJUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGFydGlhbEZpbHRlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZmlsdGVyLWluZm8nO1xyXG5pbXBvcnQgeyBGaWx0ZXJUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvZmlsdGVyVHlwZXMnO1xyXG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBGb3Jtc01vZHVsZSwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBQcmV2ZW50RW50ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3RiLWRhdGUtZmlsdGVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0eWxlVXJsczogWycuLi9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICB2aWV3UHJvdmlkZXJzOiBbe3Byb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBOZ0Zvcm19XSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsIEZvcm1zTW9kdWxlLCBNYXREYXRlcGlja2VyTW9kdWxlLCBQcmV2ZW50RW50ZXJEaXJlY3RpdmVcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVGaWx0ZXJDb21wb25lbnQge1xyXG4gICAgRmlsdGVyVHlwZSA9IEZpbHRlclR5cGU7XHJcbiAgICBASW5wdXQoKSBpbmZvITogUGFydGlhbEZpbHRlcjtcclxuICAgIEBJbnB1dCgpIEN1cnJlbnRGaWx0ZXJUeXBlITogRmlsdGVyVHlwZTtcclxufVxyXG4iLCJAaWYgKEN1cnJlbnRGaWx0ZXJUeXBlICE9PSBGaWx0ZXJUeXBlLkRhdGVCZXR3ZWVuICYmIEN1cnJlbnRGaWx0ZXJUeXBlICE9PSBGaWx0ZXJUeXBlLklzTnVsbCkge1xyXG4gIDxtYXQtZm9ybS1maWVsZD5cclxuICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPVwiZmlsdGVyVmFsdWVcIiBbbmdNb2RlbF09XCJpbmZvLmZpbHRlclZhbHVlXCIgW21hdERhdGVwaWNrZXJdPVwiY2FsXCIvPlxyXG4gICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBjbGFzcz1cInNtYWxsLWJ1dHRvbiBkYXRlLXRvZ2dsZVwiIG1hdFN1ZmZpeCBbZm9yXT1cImNhbFwiIHByZXZlbnRFbnRlciAvPlxyXG4gICAgPG1hdC1kYXRlcGlja2VyICNjYWwgLz5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG59XHJcbkBpZihDdXJyZW50RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5EYXRlQmV0d2Vlbil7XHJcbiAgPG5nLWNvbnRhaW5lciBuZ01vZGVsR3JvdXA9XCJmaWx0ZXJWYWx1ZVwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibXktZmlsdGVyXCIgPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT1cIlN0YXJ0XCIgW25nTW9kZWxdPVwiaW5mby5maWx0ZXJWYWx1ZT8uU3RhcnRcIiAgcGxhY2Vob2xkZXI9XCJGcm9tXCIgW21hdERhdGVwaWNrZXJdPVwiZnJvbVZhbFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiZnJvbVZhbC5vcGVuKClcIi8+XHJcbiAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IGNsYXNzPVwic21hbGwtYnV0dG9uIGRhdGUtdG9nZ2xlXCIgW2Zvcl09XCJmcm9tVmFsXCIgcHJldmVudEVudGVyIC8+XHJcbiAgICAgIDxtYXQtZGF0ZXBpY2tlciAjZnJvbVZhbD48L21hdC1kYXRlcGlja2VyPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9XCJFbmRcIiBbbmdNb2RlbF09XCJpbmZvLmZpbHRlclZhbHVlPy5FbmRcIiAgcGxhY2Vob2xkZXI9XCJUb1wiIFttYXREYXRlcGlja2VyXT1cInRvVmFsXCIgKGNsaWNrKT1cInRvVmFsLm9wZW4oKVwiLz5cclxuICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggY2xhc3M9XCJzbWFsbC1idXR0b24gZGF0ZS10b2dnbGVcIiBbZm9yXT1cInRvVmFsXCIgcHJldmVudEVudGVyIC8+XHJcbiAgICAgIDxtYXQtZGF0ZXBpY2tlciAjdG9WYWwgLz5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbn1cclxuXHJcbiJdfQ==
@@ -5,13 +5,13 @@ import { PreventEnterDirective } from '../../../utilities';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/forms";
7
7
  export class DateTimeFilterComponent {
8
- constructor() {
9
- this.FilterType = FilterType;
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: DateTimeFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: DateTimeFilterComponent, isStandalone: true, selector: "tb-date-time-filter", inputs: { info: "info", CurrentFilterType: "CurrentFilterType" }, ngImport: i0, template: "@if(CurrentFilterType !== FilterType.DateTimeBetween && CurrentFilterType !== FilterType.IsNull){\r\n <input type=\"datetime-local\" [ngModel]=\"info.filterValue\" preventEnter name=\"filterValue\" class=\"op-date-time-input\"/>\r\n}\r\n@if(CurrentFilterType === FilterType.DateTimeBetween){\r\n <ng-container ngModelGroup=\"filterValue\">\r\n <input type=\"datetime-local\" [ngModel]=\"info.filterValue?.Start\" preventEnter name=\"Start\" class=\"op-date-time-input\"/>\r\n <input type=\"datetime-local\" [ngModel]=\"info.filterValue?.End\" preventEnter name=\"End\" class=\"op-date-time-input\"/>\r\n </ng-container>\r\n}", styles: [".filter-name{color:#6495ed;margin:10px 0;font-weight:600;display:inline-block}.switch{display:inline-block}.my-filter{margin-right:15px}.cancel-button{float:right}.head-row{width:100%}.filter-row{width:fit-content}mat-card.filter-card::ng-deep mat-form-field{width:150px}mat-card.filter-card::ng-deep .mat-mdc-form-field-subscript-wrapper{line-height:0}mat-card.filter-card::ng-deep .mat-mdc-form-field-subscript-wrapper:before{height:0}.inline{display:inline-block}.small-button{height:18px;width:18px;font-size:18px;padding:0;margin:0}.small-button ::ng-deep *{line-height:initial;font-size:initial;height:18px;width:18px;font-size:18px;bottom:initial}.cancel-button{float:right;font-weight:700}.date-toggle ::ng-deep svg{position:absolute;left:0;top:0}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgModelGroup, selector: "[ngModelGroup]", inputs: ["ngModelGroup"], exportAs: ["ngModelGroup"] }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
+ FilterType = FilterType;
9
+ info;
10
+ CurrentFilterType;
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DateTimeFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: DateTimeFilterComponent, isStandalone: true, selector: "tb-date-time-filter", inputs: { info: "info", CurrentFilterType: "CurrentFilterType" }, ngImport: i0, template: "@if(CurrentFilterType !== FilterType.DateTimeBetween && CurrentFilterType !== FilterType.IsNull){\r\n <input type=\"datetime-local\" [ngModel]=\"info.filterValue\" preventEnter name=\"filterValue\" class=\"op-date-time-input\"/>\r\n}\r\n@if(CurrentFilterType === FilterType.DateTimeBetween){\r\n <ng-container ngModelGroup=\"filterValue\">\r\n <input type=\"datetime-local\" [ngModel]=\"info.filterValue?.Start\" preventEnter name=\"Start\" class=\"op-date-time-input\"/>\r\n <input type=\"datetime-local\" [ngModel]=\"info.filterValue?.End\" preventEnter name=\"End\" class=\"op-date-time-input\"/>\r\n </ng-container>\r\n}", styles: [".filter-name{color:#6495ed;margin:10px 0;font-weight:600;display:inline-block}.switch{display:inline-block}.my-filter{margin-right:15px}.cancel-button{float:right}.head-row{width:100%}.filter-row{width:fit-content}mat-card.filter-card::ng-deep mat-form-field{width:150px}mat-card.filter-card::ng-deep .mat-mdc-form-field-subscript-wrapper{line-height:0}mat-card.filter-card::ng-deep .mat-mdc-form-field-subscript-wrapper:before{height:0}.inline{display:inline-block}.small-button{height:18px;width:18px;font-size:18px;padding:0;margin:0}.small-button ::ng-deep *{line-height:initial;font-size:initial;height:18px;width:18px;font-size:18px;bottom:initial}.cancel-button{float:right;font-weight:700}.date-toggle ::ng-deep svg{position:absolute;left:0;top:0}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgModelGroup, selector: "[ngModelGroup]", inputs: ["ngModelGroup"], exportAs: ["ngModelGroup"] }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: DateTimeFilterComponent, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DateTimeFilterComponent, decorators: [{
15
15
  type: Component,
16
16
  args: [{ selector: 'tb-date-time-filter', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], standalone: true, imports: [
17
17
  FormsModule, PreventEnterDirective
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
21
21
  }], CurrentFilterType: [{
22
22
  type: Input
23
23
  }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2RhdGUtdGltZS1maWx0ZXIvZGF0ZS10aW1lLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2RhdGUtdGltZS1maWx0ZXIvZGF0ZS10aW1lLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBYTNELE1BQU0sT0FBTyx1QkFBdUI7SUFYcEM7UUFZRSxlQUFVLEdBQUcsVUFBVSxDQUFDO0tBR3pCOzhHQUpZLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGlKQ2pCcEMsMm5CQVFDLDh5QkRNRyxXQUFXLGc0QkFIRSxDQUFDLEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUMsQ0FBQzs7MkZBTXRELHVCQUF1QjtrQkFYbkMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBRWQsdUJBQXVCLENBQUMsTUFBTSxpQkFFaEMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFDLENBQUMsY0FDckQsSUFBSSxXQUNQO3dCQUNQLFdBQVcsRUFBRSxxQkFBcUI7cUJBQ25DOzhCQUlRLElBQUk7c0JBQVosS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQYXJ0aWFsRmlsdGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9maWx0ZXItaW5mbyc7XHJcbmltcG9ydCB7IEZpbHRlclR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9maWx0ZXJUeXBlcyc7XHJcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIEZvcm1zTW9kdWxlLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFByZXZlbnRFbnRlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RiLWRhdGUtdGltZS1maWx0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXRpbWUtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBzdHlsZVVybHM6IFsnLi4vZmlsdGVyL2ZpbHRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHZpZXdQcm92aWRlcnM6IFt7cHJvdmlkZTogQ29udHJvbENvbnRhaW5lciwgdXNlRXhpc3Rpbmc6IE5nRm9ybX1dLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRm9ybXNNb2R1bGUsIFByZXZlbnRFbnRlckRpcmVjdGl2ZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVUaW1lRmlsdGVyQ29tcG9uZW50IHtcclxuICBGaWx0ZXJUeXBlID0gRmlsdGVyVHlwZTtcclxuICBASW5wdXQoKSBpbmZvITogUGFydGlhbEZpbHRlcjtcclxuICBASW5wdXQoKSBDdXJyZW50RmlsdGVyVHlwZSE6IEZpbHRlclR5cGU7XHJcbn1cclxuIiwiQGlmKEN1cnJlbnRGaWx0ZXJUeXBlICE9PSBGaWx0ZXJUeXBlLkRhdGVUaW1lQmV0d2VlbiAmJiBDdXJyZW50RmlsdGVyVHlwZSAhPT0gRmlsdGVyVHlwZS5Jc051bGwpe1xyXG4gIDxpbnB1dCB0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIiBbbmdNb2RlbF09XCJpbmZvLmZpbHRlclZhbHVlXCIgcHJldmVudEVudGVyIG5hbWU9XCJmaWx0ZXJWYWx1ZVwiIGNsYXNzPVwib3AtZGF0ZS10aW1lLWlucHV0XCIvPlxyXG59XHJcbkBpZihDdXJyZW50RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5EYXRlVGltZUJldHdlZW4pe1xyXG4gIDxuZy1jb250YWluZXIgbmdNb2RlbEdyb3VwPVwiZmlsdGVyVmFsdWVcIj5cclxuICAgIDxpbnB1dCB0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIiBbbmdNb2RlbF09XCJpbmZvLmZpbHRlclZhbHVlPy5TdGFydFwiIHByZXZlbnRFbnRlciBuYW1lPVwiU3RhcnRcIiBjbGFzcz1cIm9wLWRhdGUtdGltZS1pbnB1dFwiLz5cclxuICAgIDxpbnB1dCB0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIiBbbmdNb2RlbF09XCJpbmZvLmZpbHRlclZhbHVlPy5FbmRcIiBwcmV2ZW50RW50ZXIgbmFtZT1cIkVuZFwiIGNsYXNzPVwib3AtZGF0ZS10aW1lLWlucHV0XCIvPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG59Il19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2RhdGUtdGltZS1maWx0ZXIvZGF0ZS10aW1lLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2RhdGUtdGltZS1maWx0ZXIvZGF0ZS10aW1lLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBYTNELE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUNmLElBQUksQ0FBaUI7SUFDckIsaUJBQWlCLENBQWM7dUdBSDdCLHVCQUF1QjsyRkFBdkIsdUJBQXVCLGlKQ2pCcEMsMm5CQVFDLDh5QkRNRyxXQUFXLGc0QkFIRSxDQUFDLEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUMsQ0FBQzs7MkZBTXRELHVCQUF1QjtrQkFYbkMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBRWQsdUJBQXVCLENBQUMsTUFBTSxpQkFFaEMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFDLENBQUMsY0FDckQsSUFBSSxXQUNQO3dCQUNQLFdBQVcsRUFBRSxxQkFBcUI7cUJBQ25DOzhCQUlRLElBQUk7c0JBQVosS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQYXJ0aWFsRmlsdGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9maWx0ZXItaW5mbyc7XHJcbmltcG9ydCB7IEZpbHRlclR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9maWx0ZXJUeXBlcyc7XHJcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIEZvcm1zTW9kdWxlLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFByZXZlbnRFbnRlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RiLWRhdGUtdGltZS1maWx0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXRpbWUtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBzdHlsZVVybHM6IFsnLi4vZmlsdGVyL2ZpbHRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHZpZXdQcm92aWRlcnM6IFt7cHJvdmlkZTogQ29udHJvbENvbnRhaW5lciwgdXNlRXhpc3Rpbmc6IE5nRm9ybX1dLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRm9ybXNNb2R1bGUsIFByZXZlbnRFbnRlckRpcmVjdGl2ZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVUaW1lRmlsdGVyQ29tcG9uZW50IHtcclxuICBGaWx0ZXJUeXBlID0gRmlsdGVyVHlwZTtcclxuICBASW5wdXQoKSBpbmZvITogUGFydGlhbEZpbHRlcjtcclxuICBASW5wdXQoKSBDdXJyZW50RmlsdGVyVHlwZSE6IEZpbHRlclR5cGU7XHJcbn1cclxuIiwiQGlmKEN1cnJlbnRGaWx0ZXJUeXBlICE9PSBGaWx0ZXJUeXBlLkRhdGVUaW1lQmV0d2VlbiAmJiBDdXJyZW50RmlsdGVyVHlwZSAhPT0gRmlsdGVyVHlwZS5Jc051bGwpe1xyXG4gIDxpbnB1dCB0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIiBbbmdNb2RlbF09XCJpbmZvLmZpbHRlclZhbHVlXCIgcHJldmVudEVudGVyIG5hbWU9XCJmaWx0ZXJWYWx1ZVwiIGNsYXNzPVwib3AtZGF0ZS10aW1lLWlucHV0XCIvPlxyXG59XHJcbkBpZihDdXJyZW50RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5EYXRlVGltZUJldHdlZW4pe1xyXG4gIDxuZy1jb250YWluZXIgbmdNb2RlbEdyb3VwPVwiZmlsdGVyVmFsdWVcIj5cclxuICAgIDxpbnB1dCB0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIiBbbmdNb2RlbF09XCJpbmZvLmZpbHRlclZhbHVlPy5TdGFydFwiIHByZXZlbnRFbnRlciBuYW1lPVwiU3RhcnRcIiBjbGFzcz1cIm9wLWRhdGUtdGltZS1pbnB1dFwiLz5cclxuICAgIDxpbnB1dCB0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIiBbbmdNb2RlbF09XCJpbmZvLmZpbHRlclZhbHVlPy5FbmRcIiBwcmV2ZW50RW50ZXIgbmFtZT1cIkVuZFwiIGNsYXNzPVwib3AtZGF0ZS10aW1lLWlucHV0XCIvPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG59Il19