@onecx/angular-accelerator 5.13.0 → 5.15.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 (24) hide show
  1. package/assets/i18n/de.json +11 -6
  2. package/assets/i18n/en.json +11 -6
  3. package/esm2022/index.mjs +2 -1
  4. package/esm2022/lib/angular-accelerator-primeng.module.mjs +8 -1
  5. package/esm2022/lib/components/column-group-selection/column-group-selection.component.mjs +6 -5
  6. package/esm2022/lib/components/custom-group-column-selector/custom-group-column-selector.component.mjs +47 -10
  7. package/esm2022/lib/components/data-layout-selection/data-layout-selection.component.mjs +26 -8
  8. package/esm2022/lib/components/data-list-grid/data-list-grid.component.mjs +11 -10
  9. package/esm2022/lib/components/data-list-grid-sorting/data-list-grid-sorting.component.mjs +14 -13
  10. package/esm2022/lib/components/interactive-data-view/interactive-data-view.component.mjs +1 -1
  11. package/esm2022/lib/utils/criteria.utils.mjs +28 -0
  12. package/esm2022/testing/custom-group-column-selector.harness.mjs +2 -2
  13. package/esm2022/testing/data-layout-selection.harness.mjs +6 -7
  14. package/fesm2022/onecx-angular-accelerator-testing.mjs +6 -7
  15. package/fesm2022/onecx-angular-accelerator-testing.mjs.map +1 -1
  16. package/fesm2022/onecx-angular-accelerator.mjs +130 -41
  17. package/fesm2022/onecx-angular-accelerator.mjs.map +1 -1
  18. package/index.d.ts +1 -0
  19. package/lib/angular-accelerator-primeng.module.d.ts +3 -2
  20. package/lib/components/custom-group-column-selector/custom-group-column-selector.component.d.ts +13 -1
  21. package/lib/components/data-layout-selection/data-layout-selection.component.d.ts +5 -2
  22. package/lib/components/data-list-grid-sorting/data-list-grid-sorting.component.d.ts +2 -2
  23. package/lib/utils/criteria.utils.d.ts +18 -0
  24. package/package.json +1 -1
@@ -1,11 +1,12 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { BehaviorSubject } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "primeng/api";
5
- import * as i2 from "primeng/dropdown";
6
- import * as i3 from "primeng/button";
7
- import * as i4 from "@angular/forms";
8
- import * as i5 from "@ngx-translate/core";
4
+ import * as i1 from "primeng/tooltip";
5
+ import * as i2 from "primeng/api";
6
+ import * as i3 from "primeng/dropdown";
7
+ import * as i4 from "primeng/button";
8
+ import * as i5 from "@angular/forms";
9
+ import * as i6 from "@ngx-translate/core";
9
10
  export class DataListGridSortingComponent {
10
11
  constructor() {
11
12
  this.columns = [];
@@ -53,8 +54,8 @@ export class DataListGridSortingComponent {
53
54
  this.componentStateChanged.emit({
54
55
  sorting: {
55
56
  sortColumn: this.sortField,
56
- sortDirection: this.sortDirection
57
- }
57
+ sortDirection: this.sortDirection,
58
+ },
58
59
  });
59
60
  }
60
61
  sortIcon() {
@@ -73,19 +74,19 @@ export class DataListGridSortingComponent {
73
74
  sortDirectionToTitle(sortDirection) {
74
75
  switch (sortDirection) {
75
76
  case "ASCENDING" /* DataSortDirection.ASCENDING */:
76
- return 'OCX_LIST_GRID_SORT.TOGGLE_BUTTON.ASCENDING_TITLE';
77
+ return 'OCX_LIST_GRID_SORT.TOGGLE_BUTTON.ASCENDING_TOOLTIP';
77
78
  case "DESCENDING" /* DataSortDirection.DESCENDING */:
78
- return 'OCX_LIST_GRID_SORT.TOGGLE_BUTTON.DESCENDING_TITLE';
79
+ return 'OCX_LIST_GRID_SORT.TOGGLE_BUTTON.DESCENDING_TOOLTIP';
79
80
  default:
80
- return 'OCX_LIST_GRID_SORT.TOGGLE_BUTTON.DEFAULT_TITLE';
81
+ return 'OCX_LIST_GRID_SORT.TOGGLE_BUTTON.DEFAULT_TOOLTIP';
81
82
  }
82
83
  }
83
84
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DataListGridSortingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
84
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: DataListGridSortingComponent, selector: "ocx-data-list-grid-sorting", inputs: { columns: "columns", sortStates: "sortStates", sortDirection: "sortDirection", sortField: "sortField" }, outputs: { sortChange: "sortChange", sortDirectionChange: "sortDirectionChange", componentStateChanged: "componentStateChanged", columnsChange: "columnsChange" }, ngImport: i0, template: "<div class=\"flex align-items-center gap-2\">\n <p-dropdown\n id=\"dataListGridSortingDropdown\"\n [(ngModel)]=\"selectedSortingOption\"\n class=\"sort-dropdown\"\n [options]=\"dropdownOptions\"\n [placeholder]=\"('OCX_LIST_GRID_SORT.DROPDOWN.PLACEHOLDER' | translate)\"\n (onChange)=\"selectSorting($event)\"\n [title]=\"('OCX_LIST_GRID_SORT.DROPDOWN.TITLE' | translate)\"\n >\n <ng-template let-item pTemplate=\"item\"> {{ item?.columnName ? (item.columnName | translate) : ''}} </ng-template>\n <ng-template let-item pTemplate=\"selectedItem\">\n {{ item?.columnName ? (item.columnName | translate) : ''}}\n </ng-template></p-dropdown\n >\n <p-button\n id=\"dataListGridSortingButton\"\n icon=\"pi {{sortIcon()}}\"\n styleClass=\"p-button-outlined\"\n (onClick)=\"sortDirectionChanged()\"\n [title]=\"(sortIconTitle() | translate)\"\n [attr.aria-label]=\"('OCX_LIST_GRID_SORT.SORTING_BUTTON_ARIA_LABEL' | translate:{direction: (sortDirectionToTitle(nextSortDirection())) | translate})\"\n ></p-button>\n</div>\n", styles: [".pi{border-radius:var(--border-radius);border-width:thin;background:none;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i2.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { 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: i5.TranslatePipe, name: "translate" }] }); }
85
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: DataListGridSortingComponent, selector: "ocx-data-list-grid-sorting", inputs: { columns: "columns", sortStates: "sortStates", sortDirection: "sortDirection", sortField: "sortField" }, outputs: { sortChange: "sortChange", sortDirectionChange: "sortDirectionChange", componentStateChanged: "componentStateChanged", columnsChange: "columnsChange" }, ngImport: i0, template: "<div class=\"flex align-items-center gap-2\">\n <p-dropdown\n id=\"dataListGridSortingDropdown\"\n [(ngModel)]=\"selectedSortingOption\"\n class=\"sort-dropdown\"\n [options]=\"dropdownOptions\"\n [placeholder]=\"('OCX_LIST_GRID_SORT.DROPDOWN.PLACEHOLDER' | translate)\"\n (onChange)=\"selectSorting($event)\"\n [ariaLabel]=\"('OCX_LIST_GRID_SORT.DROPDOWN.ARIA_LABEL' | translate)\"\n >\n <ng-template let-item pTemplate=\"item\"> {{ item?.columnName ? (item.columnName | translate) : ''}} </ng-template>\n <ng-template let-item pTemplate=\"selectedItem\">\n {{ item?.columnName ? (item.columnName | translate) : ''}}\n </ng-template></p-dropdown\n >\n <p-button\n id=\"dataListGridSortingButton\"\n type=\"button\"\n icon=\"pi {{sortIcon()}}\"\n styleClass=\"p-button-outlined\"\n (onClick)=\"sortDirectionChanged()\"\n [pTooltip]=\"(sortIconTitle() | translate)\"\n tooltipPosition=\"top\"\n [ariaLabel]=\"('OCX_LIST_GRID_SORT.SORTING_BUTTON_ARIA_LABEL' | translate:{direction: (sortDirectionToTitle(nextSortDirection())) | translate})\"\n ></p-button>\n</div>\n", styles: [".pi{border-radius:var(--border-radius);border-width:thin;background:none;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i4.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
85
86
  }
86
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DataListGridSortingComponent, decorators: [{
87
88
  type: Component,
88
- args: [{ selector: 'ocx-data-list-grid-sorting', template: "<div class=\"flex align-items-center gap-2\">\n <p-dropdown\n id=\"dataListGridSortingDropdown\"\n [(ngModel)]=\"selectedSortingOption\"\n class=\"sort-dropdown\"\n [options]=\"dropdownOptions\"\n [placeholder]=\"('OCX_LIST_GRID_SORT.DROPDOWN.PLACEHOLDER' | translate)\"\n (onChange)=\"selectSorting($event)\"\n [title]=\"('OCX_LIST_GRID_SORT.DROPDOWN.TITLE' | translate)\"\n >\n <ng-template let-item pTemplate=\"item\"> {{ item?.columnName ? (item.columnName | translate) : ''}} </ng-template>\n <ng-template let-item pTemplate=\"selectedItem\">\n {{ item?.columnName ? (item.columnName | translate) : ''}}\n </ng-template></p-dropdown\n >\n <p-button\n id=\"dataListGridSortingButton\"\n icon=\"pi {{sortIcon()}}\"\n styleClass=\"p-button-outlined\"\n (onClick)=\"sortDirectionChanged()\"\n [title]=\"(sortIconTitle() | translate)\"\n [attr.aria-label]=\"('OCX_LIST_GRID_SORT.SORTING_BUTTON_ARIA_LABEL' | translate:{direction: (sortDirectionToTitle(nextSortDirection())) | translate})\"\n ></p-button>\n</div>\n", styles: [".pi{border-radius:var(--border-radius);border-width:thin;background:none;cursor:pointer}\n"] }]
89
+ args: [{ selector: 'ocx-data-list-grid-sorting', template: "<div class=\"flex align-items-center gap-2\">\n <p-dropdown\n id=\"dataListGridSortingDropdown\"\n [(ngModel)]=\"selectedSortingOption\"\n class=\"sort-dropdown\"\n [options]=\"dropdownOptions\"\n [placeholder]=\"('OCX_LIST_GRID_SORT.DROPDOWN.PLACEHOLDER' | translate)\"\n (onChange)=\"selectSorting($event)\"\n [ariaLabel]=\"('OCX_LIST_GRID_SORT.DROPDOWN.ARIA_LABEL' | translate)\"\n >\n <ng-template let-item pTemplate=\"item\"> {{ item?.columnName ? (item.columnName | translate) : ''}} </ng-template>\n <ng-template let-item pTemplate=\"selectedItem\">\n {{ item?.columnName ? (item.columnName | translate) : ''}}\n </ng-template></p-dropdown\n >\n <p-button\n id=\"dataListGridSortingButton\"\n type=\"button\"\n icon=\"pi {{sortIcon()}}\"\n styleClass=\"p-button-outlined\"\n (onClick)=\"sortDirectionChanged()\"\n [pTooltip]=\"(sortIconTitle() | translate)\"\n tooltipPosition=\"top\"\n [ariaLabel]=\"('OCX_LIST_GRID_SORT.SORTING_BUTTON_ARIA_LABEL' | translate:{direction: (sortDirectionToTitle(nextSortDirection())) | translate})\"\n ></p-button>\n</div>\n", styles: [".pi{border-radius:var(--border-radius);border-width:thin;background:none;cursor:pointer}\n"] }]
89
90
  }], propDecorators: { columns: [{
90
91
  type: Input
91
92
  }], sortStates: [{
@@ -103,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
103
104
  }], columnsChange: [{
104
105
  type: Output
105
106
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LWdyaWQtc29ydGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtbGlzdC1ncmlkLXNvcnRpbmcvZGF0YS1saXN0LWdyaWQtc29ydGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtbGlzdC1ncmlkLXNvcnRpbmcvZGF0YS1saXN0LWdyaWQtc29ydGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUE7Ozs7Ozs7QUFnQnRDLE1BQU0sT0FBTyw0QkFBNEI7SUFMekM7UUFNVyxZQUFPLEdBQXNCLEVBQUUsQ0FBQTtRQUMvQixlQUFVLEdBQXdCLGdHQUEyRCxDQUFBO1FBQ3RHLG9CQUFlLEdBQUcsSUFBSSxlQUFlLHFDQUEyQyxDQUFBO1FBUWhGLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUE7UUFTbkMsZUFBVSxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFBO1FBQ3JELHdCQUFtQixHQUFvQyxJQUFJLFlBQVksRUFBRSxDQUFBO1FBQ3pFLDBCQUFxQixHQUFvRCxJQUFJLFlBQVksRUFBRSxDQUFBO1FBQzNGLGtCQUFhLEdBQTJCLElBQUksWUFBWSxFQUFFLENBQUE7UUFFcEUsb0JBQWUsR0FBdUIsRUFBRSxDQUFBO0tBMER6QztJQS9FQyxJQUNJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUE7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THhDLFNBQVM7K0JBQ0UsNEJBQTRCOzhCQUs3QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRixhQUFhO3NCQURoQixLQUFLO2dCQVNGLFNBQVM7c0JBRFosS0FBSztnQkFRSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IERhdGFTb3J0RGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGF0YS1zb3J0LWRpcmVjdGlvbidcbmltcG9ydCB7IERhdGFDb2x1bW5OYW1lSWQgfSBmcm9tICcuLi8uLi9tb2RlbC9kYXRhLWNvbHVtbi1uYW1lLWlkLm1vZGVsJ1xuaW1wb3J0IHsgRGF0YVRhYmxlQ29sdW1uIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGF0YS10YWJsZS1jb2x1bW4ubW9kZWwnXG5pbXBvcnQgeyBEcm9wZG93bkNoYW5nZUV2ZW50IH0gZnJvbSAncHJpbWVuZy9kcm9wZG93bidcblxuZXhwb3J0IHR5cGUgTGlzdEdyaWRTb3J0ID0geyBzb3J0Q29sdW1uOiBzdHJpbmc7IHNvcnREaXJlY3Rpb246IERhdGFTb3J0RGlyZWN0aW9uIH1cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUxpc3RHcmlkU29ydGluZ0NvbXBvbmVudFN0YXRlIHtcbiAgc29ydGluZz86IExpc3RHcmlkU29ydFxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvY3gtZGF0YS1saXN0LWdyaWQtc29ydGluZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWxpc3QtZ3JpZC1zb3J0aW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YS1saXN0LWdyaWQtc29ydGluZy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhTGlzdEdyaWRTb3J0aW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgY29sdW1uczogRGF0YVRhYmxlQ29sdW1uW10gPSBbXVxuICBASW5wdXQoKSBzb3J0U3RhdGVzOiBEYXRhU29ydERpcmVjdGlvbltdID0gW0RhdGFTb3J0RGlyZWN0aW9uLkFTQ0VORElORywgRGF0YVNvcnREaXJlY3Rpb24uREVTQ0VORElOR11cbiAgX3NvcnREaXJlY3Rpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhU29ydERpcmVjdGlvbj4oRGF0YVNvcnREaXJlY3Rpb24uTk9ORSlcbiAgQElucHV0KClcbiAgZ2V0IHNvcnREaXJlY3Rpb24oKTogRGF0YVNvcnREaXJlY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLl9zb3J0RGlyZWN0aW9uJC5nZXRWYWx1ZSgpXG4gIH1cbiAgc2V0IHNvcnREaXJlY3Rpb24odmFsdWU6IERhdGFTb3J0RGlyZWN0aW9uKSB7XG4gICAgdGhpcy5fc29ydERpcmVjdGlvbiQubmV4dCh2YWx1ZSlcbiAgfVxuICBfc29ydEZpZWxkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJylcbiAgQElucHV0KClcbiAgZ2V0IHNvcnRGaWVsZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzPy5fc29ydEZpZWxkJC5nZXRWYWx1ZSgpXG4gIH1cbiAgc2V0IHNvcnRGaWVsZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fc29ydEZpZWxkJC5uZXh0KHZhbHVlKVxuICB9XG5cbiAgQE91dHB1dCgpIHNvcnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSBzb3J0RGlyZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0YVNvcnREaXJlY3Rpb24+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSBjb21wb25lbnRTdGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxEYXRhTGlzdEdyaWRTb3J0aW5nQ29tcG9uZW50U3RhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSBjb2x1bW5zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nW10+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIHNlbGVjdGVkU29ydGluZ09wdGlvbjogRGF0YUNvbHVtbk5hbWVJZCB8IHVuZGVmaW5lZFxuICBkcm9wZG93bk9wdGlvbnM6IERhdGFDb2x1bW5OYW1lSWRbXSA9IFtdXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb2x1bW5zLmZvckVhY2goKGVsZW1lbnQpID0+IHRoaXMuZHJvcGRvd25PcHRpb25zLnB1c2goeyBjb2x1bW5JZDogZWxlbWVudC5pZCwgY29sdW1uTmFtZTogZWxlbWVudC5uYW1lS2V5IH0pKVxuICAgIHRoaXMuc2VsZWN0ZWRTb3J0aW5nT3B0aW9uID0gdGhpcy5kcm9wZG93bk9wdGlvbnMuZmluZCgoZSkgPT4gZS5jb2x1bW5JZCA9PT0gdGhpcz8uc29ydEZpZWxkKVxuICAgIHRoaXMuZW1pdENvbXBvbmVudFN0YXRlQ2hhbmdlKClcbiAgfVxuXG4gIHNlbGVjdFNvcnRpbmcoZXZlbnQ6IERyb3Bkb3duQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9zb3J0RmllbGQkLm5leHQoZXZlbnQudmFsdWUuY29sdW1uSWQpXG4gICAgdGhpcy5zb3J0Q2hhbmdlLmVtaXQoZXZlbnQudmFsdWUuY29sdW1uSWQpXG4gICAgdGhpcy5lbWl0Q29tcG9uZW50U3RhdGVDaGFuZ2UoKVxuICB9XG4gIHNvcnREaXJlY3Rpb25DaGFuZ2VkKCk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1NvcnREaXJlY3Rpb24gPSB0aGlzLm5leHRTb3J0RGlyZWN0aW9uKClcbiAgICB0aGlzLl9zb3J0RGlyZWN0aW9uJC5uZXh0KG5ld1NvcnREaXJlY3Rpb24pXG4gICAgdGhpcy5zb3J0RGlyZWN0aW9uQ2hhbmdlLmVtaXQobmV3U29ydERpcmVjdGlvbilcbiAgICB0aGlzLmVtaXRDb21wb25lbnRTdGF0ZUNoYW5nZSgpXG4gIH1cblxuICBuZXh0U29ydERpcmVjdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zb3J0U3RhdGVzWyh0aGlzLnNvcnRTdGF0ZXMuaW5kZXhPZih0aGlzLnNvcnREaXJlY3Rpb24pICsgMSkgJSB0aGlzLnNvcnRTdGF0ZXMubGVuZ3RoXVxuICB9XG5cbiAgZW1pdENvbXBvbmVudFN0YXRlQ2hhbmdlKCkge1xuICAgIHRoaXMuY29tcG9uZW50U3RhdGVDaGFuZ2VkLmVtaXQoe1xuICAgICAgc29ydGluZzoge1xuICAgICAgICBzb3J0Q29sdW1uOiB0aGlzLnNvcnRGaWVsZCxcbiAgICAgICAgc29ydERpcmVjdGlvbjogdGhpcy5zb3J0RGlyZWN0aW9uXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHNvcnRJY29uKCkge1xuICAgIHN3aXRjaCAodGhpcy5zb3J0RGlyZWN0aW9uKSB7XG4gICAgICBjYXNlIERhdGFTb3J0RGlyZWN0aW9uLkFTQ0VORElORzpcbiAgICAgICAgcmV0dXJuICdwaS1zb3J0LWFtb3VudC11cCdcbiAgICAgIGNhc2UgRGF0YVNvcnREaXJlY3Rpb24uREVTQ0VORElORzpcbiAgICAgICAgcmV0dXJuICdwaS1zb3J0LWFtb3VudC1kb3duJ1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdwaS1zb3J0LWFsdCdcbiAgICB9XG4gIH1cblxuICBzb3J0SWNvblRpdGxlKCkge1xuICAgIHJldHVybiB0aGlzLnNvcnREaXJlY3Rpb25Ub1RpdGxlKHRoaXMuc29ydERpcmVjdGlvbilcbiAgfVxuXG4gIHNvcnREaXJlY3Rpb25Ub1RpdGxlKHNvcnREaXJlY3Rpb246IERhdGFTb3J0RGlyZWN0aW9uKSB7XG4gICAgc3dpdGNoIChzb3J0RGlyZWN0aW9uKSB7XG4gICAgICBjYXNlIERhdGFTb3J0RGlyZWN0aW9uLkFTQ0VORElORzpcbiAgICAgICAgcmV0dXJuICdPQ1hfTElTVF9HUklEX1NPUlQuVE9HR0xFX0JVVFRPTi5BU0NFTkRJTkdfVElUTEUnXG4gICAgICBjYXNlIERhdGFTb3J0RGlyZWN0aW9uLkRFU0NFTkRJTkc6XG4gICAgICAgIHJldHVybiAnT0NYX0xJU1RfR1JJRF9TT1JULlRPR0dMRV9CVVRUT04uREVTQ0VORElOR19USVRMRSdcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnT0NYX0xJU1RfR1JJRF9TT1JULlRPR0dMRV9CVVRUT04uREVGQVVMVF9USVRMRSdcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICA8cC1kcm9wZG93blxuICAgIGlkPVwiZGF0YUxpc3RHcmlkU29ydGluZ0Ryb3Bkb3duXCJcbiAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkU29ydGluZ09wdGlvblwiXG4gICAgY2xhc3M9XCJzb3J0LWRyb3Bkb3duXCJcbiAgICBbb3B0aW9uc109XCJkcm9wZG93bk9wdGlvbnNcIlxuICAgIFtwbGFjZWhvbGRlcl09XCIoJ09DWF9MSVNUX0dSSURfU09SVC5EUk9QRE9XTi5QTEFDRUhPTERFUicgfCB0cmFuc2xhdGUpXCJcbiAgICAob25DaGFuZ2UpPVwic2VsZWN0U29ydGluZygkZXZlbnQpXCJcbiAgICBbdGl0bGVdPVwiKCdPQ1hfTElTVF9HUklEX1NPUlQuRFJPUERPV04uVElUTEUnIHwgdHJhbnNsYXRlKVwiXG4gID5cbiAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPVwiaXRlbVwiPiB7eyBpdGVtPy5jb2x1bW5OYW1lID8gKGl0ZW0uY29sdW1uTmFtZSB8IHRyYW5zbGF0ZSkgOiAnJ319IDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtIHBUZW1wbGF0ZT1cInNlbGVjdGVkSXRlbVwiPlxuICAgICAge3sgaXRlbT8uY29sdW1uTmFtZSA/IChpdGVtLmNvbHVtbk5hbWUgfCB0cmFuc2xhdGUpIDogJyd9fVxuICAgIDwvbmctdGVtcGxhdGU+PC9wLWRyb3Bkb3duXG4gID5cbiAgPHAtYnV0dG9uXG4gICAgaWQ9XCJkYXRhTGlzdEdyaWRTb3J0aW5nQnV0dG9uXCJcbiAgICBpY29uPVwicGkge3tzb3J0SWNvbigpfX1cIlxuICAgIHN0eWxlQ2xhc3M9XCJwLWJ1dHRvbi1vdXRsaW5lZFwiXG4gICAgKG9uQ2xpY2spPVwic29ydERpcmVjdGlvbkNoYW5nZWQoKVwiXG4gICAgW3RpdGxlXT1cIihzb3J0SWNvblRpdGxlKCkgfCB0cmFuc2xhdGUpXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIignT0NYX0xJU1RfR1JJRF9TT1JULlNPUlRJTkdfQlVUVE9OX0FSSUFfTEFCRUwnIHwgdHJhbnNsYXRlOntkaXJlY3Rpb246IChzb3J0RGlyZWN0aW9uVG9UaXRsZShuZXh0U29ydERpcmVjdGlvbigpKSkgfCB0cmFuc2xhdGV9KVwiXG4gID48L3AtYnV0dG9uPlxuPC9kaXY+XG4iXX0=
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LWdyaWQtc29ydGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtbGlzdC1ncmlkLXNvcnRpbmcvZGF0YS1saXN0LWdyaWQtc29ydGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtbGlzdC1ncmlkLXNvcnRpbmcvZGF0YS1saXN0LWdyaWQtc29ydGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUE7Ozs7Ozs7O0FBZ0J0QyxNQUFNLE9BQU8sNEJBQTRCO0lBTHpDO1FBTVcsWUFBTyxHQUFzQixFQUFFLENBQUE7UUFDL0IsZUFBVSxHQUF3QixnR0FBMkQsQ0FBQTtRQUN0RyxvQkFBZSxHQUFHLElBQUksZUFBZSxxQ0FBMkMsQ0FBQTtRQVFoRixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFBO1FBU25DLGVBQVUsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUNyRCx3QkFBbUIsR0FBb0MsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUN6RSwwQkFBcUIsR0FBb0QsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUMzRixrQkFBYSxHQUEyQixJQUFJLFlBQVksRUFBRSxDQUFBO1FBRXBFLG9CQUFlLEdBQXVCLEVBQUUsQ0FBQTtLQTBEekM7SUEvRUMsSUFDSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFB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QUx4QyxTQUFTOytCQUNFLDRCQUE0Qjs4QkFLN0IsT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0YsYUFBYTtzQkFEaEIsS0FBSztnQkFTRixTQUFTO3NCQURaLEtBQUs7Z0JBUUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBEYXRhU29ydERpcmVjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVsL2RhdGEtc29ydC1kaXJlY3Rpb24nXG5pbXBvcnQgeyBEYXRhQ29sdW1uTmFtZUlkIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGF0YS1jb2x1bW4tbmFtZS1pZC5tb2RlbCdcbmltcG9ydCB7IERhdGFUYWJsZUNvbHVtbiB9IGZyb20gJy4uLy4uL21vZGVsL2RhdGEtdGFibGUtY29sdW1uLm1vZGVsJ1xuaW1wb3J0IHsgRHJvcGRvd25DaGFuZ2VFdmVudCB9IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nXG5cbmV4cG9ydCB0eXBlIExpc3RHcmlkU29ydCA9IHsgc29ydENvbHVtbjogc3RyaW5nOyBzb3J0RGlyZWN0aW9uOiBEYXRhU29ydERpcmVjdGlvbiB9XG5leHBvcnQgaW50ZXJmYWNlIERhdGFMaXN0R3JpZFNvcnRpbmdDb21wb25lbnRTdGF0ZSB7XG4gIHNvcnRpbmc/OiBMaXN0R3JpZFNvcnRcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2N4LWRhdGEtbGlzdC1ncmlkLXNvcnRpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1saXN0LWdyaWQtc29ydGluZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGEtbGlzdC1ncmlkLXNvcnRpbmcuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YUxpc3RHcmlkU29ydGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNvbHVtbnM6IERhdGFUYWJsZUNvbHVtbltdID0gW11cbiAgQElucHV0KCkgc29ydFN0YXRlczogRGF0YVNvcnREaXJlY3Rpb25bXSA9IFtEYXRhU29ydERpcmVjdGlvbi5BU0NFTkRJTkcsIERhdGFTb3J0RGlyZWN0aW9uLkRFU0NFTkRJTkddXG4gIF9zb3J0RGlyZWN0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0YVNvcnREaXJlY3Rpb24+KERhdGFTb3J0RGlyZWN0aW9uLk5PTkUpXG4gIEBJbnB1dCgpXG4gIGdldCBzb3J0RGlyZWN0aW9uKCk6IERhdGFTb3J0RGlyZWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fc29ydERpcmVjdGlvbiQuZ2V0VmFsdWUoKVxuICB9XG4gIHNldCBzb3J0RGlyZWN0aW9uKHZhbHVlOiBEYXRhU29ydERpcmVjdGlvbikge1xuICAgIHRoaXMuX3NvcnREaXJlY3Rpb24kLm5leHQodmFsdWUpXG4gIH1cbiAgX3NvcnRGaWVsZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpXG4gIEBJbnB1dCgpXG4gIGdldCBzb3J0RmllbGQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcz8uX3NvcnRGaWVsZCQuZ2V0VmFsdWUoKVxuICB9XG4gIHNldCBzb3J0RmllbGQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3NvcnRGaWVsZCQubmV4dCh2YWx1ZSlcbiAgfVxuXG4gIEBPdXRwdXQoKSBzb3J0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgc29ydERpcmVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGFTb3J0RGlyZWN0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgY29tcG9uZW50U3RhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8RGF0YUxpc3RHcmlkU29ydGluZ0NvbXBvbmVudFN0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgY29sdW1uc0NoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZ1tdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBzZWxlY3RlZFNvcnRpbmdPcHRpb246IERhdGFDb2x1bW5OYW1lSWQgfCB1bmRlZmluZWRcbiAgZHJvcGRvd25PcHRpb25zOiBEYXRhQ29sdW1uTmFtZUlkW10gPSBbXVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29sdW1ucy5mb3JFYWNoKChlbGVtZW50KSA9PiB0aGlzLmRyb3Bkb3duT3B0aW9ucy5wdXNoKHsgY29sdW1uSWQ6IGVsZW1lbnQuaWQsIGNvbHVtbk5hbWU6IGVsZW1lbnQubmFtZUtleSB9KSlcbiAgICB0aGlzLnNlbGVjdGVkU29ydGluZ09wdGlvbiA9IHRoaXMuZHJvcGRvd25PcHRpb25zLmZpbmQoKGUpID0+IGUuY29sdW1uSWQgPT09IHRoaXM/LnNvcnRGaWVsZClcbiAgICB0aGlzLmVtaXRDb21wb25lbnRTdGF0ZUNoYW5nZSgpXG4gIH1cblxuICBzZWxlY3RTb3J0aW5nKGV2ZW50OiBEcm9wZG93bkNoYW5nZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fc29ydEZpZWxkJC5uZXh0KGV2ZW50LnZhbHVlLmNvbHVtbklkKVxuICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KGV2ZW50LnZhbHVlLmNvbHVtbklkKVxuICAgIHRoaXMuZW1pdENvbXBvbmVudFN0YXRlQ2hhbmdlKClcbiAgfVxuICBzb3J0RGlyZWN0aW9uQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdTb3J0RGlyZWN0aW9uID0gdGhpcy5uZXh0U29ydERpcmVjdGlvbigpXG4gICAgdGhpcy5fc29ydERpcmVjdGlvbiQubmV4dChuZXdTb3J0RGlyZWN0aW9uKVxuICAgIHRoaXMuc29ydERpcmVjdGlvbkNoYW5nZS5lbWl0KG5ld1NvcnREaXJlY3Rpb24pXG4gICAgdGhpcy5lbWl0Q29tcG9uZW50U3RhdGVDaGFuZ2UoKVxuICB9XG5cbiAgbmV4dFNvcnREaXJlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc29ydFN0YXRlc1sodGhpcy5zb3J0U3RhdGVzLmluZGV4T2YodGhpcy5zb3J0RGlyZWN0aW9uKSArIDEpICUgdGhpcy5zb3J0U3RhdGVzLmxlbmd0aF1cbiAgfVxuXG4gIGVtaXRDb21wb25lbnRTdGF0ZUNoYW5nZSgpIHtcbiAgICB0aGlzLmNvbXBvbmVudFN0YXRlQ2hhbmdlZC5lbWl0KHtcbiAgICAgIHNvcnRpbmc6IHtcbiAgICAgICAgc29ydENvbHVtbjogdGhpcy5zb3J0RmllbGQsXG4gICAgICAgIHNvcnREaXJlY3Rpb246IHRoaXMuc29ydERpcmVjdGlvbixcbiAgICAgIH0sXG4gICAgfSlcbiAgfVxuXG4gIHNvcnRJY29uKCkge1xuICAgIHN3aXRjaCAodGhpcy5zb3J0RGlyZWN0aW9uKSB7XG4gICAgICBjYXNlIERhdGFTb3J0RGlyZWN0aW9uLkFTQ0VORElORzpcbiAgICAgICAgcmV0dXJuICdwaS1zb3J0LWFtb3VudC11cCdcbiAgICAgIGNhc2UgRGF0YVNvcnREaXJlY3Rpb24uREVTQ0VORElORzpcbiAgICAgICAgcmV0dXJuICdwaS1zb3J0LWFtb3VudC1kb3duJ1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdwaS1zb3J0LWFsdCdcbiAgICB9XG4gIH1cblxuICBzb3J0SWNvblRpdGxlKCkge1xuICAgIHJldHVybiB0aGlzLnNvcnREaXJlY3Rpb25Ub1RpdGxlKHRoaXMuc29ydERpcmVjdGlvbilcbiAgfVxuXG4gIHNvcnREaXJlY3Rpb25Ub1RpdGxlKHNvcnREaXJlY3Rpb246IERhdGFTb3J0RGlyZWN0aW9uKSB7XG4gICAgc3dpdGNoIChzb3J0RGlyZWN0aW9uKSB7XG4gICAgICBjYXNlIERhdGFTb3J0RGlyZWN0aW9uLkFTQ0VORElORzpcbiAgICAgICAgcmV0dXJuICdPQ1hfTElTVF9HUklEX1NPUlQuVE9HR0xFX0JVVFRPTi5BU0NFTkRJTkdfVE9PTFRJUCdcbiAgICAgIGNhc2UgRGF0YVNvcnREaXJlY3Rpb24uREVTQ0VORElORzpcbiAgICAgICAgcmV0dXJuICdPQ1hfTElTVF9HUklEX1NPUlQuVE9HR0xFX0JVVFRPTi5ERVNDRU5ESU5HX1RPT0xUSVAnXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ09DWF9MSVNUX0dSSURfU09SVC5UT0dHTEVfQlVUVE9OLkRFRkFVTFRfVE9PTFRJUCdcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICA8cC1kcm9wZG93blxuICAgIGlkPVwiZGF0YUxpc3RHcmlkU29ydGluZ0Ryb3Bkb3duXCJcbiAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkU29ydGluZ09wdGlvblwiXG4gICAgY2xhc3M9XCJzb3J0LWRyb3Bkb3duXCJcbiAgICBbb3B0aW9uc109XCJkcm9wZG93bk9wdGlvbnNcIlxuICAgIFtwbGFjZWhvbGRlcl09XCIoJ09DWF9MSVNUX0dSSURfU09SVC5EUk9QRE9XTi5QTEFDRUhPTERFUicgfCB0cmFuc2xhdGUpXCJcbiAgICAob25DaGFuZ2UpPVwic2VsZWN0U29ydGluZygkZXZlbnQpXCJcbiAgICBbYXJpYUxhYmVsXT1cIignT0NYX0xJU1RfR1JJRF9TT1JULkRST1BET1dOLkFSSUFfTEFCRUwnIHwgdHJhbnNsYXRlKVwiXG4gID5cbiAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPVwiaXRlbVwiPiB7eyBpdGVtPy5jb2x1bW5OYW1lID8gKGl0ZW0uY29sdW1uTmFtZSB8IHRyYW5zbGF0ZSkgOiAnJ319IDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtIHBUZW1wbGF0ZT1cInNlbGVjdGVkSXRlbVwiPlxuICAgICAge3sgaXRlbT8uY29sdW1uTmFtZSA/IChpdGVtLmNvbHVtbk5hbWUgfCB0cmFuc2xhdGUpIDogJyd9fVxuICAgIDwvbmctdGVtcGxhdGU+PC9wLWRyb3Bkb3duXG4gID5cbiAgPHAtYnV0dG9uXG4gICAgaWQ9XCJkYXRhTGlzdEdyaWRTb3J0aW5nQnV0dG9uXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBpY29uPVwicGkge3tzb3J0SWNvbigpfX1cIlxuICAgIHN0eWxlQ2xhc3M9XCJwLWJ1dHRvbi1vdXRsaW5lZFwiXG4gICAgKG9uQ2xpY2spPVwic29ydERpcmVjdGlvbkNoYW5nZWQoKVwiXG4gICAgW3BUb29sdGlwXT1cIihzb3J0SWNvblRpdGxlKCkgfCB0cmFuc2xhdGUpXCJcbiAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgIFthcmlhTGFiZWxdPVwiKCdPQ1hfTElTVF9HUklEX1NPUlQuU09SVElOR19CVVRUT05fQVJJQV9MQUJFTCcgfCB0cmFuc2xhdGU6e2RpcmVjdGlvbjogKHNvcnREaXJlY3Rpb25Ub1RpdGxlKG5leHRTb3J0RGlyZWN0aW9uKCkpKSB8IHRyYW5zbGF0ZX0pXCJcbiAgPjwvcC1idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -425,7 +425,7 @@ export class InteractiveDataViewComponent {
425
425
  this.pageSizeChanged.emit(event);
426
426
  }
427
427
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InteractiveDataViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
428
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: InteractiveDataViewComponent, selector: "ocx-interactive-data-view", inputs: { deletePermission: "deletePermission", editPermission: "editPermission", viewPermission: "viewPermission", deleteActionVisibleField: "deleteActionVisibleField", deleteActionEnabledField: "deleteActionEnabledField", viewActionVisibleField: "viewActionVisibleField", viewActionEnabledField: "viewActionEnabledField", editActionVisibleField: "editActionVisibleField", editActionEnabledField: "editActionEnabledField", tableSelectionEnabledField: "tableSelectionEnabledField", tableAllowSelectAll: "tableAllowSelectAll", name: "name", titleLineId: "titleLineId", subtitleLineIds: "subtitleLineIds", supportedViewLayouts: "supportedViewLayouts", columns: "columns", emptyResultsMessage: "emptyResultsMessage", clientSideSorting: "clientSideSorting", clientSideFiltering: "clientSideFiltering", fallbackImage: "fallbackImage", filters: "filters", sortDirection: "sortDirection", sortField: "sortField", sortStates: "sortStates", pageSizes: "pageSizes", pageSize: "pageSize", totalRecordsOnServer: "totalRecordsOnServer", layout: "layout", defaultGroupKey: "defaultGroupKey", customGroupKey: "customGroupKey", groupSelectionNoGroupSelectedKey: "groupSelectionNoGroupSelectedKey", currentPageShowingKey: "currentPageShowingKey", currentPageShowingWithTotalOnServerKey: "currentPageShowingWithTotalOnServerKey", additionalActions: "additionalActions", listGridPaginator: "listGridPaginator", tablePaginator: "tablePaginator", page: "page", selectedRows: "selectedRows", displayedColumnKeys: "displayedColumnKeys", displayedColumns: "displayedColumns", frozenActionColumn: "frozenActionColumn", actionColumnPosition: "actionColumnPosition", paginator: "paginator", data: "data" }, outputs: { filtered: "filtered", sorted: "sorted", deleteItem: "deleteItem", viewItem: "viewItem", editItem: "editItem", dataViewLayoutChange: "dataViewLayoutChange", displayedColumnsChange: "displayedColumnsChange", displayedColumnKeysChange: "displayedColumnKeysChange", selectionChanged: "selectionChanged", pageChanged: "pageChanged", pageSizeChanged: "pageSizeChanged", componentStateChanged: "componentStateChanged" }, providers: [{ provide: 'InteractiveDataViewComponent', useExisting: InteractiveDataViewComponent }], queries: [{ propertyName: "tableCell", first: true, predicate: ["tableCell"], descendants: true }, { propertyName: "tableDateCell", first: true, predicate: ["tableDateCell"], descendants: true }, { propertyName: "dateTableCell", first: true, predicate: ["dateTableCell"], descendants: true }, { propertyName: "tableRelativeDateCell", first: true, predicate: ["tableRelativeDateCell"], descendants: true }, { propertyName: "relativeDateTableCell", first: true, predicate: ["relativeDateTableCell"], descendants: true }, { propertyName: "tableTranslationKeyCell", first: true, predicate: ["tableTranslationKeyCell"], descendants: true }, { propertyName: "translationKeyTableCell", first: true, predicate: ["translationKeyTableCell"], descendants: true }, { propertyName: "gridItemSubtitleLines", first: true, predicate: ["gridItemSubtitleLines"], descendants: true }, { propertyName: "listItemSubtitleLines", first: true, predicate: ["listItemSubtitleLines"], descendants: true }, { propertyName: "stringTableCell", first: true, predicate: ["stringTableCell"], descendants: true }, { propertyName: "numberTableCell", first: true, predicate: ["numberTableCell"], descendants: true }, { propertyName: "customTableCell", first: true, predicate: ["customTableCell"], descendants: true }, { propertyName: "gridItem", first: true, predicate: ["gridItem"], descendants: true }, { propertyName: "listItem", first: true, predicate: ["listItem"], descendants: true }, { propertyName: "topCenter", first: true, predicate: ["topCenter"], descendants: true }, { propertyName: "listValue", first: true, predicate: ["listValue"], descendants: true }, { propertyName: "translationKeyListValue", first: true, predicate: ["translationKeyListValue"], descendants: true }, { propertyName: "numberListValue", first: true, predicate: ["numberListValue"], descendants: true }, { propertyName: "relativeDateListValue", first: true, predicate: ["relativeDateListValue"], descendants: true }, { propertyName: "customListValue", first: true, predicate: ["customListValue"], descendants: true }, { propertyName: "stringListValue", first: true, predicate: ["stringListValue"], descendants: true }, { propertyName: "dateListValue", first: true, predicate: ["dateListValue"], descendants: true }, { propertyName: "tableFilterCell", first: true, predicate: ["tableFilterCell"], descendants: true }, { propertyName: "dateTableFilterCell", first: true, predicate: ["dateTableFilterCell"], descendants: true }, { propertyName: "relativeDateTableFilterCell", first: true, predicate: ["relativeDateTableFilterCell"], descendants: true }, { propertyName: "translationKeyTableFilterCell", first: true, predicate: ["translationKeyTableFilterCell"], descendants: true }, { propertyName: "stringTableFilterCell", first: true, predicate: ["stringTableFilterCell"], descendants: true }, { propertyName: "numberTableFilterCell", first: true, predicate: ["numberTableFilterCell"], descendants: true }, { propertyName: "customTableFilterCell", first: true, predicate: ["customTableFilterCell"], descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "dataView", first: true, predicate: DataViewComponent, descendants: true }], ngImport: i0, template: "<div class=\"p-3 border-bottom-1 surface-border\">\n <div class=\"flex flex-wrap justify-content-between align-items-center py-1 gap-2\">\n <ocx-data-layout-selection\n [supportedViewLayouts]=\"supportedViewLayouts\"\n [layout]=\"layout\"\n (dataViewLayoutChange)=\"onDataViewLayoutChange($event)\"\n (componentStateChanged)=\"dataLayoutComponentState$.next($event)\"\n ></ocx-data-layout-selection>\n\n <div *ngIf=\"topCenter\">\n <ng-container [ngTemplateOutlet]=\"topCenter\"> </ng-container>\n </div>\n\n <div *ngIf=\"layout !== 'table'\" class=\"flex align-items-center gap-2\">\n <ocx-data-list-grid-sorting\n [sortDirection]=\"sortDirection\"\n [sortField]=\"sortField\"\n [columns]=\"(displayedColumns$ | async) ?? []\"\n [sortStates]=\"sortStates\"\n (sortChange)=\"onSortChange($event)\"\n (sortDirectionChange)=\"onSortDirectionChange($event)\"\n (componentStateChanged)=\"dataListGridSortingComponentState$.next($event)\"\n ></ocx-data-list-grid-sorting>\n </div>\n\n <div *ngIf=\"layout === 'table'\" class=\"flex flex-wrap justify-content-between align-items-center gap-2\">\n <ocx-column-group-selection\n [selectedGroupKey]=\"selectedGroupKey\"\n [columns]=\"columns\"\n [defaultGroupKey]=\"defaultGroupKey\"\n [customGroupKey]=\"customGroupKey\"\n [placeholderKey]=\"groupSelectionNoGroupSelectedKey\"\n (groupSelectionChanged)=\"onColumnGroupSelectionChange($event)\"\n (componentStateChanged)=\"columnGroupSelectionComponentState$.next($event)\"\n ></ocx-column-group-selection>\n\n <ocx-custom-group-column-selector\n [columns]=\"columns\"\n [displayedColumns]=\"(displayedColumns$ | async) ?? []\"\n (columnSelectionChanged)=\"onColumnSelectionChange($event)\"\n [frozenActionColumn]=\"frozenActionColumn\"\n [actionColumnPosition]=\"actionColumnPosition\"\n (actionColumnConfigChanged)=\"onActionColumnConfigChange($event)\"\n (componentStateChanged)=\"customGroupColumnSelectorComponentState$.next($event)\"\n ></ocx-custom-group-column-selector>\n </div>\n </div>\n</div>\n<div class=\"p-3\">\n <ocx-data-view\n [columns]=\"(displayedColumns$ | async) ?? []\"\n [sortStates]=\"sortStates\"\n [sortField]=\"sortField\"\n [filters]=\"filters\"\n [data]=\"data\"\n [sortDirection]=\"sortDirection\"\n [titleLineId]=\"titleLineId\"\n [subtitleLineIds]=\"subtitleLineIds\"\n [clientSideSorting]=\"clientSideSorting\"\n [clientSideFiltering]=\"clientSideFiltering\"\n [pageSizes]=\"pageSizes\"\n [pageSize]=\"pageSize\"\n [emptyResultsMessage]=\"emptyResultsMessage\"\n [layout]=\"layout\"\n [name]=\"name\"\n [deletePermission]=\"deletePermission\"\n [editPermission]=\"editPermission\"\n [viewPermission]=\"viewPermission\"\n [deleteActionEnabledField]=\"deleteActionEnabledField\"\n [deleteActionVisibleField]=\"deleteActionVisibleField\"\n [editActionEnabledField]=\"editActionEnabledField\"\n [editActionVisibleField]=\"editActionVisibleField\"\n [viewActionEnabledField]=\"viewActionEnabledField\"\n [viewActionVisibleField]=\"viewActionVisibleField\"\n [additionalActions]=\"additionalActions\"\n [listGridPaginator]=\"listGridPaginator\"\n [tablePaginator]=\"tablePaginator\"\n [page]=\"page\"\n (pageChanged)=\"onPageChange($event)\"\n (pageSizeChanged)=\"onPageSizeChange($event)\"\n [selectedRows]=\"selectedRows\"\n [frozenActionColumn]=\"frozenActionColumn\"\n [actionColumnPosition]=\"actionColumnPosition\"\n [stringTableCellTemplate]=\"_stringTableCell ? stringTableCell : undefined\"\n [numberTableCellTemplate]=\"_numberTableCell ? numberTableCell : undefined\"\n [customTableCellTemplate]=\"_customTableCell ? customTableCell : undefined\"\n [dateTableCellTemplate]=\"_dateTableCell ? dateTableCell : _tableDateCell ? tableDateCell : undefined\"\n [relativeDateTableCellTemplate]=\"_relativeDateTableCell ? relativeDateTableCell : _tableRelativeDateCell ? tableRelativeDateCell : undefined\"\n [tableCellTemplate]=\"_tableCell ? tableCell : undefined\"\n [translationKeyTableCellTemplate]=\"_translationKeyTableCell ? translationKeyTableCell : _tableTranslationKeyCell ? tableTranslationKeyCell : undefined\"\n [gridItemSubtitleLinesTemplate]=\"_gridItemSubtitleLines ? gridItemSubtitleLines : undefined\"\n [listItemSubtitleLinesTemplate]=\"_listItemSubtitleLines ? listItemSubtitleLines : undefined\"\n [listItemTemplate]=\"_listItem ? listItem : undefined\"\n [listValueTemplate]=\"_listValue ? listValue : undefined\"\n [translationKeyListValueTemplate]=\"_translationKeyListValue ? translationKeyListValue : undefined\"\n [numberListValueTemplate]=\"_numberListValue ? numberListValue : undefined\"\n [relativeDateListValueTemplate]=\"_relativeDateListValue ? relativeDateListValue : undefined\"\n [customListValueTemplate]=\"_customListValue ? customListValue : undefined\"\n [stringListValueTemplate]=\"_stringListValue ? stringListValue : undefined\"\n [dateListValueTemplate]=\"_dateListValue ? dateListValue : undefined\"\n [gridItemTemplate]=\"_gridItem ? gridItem : undefined\"\n [tableFilterCellTemplate]=\"_tableFilterCell ? tableFilterCell : undefined\"\n [dateTableFilterCellTemplate]=\"_dateTableFilterCell ? dateTableFilterCell : undefined\"\n [customTableFilterCellTemplate]=\"_customTableFilterCell ? customTableFilterCell : undefined\"\n [numberTableFilterCellTemplate]=\"_numberTableFilterCell ? numberTableFilterCell : undefined\"\n [stringTableFilterCellTemplate]=\"_stringTableFilterCell ? stringTableFilterCell : undefined\"\n [relativeDateTableFilterCellTemplate]=\"_relativeDateTableFilterCell ? relativeDateTableFilterCell : undefined\"\n [translationKeyTableFilterCellTemplate]=\"_translationKeyTableFilterCell ? translationKeyTableFilterCell : undefined\"\n (sorted)=\"sorting($event)\"\n (filtered)=\"filtering($event)\"\n [totalRecordsOnServer]=\"totalRecordsOnServer\"\n [currentPageShowingKey]=\"currentPageShowingKey\"\n [currentPageShowingWithTotalOnServerKey]=\"currentPageShowingWithTotalOnServerKey\"\n (componentStateChanged)=\"dataViewComponentState$.next($event)\"\n [parentTemplates]=\"templates$ | async\"\n [tableAllowSelectAll]=\"tableAllowSelectAll\"\n [tableSelectionEnabledField]=\"tableSelectionEnabledField\"\n >\n </ocx-data-view>\n</div>\n<ng-template #stringTableCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_stringTableCell\"\n [ngTemplateOutlet]=\"_stringTableCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #tableDateCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_tableDateCell\"\n [ngTemplateOutlet]=\"_tableDateCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #dateTableCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_dateTableCell\"\n [ngTemplateOutlet]=\"_dateTableCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #tableRelativeDateCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_tableRelativeDateCell\"\n [ngTemplateOutlet]=\"_tableRelativeDateCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #relativeDateTableCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_relativeDateTableCell\"\n [ngTemplateOutlet]=\"_relativeDateTableCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #tableCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_tableCell\"\n [ngTemplateOutlet]=\"_tableCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #tableTranslationKeyCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_tableTranslationKeyCell\"\n [ngTemplateOutlet]=\"_tableTranslationKeyCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #translationKeyTableCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_translationKeyTableCell\"\n [ngTemplateOutlet]=\"_translationKeyTableCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #gridItemSubtitleLines let-item>\n <ng-container\n *ngIf=\"_gridItemSubtitleLines\"\n [ngTemplateOutlet]=\"_gridItemSubtitleLines\"\n [ngTemplateOutletContext]=\"{$implicit:item}\"\n >\n </ng-container>\n</ng-template>\n<ng-template #listItemSubtitleLines let-item>\n <ng-container\n *ngIf=\"_listItemSubtitleLines\"\n [ngTemplateOutlet]=\"_listItemSubtitleLines\"\n [ngTemplateOutletContext]=\"{$implicit:item}\"\n >\n </ng-container\n></ng-template>\n<ng-template #gridItem let-item>\n <ng-container *ngIf=\"_gridItem\" [ngTemplateOutlet]=\"_gridItem\" [ngTemplateOutletContext]=\"{$implicit:item}\">\n </ng-container\n></ng-template>\n<ng-template #listItem let-item>\n <ng-container *ngIf=\"_listItem\" [ngTemplateOutlet]=\"_listItem\" [ngTemplateOutletContext]=\"{$implicit:item}\">\n </ng-container\n></ng-template>\n<ng-template #listValue let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_listValue\"\n [ngTemplateOutlet]=\"_listValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #translationKeyListValue let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_translationKeyListValue\"\n [ngTemplateOutlet]=\"_translationKeyListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #numberListValue let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_numberListValue\"\n [ngTemplateOutlet]=\"_numberListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #relativeDateListValue let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_relativeDateListValue\"\n [ngTemplateOutlet]=\"_relativeDateListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #customListValue let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_customListValue\"\n [ngTemplateOutlet]=\"_customListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #stringListValue let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_stringListValue\"\n [ngTemplateOutlet]=\"_stringListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #dateListValue let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_dateListValue\"\n [ngTemplateOutlet]=\"_dateListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n\n<ng-template #stringTableFilterCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_stringTableFilterCell\"\n [ngTemplateOutlet]=\"_stringTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #numberTableFilterCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_numberTableFilterCell\"\n [ngTemplateOutlet]=\"_numberTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #customTableFilterCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_customTableFilterCell\"\n [ngTemplateOutlet]=\"_customTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #dateTableFilterCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_dateTableFilterCell\"\n [ngTemplateOutlet]=\"_dateTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #relativeDateTableFilterCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_relativeDateTableFilterCell\"\n [ngTemplateOutlet]=\"_relativeDateTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #translationKeyTableFilterCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_translationKeyTableFilterCell\"\n [ngTemplateOutlet]=\"_translationKeyTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ColumnGroupSelectionComponent, selector: "ocx-column-group-selection", inputs: ["selectedGroupKey", "columns", "placeholderKey", "defaultGroupKey", "customGroupKey"], outputs: ["groupSelectionChanged", "componentStateChanged"] }, { kind: "component", type: i3.CustomGroupColumnSelectorComponent, selector: "ocx-custom-group-column-selector", inputs: ["columns", "displayedColumns", "dialogTitle", "openButtonTitle", "saveButtonLabel", "cancelButtonLabel", "activeColumnsLabel", "inactiveColumnsLabel", "frozenActionColumn", "actionColumnPosition"], outputs: ["columnSelectionChanged", "actionColumnConfigChanged", "componentStateChanged"] }, { kind: "component", type: i4.DataLayoutSelectionComponent, selector: "ocx-data-layout-selection", inputs: ["supportedViewLayouts", "layout"], outputs: ["dataViewLayoutChange", "componentStateChanged"] }, { kind: "component", type: i5.DataListGridSortingComponent, selector: "ocx-data-list-grid-sorting", inputs: ["columns", "sortStates", "sortDirection", "sortField"], outputs: ["sortChange", "sortDirectionChange", "componentStateChanged", "columnsChange"] }, { kind: "component", type: i6.DataViewComponent, selector: "ocx-data-view", inputs: ["deletePermission", "editPermission", "viewPermission", "deleteActionVisibleField", "deleteActionEnabledField", "viewActionVisibleField", "viewActionEnabledField", "editActionVisibleField", "editActionEnabledField", "tableSelectionEnabledField", "tableAllowSelectAll", "data", "name", "titleLineId", "subtitleLineIds", "layout", "columns", "emptyResultsMessage", "clientSideSorting", "clientSideFiltering", "fallbackImage", "filters", "sortField", "sortDirection", "listGridPaginator", "tablePaginator", "page", "totalRecordsOnServer", "currentPageShowingKey", "currentPageShowingWithTotalOnServerKey", "selectedRows", "frozenActionColumn", "actionColumnPosition", "paginator", "sortStates", "pageSizes", "pageSize", "stringTableCellTemplate", "numberTableCellTemplate", "customTableCellTemplate", "dateTableCellTemplate", "tableDateCellTemplate", "tableCellTemplate", "translationKeyTableCellTemplate", "tableTranslationKeyCellTemplate", "gridItemSubtitleLinesTemplate", "listItemSubtitleLinesTemplate", "gridItemTemplate", "listItemTemplate", "relativeDateTableCellTemplate", "tableRelativeDateCellTemplate", "listValueTemplate", "translationKeyListValueTemplate", "numberListValueTemplate", "relativeDateListValueTemplate", "customListValueTemplate", "stringListValueTemplate", "dateListValueTemplate", "tableFilterCellTemplate", "dateTableFilterCellTemplate", "relativeDateTableFilterCellTemplate", "translationKeyTableFilterCellTemplate", "stringTableFilterCellTemplate", "numberTableFilterCellTemplate", "customTableFilterCellTemplate", "additionalActions", "parentTemplates"], outputs: ["filtered", "sorted", "deleteItem", "viewItem", "editItem", "selectionChanged", "pageChanged", "pageSizeChanged", "componentStateChanged"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
428
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: InteractiveDataViewComponent, selector: "ocx-interactive-data-view", inputs: { deletePermission: "deletePermission", editPermission: "editPermission", viewPermission: "viewPermission", deleteActionVisibleField: "deleteActionVisibleField", deleteActionEnabledField: "deleteActionEnabledField", viewActionVisibleField: "viewActionVisibleField", viewActionEnabledField: "viewActionEnabledField", editActionVisibleField: "editActionVisibleField", editActionEnabledField: "editActionEnabledField", tableSelectionEnabledField: "tableSelectionEnabledField", tableAllowSelectAll: "tableAllowSelectAll", name: "name", titleLineId: "titleLineId", subtitleLineIds: "subtitleLineIds", supportedViewLayouts: "supportedViewLayouts", columns: "columns", emptyResultsMessage: "emptyResultsMessage", clientSideSorting: "clientSideSorting", clientSideFiltering: "clientSideFiltering", fallbackImage: "fallbackImage", filters: "filters", sortDirection: "sortDirection", sortField: "sortField", sortStates: "sortStates", pageSizes: "pageSizes", pageSize: "pageSize", totalRecordsOnServer: "totalRecordsOnServer", layout: "layout", defaultGroupKey: "defaultGroupKey", customGroupKey: "customGroupKey", groupSelectionNoGroupSelectedKey: "groupSelectionNoGroupSelectedKey", currentPageShowingKey: "currentPageShowingKey", currentPageShowingWithTotalOnServerKey: "currentPageShowingWithTotalOnServerKey", additionalActions: "additionalActions", listGridPaginator: "listGridPaginator", tablePaginator: "tablePaginator", page: "page", selectedRows: "selectedRows", displayedColumnKeys: "displayedColumnKeys", displayedColumns: "displayedColumns", frozenActionColumn: "frozenActionColumn", actionColumnPosition: "actionColumnPosition", paginator: "paginator", data: "data" }, outputs: { filtered: "filtered", sorted: "sorted", deleteItem: "deleteItem", viewItem: "viewItem", editItem: "editItem", dataViewLayoutChange: "dataViewLayoutChange", displayedColumnsChange: "displayedColumnsChange", displayedColumnKeysChange: "displayedColumnKeysChange", selectionChanged: "selectionChanged", pageChanged: "pageChanged", pageSizeChanged: "pageSizeChanged", componentStateChanged: "componentStateChanged" }, providers: [{ provide: 'InteractiveDataViewComponent', useExisting: InteractiveDataViewComponent }], queries: [{ propertyName: "tableCell", first: true, predicate: ["tableCell"], descendants: true }, { propertyName: "tableDateCell", first: true, predicate: ["tableDateCell"], descendants: true }, { propertyName: "dateTableCell", first: true, predicate: ["dateTableCell"], descendants: true }, { propertyName: "tableRelativeDateCell", first: true, predicate: ["tableRelativeDateCell"], descendants: true }, { propertyName: "relativeDateTableCell", first: true, predicate: ["relativeDateTableCell"], descendants: true }, { propertyName: "tableTranslationKeyCell", first: true, predicate: ["tableTranslationKeyCell"], descendants: true }, { propertyName: "translationKeyTableCell", first: true, predicate: ["translationKeyTableCell"], descendants: true }, { propertyName: "gridItemSubtitleLines", first: true, predicate: ["gridItemSubtitleLines"], descendants: true }, { propertyName: "listItemSubtitleLines", first: true, predicate: ["listItemSubtitleLines"], descendants: true }, { propertyName: "stringTableCell", first: true, predicate: ["stringTableCell"], descendants: true }, { propertyName: "numberTableCell", first: true, predicate: ["numberTableCell"], descendants: true }, { propertyName: "customTableCell", first: true, predicate: ["customTableCell"], descendants: true }, { propertyName: "gridItem", first: true, predicate: ["gridItem"], descendants: true }, { propertyName: "listItem", first: true, predicate: ["listItem"], descendants: true }, { propertyName: "topCenter", first: true, predicate: ["topCenter"], descendants: true }, { propertyName: "listValue", first: true, predicate: ["listValue"], descendants: true }, { propertyName: "translationKeyListValue", first: true, predicate: ["translationKeyListValue"], descendants: true }, { propertyName: "numberListValue", first: true, predicate: ["numberListValue"], descendants: true }, { propertyName: "relativeDateListValue", first: true, predicate: ["relativeDateListValue"], descendants: true }, { propertyName: "customListValue", first: true, predicate: ["customListValue"], descendants: true }, { propertyName: "stringListValue", first: true, predicate: ["stringListValue"], descendants: true }, { propertyName: "dateListValue", first: true, predicate: ["dateListValue"], descendants: true }, { propertyName: "tableFilterCell", first: true, predicate: ["tableFilterCell"], descendants: true }, { propertyName: "dateTableFilterCell", first: true, predicate: ["dateTableFilterCell"], descendants: true }, { propertyName: "relativeDateTableFilterCell", first: true, predicate: ["relativeDateTableFilterCell"], descendants: true }, { propertyName: "translationKeyTableFilterCell", first: true, predicate: ["translationKeyTableFilterCell"], descendants: true }, { propertyName: "stringTableFilterCell", first: true, predicate: ["stringTableFilterCell"], descendants: true }, { propertyName: "numberTableFilterCell", first: true, predicate: ["numberTableFilterCell"], descendants: true }, { propertyName: "customTableFilterCell", first: true, predicate: ["customTableFilterCell"], descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "dataView", first: true, predicate: DataViewComponent, descendants: true }], ngImport: i0, template: "<div class=\"p-3 border-bottom-1 surface-border\">\n <div class=\"flex flex-wrap justify-content-between align-items-center py-1 gap-2\">\n <ocx-data-layout-selection\n [supportedViewLayouts]=\"supportedViewLayouts\"\n [layout]=\"layout\"\n (dataViewLayoutChange)=\"onDataViewLayoutChange($event)\"\n (componentStateChanged)=\"dataLayoutComponentState$.next($event)\"\n ></ocx-data-layout-selection>\n\n <div *ngIf=\"topCenter\">\n <ng-container [ngTemplateOutlet]=\"topCenter\"> </ng-container>\n </div>\n\n <div *ngIf=\"layout !== 'table'\" class=\"flex align-items-center gap-2\">\n <ocx-data-list-grid-sorting\n [sortDirection]=\"sortDirection\"\n [sortField]=\"sortField\"\n [columns]=\"(displayedColumns$ | async) ?? []\"\n [sortStates]=\"sortStates\"\n (sortChange)=\"onSortChange($event)\"\n (sortDirectionChange)=\"onSortDirectionChange($event)\"\n (componentStateChanged)=\"dataListGridSortingComponentState$.next($event)\"\n ></ocx-data-list-grid-sorting>\n </div>\n\n <div *ngIf=\"layout === 'table'\" class=\"flex flex-wrap justify-content-between align-items-center gap-2\">\n <ocx-column-group-selection\n [selectedGroupKey]=\"selectedGroupKey\"\n [columns]=\"columns\"\n [defaultGroupKey]=\"defaultGroupKey\"\n [customGroupKey]=\"customGroupKey\"\n [placeholderKey]=\"groupSelectionNoGroupSelectedKey\"\n (groupSelectionChanged)=\"onColumnGroupSelectionChange($event)\"\n (componentStateChanged)=\"columnGroupSelectionComponentState$.next($event)\"\n ></ocx-column-group-selection>\n\n <ocx-custom-group-column-selector\n [columns]=\"columns\"\n [displayedColumns]=\"(displayedColumns$ | async) ?? []\"\n (columnSelectionChanged)=\"onColumnSelectionChange($event)\"\n [frozenActionColumn]=\"frozenActionColumn\"\n [actionColumnPosition]=\"actionColumnPosition\"\n (actionColumnConfigChanged)=\"onActionColumnConfigChange($event)\"\n (componentStateChanged)=\"customGroupColumnSelectorComponentState$.next($event)\"\n ></ocx-custom-group-column-selector>\n </div>\n </div>\n</div>\n<div class=\"p-3\">\n <ocx-data-view\n [columns]=\"(displayedColumns$ | async) ?? []\"\n [sortStates]=\"sortStates\"\n [sortField]=\"sortField\"\n [filters]=\"filters\"\n [data]=\"data\"\n [sortDirection]=\"sortDirection\"\n [titleLineId]=\"titleLineId\"\n [subtitleLineIds]=\"subtitleLineIds\"\n [clientSideSorting]=\"clientSideSorting\"\n [clientSideFiltering]=\"clientSideFiltering\"\n [pageSizes]=\"pageSizes\"\n [pageSize]=\"pageSize\"\n [emptyResultsMessage]=\"emptyResultsMessage\"\n [layout]=\"layout\"\n [name]=\"name\"\n [deletePermission]=\"deletePermission\"\n [editPermission]=\"editPermission\"\n [viewPermission]=\"viewPermission\"\n [deleteActionEnabledField]=\"deleteActionEnabledField\"\n [deleteActionVisibleField]=\"deleteActionVisibleField\"\n [editActionEnabledField]=\"editActionEnabledField\"\n [editActionVisibleField]=\"editActionVisibleField\"\n [viewActionEnabledField]=\"viewActionEnabledField\"\n [viewActionVisibleField]=\"viewActionVisibleField\"\n [additionalActions]=\"additionalActions\"\n [listGridPaginator]=\"listGridPaginator\"\n [tablePaginator]=\"tablePaginator\"\n [page]=\"page\"\n (pageChanged)=\"onPageChange($event)\"\n (pageSizeChanged)=\"onPageSizeChange($event)\"\n [selectedRows]=\"selectedRows\"\n [frozenActionColumn]=\"frozenActionColumn\"\n [actionColumnPosition]=\"actionColumnPosition\"\n [stringTableCellTemplate]=\"_stringTableCell ? stringTableCell : undefined\"\n [numberTableCellTemplate]=\"_numberTableCell ? numberTableCell : undefined\"\n [customTableCellTemplate]=\"_customTableCell ? customTableCell : undefined\"\n [dateTableCellTemplate]=\"_dateTableCell ? dateTableCell : _tableDateCell ? tableDateCell : undefined\"\n [relativeDateTableCellTemplate]=\"_relativeDateTableCell ? relativeDateTableCell : _tableRelativeDateCell ? tableRelativeDateCell : undefined\"\n [tableCellTemplate]=\"_tableCell ? tableCell : undefined\"\n [translationKeyTableCellTemplate]=\"_translationKeyTableCell ? translationKeyTableCell : _tableTranslationKeyCell ? tableTranslationKeyCell : undefined\"\n [gridItemSubtitleLinesTemplate]=\"_gridItemSubtitleLines ? gridItemSubtitleLines : undefined\"\n [listItemSubtitleLinesTemplate]=\"_listItemSubtitleLines ? listItemSubtitleLines : undefined\"\n [listItemTemplate]=\"_listItem ? listItem : undefined\"\n [listValueTemplate]=\"_listValue ? listValue : undefined\"\n [translationKeyListValueTemplate]=\"_translationKeyListValue ? translationKeyListValue : undefined\"\n [numberListValueTemplate]=\"_numberListValue ? numberListValue : undefined\"\n [relativeDateListValueTemplate]=\"_relativeDateListValue ? relativeDateListValue : undefined\"\n [customListValueTemplate]=\"_customListValue ? customListValue : undefined\"\n [stringListValueTemplate]=\"_stringListValue ? stringListValue : undefined\"\n [dateListValueTemplate]=\"_dateListValue ? dateListValue : undefined\"\n [gridItemTemplate]=\"_gridItem ? gridItem : undefined\"\n [tableFilterCellTemplate]=\"_tableFilterCell ? tableFilterCell : undefined\"\n [dateTableFilterCellTemplate]=\"_dateTableFilterCell ? dateTableFilterCell : undefined\"\n [customTableFilterCellTemplate]=\"_customTableFilterCell ? customTableFilterCell : undefined\"\n [numberTableFilterCellTemplate]=\"_numberTableFilterCell ? numberTableFilterCell : undefined\"\n [stringTableFilterCellTemplate]=\"_stringTableFilterCell ? stringTableFilterCell : undefined\"\n [relativeDateTableFilterCellTemplate]=\"_relativeDateTableFilterCell ? relativeDateTableFilterCell : undefined\"\n [translationKeyTableFilterCellTemplate]=\"_translationKeyTableFilterCell ? translationKeyTableFilterCell : undefined\"\n (sorted)=\"sorting($event)\"\n (filtered)=\"filtering($event)\"\n [totalRecordsOnServer]=\"totalRecordsOnServer\"\n [currentPageShowingKey]=\"currentPageShowingKey\"\n [currentPageShowingWithTotalOnServerKey]=\"currentPageShowingWithTotalOnServerKey\"\n (componentStateChanged)=\"dataViewComponentState$.next($event)\"\n [parentTemplates]=\"templates$ | async\"\n [tableAllowSelectAll]=\"tableAllowSelectAll\"\n [tableSelectionEnabledField]=\"tableSelectionEnabledField\"\n >\n </ocx-data-view>\n</div>\n<ng-template #stringTableCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_stringTableCell\"\n [ngTemplateOutlet]=\"_stringTableCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #tableDateCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_tableDateCell\"\n [ngTemplateOutlet]=\"_tableDateCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #dateTableCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_dateTableCell\"\n [ngTemplateOutlet]=\"_dateTableCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #tableRelativeDateCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_tableRelativeDateCell\"\n [ngTemplateOutlet]=\"_tableRelativeDateCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #relativeDateTableCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_relativeDateTableCell\"\n [ngTemplateOutlet]=\"_relativeDateTableCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #tableCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_tableCell\"\n [ngTemplateOutlet]=\"_tableCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #tableTranslationKeyCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_tableTranslationKeyCell\"\n [ngTemplateOutlet]=\"_tableTranslationKeyCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #translationKeyTableCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_translationKeyTableCell\"\n [ngTemplateOutlet]=\"_translationKeyTableCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #gridItemSubtitleLines let-item>\n <ng-container\n *ngIf=\"_gridItemSubtitleLines\"\n [ngTemplateOutlet]=\"_gridItemSubtitleLines\"\n [ngTemplateOutletContext]=\"{$implicit:item}\"\n >\n </ng-container>\n</ng-template>\n<ng-template #listItemSubtitleLines let-item>\n <ng-container\n *ngIf=\"_listItemSubtitleLines\"\n [ngTemplateOutlet]=\"_listItemSubtitleLines\"\n [ngTemplateOutletContext]=\"{$implicit:item}\"\n >\n </ng-container\n></ng-template>\n<ng-template #gridItem let-item>\n <ng-container *ngIf=\"_gridItem\" [ngTemplateOutlet]=\"_gridItem\" [ngTemplateOutletContext]=\"{$implicit:item}\">\n </ng-container\n></ng-template>\n<ng-template #listItem let-item>\n <ng-container *ngIf=\"_listItem\" [ngTemplateOutlet]=\"_listItem\" [ngTemplateOutletContext]=\"{$implicit:item}\">\n </ng-container\n></ng-template>\n<ng-template #listValue let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_listValue\"\n [ngTemplateOutlet]=\"_listValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #translationKeyListValue let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_translationKeyListValue\"\n [ngTemplateOutlet]=\"_translationKeyListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #numberListValue let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_numberListValue\"\n [ngTemplateOutlet]=\"_numberListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #relativeDateListValue let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_relativeDateListValue\"\n [ngTemplateOutlet]=\"_relativeDateListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #customListValue let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_customListValue\"\n [ngTemplateOutlet]=\"_customListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #stringListValue let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_stringListValue\"\n [ngTemplateOutlet]=\"_stringListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #dateListValue let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_dateListValue\"\n [ngTemplateOutlet]=\"_dateListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n\n<ng-template #stringTableFilterCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_stringTableFilterCell\"\n [ngTemplateOutlet]=\"_stringTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #numberTableFilterCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_numberTableFilterCell\"\n [ngTemplateOutlet]=\"_numberTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #customTableFilterCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_customTableFilterCell\"\n [ngTemplateOutlet]=\"_customTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #dateTableFilterCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_dateTableFilterCell\"\n [ngTemplateOutlet]=\"_dateTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #relativeDateTableFilterCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_relativeDateTableFilterCell\"\n [ngTemplateOutlet]=\"_relativeDateTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n<ng-template #translationKeyTableFilterCell let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n *ngIf=\"_translationKeyTableFilterCell\"\n [ngTemplateOutlet]=\"_translationKeyTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container\n></ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ColumnGroupSelectionComponent, selector: "ocx-column-group-selection", inputs: ["selectedGroupKey", "columns", "placeholderKey", "defaultGroupKey", "customGroupKey"], outputs: ["groupSelectionChanged", "componentStateChanged"] }, { kind: "component", type: i3.CustomGroupColumnSelectorComponent, selector: "ocx-custom-group-column-selector", inputs: ["columns", "displayedColumns", "dialogTitle", "dialogTitleKey", "openButtonTitle", "openButtonTitleKey", "openButtonAriaLabel", "openButtonAriaLabelKey", "saveButtonLabel", "saveButtonLabelKey", "saveButtonAriaLabel", "saveButtonAriaLabelKey", "cancelButtonLabel", "cancelButtonLabelKey", "cancelButtonAriaLabel", "cancelButtonAriaLabelKey", "activeColumnsLabel", "activeColumnsLabelKey", "inactiveColumnsLabel", "inactiveColumnsLabelKey", "frozenActionColumn", "actionColumnPosition"], outputs: ["columnSelectionChanged", "actionColumnConfigChanged", "componentStateChanged"] }, { kind: "component", type: i4.DataLayoutSelectionComponent, selector: "ocx-data-layout-selection", inputs: ["supportedViewLayouts", "layout"], outputs: ["dataViewLayoutChange", "componentStateChanged"] }, { kind: "component", type: i5.DataListGridSortingComponent, selector: "ocx-data-list-grid-sorting", inputs: ["columns", "sortStates", "sortDirection", "sortField"], outputs: ["sortChange", "sortDirectionChange", "componentStateChanged", "columnsChange"] }, { kind: "component", type: i6.DataViewComponent, selector: "ocx-data-view", inputs: ["deletePermission", "editPermission", "viewPermission", "deleteActionVisibleField", "deleteActionEnabledField", "viewActionVisibleField", "viewActionEnabledField", "editActionVisibleField", "editActionEnabledField", "tableSelectionEnabledField", "tableAllowSelectAll", "data", "name", "titleLineId", "subtitleLineIds", "layout", "columns", "emptyResultsMessage", "clientSideSorting", "clientSideFiltering", "fallbackImage", "filters", "sortField", "sortDirection", "listGridPaginator", "tablePaginator", "page", "totalRecordsOnServer", "currentPageShowingKey", "currentPageShowingWithTotalOnServerKey", "selectedRows", "frozenActionColumn", "actionColumnPosition", "paginator", "sortStates", "pageSizes", "pageSize", "stringTableCellTemplate", "numberTableCellTemplate", "customTableCellTemplate", "dateTableCellTemplate", "tableDateCellTemplate", "tableCellTemplate", "translationKeyTableCellTemplate", "tableTranslationKeyCellTemplate", "gridItemSubtitleLinesTemplate", "listItemSubtitleLinesTemplate", "gridItemTemplate", "listItemTemplate", "relativeDateTableCellTemplate", "tableRelativeDateCellTemplate", "listValueTemplate", "translationKeyListValueTemplate", "numberListValueTemplate", "relativeDateListValueTemplate", "customListValueTemplate", "stringListValueTemplate", "dateListValueTemplate", "tableFilterCellTemplate", "dateTableFilterCellTemplate", "relativeDateTableFilterCellTemplate", "translationKeyTableFilterCellTemplate", "stringTableFilterCellTemplate", "numberTableFilterCellTemplate", "customTableFilterCellTemplate", "additionalActions", "parentTemplates"], outputs: ["filtered", "sorted", "deleteItem", "viewItem", "editItem", "selectionChanged", "pageChanged", "pageSizeChanged", "componentStateChanged"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
429
429
  }
430
430
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InteractiveDataViewComponent, decorators: [{
431
431
  type: Component,
@@ -0,0 +1,28 @@
1
+ import { getUTCDateWithoutTimezoneIssues, isValidDate } from '@onecx/accelerator';
2
+ function _hasShowTime(calendars, formKey) {
3
+ return (calendars.find((c) => {
4
+ return c.name === formKey;
5
+ })?.showTime === true);
6
+ }
7
+ /**
8
+ * Safely builds the search criteria based on form values
9
+ * @param formValues the form values to use
10
+ * @param calendars a list of primeng calendars of the form (use `@ViewChildren(Calendar) calendars!: QueryList<Calendar>;`)
11
+ * @param parameters {@link BuildSearchCriteriaParameters} to use when building the search criteria
12
+ * @returns the search criteria as a partial of T (T = type of the search criteria)
13
+ */
14
+ export function buildSearchCriteria(formValues, calendars, { removeNullValues = false }) {
15
+ return Object.entries(formValues).reduce((acc, [key, value]) => {
16
+ if (value == null && removeNullValues) {
17
+ return acc;
18
+ }
19
+ if (isValidDate(value) && !_hasShowTime(calendars, key)) {
20
+ value = getUTCDateWithoutTimezoneIssues(value);
21
+ }
22
+ return {
23
+ ...acc,
24
+ [key]: value,
25
+ };
26
+ }, {});
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JpdGVyaWEudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi91dGlscy9jcml0ZXJpYS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFXakYsU0FBUyxZQUFZLENBQUMsU0FBOEIsRUFBRSxPQUFlO0lBQ25FLE9BQU8sQ0FDTCxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDbkIsT0FBTyxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQTtJQUMzQixDQUFDLENBQUMsRUFBRSxRQUFRLEtBQUssSUFBSSxDQUN0QixDQUFBO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsVUFBMEIsRUFDMUIsU0FBOEIsRUFDOUIsRUFBRSxnQkFBZ0IsR0FBRyxLQUFLLEVBQWlDO0lBRTNELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFlLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtRQUN6RSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUN0QyxPQUFPLEdBQUcsQ0FBQTtRQUNaLENBQUM7UUFDRCxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4RCxLQUFLLEdBQUcsK0JBQStCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUNELE9BQU87WUFDTCxHQUFHLEdBQUc7WUFDTixDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUs7U0FDYixDQUFBO0lBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQ1IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IGdldFVUQ0RhdGVXaXRob3V0VGltZXpvbmVJc3N1ZXMsIGlzVmFsaWREYXRlIH0gZnJvbSAnQG9uZWN4L2FjY2VsZXJhdG9yJ1xuaW1wb3J0IHsgQ2FsZW5kYXIgfSBmcm9tICdwcmltZW5nL2NhbGVuZGFyJ1xuXG5leHBvcnQgdHlwZSBoYXNTaG93VGltZUZ1bmN0aW9uID0gKGtleTogc3RyaW5nKSA9PiBib29sZWFuXG4vKipcbiAqIHJlbW92ZU51bGxWYWx1ZXM6IHdoZXRoZXIgdG8gcmVtb3ZlIGVudHJpZXMgZnJvbSB0aGUgc2VhcmNoIGNyaXRlcmlhIHdoZXJlIHRoZSB2YWx1ZSBpcyBudWxsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRTZWFyY2hDcml0ZXJpYVBhcmFtZXRlcnMge1xuICByZW1vdmVOdWxsVmFsdWVzOiBib29sZWFuXG59XG5cbmZ1bmN0aW9uIF9oYXNTaG93VGltZShjYWxlbmRhcnM6IFF1ZXJ5TGlzdDxDYWxlbmRhcj4sIGZvcm1LZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIGNhbGVuZGFycy5maW5kKChjKSA9PiB7XG4gICAgICByZXR1cm4gYy5uYW1lID09PSBmb3JtS2V5XG4gICAgfSk/LnNob3dUaW1lID09PSB0cnVlXG4gIClcbn1cblxuLyoqXG4gKiBTYWZlbHkgYnVpbGRzIHRoZSBzZWFyY2ggY3JpdGVyaWEgYmFzZWQgb24gZm9ybSB2YWx1ZXNcbiAqIEBwYXJhbSBmb3JtVmFsdWVzIHRoZSBmb3JtIHZhbHVlcyB0byB1c2VcbiAqIEBwYXJhbSBjYWxlbmRhcnMgYSBsaXN0IG9mIHByaW1lbmcgY2FsZW5kYXJzIG9mIHRoZSBmb3JtICh1c2UgYEBWaWV3Q2hpbGRyZW4oQ2FsZW5kYXIpIGNhbGVuZGFycyE6IFF1ZXJ5TGlzdDxDYWxlbmRhcj47YClcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIHtAbGluayBCdWlsZFNlYXJjaENyaXRlcmlhUGFyYW1ldGVyc30gIHRvIHVzZSB3aGVuIGJ1aWxkaW5nIHRoZSBzZWFyY2ggY3JpdGVyaWFcbiAqIEByZXR1cm5zIHRoZSBzZWFyY2ggY3JpdGVyaWEgYXMgYSBwYXJ0aWFsIG9mIFQgKFQgPSB0eXBlIG9mIHRoZSBzZWFyY2ggY3JpdGVyaWEpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFNlYXJjaENyaXRlcmlhPFQ+KFxuICBmb3JtVmFsdWVzOiBGb3JtR3JvdXA8YW55PixcbiAgY2FsZW5kYXJzOiBRdWVyeUxpc3Q8Q2FsZW5kYXI+LFxuICB7IHJlbW92ZU51bGxWYWx1ZXMgPSBmYWxzZSB9OiBCdWlsZFNlYXJjaENyaXRlcmlhUGFyYW1ldGVyc1xuKSB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhmb3JtVmFsdWVzKS5yZWR1Y2UoKGFjYzogUGFydGlhbDxUPiwgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgaWYgKHZhbHVlID09IG51bGwgJiYgcmVtb3ZlTnVsbFZhbHVlcykge1xuICAgICAgcmV0dXJuIGFjY1xuICAgIH1cbiAgICBpZiAoaXNWYWxpZERhdGUodmFsdWUpICYmICFfaGFzU2hvd1RpbWUoY2FsZW5kYXJzLCBrZXkpKSB7XG4gICAgICB2YWx1ZSA9IGdldFVUQ0RhdGVXaXRob3V0VGltZXpvbmVJc3N1ZXModmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgLi4uYWNjLFxuICAgICAgW2tleV06IHZhbHVlLFxuICAgIH1cbiAgfSwge30pXG59XG4iXX0=
@@ -7,7 +7,7 @@ export class CustomGroupColumnSelectorHarness extends ContentContainerComponentH
7
7
  id: 'customGroupColumnSelectorButton',
8
8
  }));
9
9
  this.getDialog = this.locatorFor(PDialogHarness);
10
- this.getCancelButton = this.locatorFor(PButtonHarness);
10
+ this.getCancelButton = this.locatorFor(PButtonHarness.with({ id: 'cancelButton' }));
11
11
  this.getSaveButton = this.locatorFor(PButtonHarness.with({ id: 'saveButton' }));
12
12
  this.getPicklist = this.locatorFor(PPicklistHarness);
13
13
  this.getSelectButtons = this.locatorForOptional('[name]');
@@ -28,4 +28,4 @@ export class CustomGroupColumnSelectorHarness extends ContentContainerComponentH
28
28
  }
29
29
  }
30
30
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWdyb3VwLWNvbHVtbi1zZWxlY3Rvci5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY2VsZXJhdG9yL3Rlc3RpbmcvY3VzdG9tLWdyb3VwLWNvbHVtbi1zZWxlY3Rvci5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFFekYsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLGdDQUFnQztJQUF0Rjs7UUFHRSx1Q0FBa0MsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUNsRCxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ2xCLEVBQUUsRUFBRSxpQ0FBaUM7U0FDdEMsQ0FBQyxDQUNILENBQUE7UUFFRCxjQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUMzQyxvQkFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUE7UUFDakQsa0JBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQzFFLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBQy9DLHFCQUFnQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQWlCdEQsQ0FBQzthQTdCUSxpQkFBWSxHQUFHLGtDQUFrQyxBQUFyQyxDQUFxQztJQWN4RCxLQUFLLENBQUMsaUNBQWlDO1FBQ3JDLE9BQU8sTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLHVEQUF1RCxDQUFDLEVBQUUsQ0FBQTtJQUM1RixDQUFDO0lBRUQsS0FBSyxDQUFDLG9DQUFvQztRQUN4QyxPQUFPLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyx5REFBeUQsQ0FBQyxFQUFFLENBQUE7SUFDOUYsQ0FBQztJQUVELEtBQUssQ0FBQyxtQ0FBbUM7UUFDdkMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2xELE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDakUsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsSUFBSSxDQUFDLDhFQUE4RSxDQUFDLENBQUE7UUFDOUYsQ0FBQztJQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZW50Q29udGFpbmVyQ29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJ1xuaW1wb3J0IHsgUERpYWxvZ0hhcm5lc3MsIFBQaWNrbGlzdEhhcm5lc3MsIFBCdXR0b25IYXJuZXNzIH0gZnJvbSAnQG9uZWN4L2FuZ3VsYXItdGVzdGluZydcblxuZXhwb3J0IGNsYXNzIEN1c3RvbUdyb3VwQ29sdW1uU2VsZWN0b3JIYXJuZXNzIGV4dGVuZHMgQ29udGVudENvbnRhaW5lckNvbXBvbmVudEhhcm5lc3Mge1xuICBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ29jeC1jdXN0b20tZ3JvdXAtY29sdW1uLXNlbGVjdG9yJ1xuXG4gIGdldEN1c3RvbUdyb3VwQ29sdW1uU2VsZWN0b3JCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3IoXG4gICAgUEJ1dHRvbkhhcm5lc3Mud2l0aCh7XG4gICAgICBpZDogJ2N1c3RvbUdyb3VwQ29sdW1uU2VsZWN0b3JCdXR0b24nLFxuICAgIH0pXG4gIClcblxuICBnZXREaWFsb2cgPSB0aGlzLmxvY2F0b3JGb3IoUERpYWxvZ0hhcm5lc3MpXG4gIGdldENhbmNlbEJ1dHRvbiA9IHRoaXMubG9jYXRvckZvcihQQnV0dG9uSGFybmVzcylcbiAgZ2V0U2F2ZUJ1dHRvbiA9IHRoaXMubG9jYXRvckZvcihQQnV0dG9uSGFybmVzcy53aXRoKHsgaWQ6ICdzYXZlQnV0dG9uJyB9KSlcbiAgZ2V0UGlja2xpc3QgPSB0aGlzLmxvY2F0b3JGb3IoUFBpY2tsaXN0SGFybmVzcylcbiAgZ2V0U2VsZWN0QnV0dG9ucyA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKCdbbmFtZV0nKVxuXG4gIGFzeW5jIGdldEZyb3plbkFjdGlvbkNvbHVtblNlbGVjdEJ1dHRvbigpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5sb2NhdG9yRm9yQWxsKGBbbmFtZT1cImZyb3plbi1hY3Rpb24tY29sdW1uLXNlbGVjdC1idXR0b25cIl0gLnAtYnV0dG9uYCkoKVxuICB9XG5cbiAgYXN5bmMgZ2V0QWN0aW9uQ29sdW1uUG9zaXRpb25TZWxlY3RCdXR0b25zKCkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoYFtuYW1lPVwiYWN0aW9uLWNvbHVtbi1wb3NpdGlvbi1zZWxlY3QtYnV0dG9uXCJdIC5wLWJ1dHRvbmApKClcbiAgfVxuXG4gIGFzeW5jIG9wZW5DdXN0b21Hcm91cENvbHVtblNlbGVjdG9yRGlhbG9nKCkge1xuICAgIGlmICghKGF3YWl0IChhd2FpdCB0aGlzLmdldERpYWxvZygpKS5pc1Zpc2libGUoKSkpIHtcbiAgICAgIGF3YWl0IChhd2FpdCB0aGlzLmdldEN1c3RvbUdyb3VwQ29sdW1uU2VsZWN0b3JCdXR0b24oKSkuY2xpY2soKVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1VuYWJsZSB0byBvcGVuIEN1c3RvbUdyb3VwQ29sdW1uU2VsZWN0aW9uRGlhbG9nLCBiZWNhdXNlIGl0IGlzIGFscmVhZHkgb3Blbi4nKVxuICAgIH1cbiAgfVxufVxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWdyb3VwLWNvbHVtbi1zZWxlY3Rvci5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY2VsZXJhdG9yL3Rlc3RpbmcvY3VzdG9tLWdyb3VwLWNvbHVtbi1zZWxlY3Rvci5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFFekYsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLGdDQUFnQztJQUF0Rjs7UUFHRSx1Q0FBa0MsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUNsRCxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ2xCLEVBQUUsRUFBRSxpQ0FBaUM7U0FDdEMsQ0FBQyxDQUNILENBQUE7UUFFRCxjQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUMzQyxvQkFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDOUUsa0JBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQzFFLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBQy9DLHFCQUFnQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQWlCdEQsQ0FBQzthQTdCUSxpQkFBWSxHQUFHLGtDQUFrQyxBQUFyQyxDQUFxQztJQWN4RCxLQUFLLENBQUMsaUNBQWlDO1FBQ3JDLE9BQU8sTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLHVEQUF1RCxDQUFDLEVBQUUsQ0FBQTtJQUM1RixDQUFDO0lBRUQsS0FBSyxDQUFDLG9DQUFvQztRQUN4QyxPQUFPLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyx5REFBeUQsQ0FBQyxFQUFFLENBQUE7SUFDOUYsQ0FBQztJQUVELEtBQUssQ0FBQyxtQ0FBbUM7UUFDdkMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2xELE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDakUsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsSUFBSSxDQUFDLDhFQUE4RSxDQUFDLENBQUE7UUFDOUYsQ0FBQztJQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZW50Q29udGFpbmVyQ29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJ1xuaW1wb3J0IHsgUERpYWxvZ0hhcm5lc3MsIFBQaWNrbGlzdEhhcm5lc3MsIFBCdXR0b25IYXJuZXNzIH0gZnJvbSAnQG9uZWN4L2FuZ3VsYXItdGVzdGluZydcblxuZXhwb3J0IGNsYXNzIEN1c3RvbUdyb3VwQ29sdW1uU2VsZWN0b3JIYXJuZXNzIGV4dGVuZHMgQ29udGVudENvbnRhaW5lckNvbXBvbmVudEhhcm5lc3Mge1xuICBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ29jeC1jdXN0b20tZ3JvdXAtY29sdW1uLXNlbGVjdG9yJ1xuXG4gIGdldEN1c3RvbUdyb3VwQ29sdW1uU2VsZWN0b3JCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3IoXG4gICAgUEJ1dHRvbkhhcm5lc3Mud2l0aCh7XG4gICAgICBpZDogJ2N1c3RvbUdyb3VwQ29sdW1uU2VsZWN0b3JCdXR0b24nLFxuICAgIH0pXG4gIClcblxuICBnZXREaWFsb2cgPSB0aGlzLmxvY2F0b3JGb3IoUERpYWxvZ0hhcm5lc3MpXG4gIGdldENhbmNlbEJ1dHRvbiA9IHRoaXMubG9jYXRvckZvcihQQnV0dG9uSGFybmVzcy53aXRoKHsgaWQ6ICdjYW5jZWxCdXR0b24nIH0pKVxuICBnZXRTYXZlQnV0dG9uID0gdGhpcy5sb2NhdG9yRm9yKFBCdXR0b25IYXJuZXNzLndpdGgoeyBpZDogJ3NhdmVCdXR0b24nIH0pKVxuICBnZXRQaWNrbGlzdCA9IHRoaXMubG9jYXRvckZvcihQUGlja2xpc3RIYXJuZXNzKVxuICBnZXRTZWxlY3RCdXR0b25zID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJ1tuYW1lXScpXG5cbiAgYXN5bmMgZ2V0RnJvemVuQWN0aW9uQ29sdW1uU2VsZWN0QnV0dG9uKCkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoYFtuYW1lPVwiZnJvemVuLWFjdGlvbi1jb2x1bW4tc2VsZWN0LWJ1dHRvblwiXSAucC1idXR0b25gKSgpXG4gIH1cblxuICBhc3luYyBnZXRBY3Rpb25Db2x1bW5Qb3NpdGlvblNlbGVjdEJ1dHRvbnMoKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMubG9jYXRvckZvckFsbChgW25hbWU9XCJhY3Rpb24tY29sdW1uLXBvc2l0aW9uLXNlbGVjdC1idXR0b25cIl0gLnAtYnV0dG9uYCkoKVxuICB9XG5cbiAgYXN5bmMgb3BlbkN1c3RvbUdyb3VwQ29sdW1uU2VsZWN0b3JEaWFsb2coKSB7XG4gICAgaWYgKCEoYXdhaXQgKGF3YWl0IHRoaXMuZ2V0RGlhbG9nKCkpLmlzVmlzaWJsZSgpKSkge1xuICAgICAgYXdhaXQgKGF3YWl0IHRoaXMuZ2V0Q3VzdG9tR3JvdXBDb2x1bW5TZWxlY3RvckJ1dHRvbigpKS5jbGljaygpXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybignVW5hYmxlIHRvIG9wZW4gQ3VzdG9tR3JvdXBDb2x1bW5TZWxlY3Rpb25EaWFsb2csIGJlY2F1c2UgaXQgaXMgYWxyZWFkeSBvcGVuLicpXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,5 +1,4 @@
1
1
  import { ContentContainerComponentHarness } from '@angular/cdk/testing';
2
- import { PrimeIcons } from 'primeng/api';
3
2
  import { PSelectButtonHarness } from '@onecx/angular-testing';
4
3
  export class DataLayoutSelectionHarness extends ContentContainerComponentHarness {
5
4
  static { this.hostSelector = 'ocx-data-layout-selection'; }
@@ -7,13 +6,13 @@ export class DataLayoutSelectionHarness extends ContentContainerComponentHarness
7
6
  return await (await this.locatorFor(PSelectButtonHarness)()).getAllButtons();
8
7
  }
9
8
  async getListLayoutSelectionButton() {
10
- return await this.isDesiredButton(await this.getAllSelectionButtons(), PrimeIcons.LIST);
9
+ return await this.isDesiredButton(await this.getAllSelectionButtons(), 'ocx-data-layout-selection-list');
11
10
  }
12
11
  async getGridLayoutSelectionButton() {
13
- return await this.isDesiredButton(await this.getAllSelectionButtons(), PrimeIcons.TH_LARGE);
12
+ return await this.isDesiredButton(await this.getAllSelectionButtons(), 'ocx-data-layout-selection-grid');
14
13
  }
15
14
  async getTableLayoutSelectionButton() {
16
- return await this.isDesiredButton(await this.getAllSelectionButtons(), PrimeIcons.TABLE);
15
+ return await this.isDesiredButton(await this.getAllSelectionButtons(), 'ocx-data-layout-selection-table');
17
16
  }
18
17
  async getCurrentLayout() {
19
18
  return await (await this.host()).getAttribute('ng-reflect-layout');
@@ -21,13 +20,13 @@ export class DataLayoutSelectionHarness extends ContentContainerComponentHarness
21
20
  async selectListLayout() {
22
21
  await (await this.getListLayoutSelectionButton())?.click();
23
22
  }
24
- async isDesiredButton(value, icon) {
23
+ async isDesiredButton(value, id) {
25
24
  for (let index = 0; index < value.length; index++) {
26
- if ((await value[index].getAttribute('aria-labelledby')) === icon) {
25
+ if ((await value[index].getAttribute('aria-labelledby')) === id) {
27
26
  return value[index];
28
27
  }
29
28
  }
30
29
  return null;
31
30
  }
32
31
  }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sYXlvdXQtc2VsZWN0aW9uLmhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3IvdGVzdGluZy9kYXRhLWxheW91dC1zZWxlY3Rpb24uaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0NBQWdDLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNwRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxvQkFBb0IsRUFBYSxNQUFNLHdCQUF3QixDQUFBO0FBRXhFLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxnQ0FBZ0M7YUFDdkUsaUJBQVksR0FBRywyQkFBMkIsQ0FBQTtJQUVqRCxLQUFLLENBQUMsc0JBQXNCO1FBQzFCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUM5RSxDQUFDO0lBRUQsS0FBSyxDQUFDLDRCQUE0QjtRQUNoQyxPQUFPLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN6RixDQUFDO0lBRUQsS0FBSyxDQUFDLDRCQUE0QjtRQUNoQyxPQUFPLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUM3RixDQUFDO0lBRUQsS0FBSyxDQUFDLDZCQUE2QjtRQUNqQyxPQUFPLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMxRixDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQjtRQUNwQixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO0lBQ3BFLENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCO1FBQ3BCLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUE7SUFDNUQsQ0FBQztJQUVPLEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBb0IsRUFBRSxJQUFlO1FBQ2pFLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ2xFLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3JCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGVudENvbnRhaW5lckNvbXBvbmVudEhhcm5lc3MsIFRlc3RFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnXG5pbXBvcnQgeyBQcmltZUljb25zIH0gZnJvbSAncHJpbWVuZy9hcGknXG5pbXBvcnQgeyBQU2VsZWN0QnV0dG9uSGFybmVzcywgUHJpbWVJY29uIH0gZnJvbSAnQG9uZWN4L2FuZ3VsYXItdGVzdGluZydcblxuZXhwb3J0IGNsYXNzIERhdGFMYXlvdXRTZWxlY3Rpb25IYXJuZXNzIGV4dGVuZHMgQ29udGVudENvbnRhaW5lckNvbXBvbmVudEhhcm5lc3Mge1xuICBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ29jeC1kYXRhLWxheW91dC1zZWxlY3Rpb24nXG5cbiAgYXN5bmMgZ2V0QWxsU2VsZWN0aW9uQnV0dG9ucygpIHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMubG9jYXRvckZvcihQU2VsZWN0QnV0dG9uSGFybmVzcykoKSkuZ2V0QWxsQnV0dG9ucygpXG4gIH1cblxuICBhc3luYyBnZXRMaXN0TGF5b3V0U2VsZWN0aW9uQnV0dG9uKCkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmlzRGVzaXJlZEJ1dHRvbihhd2FpdCB0aGlzLmdldEFsbFNlbGVjdGlvbkJ1dHRvbnMoKSwgUHJpbWVJY29ucy5MSVNUKVxuICB9XG5cbiAgYXN5bmMgZ2V0R3JpZExheW91dFNlbGVjdGlvbkJ1dHRvbigpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5pc0Rlc2lyZWRCdXR0b24oYXdhaXQgdGhpcy5nZXRBbGxTZWxlY3Rpb25CdXR0b25zKCksIFByaW1lSWNvbnMuVEhfTEFSR0UpXG4gIH1cblxuICBhc3luYyBnZXRUYWJsZUxheW91dFNlbGVjdGlvbkJ1dHRvbigpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5pc0Rlc2lyZWRCdXR0b24oYXdhaXQgdGhpcy5nZXRBbGxTZWxlY3Rpb25CdXR0b25zKCksIFByaW1lSWNvbnMuVEFCTEUpXG4gIH1cblxuICBhc3luYyBnZXRDdXJyZW50TGF5b3V0KCkge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmdldEF0dHJpYnV0ZSgnbmctcmVmbGVjdC1sYXlvdXQnKVxuICB9XG5cbiAgYXN5bmMgc2VsZWN0TGlzdExheW91dCgpIHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5nZXRMaXN0TGF5b3V0U2VsZWN0aW9uQnV0dG9uKCkpPy5jbGljaygpXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGlzRGVzaXJlZEJ1dHRvbih2YWx1ZTogVGVzdEVsZW1lbnRbXSwgaWNvbjogUHJpbWVJY29uKSB7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHZhbHVlLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgaWYgKChhd2FpdCB2YWx1ZVtpbmRleF0uZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknKSkgPT09IGljb24pIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlW2luZGV4XVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG59XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sYXlvdXQtc2VsZWN0aW9uLmhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3IvdGVzdGluZy9kYXRhLWxheW91dC1zZWxlY3Rpb24uaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0NBQWdDLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUU3RCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsZ0NBQWdDO2FBQ3ZFLGlCQUFZLEdBQUcsMkJBQTJCLENBQUE7SUFFakQsS0FBSyxDQUFDLHNCQUFzQjtRQUMxQixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDOUUsQ0FBQztJQUVELEtBQUssQ0FBQyw0QkFBNEI7UUFDaEMsT0FBTyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxnQ0FBZ0MsQ0FBQyxDQUFBO0lBQzFHLENBQUM7SUFFRCxLQUFLLENBQUMsNEJBQTRCO1FBQ2hDLE9BQU8sTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQTtJQUMxRyxDQUFDO0lBRUQsS0FBSyxDQUFDLDZCQUE2QjtRQUNqQyxPQUFPLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLGlDQUFpQyxDQUFDLENBQUE7SUFDM0csQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0I7UUFDcEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtJQUNwRSxDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQjtRQUNwQixNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFBO0lBQzVELENBQUM7SUFFTyxLQUFLLENBQUMsZUFBZSxDQUFDLEtBQW9CLEVBQUUsRUFBVTtRQUM1RCxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUNoRSxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNyQixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRDb250YWluZXJDb21wb25lbnRIYXJuZXNzLCBUZXN0RWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJ1xuaW1wb3J0IHsgUFNlbGVjdEJ1dHRvbkhhcm5lc3MgfSBmcm9tICdAb25lY3gvYW5ndWxhci10ZXN0aW5nJ1xuXG5leHBvcnQgY2xhc3MgRGF0YUxheW91dFNlbGVjdGlvbkhhcm5lc3MgZXh0ZW5kcyBDb250ZW50Q29udGFpbmVyQ29tcG9uZW50SGFybmVzcyB7XG4gIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnb2N4LWRhdGEtbGF5b3V0LXNlbGVjdGlvbidcblxuICBhc3luYyBnZXRBbGxTZWxlY3Rpb25CdXR0b25zKCkge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5sb2NhdG9yRm9yKFBTZWxlY3RCdXR0b25IYXJuZXNzKSgpKS5nZXRBbGxCdXR0b25zKClcbiAgfVxuXG4gIGFzeW5jIGdldExpc3RMYXlvdXRTZWxlY3Rpb25CdXR0b24oKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuaXNEZXNpcmVkQnV0dG9uKGF3YWl0IHRoaXMuZ2V0QWxsU2VsZWN0aW9uQnV0dG9ucygpLCAnb2N4LWRhdGEtbGF5b3V0LXNlbGVjdGlvbi1saXN0JylcbiAgfVxuXG4gIGFzeW5jIGdldEdyaWRMYXlvdXRTZWxlY3Rpb25CdXR0b24oKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuaXNEZXNpcmVkQnV0dG9uKGF3YWl0IHRoaXMuZ2V0QWxsU2VsZWN0aW9uQnV0dG9ucygpLCAnb2N4LWRhdGEtbGF5b3V0LXNlbGVjdGlvbi1ncmlkJylcbiAgfVxuXG4gIGFzeW5jIGdldFRhYmxlTGF5b3V0U2VsZWN0aW9uQnV0dG9uKCkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmlzRGVzaXJlZEJ1dHRvbihhd2FpdCB0aGlzLmdldEFsbFNlbGVjdGlvbkJ1dHRvbnMoKSwgJ29jeC1kYXRhLWxheW91dC1zZWxlY3Rpb24tdGFibGUnKVxuICB9XG5cbiAgYXN5bmMgZ2V0Q3VycmVudExheW91dCgpIHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS5nZXRBdHRyaWJ1dGUoJ25nLXJlZmxlY3QtbGF5b3V0JylcbiAgfVxuXG4gIGFzeW5jIHNlbGVjdExpc3RMYXlvdXQoKSB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuZ2V0TGlzdExheW91dFNlbGVjdGlvbkJ1dHRvbigpKT8uY2xpY2soKVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBpc0Rlc2lyZWRCdXR0b24odmFsdWU6IFRlc3RFbGVtZW50W10sIGlkOiBzdHJpbmcpIHtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdmFsdWUubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBpZiAoKGF3YWl0IHZhbHVlW2luZGV4XS5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWxsZWRieScpKSA9PT0gaWQpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlW2luZGV4XVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG59XG4iXX0=
@@ -2,7 +2,6 @@ import { ComponentHarness, ContentContainerComponentHarness, parallel, HarnessPr
2
2
  export * from '@angular/cdk/testing';
3
3
  import { PDropdownHarness, PButtonHarness, PDialogHarness, PPicklistHarness, PSelectButtonHarness, MenuItemHarness, DivHarness, ButtonHarness, PPaginatorHarness, TableHeaderColumnHarness, TableRowHarness, PTableCheckboxHarness, PChartHarness, PBreadcrumbHarness, PMenuHarness } from '@onecx/angular-testing';
4
4
  export * from '@onecx/angular-testing';
5
- import { PrimeIcons } from 'primeng/api';
6
5
  export * from '@angular/cdk/testing/testbed';
7
6
 
8
7
  class ColumnGroupSelectionHarness extends ComponentHarness {
@@ -20,7 +19,7 @@ class CustomGroupColumnSelectorHarness extends ContentContainerComponentHarness
20
19
  id: 'customGroupColumnSelectorButton',
21
20
  }));
22
21
  this.getDialog = this.locatorFor(PDialogHarness);
23
- this.getCancelButton = this.locatorFor(PButtonHarness);
22
+ this.getCancelButton = this.locatorFor(PButtonHarness.with({ id: 'cancelButton' }));
24
23
  this.getSaveButton = this.locatorFor(PButtonHarness.with({ id: 'saveButton' }));
25
24
  this.getPicklist = this.locatorFor(PPicklistHarness);
26
25
  this.getSelectButtons = this.locatorForOptional('[name]');
@@ -48,13 +47,13 @@ class DataLayoutSelectionHarness extends ContentContainerComponentHarness {
48
47
  return await (await this.locatorFor(PSelectButtonHarness)()).getAllButtons();
49
48
  }
50
49
  async getListLayoutSelectionButton() {
51
- return await this.isDesiredButton(await this.getAllSelectionButtons(), PrimeIcons.LIST);
50
+ return await this.isDesiredButton(await this.getAllSelectionButtons(), 'ocx-data-layout-selection-list');
52
51
  }
53
52
  async getGridLayoutSelectionButton() {
54
- return await this.isDesiredButton(await this.getAllSelectionButtons(), PrimeIcons.TH_LARGE);
53
+ return await this.isDesiredButton(await this.getAllSelectionButtons(), 'ocx-data-layout-selection-grid');
55
54
  }
56
55
  async getTableLayoutSelectionButton() {
57
- return await this.isDesiredButton(await this.getAllSelectionButtons(), PrimeIcons.TABLE);
56
+ return await this.isDesiredButton(await this.getAllSelectionButtons(), 'ocx-data-layout-selection-table');
58
57
  }
59
58
  async getCurrentLayout() {
60
59
  return await (await this.host()).getAttribute('ng-reflect-layout');
@@ -62,9 +61,9 @@ class DataLayoutSelectionHarness extends ContentContainerComponentHarness {
62
61
  async selectListLayout() {
63
62
  await (await this.getListLayoutSelectionButton())?.click();
64
63
  }
65
- async isDesiredButton(value, icon) {
64
+ async isDesiredButton(value, id) {
66
65
  for (let index = 0; index < value.length; index++) {
67
- if ((await value[index].getAttribute('aria-labelledby')) === icon) {
66
+ if ((await value[index].getAttribute('aria-labelledby')) === id) {
68
67
  return value[index];
69
68
  }
70
69
  }