@onecx/angular-accelerator 4.43.0 → 5.0.0

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 (130) hide show
  1. package/{esm2020 → esm2022}/lib/angular-accelerator-primeng.module.mjs +53 -53
  2. package/esm2022/lib/angular-accelerator.module.mjs +168 -0
  3. package/esm2022/lib/components/column-group-selection/column-group-selection.component.mjs +72 -0
  4. package/esm2022/lib/components/custom-group-column-selector/custom-group-column-selector.component.mjs +109 -0
  5. package/esm2022/lib/components/data-layout-selection/data-layout-selection.component.mjs +46 -0
  6. package/esm2022/lib/components/data-list-grid/data-list-grid.component.mjs +399 -0
  7. package/esm2022/lib/components/data-list-grid-sorting/data-list-grid-sorting.component.mjs +92 -0
  8. package/esm2022/lib/components/data-sort-base/data-sort-base.mjs +110 -0
  9. package/esm2022/lib/components/data-table/data-table.component.mjs +401 -0
  10. package/esm2022/lib/components/data-view/data-view.component.mjs +407 -0
  11. package/esm2022/lib/components/diagram/diagram.component.mjs +137 -0
  12. package/esm2022/lib/components/group-by-count-diagram/group-by-count-diagram.component.mjs +109 -0
  13. package/esm2022/lib/components/interactive-data-view/interactive-data-view.component.mjs +375 -0
  14. package/esm2022/lib/components/page-header/page-header.component.mjs +232 -0
  15. package/{esm2020 → esm2022}/lib/components/search-config/search-config.component.mjs +4 -4
  16. package/esm2022/lib/components/search-header/search-header.component.mjs +136 -0
  17. package/esm2022/lib/directives/advanced.directive.mjs +36 -0
  18. package/esm2022/lib/directives/if-breakpoint.directive.mjs +39 -0
  19. package/esm2022/lib/directives/if-permission.directive.mjs +80 -0
  20. package/esm2022/lib/directives/src.directive.mjs +59 -0
  21. package/esm2022/lib/functions/flatten-object.mjs +20 -0
  22. package/{esm2020 → esm2022}/lib/model/breadcrumb-menu-item.model.mjs +1 -1
  23. package/esm2022/lib/pipes/dynamic.pipe.mjs +58 -0
  24. package/esm2022/lib/pipes/ocxtimeago.pipe.mjs +107 -0
  25. package/esm2022/lib/services/app-config-service.mjs +43 -0
  26. package/esm2022/lib/services/breadcrumb.service.mjs +113 -0
  27. package/esm2022/lib/services/translation-cache.service.mjs +41 -0
  28. package/esm2022/lib/utils/async-translate-loader.utils.mjs +12 -0
  29. package/esm2022/lib/utils/caching-translate-loader.utils.mjs +15 -0
  30. package/{esm2020 → esm2022}/lib/utils/colorutils.mjs +1 -1
  31. package/{esm2020 → esm2022}/lib/utils/dateutils.mjs +6 -6
  32. package/esm2022/lib/utils/objectutils.mjs +30 -0
  33. package/{esm2020 → esm2022}/lib/utils/translate.combined.loader.mjs +1 -1
  34. package/{esm2020 → esm2022}/testing/column-group-selection.harness.mjs +2 -2
  35. package/esm2022/testing/custom-group-column-selector.harness.mjs +31 -0
  36. package/esm2022/testing/data-layout-selection.harness.mjs +33 -0
  37. package/esm2022/testing/data-list-grid.harness.mjs +47 -0
  38. package/esm2022/testing/data-table.harness.mjs +63 -0
  39. package/{esm2020 → esm2022}/testing/data-view.harness.mjs +2 -2
  40. package/esm2022/testing/default-grid-item.harness.mjs +24 -0
  41. package/esm2022/testing/default-list-item.harness.mjs +24 -0
  42. package/esm2022/testing/diagram.harness.mjs +22 -0
  43. package/{esm2020 → esm2022}/testing/group-by-count-diagram.harness.mjs +2 -2
  44. package/{esm2020 → esm2022}/testing/interactive-data-view.harness.mjs +2 -2
  45. package/esm2022/testing/more-actions-menu-button.harness.mjs +35 -0
  46. package/esm2022/testing/page-header.harness.mjs +78 -0
  47. package/{esm2020 → esm2022}/testing/search-config.harness.mjs +2 -2
  48. package/{esm2020 → esm2022}/testing/search-header.harness.mjs +2 -2
  49. package/{fesm2020 → fesm2022}/onecx-angular-accelerator-testing.mjs +34 -28
  50. package/fesm2022/onecx-angular-accelerator-testing.mjs.map +1 -0
  51. package/{fesm2020 → fesm2022}/onecx-angular-accelerator.mjs +244 -224
  52. package/fesm2022/onecx-angular-accelerator.mjs.map +1 -0
  53. package/lib/components/column-group-selection/column-group-selection.component.d.ts +1 -1
  54. package/lib/components/custom-group-column-selector/custom-group-column-selector.component.d.ts +1 -1
  55. package/lib/components/data-layout-selection/data-layout-selection.component.d.ts +1 -1
  56. package/lib/components/data-list-grid/data-list-grid.component.d.ts +1 -1
  57. package/lib/components/data-list-grid-sorting/data-list-grid-sorting.component.d.ts +1 -1
  58. package/lib/components/data-table/data-table.component.d.ts +1 -1
  59. package/lib/components/data-view/data-view.component.d.ts +2 -2
  60. package/lib/components/diagram/diagram.component.d.ts +2 -2
  61. package/lib/components/group-by-count-diagram/group-by-count-diagram.component.d.ts +1 -1
  62. package/lib/components/interactive-data-view/interactive-data-view.component.d.ts +1 -1
  63. package/lib/components/page-header/page-header.component.d.ts +1 -1
  64. package/lib/components/search-config/search-config.component.d.ts +1 -1
  65. package/lib/components/search-header/search-header.component.d.ts +1 -1
  66. package/lib/directives/if-breakpoint.directive.d.ts +1 -1
  67. package/lib/directives/if-permission.directive.d.ts +14 -5
  68. package/lib/directives/src.directive.d.ts +1 -1
  69. package/lib/model/breadcrumb-menu-item.model.d.ts +2 -2
  70. package/package.json +20 -28
  71. package/testing/data-list-grid.harness.d.ts +1 -1
  72. package/esm2020/lib/angular-accelerator.module.mjs +0 -160
  73. package/esm2020/lib/components/column-group-selection/column-group-selection.component.mjs +0 -72
  74. package/esm2020/lib/components/custom-group-column-selector/custom-group-column-selector.component.mjs +0 -109
  75. package/esm2020/lib/components/data-layout-selection/data-layout-selection.component.mjs +0 -45
  76. package/esm2020/lib/components/data-list-grid/data-list-grid.component.mjs +0 -399
  77. package/esm2020/lib/components/data-list-grid-sorting/data-list-grid-sorting.component.mjs +0 -92
  78. package/esm2020/lib/components/data-sort-base/data-sort-base.mjs +0 -110
  79. package/esm2020/lib/components/data-table/data-table.component.mjs +0 -401
  80. package/esm2020/lib/components/data-view/data-view.component.mjs +0 -407
  81. package/esm2020/lib/components/diagram/diagram.component.mjs +0 -137
  82. package/esm2020/lib/components/group-by-count-diagram/group-by-count-diagram.component.mjs +0 -109
  83. package/esm2020/lib/components/interactive-data-view/interactive-data-view.component.mjs +0 -375
  84. package/esm2020/lib/components/page-header/page-header.component.mjs +0 -232
  85. package/esm2020/lib/components/search-header/search-header.component.mjs +0 -136
  86. package/esm2020/lib/directives/advanced.directive.mjs +0 -36
  87. package/esm2020/lib/directives/if-breakpoint.directive.mjs +0 -39
  88. package/esm2020/lib/directives/if-permission.directive.mjs +0 -70
  89. package/esm2020/lib/directives/src.directive.mjs +0 -59
  90. package/esm2020/lib/functions/flatten-object.mjs +0 -20
  91. package/esm2020/lib/pipes/dynamic.pipe.mjs +0 -58
  92. package/esm2020/lib/pipes/ocxtimeago.pipe.mjs +0 -107
  93. package/esm2020/lib/services/app-config-service.mjs +0 -43
  94. package/esm2020/lib/services/breadcrumb.service.mjs +0 -113
  95. package/esm2020/lib/services/translation-cache.service.mjs +0 -41
  96. package/esm2020/lib/utils/async-translate-loader.utils.mjs +0 -12
  97. package/esm2020/lib/utils/caching-translate-loader.utils.mjs +0 -15
  98. package/esm2020/lib/utils/objectutils.mjs +0 -30
  99. package/esm2020/testing/custom-group-column-selector.harness.mjs +0 -31
  100. package/esm2020/testing/data-layout-selection.harness.mjs +0 -33
  101. package/esm2020/testing/data-list-grid.harness.mjs +0 -47
  102. package/esm2020/testing/data-table.harness.mjs +0 -57
  103. package/esm2020/testing/default-grid-item.harness.mjs +0 -24
  104. package/esm2020/testing/default-list-item.harness.mjs +0 -24
  105. package/esm2020/testing/diagram.harness.mjs +0 -22
  106. package/esm2020/testing/more-actions-menu-button.harness.mjs +0 -35
  107. package/esm2020/testing/page-header.harness.mjs +0 -78
  108. package/fesm2015/onecx-angular-accelerator-testing.mjs +0 -541
  109. package/fesm2015/onecx-angular-accelerator-testing.mjs.map +0 -1
  110. package/fesm2015/onecx-angular-accelerator.mjs +0 -3563
  111. package/fesm2015/onecx-angular-accelerator.mjs.map +0 -1
  112. package/fesm2020/onecx-angular-accelerator-testing.mjs.map +0 -1
  113. package/fesm2020/onecx-angular-accelerator.mjs.map +0 -1
  114. /package/{esm2020 → esm2022}/index.mjs +0 -0
  115. /package/{esm2020 → esm2022}/lib/model/column-type.model.mjs +0 -0
  116. /package/{esm2020 → esm2022}/lib/model/data-action.mjs +0 -0
  117. /package/{esm2020 → esm2022}/lib/model/data-column-name-id.model.mjs +0 -0
  118. /package/{esm2020 → esm2022}/lib/model/data-sort-direction.mjs +0 -0
  119. /package/{esm2020 → esm2022}/lib/model/data-table-column.model.mjs +0 -0
  120. /package/{esm2020 → esm2022}/lib/model/diagram-column.mjs +0 -0
  121. /package/{esm2020 → esm2022}/lib/model/diagram-data.mjs +0 -0
  122. /package/{esm2020 → esm2022}/lib/model/diagram-type.mjs +0 -0
  123. /package/{esm2020 → esm2022}/lib/model/search-config-info.mjs +0 -0
  124. /package/{esm2020 → esm2022}/lib/utils/create-remote-component-translate-loader.utils.mjs +0 -0
  125. /package/{esm2020 → esm2022}/lib/utils/create-translate-loader.utils.mjs +0 -0
  126. /package/{esm2020 → esm2022}/lib/utils/enum-to-dropdown-options.utils.mjs +0 -0
  127. /package/{esm2020 → esm2022}/lib/utils/primeicon.utils.mjs +0 -0
  128. /package/{esm2020 → esm2022}/onecx-angular-accelerator.mjs +0 -0
  129. /package/{esm2020 → esm2022}/testing/index.mjs +0 -0
  130. /package/{esm2020 → esm2022}/testing/onecx-angular-accelerator-testing.mjs +0 -0
@@ -1,72 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { BehaviorSubject, combineLatest, map } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "primeng/dropdown";
6
- import * as i3 from "primeng/api";
7
- import * as i4 from "@angular/forms";
8
- import * as i5 from "@ngx-translate/core";
9
- export class ColumnGroupSelectionComponent {
10
- constructor() {
11
- this.selectedGroupKey$ = new BehaviorSubject('');
12
- this.columns$ = new BehaviorSubject([]);
13
- this.placeholderKey = '';
14
- this.defaultGroupKey = '';
15
- this.customGroupKey = '';
16
- this.groupSelectionChanged = new EventEmitter();
17
- }
18
- get selectedGroupKey() {
19
- return this.selectedGroupKey$.getValue();
20
- }
21
- set selectedGroupKey(value) {
22
- this.selectedGroupKey$.next(value);
23
- }
24
- get columns() {
25
- return this.columns$.getValue();
26
- }
27
- set columns(value) {
28
- this.columns$.next(value);
29
- }
30
- ngOnInit() {
31
- this.allGroupKeys$ = combineLatest([this.columns$, this.selectedGroupKey$]).pipe(map(([columns, selectedGroupKey]) => columns
32
- .map((keys) => keys.predefinedGroupKeys || [])
33
- .flat()
34
- .concat([this.defaultGroupKey])
35
- .concat([selectedGroupKey])
36
- .filter((value) => !!value)
37
- .filter((value, index, self) => self.indexOf(value) === index && value != null)));
38
- }
39
- changeGroupSelection(event) {
40
- if (event.value === this.customGroupKey) {
41
- return;
42
- }
43
- const activeColumns = this.columns.filter((c) => c.predefinedGroupKeys?.includes(event.value));
44
- this.groupSelectionChanged.emit({ activeColumns, groupKey: event.value });
45
- }
46
- clearGroupSelection() {
47
- let activeColumns = this.columns;
48
- if (this.defaultGroupKey) {
49
- activeColumns = this.columns.filter((column) => column.predefinedGroupKeys?.includes(this.defaultGroupKey));
50
- }
51
- this.groupSelectionChanged.emit({ activeColumns, groupKey: this.defaultGroupKey });
52
- }
53
- }
54
- ColumnGroupSelectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnGroupSelectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
55
- ColumnGroupSelectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ColumnGroupSelectionComponent, selector: "ocx-column-group-selection", inputs: { selectedGroupKey: "selectedGroupKey", columns: "columns", placeholderKey: "placeholderKey", defaultGroupKey: "defaultGroupKey", customGroupKey: "customGroupKey" }, outputs: { groupSelectionChanged: "groupSelectionChanged" }, ngImport: i0, template: "<span class=\"p-float-label\">\n <p-dropdown\n id=\"columnGroupSelectionDropdown\"\n *ngIf=\"(allGroupKeys$ | async)?.length\"\n (onClear)=\"clearGroupSelection()\"\n (onChange)=\"changeGroupSelection($event)\"\n [options]=\"(allGroupKeys$ | async) || []\"\n [placeholder]=\"placeholderKey | translate\"\n [showClear]=\"selectedGroupKey !== defaultGroupKey\"\n [(ngModel)]=\"selectedGroupKey\"\n >\n <ng-template let-item pTemplate=\"item\"> {{ item ? (item | translate) : ''}} </ng-template>\n <ng-template let-item pTemplate=\"selectedItem\"> {{ item ? (item | translate) : ''}} </ng-template>\n </p-dropdown>\n <label *ngIf=\"(allGroupKeys$ | async)?.length\" for=\"columnGroupSelectionDropdown\"\n >{{ (\"OCX_CUSTOM_GROUP_COLUMN_SELECTOR.DROPDOWN_LABEL\" | translate) }}</label\n >\n</span>\n", styles: [":host ::ng-deep .p-dropdown{min-width:12rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "overlayDirection", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnGroupSelectionComponent, decorators: [{
57
- type: Component,
58
- args: [{ selector: 'ocx-column-group-selection', template: "<span class=\"p-float-label\">\n <p-dropdown\n id=\"columnGroupSelectionDropdown\"\n *ngIf=\"(allGroupKeys$ | async)?.length\"\n (onClear)=\"clearGroupSelection()\"\n (onChange)=\"changeGroupSelection($event)\"\n [options]=\"(allGroupKeys$ | async) || []\"\n [placeholder]=\"placeholderKey | translate\"\n [showClear]=\"selectedGroupKey !== defaultGroupKey\"\n [(ngModel)]=\"selectedGroupKey\"\n >\n <ng-template let-item pTemplate=\"item\"> {{ item ? (item | translate) : ''}} </ng-template>\n <ng-template let-item pTemplate=\"selectedItem\"> {{ item ? (item | translate) : ''}} </ng-template>\n </p-dropdown>\n <label *ngIf=\"(allGroupKeys$ | async)?.length\" for=\"columnGroupSelectionDropdown\"\n >{{ (\"OCX_CUSTOM_GROUP_COLUMN_SELECTOR.DROPDOWN_LABEL\" | translate) }}</label\n >\n</span>\n", styles: [":host ::ng-deep .p-dropdown{min-width:12rem}\n"] }]
59
- }], propDecorators: { selectedGroupKey: [{
60
- type: Input
61
- }], columns: [{
62
- type: Input
63
- }], placeholderKey: [{
64
- type: Input
65
- }], defaultGroupKey: [{
66
- type: Input
67
- }], customGroupKey: [{
68
- type: Input
69
- }], groupSelectionChanged: [{
70
- type: Output
71
- }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWdyb3VwLXNlbGVjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2NvbHVtbi1ncm91cC1zZWxlY3Rpb24vY29sdW1uLWdyb3VwLXNlbGVjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2NvbHVtbi1ncm91cC1zZWxlY3Rpb24vY29sdW1uLWdyb3VwLXNlbGVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQTs7Ozs7OztBQVN0RSxNQUFNLE9BQU8sNkJBQTZCO0lBTDFDO1FBTUUsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUE7UUFTbkQsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFvQixFQUFFLENBQUMsQ0FBQTtRQVE1QyxtQkFBYyxHQUFHLEVBQUUsQ0FBQTtRQUNuQixvQkFBZSxHQUFHLEVBQUUsQ0FBQTtRQUNwQixtQkFBYyxHQUFHLEVBQUUsQ0FBQTtRQUVsQiwwQkFBcUIsR0FBNkMsSUFBSSxZQUFZLEVBQUUsQ0FBQTtLQWlDL0Y7SUFyREMsSUFDSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDMUMsQ0FBQztJQUNELElBQUksZ0JBQWdCLENBQUMsS0FBYTtRQUNoQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3BDLENBQUM7SUFHRCxJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDakMsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQXdCO1FBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzNCLENBQUM7SUFTRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUM5RSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsQ0FDbEMsT0FBTzthQUNKLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQzthQUM3QyxJQUFJLEVBQUU7YUFDTixNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDOUIsTUFBTSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUMxQixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7YUFDMUIsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FDbEYsQ0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQXdCO1FBQzNDLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZDLE9BQU07U0FDUDtRQUNELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQzlGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBQzNFLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQTtRQUNoQyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFBO1NBQzVHO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUE7SUFDcEYsQ0FBQzs7MkhBdERVLDZCQUE2QjsrR0FBN0IsNkJBQTZCLDZTQ1YxQyxvMEJBa0JBOzRGRFJhLDZCQUE2QjtrQkFMekMsU0FBUzsrQkFFRSw0QkFBNEI7OEJBTWxDLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFVRixPQUFPO3NCQURWLEtBQUs7Z0JBT0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUkscUJBQXFCO3NCQUE5QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBEYXRhVGFibGVDb2x1bW4gfSBmcm9tICcuLi8uLi9tb2RlbC9kYXRhLXRhYmxlLWNvbHVtbi5tb2RlbCdcblxuZXhwb3J0IHR5cGUgR3JvdXBTZWxlY3Rpb25DaGFuZ2VkRXZlbnQgPSB7IGFjdGl2ZUNvbHVtbnM6IERhdGFUYWJsZUNvbHVtbltdOyBncm91cEtleTogc3RyaW5nIH1cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vY29sdW1uLWdyb3VwLXNlbGVjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHNlbGVjdG9yOiAnb2N4LWNvbHVtbi1ncm91cC1zZWxlY3Rpb24nLFxuICBzdHlsZVVybHM6IFsnLi9jb2x1bW4tZ3JvdXAtc2VsZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtbkdyb3VwU2VsZWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgc2VsZWN0ZWRHcm91cEtleSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpXG4gIEBJbnB1dCgpXG4gIGdldCBzZWxlY3RlZEdyb3VwS2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRHcm91cEtleSQuZ2V0VmFsdWUoKVxuICB9XG4gIHNldCBzZWxlY3RlZEdyb3VwS2V5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBLZXkkLm5leHQodmFsdWUpXG4gIH1cblxuICBjb2x1bW5zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0YVRhYmxlQ29sdW1uW10+KFtdKVxuICBASW5wdXQoKVxuICBnZXQgY29sdW1ucygpOiBEYXRhVGFibGVDb2x1bW5bXSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucyQuZ2V0VmFsdWUoKVxuICB9XG4gIHNldCBjb2x1bW5zKHZhbHVlOiBEYXRhVGFibGVDb2x1bW5bXSkge1xuICAgIHRoaXMuY29sdW1ucyQubmV4dCh2YWx1ZSlcbiAgfVxuICBASW5wdXQoKSBwbGFjZWhvbGRlcktleSA9ICcnXG4gIEBJbnB1dCgpIGRlZmF1bHRHcm91cEtleSA9ICcnXG4gIEBJbnB1dCgpIGN1c3RvbUdyb3VwS2V5ID0gJydcblxuICBAT3V0cHV0KCkgZ3JvdXBTZWxlY3Rpb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8R3JvdXBTZWxlY3Rpb25DaGFuZ2VkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgYWxsR3JvdXBLZXlzJDogT2JzZXJ2YWJsZTxzdHJpbmdbXT4gfCB1bmRlZmluZWRcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmFsbEdyb3VwS2V5cyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmNvbHVtbnMkLCB0aGlzLnNlbGVjdGVkR3JvdXBLZXkkXSkucGlwZShcbiAgICAgIG1hcCgoW2NvbHVtbnMsIHNlbGVjdGVkR3JvdXBLZXldKSA9PlxuICAgICAgICBjb2x1bW5zXG4gICAgICAgICAgLm1hcCgoa2V5cykgPT4ga2V5cy5wcmVkZWZpbmVkR3JvdXBLZXlzIHx8IFtdKVxuICAgICAgICAgIC5mbGF0KClcbiAgICAgICAgICAuY29uY2F0KFt0aGlzLmRlZmF1bHRHcm91cEtleV0pXG4gICAgICAgICAgLmNvbmNhdChbc2VsZWN0ZWRHcm91cEtleV0pXG4gICAgICAgICAgLmZpbHRlcigodmFsdWUpID0+ICEhdmFsdWUpXG4gICAgICAgICAgLmZpbHRlcigodmFsdWUsIGluZGV4LCBzZWxmKSA9PiBzZWxmLmluZGV4T2YodmFsdWUpID09PSBpbmRleCAmJiB2YWx1ZSAhPSBudWxsKVxuICAgICAgKVxuICAgIClcbiAgfVxuXG4gIGNoYW5nZUdyb3VwU2VsZWN0aW9uKGV2ZW50OiB7IHZhbHVlOiBzdHJpbmcgfSkge1xuICAgIGlmIChldmVudC52YWx1ZSA9PT0gdGhpcy5jdXN0b21Hcm91cEtleSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IGFjdGl2ZUNvbHVtbnMgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKChjKSA9PiBjLnByZWRlZmluZWRHcm91cEtleXM/LmluY2x1ZGVzKGV2ZW50LnZhbHVlKSlcbiAgICB0aGlzLmdyb3VwU2VsZWN0aW9uQ2hhbmdlZC5lbWl0KHsgYWN0aXZlQ29sdW1ucywgZ3JvdXBLZXk6IGV2ZW50LnZhbHVlIH0pXG4gIH1cblxuICBjbGVhckdyb3VwU2VsZWN0aW9uKCkge1xuICAgIGxldCBhY3RpdmVDb2x1bW5zID0gdGhpcy5jb2x1bW5zXG4gICAgaWYgKHRoaXMuZGVmYXVsdEdyb3VwS2V5KSB7XG4gICAgICBhY3RpdmVDb2x1bW5zID0gdGhpcy5jb2x1bW5zLmZpbHRlcigoY29sdW1uKSA9PiBjb2x1bW4ucHJlZGVmaW5lZEdyb3VwS2V5cz8uaW5jbHVkZXModGhpcy5kZWZhdWx0R3JvdXBLZXkpKVxuICAgIH1cbiAgICB0aGlzLmdyb3VwU2VsZWN0aW9uQ2hhbmdlZC5lbWl0KHsgYWN0aXZlQ29sdW1ucywgZ3JvdXBLZXk6IHRoaXMuZGVmYXVsdEdyb3VwS2V5IH0pXG4gIH1cbn1cbiIsIjxzcGFuIGNsYXNzPVwicC1mbG9hdC1sYWJlbFwiPlxuICA8cC1kcm9wZG93blxuICAgIGlkPVwiY29sdW1uR3JvdXBTZWxlY3Rpb25Ecm9wZG93blwiXG4gICAgKm5nSWY9XCIoYWxsR3JvdXBLZXlzJCB8IGFzeW5jKT8ubGVuZ3RoXCJcbiAgICAob25DbGVhcik9XCJjbGVhckdyb3VwU2VsZWN0aW9uKClcIlxuICAgIChvbkNoYW5nZSk9XCJjaGFuZ2VHcm91cFNlbGVjdGlvbigkZXZlbnQpXCJcbiAgICBbb3B0aW9uc109XCIoYWxsR3JvdXBLZXlzJCB8IGFzeW5jKSB8fCBbXVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyS2V5IHwgdHJhbnNsYXRlXCJcbiAgICBbc2hvd0NsZWFyXT1cInNlbGVjdGVkR3JvdXBLZXkgIT09IGRlZmF1bHRHcm91cEtleVwiXG4gICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEdyb3VwS2V5XCJcbiAgPlxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSBwVGVtcGxhdGU9XCJpdGVtXCI+IHt7IGl0ZW0gPyAoaXRlbSB8IHRyYW5zbGF0ZSkgOiAnJ319IDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtIHBUZW1wbGF0ZT1cInNlbGVjdGVkSXRlbVwiPiB7eyBpdGVtID8gKGl0ZW0gfCB0cmFuc2xhdGUpIDogJyd9fSA8L25nLXRlbXBsYXRlPlxuICA8L3AtZHJvcGRvd24+XG4gIDxsYWJlbCAqbmdJZj1cIihhbGxHcm91cEtleXMkIHwgYXN5bmMpPy5sZW5ndGhcIiBmb3I9XCJjb2x1bW5Hcm91cFNlbGVjdGlvbkRyb3Bkb3duXCJcbiAgICA+e3sgKFwiT0NYX0NVU1RPTV9HUk9VUF9DT0xVTU5fU0VMRUNUT1IuRFJPUERPV05fTEFCRUxcIiB8IHRyYW5zbGF0ZSkgfX08L2xhYmVsXG4gID5cbjwvc3Bhbj5cbiJdfQ==
@@ -1,109 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { TranslateService } from '@ngx-translate/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@ngx-translate/core";
5
- import * as i2 from "primeng/api";
6
- import * as i3 from "primeng/button";
7
- import * as i4 from "primeng/dialog";
8
- import * as i5 from "primeng/picklist";
9
- import * as i6 from "primeng/selectbutton";
10
- import * as i7 from "@angular/forms";
11
- export class CustomGroupColumnSelectorComponent {
12
- constructor(translate) {
13
- this.translate = translate;
14
- this.columns = [];
15
- this.displayedColumns = [];
16
- this.dialogTitle = '';
17
- this.openButtonTitle = '';
18
- this.saveButtonLabel = '';
19
- this.cancelButtonLabel = '';
20
- this.activeColumnsLabel = '';
21
- this.inactiveColumnsLabel = '';
22
- this.frozenActionColumn = false;
23
- this.actionColumnPosition = 'right';
24
- this.columnSelectionChanged = new EventEmitter();
25
- this.actionColumnConfigChanged = new EventEmitter();
26
- this.hiddenColumnsModel = [];
27
- this.displayedColumnsModel = [];
28
- this.frozenActionColumnModel = false;
29
- this.actionColumnPositionModel = 'right';
30
- this.visible = false;
31
- this.alignmentOptions = [
32
- {
33
- label: 'OCX_CUSTOM_GROUP_COLUMN_SELECTOR.CONFIGURE_ACTION_COLUMN.LEFT',
34
- value: 'left',
35
- },
36
- {
37
- label: 'OCX_CUSTOM_GROUP_COLUMN_SELECTOR.CONFIGURE_ACTION_COLUMN.RIGHT',
38
- value: 'right',
39
- },
40
- ];
41
- this.frozenOptions = [
42
- {
43
- label: 'OCX_CUSTOM_GROUP_COLUMN_SELECTOR.CONFIGURE_ACTION_COLUMN.YES',
44
- value: true,
45
- },
46
- {
47
- label: 'OCX_CUSTOM_GROUP_COLUMN_SELECTOR.CONFIGURE_ACTION_COLUMN.NO',
48
- value: false,
49
- },
50
- ];
51
- }
52
- onOpenCustomGroupColumnSelectionDialogClick() {
53
- this.displayedColumnsModel = [...this.displayedColumns];
54
- this.hiddenColumnsModel = this.columns.filter((column) => !this.displayedColumnsModel.map((c) => c.id).includes(column.id));
55
- this.frozenActionColumnModel = this.frozenActionColumn;
56
- this.actionColumnPositionModel = this.actionColumnPosition;
57
- this.visible = true;
58
- }
59
- onSaveClick() {
60
- this.visible = false;
61
- const colIdsBefore = this.displayedColumns.map((column) => column.id);
62
- const colIdsAfter = this.displayedColumnsModel.map((column) => column.id);
63
- if ((!colIdsAfter.every((colId, i) => colId === colIdsBefore[i])) ||
64
- colIdsAfter.length != colIdsBefore.length) {
65
- this.columnSelectionChanged.emit({ activeColumns: [...this.displayedColumnsModel] });
66
- }
67
- if (this.frozenActionColumn != this.frozenActionColumnModel ||
68
- this.actionColumnPosition != this.actionColumnPositionModel) {
69
- this.actionColumnConfigChanged.emit({
70
- frozenActionColumn: this.frozenActionColumnModel,
71
- actionColumnPosition: this.actionColumnPositionModel,
72
- });
73
- }
74
- }
75
- onCancelClick() {
76
- this.visible = false;
77
- }
78
- }
79
- CustomGroupColumnSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomGroupColumnSelectorComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
80
- CustomGroupColumnSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CustomGroupColumnSelectorComponent, selector: "ocx-custom-group-column-selector", inputs: { columns: "columns", displayedColumns: "displayedColumns", dialogTitle: "dialogTitle", openButtonTitle: "openButtonTitle", saveButtonLabel: "saveButtonLabel", cancelButtonLabel: "cancelButtonLabel", activeColumnsLabel: "activeColumnsLabel", inactiveColumnsLabel: "inactiveColumnsLabel", frozenActionColumn: "frozenActionColumn", actionColumnPosition: "actionColumnPosition" }, outputs: { columnSelectionChanged: "columnSelectionChanged", actionColumnConfigChanged: "actionColumnConfigChanged" }, ngImport: i0, template: "<p-button\n id=\"customGroupColumnSelectorButton\"\n type=\"button\"\n (click)=\"onOpenCustomGroupColumnSelectionDialogClick()\"\n [title]=\"openButtonTitle || ('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.OPEN_BUTTON_DETAIL' | translate)\"\n icon=\"pi pi-cog\"\n styleClass=\"p-button\"\n [ariaLabel]=\"openButtonTitle || ('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.OPEN_BUTTON_DETAIL' | translate)\"\n></p-button>\n\n<p-dialog header=\"Header\" [(visible)]=\"visible\" [style]=\"{ width: '70%' }\" [modal]=\"true\" [closeAriaLabel]=\"('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABELS.CLOSE' | translate)\">\n <ng-template pTemplate=\"header\">\n <span class=\"text-xl font-bold\"\n >{{ dialogTitle || ('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.DIALOG_TITLE' | translate) }}</span\n >\n </ng-template>\n\n <p-pickList\n [source]=\"displayedColumnsModel\"\n [target]=\"hiddenColumnsModel\"\n [sourceHeader]=\"activeColumnsLabel || ('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ACTIVE_COLUMNS_LABEL' | translate)\"\n [targetHeader]=\"inactiveColumnsLabel || ('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.INACTIVE_COLUMNS_LABEL' | translate)\"\n [dragdrop]=\"true\"\n [responsive]=\"false\"\n [sourceStyle]=\"{ height: '300px' }\"\n [targetStyle]=\"{ height: '300px' }\"\n [upButtonAriaLabel]=\"('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABELS.UP' | translate)\"\n [topButtonAriaLabel]=\"('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABELS.TOP' | translate)\"\n [downButtonAriaLabel]=\"('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABELS.DOWN' | translate)\"\n [bottomButtonAriaLabel]=\"('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABELS.BOTTOM' | translate)\"\n [rightButtonAriaLabel]=\"('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABELS.RIGHT' | translate)\"\n [allRightButtonAriaLabel]=\"('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABELS.ALL_RIGHT' | translate)\"\n [leftButtonAriaLabel]=\"('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABELS.LEFT' | translate)\"\n [allLeftButtonAriaLabel]=\"('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABELS.ALL_LEFT' | translate)\"\n >\n <ng-template let-item pTemplate=\"item\">\n <div>{{ item.nameKey | translate }}</div>\n </ng-template>\n </p-pickList>\n\n <div class=\"pt-4\">\n <p class=\"text-xl font-bold\">{{'OCX_CUSTOM_GROUP_COLUMN_SELECTOR.CONFIGURE_ACTION_COLUMN.TITLE' | translate}}</p>\n <div class=\"flex gap-6 px-3\">\n <div>\n <p class=\"mb-1\">{{'OCX_CUSTOM_GROUP_COLUMN_SELECTOR.CONFIGURE_ACTION_COLUMN.FREEZE' | translate}}</p>\n <p-selectButton\n [options]=\"frozenOptions\"\n [(ngModel)]=\"frozenActionColumnModel\"\n optionLabel=\"label\"\n optionValue=\"value\"\n id=\"frozenActionColumn\"\n name=\"frozen-action-column-select-button\"\n >\n <ng-template let-option pTemplate> {{option.label | translate}} </ng-template>\n </p-selectButton>\n </div>\n <div>\n <p class=\"mb-1\">{{'OCX_CUSTOM_GROUP_COLUMN_SELECTOR.CONFIGURE_ACTION_COLUMN.POSITION' | translate}}</p>\n <p-selectButton\n [options]=\"alignmentOptions\"\n [(ngModel)]=\"actionColumnPositionModel\"\n optionLabel=\"label\"\n optionValue=\"value\"\n id=\"actionColumnPosition\"\n class=\"mt-2\"\n name=\"action-column-position-select-button\"\n >\n <ng-template let-option pTemplate> {{option.label | translate}} </ng-template>\n </p-selectButton>\n </div>\n </div>\n </div>\n\n <ng-template pTemplate=\"footer\">\n <p-button\n id=\"cancelButton\"\n (onClick)=\"onCancelClick()\"\n [label]=\"cancelButtonLabel || ('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.CANCEL_BUTTON_LABEL' | translate)\"\n styleClass=\"p-button\"\n ></p-button>\n <p-button\n id=\"saveButton\"\n (onClick)=\"onSaveClick()\"\n [label]=\"saveButtonLabel || ('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.SAVE_BUTTON_LABEL' | translate)\"\n ></p-button>\n </ng-template>\n</p-dialog>\n", styles: ["::ng-deep .p-buttonset .p-button{min-width:auto}::ng-deep .p-buttonset{display:flex}::ng-deep .p-picklist-item.cdk-drag-preview{z-index:2000!important}.p-button{height:100%}\n"], dependencies: [{ kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i4.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "component", type: i5.PickList, selector: "p-pickList", inputs: ["source", "target", "sourceHeader", "rightButtonAriaLabel", "leftButtonAriaLabel", "allRightButtonAriaLabel", "allLeftButtonAriaLabel", "upButtonAriaLabel", "downButtonAriaLabel", "topButtonAriaLabel", "bottomButtonAriaLabel", "targetHeader", "responsive", "filterBy", "filterLocale", "trackBy", "sourceTrackBy", "targetTrackBy", "showSourceFilter", "showTargetFilter", "metaKeySelection", "dragdrop", "style", "styleClass", "sourceStyle", "targetStyle", "showSourceControls", "showTargetControls", "sourceFilterPlaceholder", "targetFilterPlaceholder", "disabled", "ariaSourceFilterLabel", "ariaTargetFilterLabel", "filterMatchMode", "breakpoint", "stripedRows", "keepSelection"], outputs: ["onMoveToSource", "onMoveAllToSource", "onMoveAllToTarget", "onMoveToTarget", "onSourceReorder", "onTargetReorder", "onSourceSelect", "onTargetSelect", "onSourceFilter", "onTargetFilter"] }, { kind: "component", type: i6.SelectButton, selector: "p-selectButton", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "tabindex", "multiple", "style", "styleClass", "ariaLabelledBy", "disabled", "dataKey"], outputs: ["onOptionClick", "onChange"] }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomGroupColumnSelectorComponent, decorators: [{
82
- type: Component,
83
- args: [{ selector: 'ocx-custom-group-column-selector', template: "<p-button\n id=\"customGroupColumnSelectorButton\"\n type=\"button\"\n (click)=\"onOpenCustomGroupColumnSelectionDialogClick()\"\n [title]=\"openButtonTitle || ('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.OPEN_BUTTON_DETAIL' | translate)\"\n icon=\"pi pi-cog\"\n styleClass=\"p-button\"\n [ariaLabel]=\"openButtonTitle || ('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.OPEN_BUTTON_DETAIL' | translate)\"\n></p-button>\n\n<p-dialog header=\"Header\" [(visible)]=\"visible\" [style]=\"{ width: '70%' }\" [modal]=\"true\" [closeAriaLabel]=\"('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABELS.CLOSE' | translate)\">\n <ng-template pTemplate=\"header\">\n <span class=\"text-xl font-bold\"\n >{{ dialogTitle || ('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.DIALOG_TITLE' | translate) }}</span\n >\n </ng-template>\n\n <p-pickList\n [source]=\"displayedColumnsModel\"\n [target]=\"hiddenColumnsModel\"\n [sourceHeader]=\"activeColumnsLabel || ('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ACTIVE_COLUMNS_LABEL' | translate)\"\n [targetHeader]=\"inactiveColumnsLabel || ('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.INACTIVE_COLUMNS_LABEL' | translate)\"\n [dragdrop]=\"true\"\n [responsive]=\"false\"\n [sourceStyle]=\"{ height: '300px' }\"\n [targetStyle]=\"{ height: '300px' }\"\n [upButtonAriaLabel]=\"('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABELS.UP' | translate)\"\n [topButtonAriaLabel]=\"('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABELS.TOP' | translate)\"\n [downButtonAriaLabel]=\"('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABELS.DOWN' | translate)\"\n [bottomButtonAriaLabel]=\"('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABELS.BOTTOM' | translate)\"\n [rightButtonAriaLabel]=\"('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABELS.RIGHT' | translate)\"\n [allRightButtonAriaLabel]=\"('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABELS.ALL_RIGHT' | translate)\"\n [leftButtonAriaLabel]=\"('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABELS.LEFT' | translate)\"\n [allLeftButtonAriaLabel]=\"('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABELS.ALL_LEFT' | translate)\"\n >\n <ng-template let-item pTemplate=\"item\">\n <div>{{ item.nameKey | translate }}</div>\n </ng-template>\n </p-pickList>\n\n <div class=\"pt-4\">\n <p class=\"text-xl font-bold\">{{'OCX_CUSTOM_GROUP_COLUMN_SELECTOR.CONFIGURE_ACTION_COLUMN.TITLE' | translate}}</p>\n <div class=\"flex gap-6 px-3\">\n <div>\n <p class=\"mb-1\">{{'OCX_CUSTOM_GROUP_COLUMN_SELECTOR.CONFIGURE_ACTION_COLUMN.FREEZE' | translate}}</p>\n <p-selectButton\n [options]=\"frozenOptions\"\n [(ngModel)]=\"frozenActionColumnModel\"\n optionLabel=\"label\"\n optionValue=\"value\"\n id=\"frozenActionColumn\"\n name=\"frozen-action-column-select-button\"\n >\n <ng-template let-option pTemplate> {{option.label | translate}} </ng-template>\n </p-selectButton>\n </div>\n <div>\n <p class=\"mb-1\">{{'OCX_CUSTOM_GROUP_COLUMN_SELECTOR.CONFIGURE_ACTION_COLUMN.POSITION' | translate}}</p>\n <p-selectButton\n [options]=\"alignmentOptions\"\n [(ngModel)]=\"actionColumnPositionModel\"\n optionLabel=\"label\"\n optionValue=\"value\"\n id=\"actionColumnPosition\"\n class=\"mt-2\"\n name=\"action-column-position-select-button\"\n >\n <ng-template let-option pTemplate> {{option.label | translate}} </ng-template>\n </p-selectButton>\n </div>\n </div>\n </div>\n\n <ng-template pTemplate=\"footer\">\n <p-button\n id=\"cancelButton\"\n (onClick)=\"onCancelClick()\"\n [label]=\"cancelButtonLabel || ('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.CANCEL_BUTTON_LABEL' | translate)\"\n styleClass=\"p-button\"\n ></p-button>\n <p-button\n id=\"saveButton\"\n (onClick)=\"onSaveClick()\"\n [label]=\"saveButtonLabel || ('OCX_CUSTOM_GROUP_COLUMN_SELECTOR.SAVE_BUTTON_LABEL' | translate)\"\n ></p-button>\n </ng-template>\n</p-dialog>\n", styles: ["::ng-deep .p-buttonset .p-button{min-width:auto}::ng-deep .p-buttonset{display:flex}::ng-deep .p-picklist-item.cdk-drag-preview{z-index:2000!important}.p-button{height:100%}\n"] }]
84
- }], ctorParameters: function () { return [{ type: i1.TranslateService }]; }, propDecorators: { columns: [{
85
- type: Input
86
- }], displayedColumns: [{
87
- type: Input
88
- }], dialogTitle: [{
89
- type: Input
90
- }], openButtonTitle: [{
91
- type: Input
92
- }], saveButtonLabel: [{
93
- type: Input
94
- }], cancelButtonLabel: [{
95
- type: Input
96
- }], activeColumnsLabel: [{
97
- type: Input
98
- }], inactiveColumnsLabel: [{
99
- type: Input
100
- }], frozenActionColumn: [{
101
- type: Input
102
- }], actionColumnPosition: [{
103
- type: Input
104
- }], columnSelectionChanged: [{
105
- type: Output
106
- }], actionColumnConfigChanged: [{
107
- type: Output
108
- }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWdyb3VwLWNvbHVtbi1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1ncm91cC1jb2x1bW4tc2VsZWN0b3IvY3VzdG9tLWdyb3VwLWNvbHVtbi1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1ncm91cC1jb2x1bW4tc2VsZWN0b3IvY3VzdG9tLWdyb3VwLWNvbHVtbi1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBOzs7Ozs7Ozs7QUFjdEQsTUFBTSxPQUFPLGtDQUFrQztJQTBDN0MsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUF6Q3RDLFlBQU8sR0FBc0IsRUFBRSxDQUFBO1FBQy9CLHFCQUFnQixHQUFzQixFQUFFLENBQUE7UUFDeEMsZ0JBQVcsR0FBRyxFQUFFLENBQUE7UUFDaEIsb0JBQWUsR0FBRyxFQUFFLENBQUE7UUFDcEIsb0JBQWUsR0FBRyxFQUFFLENBQUE7UUFDcEIsc0JBQWlCLEdBQUcsRUFBRSxDQUFBO1FBQ3RCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQTtRQUN2Qix5QkFBb0IsR0FBRyxFQUFFLENBQUE7UUFDekIsdUJBQWtCLEdBQUcsS0FBSyxDQUFBO1FBQzFCLHlCQUFvQixHQUFxQixPQUFPLENBQUE7UUFFL0MsMkJBQXNCLEdBQThDLElBQUksWUFBWSxFQUFFLENBQUE7UUFDdEYsOEJBQXlCLEdBQTJDLElBQUksWUFBWSxFQUFFLENBQUE7UUFFaEcsdUJBQWtCLEdBQXNCLEVBQUUsQ0FBQTtRQUMxQywwQkFBcUIsR0FBc0IsRUFBRSxDQUFBO1FBQzdDLDRCQUF1QixHQUFHLEtBQUssQ0FBQTtRQUMvQiw4QkFBeUIsR0FBcUIsT0FBTyxDQUFBO1FBQ3JELFlBQU8sR0FBRyxLQUFLLENBQUE7UUFDZixxQkFBZ0IsR0FBRztZQUNqQjtnQkFDRSxLQUFLLEVBQUUsK0RBQStEO2dCQUN0RSxLQUFLLEVBQUUsTUFBTTthQUNkO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLGdFQUFnRTtnQkFDdkUsS0FBSyxFQUFFLE9BQU87YUFDZjtTQUNGLENBQUE7UUFFRCxrQkFBYSxHQUFHO1lBQ2Q7Z0JBQ0UsS0FBSyxFQUFFLDhEQUE4RDtnQkFDckUsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNEO2dCQUNFLEtBQUssRUFBRSw2REFBNkQ7Z0JBQ3BFLEtBQUssRUFBRSxLQUFLO2FBQ2I7U0FDRixDQUFBO0lBRWlELENBQUM7SUFFbkQsMkNBQTJDO1FBQ3pDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFDdkQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUMzQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FDN0UsQ0FBQTtRQUNELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUE7UUFDdEQsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQTtRQUMxRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQTtJQUNyQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO1FBQ3BCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNyRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUE7UUFFekUsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6RCxXQUFXLENBQUMsTUFBTSxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDakQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWEsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUFBO1NBQ3JGO1FBRUQsSUFDRSxJQUFJLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLHVCQUF1QjtZQUN2RCxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUMzRDtZQUNBLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUM7Z0JBQ2xDLGtCQUFrQixFQUFFLElBQUksQ0FBQyx1QkFBdUI7Z0JBQ2hELG9CQUFvQixFQUFFLElBQUksQ0FBQyx5QkFBeUI7YUFDckQsQ0FBQyxDQUFBO1NBQ0g7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO0lBQ3RCLENBQUM7O2dJQTdFVSxrQ0FBa0M7b0hBQWxDLGtDQUFrQyxpa0JDZi9DLHk3SEF1RkE7NEZEeEVhLGtDQUFrQztrQkFMOUMsU0FBUzsrQkFDRSxrQ0FBa0M7dUdBS25DLE9BQU87c0JBQWYsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFSSxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0cseUJBQXlCO3NCQUFsQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBEYXRhVGFibGVDb2x1bW4gfSBmcm9tICcuLi8uLi9tb2RlbC9kYXRhLXRhYmxlLWNvbHVtbi5tb2RlbCdcblxuZXhwb3J0IHR5cGUgQ29sdW1uU2VsZWN0aW9uQ2hhbmdlZEV2ZW50ID0geyBhY3RpdmVDb2x1bW5zOiBEYXRhVGFibGVDb2x1bW5bXSB9XG5leHBvcnQgdHlwZSBBY3Rpb25Db2x1bW5DaGFuZ2VkRXZlbnQgPSB7XG4gIGZyb3plbkFjdGlvbkNvbHVtbjogYm9vbGVhblxuICBhY3Rpb25Db2x1bW5Qb3NpdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0J1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvY3gtY3VzdG9tLWdyb3VwLWNvbHVtbi1zZWxlY3RvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tZ3JvdXAtY29sdW1uLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLWdyb3VwLWNvbHVtbi1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21Hcm91cENvbHVtblNlbGVjdG9yQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY29sdW1uczogRGF0YVRhYmxlQ29sdW1uW10gPSBbXVxuICBASW5wdXQoKSBkaXNwbGF5ZWRDb2x1bW5zOiBEYXRhVGFibGVDb2x1bW5bXSA9IFtdXG4gIEBJbnB1dCgpIGRpYWxvZ1RpdGxlID0gJydcbiAgQElucHV0KCkgb3BlbkJ1dHRvblRpdGxlID0gJydcbiAgQElucHV0KCkgc2F2ZUJ1dHRvbkxhYmVsID0gJydcbiAgQElucHV0KCkgY2FuY2VsQnV0dG9uTGFiZWwgPSAnJ1xuICBASW5wdXQoKSBhY3RpdmVDb2x1bW5zTGFiZWwgPSAnJ1xuICBASW5wdXQoKSBpbmFjdGl2ZUNvbHVtbnNMYWJlbCA9ICcnXG4gIEBJbnB1dCgpIGZyb3plbkFjdGlvbkNvbHVtbiA9IGZhbHNlXG4gIEBJbnB1dCgpIGFjdGlvbkNvbHVtblBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnID0gJ3JpZ2h0J1xuXG4gIEBPdXRwdXQoKSBjb2x1bW5TZWxlY3Rpb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q29sdW1uU2VsZWN0aW9uQ2hhbmdlZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgYWN0aW9uQ29sdW1uQ29uZmlnQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFjdGlvbkNvbHVtbkNoYW5nZWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBoaWRkZW5Db2x1bW5zTW9kZWw6IERhdGFUYWJsZUNvbHVtbltdID0gW11cbiAgZGlzcGxheWVkQ29sdW1uc01vZGVsOiBEYXRhVGFibGVDb2x1bW5bXSA9IFtdXG4gIGZyb3plbkFjdGlvbkNvbHVtbk1vZGVsID0gZmFsc2VcbiAgYWN0aW9uQ29sdW1uUG9zaXRpb25Nb2RlbDogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdyaWdodCdcbiAgdmlzaWJsZSA9IGZhbHNlXG4gIGFsaWdubWVudE9wdGlvbnMgPSBbXG4gICAge1xuICAgICAgbGFiZWw6ICdPQ1hfQ1VTVE9NX0dST1VQX0NPTFVNTl9TRUxFQ1RPUi5DT05GSUdVUkVfQUNUSU9OX0NPTFVNTi5MRUZUJyxcbiAgICAgIHZhbHVlOiAnbGVmdCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ09DWF9DVVNUT01fR1JPVVBfQ09MVU1OX1NFTEVDVE9SLkNPTkZJR1VSRV9BQ1RJT05fQ09MVU1OLlJJR0hUJyxcbiAgICAgIHZhbHVlOiAncmlnaHQnLFxuICAgIH0sXG4gIF1cblxuICBmcm96ZW5PcHRpb25zID0gW1xuICAgIHtcbiAgICAgIGxhYmVsOiAnT0NYX0NVU1RPTV9HUk9VUF9DT0xVTU5fU0VMRUNUT1IuQ09ORklHVVJFX0FDVElPTl9DT0xVTU4uWUVTJyxcbiAgICAgIHZhbHVlOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdPQ1hfQ1VTVE9NX0dST1VQX0NPTFVNTl9TRUxFQ1RPUi5DT05GSUdVUkVfQUNUSU9OX0NPTFVNTi5OTycsXG4gICAgICB2YWx1ZTogZmFsc2UsXG4gICAgfSxcbiAgXVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gIG9uT3BlbkN1c3RvbUdyb3VwQ29sdW1uU2VsZWN0aW9uRGlhbG9nQ2xpY2soKSB7XG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zTW9kZWwgPSBbLi4udGhpcy5kaXNwbGF5ZWRDb2x1bW5zXVxuICAgIHRoaXMuaGlkZGVuQ29sdW1uc01vZGVsID0gdGhpcy5jb2x1bW5zLmZpbHRlcihcbiAgICAgIChjb2x1bW4pID0+ICF0aGlzLmRpc3BsYXllZENvbHVtbnNNb2RlbC5tYXAoKGMpID0+IGMuaWQpLmluY2x1ZGVzKGNvbHVtbi5pZClcbiAgICApXG4gICAgdGhpcy5mcm96ZW5BY3Rpb25Db2x1bW5Nb2RlbCA9IHRoaXMuZnJvemVuQWN0aW9uQ29sdW1uXG4gICAgdGhpcy5hY3Rpb25Db2x1bW5Qb3NpdGlvbk1vZGVsID0gdGhpcy5hY3Rpb25Db2x1bW5Qb3NpdGlvblxuICAgIHRoaXMudmlzaWJsZSA9IHRydWVcbiAgfVxuXG4gIG9uU2F2ZUNsaWNrKCkge1xuICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlXG4gICAgY29uc3QgY29sSWRzQmVmb3JlID0gdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLm1hcCgoY29sdW1uKSA9PiBjb2x1bW4uaWQpXG4gICAgY29uc3QgY29sSWRzQWZ0ZXIgPSB0aGlzLmRpc3BsYXllZENvbHVtbnNNb2RlbC5tYXAoKGNvbHVtbikgPT4gY29sdW1uLmlkKVxuXG4gICAgaWYgKCghY29sSWRzQWZ0ZXIuZXZlcnkoKGNvbElkLCBpKSA9PiBjb2xJZCA9PT0gY29sSWRzQmVmb3JlW2ldKSkgfHxcbiAgICAgICAgICAgIGNvbElkc0FmdGVyLmxlbmd0aCAhPSBjb2xJZHNCZWZvcmUubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNvbHVtblNlbGVjdGlvbkNoYW5nZWQuZW1pdCh7IGFjdGl2ZUNvbHVtbnM6IFsuLi50aGlzLmRpc3BsYXllZENvbHVtbnNNb2RlbF0gfSlcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLmZyb3plbkFjdGlvbkNvbHVtbiAhPSB0aGlzLmZyb3plbkFjdGlvbkNvbHVtbk1vZGVsIHx8XG4gICAgICB0aGlzLmFjdGlvbkNvbHVtblBvc2l0aW9uICE9IHRoaXMuYWN0aW9uQ29sdW1uUG9zaXRpb25Nb2RlbFxuICAgICkge1xuICAgICAgdGhpcy5hY3Rpb25Db2x1bW5Db25maWdDaGFuZ2VkLmVtaXQoe1xuICAgICAgICBmcm96ZW5BY3Rpb25Db2x1bW46IHRoaXMuZnJvemVuQWN0aW9uQ29sdW1uTW9kZWwsXG4gICAgICAgIGFjdGlvbkNvbHVtblBvc2l0aW9uOiB0aGlzLmFjdGlvbkNvbHVtblBvc2l0aW9uTW9kZWwsXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIG9uQ2FuY2VsQ2xpY2soKSB7XG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2VcbiAgfVxufVxuIiwiPHAtYnV0dG9uXG4gIGlkPVwiY3VzdG9tR3JvdXBDb2x1bW5TZWxlY3RvckJ1dHRvblwiXG4gIHR5cGU9XCJidXR0b25cIlxuICAoY2xpY2spPVwib25PcGVuQ3VzdG9tR3JvdXBDb2x1bW5TZWxlY3Rpb25EaWFsb2dDbGljaygpXCJcbiAgW3RpdGxlXT1cIm9wZW5CdXR0b25UaXRsZSB8fCAoJ09DWF9DVVNUT01fR1JPVVBfQ09MVU1OX1NFTEVDVE9SLk9QRU5fQlVUVE9OX0RFVEFJTCcgfCB0cmFuc2xhdGUpXCJcbiAgaWNvbj1cInBpIHBpLWNvZ1wiXG4gIHN0eWxlQ2xhc3M9XCJwLWJ1dHRvblwiXG4gIFthcmlhTGFiZWxdPVwib3BlbkJ1dHRvblRpdGxlIHx8ICgnT0NYX0NVU1RPTV9HUk9VUF9DT0xVTU5fU0VMRUNUT1IuT1BFTl9CVVRUT05fREVUQUlMJyB8IHRyYW5zbGF0ZSlcIlxuPjwvcC1idXR0b24+XG5cbjxwLWRpYWxvZyBoZWFkZXI9XCJIZWFkZXJcIiBbKHZpc2libGUpXT1cInZpc2libGVcIiBbc3R5bGVdPVwieyB3aWR0aDogJzcwJScgfVwiIFttb2RhbF09XCJ0cnVlXCIgW2Nsb3NlQXJpYUxhYmVsXT1cIignT0NYX0NVU1RPTV9HUk9VUF9DT0xVTU5fU0VMRUNUT1IuQVJJQV9MQUJFTFMuQ0xPU0UnIHwgdHJhbnNsYXRlKVwiPlxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtYm9sZFwiXG4gICAgICA+e3sgZGlhbG9nVGl0bGUgfHwgKCdPQ1hfQ1VTVE9NX0dST1VQX0NPTFVNTl9TRUxFQ1RPUi5ESUFMT0dfVElUTEUnIHwgdHJhbnNsYXRlKSB9fTwvc3BhblxuICAgID5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8cC1waWNrTGlzdFxuICAgIFtzb3VyY2VdPVwiZGlzcGxheWVkQ29sdW1uc01vZGVsXCJcbiAgICBbdGFyZ2V0XT1cImhpZGRlbkNvbHVtbnNNb2RlbFwiXG4gICAgW3NvdXJjZUhlYWRlcl09XCJhY3RpdmVDb2x1bW5zTGFiZWwgfHwgKCdPQ1hfQ1VTVE9NX0dST1VQX0NPTFVNTl9TRUxFQ1RPUi5BQ1RJVkVfQ09MVU1OU19MQUJFTCcgfCB0cmFuc2xhdGUpXCJcbiAgICBbdGFyZ2V0SGVhZGVyXT1cImluYWN0aXZlQ29sdW1uc0xhYmVsIHx8ICgnT0NYX0NVU1RPTV9HUk9VUF9DT0xVTU5fU0VMRUNUT1IuSU5BQ1RJVkVfQ09MVU1OU19MQUJFTCcgfCB0cmFuc2xhdGUpXCJcbiAgICBbZHJhZ2Ryb3BdPVwidHJ1ZVwiXG4gICAgW3Jlc3BvbnNpdmVdPVwiZmFsc2VcIlxuICAgIFtzb3VyY2VTdHlsZV09XCJ7IGhlaWdodDogJzMwMHB4JyB9XCJcbiAgICBbdGFyZ2V0U3R5bGVdPVwieyBoZWlnaHQ6ICczMDBweCcgfVwiXG4gICAgW3VwQnV0dG9uQXJpYUxhYmVsXT1cIignT0NYX0NVU1RPTV9HUk9VUF9DT0xVTU5fU0VMRUNUT1IuQVJJQV9MQUJFTFMuVVAnIHwgdHJhbnNsYXRlKVwiXG4gICAgW3RvcEJ1dHRvbkFyaWFMYWJlbF09XCIoJ09DWF9DVVNUT01fR1JPVVBfQ09MVU1OX1NFTEVDVE9SLkFSSUFfTEFCRUxTLlRPUCcgfCB0cmFuc2xhdGUpXCJcbiAgICBbZG93bkJ1dHRvbkFyaWFMYWJlbF09XCIoJ09DWF9DVVNUT01fR1JPVVBfQ09MVU1OX1NFTEVDVE9SLkFSSUFfTEFCRUxTLkRPV04nIHwgdHJhbnNsYXRlKVwiXG4gICAgW2JvdHRvbUJ1dHRvbkFyaWFMYWJlbF09XCIoJ09DWF9DVVNUT01fR1JPVVBfQ09MVU1OX1NFTEVDVE9SLkFSSUFfTEFCRUxTLkJPVFRPTScgfCB0cmFuc2xhdGUpXCJcbiAgICBbcmlnaHRCdXR0b25BcmlhTGFiZWxdPVwiKCdPQ1hfQ1VTVE9NX0dST1VQX0NPTFVNTl9TRUxFQ1RPUi5BUklBX0xBQkVMUy5SSUdIVCcgfCB0cmFuc2xhdGUpXCJcbiAgICBbYWxsUmlnaHRCdXR0b25BcmlhTGFiZWxdPVwiKCdPQ1hfQ1VTVE9NX0dST1VQX0NPTFVNTl9TRUxFQ1RPUi5BUklBX0xBQkVMUy5BTExfUklHSFQnIHwgdHJhbnNsYXRlKVwiXG4gICAgW2xlZnRCdXR0b25BcmlhTGFiZWxdPVwiKCdPQ1hfQ1VTVE9NX0dST1VQX0NPTFVNTl9TRUxFQ1RPUi5BUklBX0xBQkVMUy5MRUZUJyB8IHRyYW5zbGF0ZSlcIlxuICAgIFthbGxMZWZ0QnV0dG9uQXJpYUxhYmVsXT1cIignT0NYX0NVU1RPTV9HUk9VUF9DT0xVTU5fU0VMRUNUT1IuQVJJQV9MQUJFTFMuQUxMX0xFRlQnIHwgdHJhbnNsYXRlKVwiXG4gID5cbiAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPVwiaXRlbVwiPlxuICAgICAgPGRpdj57eyBpdGVtLm5hbWVLZXkgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L3AtcGlja0xpc3Q+XG5cbiAgPGRpdiBjbGFzcz1cInB0LTRcIj5cbiAgICA8cCBjbGFzcz1cInRleHQteGwgZm9udC1ib2xkXCI+e3snT0NYX0NVU1RPTV9HUk9VUF9DT0xVTU5fU0VMRUNUT1IuQ09ORklHVVJFX0FDVElPTl9DT0xVTU4uVElUTEUnIHwgdHJhbnNsYXRlfX08L3A+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTYgcHgtM1wiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPHAgY2xhc3M9XCJtYi0xXCI+e3snT0NYX0NVU1RPTV9HUk9VUF9DT0xVTU5fU0VMRUNUT1IuQ09ORklHVVJFX0FDVElPTl9DT0xVTU4uRlJFRVpFJyB8IHRyYW5zbGF0ZX19PC9wPlxuICAgICAgICA8cC1zZWxlY3RCdXR0b25cbiAgICAgICAgICBbb3B0aW9uc109XCJmcm96ZW5PcHRpb25zXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImZyb3plbkFjdGlvbkNvbHVtbk1vZGVsXCJcbiAgICAgICAgICBvcHRpb25MYWJlbD1cImxhYmVsXCJcbiAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCJcbiAgICAgICAgICBpZD1cImZyb3plbkFjdGlvbkNvbHVtblwiXG4gICAgICAgICAgbmFtZT1cImZyb3plbi1hY3Rpb24tY29sdW1uLXNlbGVjdC1idXR0b25cIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1vcHRpb24gcFRlbXBsYXRlPiB7e29wdGlvbi5sYWJlbCB8IHRyYW5zbGF0ZX19IDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvcC1zZWxlY3RCdXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxwIGNsYXNzPVwibWItMVwiPnt7J09DWF9DVVNUT01fR1JPVVBfQ09MVU1OX1NFTEVDVE9SLkNPTkZJR1VSRV9BQ1RJT05fQ09MVU1OLlBPU0lUSU9OJyB8IHRyYW5zbGF0ZX19PC9wPlxuICAgICAgICA8cC1zZWxlY3RCdXR0b25cbiAgICAgICAgICBbb3B0aW9uc109XCJhbGlnbm1lbnRPcHRpb25zXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImFjdGlvbkNvbHVtblBvc2l0aW9uTW9kZWxcIlxuICAgICAgICAgIG9wdGlvbkxhYmVsPVwibGFiZWxcIlxuICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIlxuICAgICAgICAgIGlkPVwiYWN0aW9uQ29sdW1uUG9zaXRpb25cIlxuICAgICAgICAgIGNsYXNzPVwibXQtMlwiXG4gICAgICAgICAgbmFtZT1cImFjdGlvbi1jb2x1bW4tcG9zaXRpb24tc2VsZWN0LWJ1dHRvblwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LW9wdGlvbiBwVGVtcGxhdGU+IHt7b3B0aW9uLmxhYmVsIHwgdHJhbnNsYXRlfX0gPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9wLXNlbGVjdEJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZm9vdGVyXCI+XG4gICAgPHAtYnV0dG9uXG4gICAgICBpZD1cImNhbmNlbEJ1dHRvblwiXG4gICAgICAob25DbGljayk9XCJvbkNhbmNlbENsaWNrKClcIlxuICAgICAgW2xhYmVsXT1cImNhbmNlbEJ1dHRvbkxhYmVsIHx8ICgnT0NYX0NVU1RPTV9HUk9VUF9DT0xVTU5fU0VMRUNUT1IuQ0FOQ0VMX0JVVFRPTl9MQUJFTCcgfCB0cmFuc2xhdGUpXCJcbiAgICAgIHN0eWxlQ2xhc3M9XCJwLWJ1dHRvblwiXG4gICAgPjwvcC1idXR0b24+XG4gICAgPHAtYnV0dG9uXG4gICAgICBpZD1cInNhdmVCdXR0b25cIlxuICAgICAgKG9uQ2xpY2spPVwib25TYXZlQ2xpY2soKVwiXG4gICAgICBbbGFiZWxdPVwic2F2ZUJ1dHRvbkxhYmVsIHx8ICgnT0NYX0NVU1RPTV9HUk9VUF9DT0xVTU5fU0VMRUNUT1IuU0FWRV9CVVRUT05fTEFCRUwnIHwgdHJhbnNsYXRlKVwiXG4gICAgPjwvcC1idXR0b24+XG4gIDwvbmctdGVtcGxhdGU+XG48L3AtZGlhbG9nPlxuIl19
@@ -1,45 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { PrimeIcons } from 'primeng/api';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "primeng/selectbutton";
6
- import * as i3 from "@angular/forms";
7
- import * as i4 from "@ngx-translate/core";
8
- const ALL_VIEW_LAYOUTS = [
9
- { icon: PrimeIcons.LIST, layout: 'list', titleKey: 'OCX_DATA_LAYOUT_SELECTION.LAYOUT.LIST' },
10
- { icon: PrimeIcons.TH_LARGE, layout: 'grid', titleKey: 'OCX_DATA_LAYOUT_SELECTION.LAYOUT.GRID' },
11
- { icon: PrimeIcons.TABLE, layout: 'table', titleKey: 'OCX_DATA_LAYOUT_SELECTION.LAYOUT.TABLE' },
12
- ];
13
- export class DataLayoutSelectionComponent {
14
- constructor() {
15
- this.supportedViewLayouts = [];
16
- this.dataViewLayoutChange = new EventEmitter();
17
- this.viewingLayouts = [];
18
- }
19
- set layout(value) {
20
- this.selectedViewLayout = this.viewingLayouts.find((v) => v.layout === value);
21
- }
22
- get layout() {
23
- return this.selectedViewLayout?.layout || 'table';
24
- }
25
- ngOnInit() {
26
- this.viewingLayouts = ALL_VIEW_LAYOUTS.filter((vl) => this.supportedViewLayouts.includes(vl.layout));
27
- this.layout = 'table';
28
- }
29
- onDataViewLayoutChange(event) {
30
- this.dataViewLayoutChange.emit(event.layout);
31
- }
32
- }
33
- DataLayoutSelectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DataLayoutSelectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
34
- DataLayoutSelectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DataLayoutSelectionComponent, selector: "ocx-data-layout-selection", inputs: { supportedViewLayouts: "supportedViewLayouts", layout: "layout" }, outputs: { dataViewLayoutChange: "dataViewLayoutChange" }, ngImport: i0, template: "<div class=\"flex flex-wrap justify-content-between align-items-center py-1 gap-2\">\n <p-selectButton\n *ngIf=\"viewingLayouts.length > 1\"\n [options]=\"viewingLayouts\"\n [(ngModel)]=\"selectedViewLayout\"\n optionLabel=\"icon\"\n (onChange)=\"onDataViewLayoutChange($event.value)\"\n >\n <ng-template let-item>\n <i [class]=\"item.icon\" [title]=\"item.title || (item.titleKey | translate)\"></i>\n </ng-template>\n </p-selectButton>\n</div>\n", styles: ["::ng-deep .p-buttonset .p-button{min-width:auto}::ng-deep .p-buttonset{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SelectButton, selector: "p-selectButton", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "tabindex", "multiple", "style", "styleClass", "ariaLabelledBy", "disabled", "dataKey"], outputs: ["onOptionClick", "onChange"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DataLayoutSelectionComponent, decorators: [{
36
- type: Component,
37
- args: [{ selector: 'ocx-data-layout-selection', template: "<div class=\"flex flex-wrap justify-content-between align-items-center py-1 gap-2\">\n <p-selectButton\n *ngIf=\"viewingLayouts.length > 1\"\n [options]=\"viewingLayouts\"\n [(ngModel)]=\"selectedViewLayout\"\n optionLabel=\"icon\"\n (onChange)=\"onDataViewLayoutChange($event.value)\"\n >\n <ng-template let-item>\n <i [class]=\"item.icon\" [title]=\"item.title || (item.titleKey | translate)\"></i>\n </ng-template>\n </p-selectButton>\n</div>\n", styles: ["::ng-deep .p-buttonset .p-button{min-width:auto}::ng-deep .p-buttonset{display:flex}\n"] }]
38
- }], propDecorators: { supportedViewLayouts: [{
39
- type: Input
40
- }], layout: [{
41
- type: Input
42
- }], dataViewLayoutChange: [{
43
- type: Output
44
- }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sYXlvdXQtc2VsZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1hY2NlbGVyYXRvci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS1sYXlvdXQtc2VsZWN0aW9uL2RhdGEtbGF5b3V0LXNlbGVjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtbGF5b3V0LXNlbGVjdGlvbi9kYXRhLWxheW91dC1zZWxlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM5RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFBOzs7Ozs7QUFVeEMsTUFBTSxnQkFBZ0IsR0FBcUI7SUFDekMsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSx1Q0FBdUMsRUFBRTtJQUM1RixFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLHVDQUF1QyxFQUFFO0lBQ2hHLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsd0NBQXdDLEVBQUU7Q0FDaEcsQ0FBQTtBQU9ELE1BQU0sT0FBTyw0QkFBNEI7SUFMekM7UUFNVyx5QkFBb0IsR0FBa0IsRUFBRSxDQUFBO1FBU3ZDLHlCQUFvQixHQUE0QyxJQUFJLFlBQVksRUFBRSxDQUFBO1FBRTVGLG1CQUFjLEdBQXFCLEVBQUUsQ0FBQTtLQVd0QztJQXJCQyxJQUNJLE1BQU0sQ0FBQyxLQUFnQztRQUN6QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLENBQUE7SUFDL0UsQ0FBQztJQUNELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixFQUFFLE1BQU0sSUFBSSxPQUFPLENBQUE7SUFDbkQsQ0FBQztJQU9ELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUNwRyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQTtJQUN2QixDQUFDO0lBRUQsc0JBQXNCLENBQUMsS0FBNkQ7UUFDbEYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDOUMsQ0FBQzs7MEhBdEJVLDRCQUE0Qjs4R0FBNUIsNEJBQTRCLHdNQ3RCekMsOGRBYUE7NEZEU2EsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDJCQUEyQjs4QkFLNUIsb0JBQW9CO3NCQUE1QixLQUFLO2dCQUVGLE1BQU07c0JBRFQsS0FBSztnQkFRSSxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFByaW1lSWNvbnMgfSBmcm9tICdwcmltZW5nL2FwaSdcbmltcG9ydCB7IFByaW1lSWNvbiB9IGZyb20gJy4uLy4uL3V0aWxzL3ByaW1laWNvbi51dGlscydcblxuaW50ZXJmYWNlIFZpZXdpbmdMYXlvdXRzIHtcbiAgaWNvbjogUHJpbWVJY29uXG4gIGxheW91dDogJ2dyaWQnIHwgJ2xpc3QnIHwgJ3RhYmxlJ1xuICB0aXRsZT86IHN0cmluZ1xuICB0aXRsZUtleTogc3RyaW5nXG59XG5cbmNvbnN0IEFMTF9WSUVXX0xBWU9VVFM6IFZpZXdpbmdMYXlvdXRzW10gPSBbXG4gIHsgaWNvbjogUHJpbWVJY29ucy5MSVNULCBsYXlvdXQ6ICdsaXN0JywgdGl0bGVLZXk6ICdPQ1hfREFUQV9MQVlPVVRfU0VMRUNUSU9OLkxBWU9VVC5MSVNUJyB9LFxuICB7IGljb246IFByaW1lSWNvbnMuVEhfTEFSR0UsIGxheW91dDogJ2dyaWQnLCB0aXRsZUtleTogJ09DWF9EQVRBX0xBWU9VVF9TRUxFQ1RJT04uTEFZT1VULkdSSUQnIH0sXG4gIHsgaWNvbjogUHJpbWVJY29ucy5UQUJMRSwgbGF5b3V0OiAndGFibGUnLCB0aXRsZUtleTogJ09DWF9EQVRBX0xBWU9VVF9TRUxFQ1RJT04uTEFZT1VULlRBQkxFJyB9LFxuXVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvY3gtZGF0YS1sYXlvdXQtc2VsZWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtbGF5b3V0LXNlbGVjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGEtbGF5b3V0LXNlbGVjdGlvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhTGF5b3V0U2VsZWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgc3VwcG9ydGVkVmlld0xheW91dHM6IEFycmF5PHN0cmluZz4gPSBbXVxuICBASW5wdXQoKVxuICBzZXQgbGF5b3V0KHZhbHVlOiAnZ3JpZCcgfCAnbGlzdCcgfCAndGFibGUnKSB7XG4gICAgdGhpcy5zZWxlY3RlZFZpZXdMYXlvdXQgPSB0aGlzLnZpZXdpbmdMYXlvdXRzLmZpbmQoKHYpID0+IHYubGF5b3V0ID09PSB2YWx1ZSlcbiAgfVxuICBnZXQgbGF5b3V0KCk6ICdncmlkJyB8ICdsaXN0JyB8ICd0YWJsZScge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVmlld0xheW91dD8ubGF5b3V0IHx8ICd0YWJsZSdcbiAgfVxuXG4gIEBPdXRwdXQoKSBkYXRhVmlld0xheW91dENoYW5nZTogRXZlbnRFbWl0dGVyPCdncmlkJyB8ICdsaXN0JyB8ICd0YWJsZSc+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgdmlld2luZ0xheW91dHM6IFZpZXdpbmdMYXlvdXRzW10gPSBbXVxuICBzZWxlY3RlZFZpZXdMYXlvdXQ6IFZpZXdpbmdMYXlvdXRzIHwgdW5kZWZpbmVkXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy52aWV3aW5nTGF5b3V0cyA9IEFMTF9WSUVXX0xBWU9VVFMuZmlsdGVyKCh2bCkgPT4gdGhpcy5zdXBwb3J0ZWRWaWV3TGF5b3V0cy5pbmNsdWRlcyh2bC5sYXlvdXQpKVxuICAgIHRoaXMubGF5b3V0ID0gJ3RhYmxlJ1xuICB9XG5cbiAgb25EYXRhVmlld0xheW91dENoYW5nZShldmVudDogeyBpY29uOiBQcmltZUljb247IGxheW91dDogJ2dyaWQnIHwgJ2xpc3QnIHwgJ3RhYmxlJyB9KTogdm9pZCB7XG4gICAgdGhpcy5kYXRhVmlld0xheW91dENoYW5nZS5lbWl0KGV2ZW50LmxheW91dClcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBweS0xIGdhcC0yXCI+XG4gIDxwLXNlbGVjdEJ1dHRvblxuICAgICpuZ0lmPVwidmlld2luZ0xheW91dHMubGVuZ3RoID4gMVwiXG4gICAgW29wdGlvbnNdPVwidmlld2luZ0xheW91dHNcIlxuICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRWaWV3TGF5b3V0XCJcbiAgICBvcHRpb25MYWJlbD1cImljb25cIlxuICAgIChvbkNoYW5nZSk9XCJvbkRhdGFWaWV3TGF5b3V0Q2hhbmdlKCRldmVudC52YWx1ZSlcIlxuICA+XG4gICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtPlxuICAgICAgPGkgW2NsYXNzXT1cIml0ZW0uaWNvblwiIFt0aXRsZV09XCJpdGVtLnRpdGxlIHx8IChpdGVtLnRpdGxlS2V5IHwgdHJhbnNsYXRlKVwiPjwvaT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L3Atc2VsZWN0QnV0dG9uPlxuPC9kaXY+XG4iXX0=