@onecx/angular-accelerator 8.0.0-rc.9 → 9.0.0-rc.1
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.
- package/README.md +0 -1
- package/assets/i18n/de.json +12 -2
- package/assets/i18n/en.json +12 -2
- package/assets/i18n/storybook-translations/data-table/de.json +6 -0
- package/assets/i18n/storybook-translations/data-table/en.json +6 -0
- package/fesm2022/onecx-angular-accelerator-testing.mjs +23 -11
- package/fesm2022/onecx-angular-accelerator-testing.mjs.map +1 -1
- package/fesm2022/onecx-angular-accelerator.mjs +192 -30
- package/fesm2022/onecx-angular-accelerator.mjs.map +1 -1
- package/package.json +12 -16
- package/types/onecx-angular-accelerator-testing.d.ts +6 -2
- package/types/onecx-angular-accelerator.d.ts +67 -3
- package/migrations/index.d.ts +0 -1
- package/migrations/index.js +0 -2
- package/migrations/index.js.map +0 -1
- package/migrations/v6/migrate-onecx-to-v6.d.ts +0 -2
- package/migrations/v6/migrate-onecx-to-v6.js +0 -5
- package/migrations/v6/migrate-onecx-to-v6.js.map +0 -1
- package/migrations.json +0 -34
|
@@ -50,6 +50,8 @@ import * as i5$2 from 'primeng/table';
|
|
|
50
50
|
import { TableModule } from 'primeng/table';
|
|
51
51
|
import * as i7$1 from 'primeng/multiselect';
|
|
52
52
|
import { MultiSelectModule } from 'primeng/multiselect';
|
|
53
|
+
import * as i2$4 from 'primeng/ripple';
|
|
54
|
+
import { RippleModule } from 'primeng/ripple';
|
|
53
55
|
import * as d3 from 'd3-scale-chromatic';
|
|
54
56
|
import * as i3$3 from 'primeng/chart';
|
|
55
57
|
import { ChartModule } from 'primeng/chart';
|
|
@@ -63,10 +65,9 @@ import * as i6 from 'primeng/focustrap';
|
|
|
63
65
|
import { FocusTrapModule } from 'primeng/focustrap';
|
|
64
66
|
import * as i3$5 from 'primeng/timeline';
|
|
65
67
|
import { TimelineModule } from 'primeng/timeline';
|
|
66
|
-
import * as i2$4 from 'primeng/ripple';
|
|
67
|
-
import { RippleModule } from 'primeng/ripple';
|
|
68
68
|
import { DynamicDialogConfig, DynamicDialogRef, DialogService } from 'primeng/dynamicdialog';
|
|
69
69
|
import { EventsTopic, EventType } from '@onecx/integration-interface';
|
|
70
|
+
import * as ExcelJS from '@protobi/exceljs';
|
|
70
71
|
import { providePrimeNG } from 'primeng/config';
|
|
71
72
|
|
|
72
73
|
class OcxContentContainerDirective {
|
|
@@ -505,6 +506,12 @@ class OcxTooltipDirective extends Tooltip {
|
|
|
505
506
|
this.content = value;
|
|
506
507
|
this.setOption({ tooltipLabel: value });
|
|
507
508
|
this.ensureIdAndAriaDescribedBy();
|
|
509
|
+
if (value) {
|
|
510
|
+
this.renderer.setStyle(this.el.nativeElement, 'cursor', 'pointer');
|
|
511
|
+
}
|
|
512
|
+
else {
|
|
513
|
+
this.renderer.removeStyle(this.el.nativeElement, 'cursor');
|
|
514
|
+
}
|
|
508
515
|
});
|
|
509
516
|
}
|
|
510
517
|
ngAfterViewInit() {
|
|
@@ -986,11 +993,11 @@ class PageHeaderComponent {
|
|
|
986
993
|
});
|
|
987
994
|
}
|
|
988
995
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: PageHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
989
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: PageHeaderComponent, isStandalone: false, selector: "ocx-page-header", inputs: { header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, figureBackground: { classPropertyName: "figureBackground", publicName: "figureBackground", isSignal: true, isRequired: false, transformFunction: null }, showFigure: { classPropertyName: "showFigure", publicName: "showFigure", isSignal: true, isRequired: false, transformFunction: null }, figureImage: { classPropertyName: "figureImage", publicName: "figureImage", isSignal: true, isRequired: false, transformFunction: null }, disableDefaultActions: { classPropertyName: "disableDefaultActions", publicName: "disableDefaultActions", isSignal: true, isRequired: false, transformFunction: null }, subheader: { classPropertyName: "subheader", publicName: "subheader", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, objectDetails: { classPropertyName: "objectDetails", publicName: "objectDetails", isSignal: true, isRequired: false, transformFunction: null }, showBreadcrumbs: { classPropertyName: "showBreadcrumbs", publicName: "showBreadcrumbs", isSignal: true, isRequired: false, transformFunction: null }, manualBreadcrumbs: { classPropertyName: "manualBreadcrumbs", publicName: "manualBreadcrumbs", isSignal: true, isRequired: false, transformFunction: null }, enableGridView: { classPropertyName: "enableGridView", publicName: "enableGridView", isSignal: true, isRequired: false, transformFunction: null }, gridLayoutDesktopColumns: { classPropertyName: "gridLayoutDesktopColumns", publicName: "gridLayoutDesktopColumns", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actions: "actionsChange", save: "save" }, queries: [{ propertyName: "_additionalToolbarContent", first: true, predicate: ["additionalToolbarContent"], descendants: true, isSignal: true }, { propertyName: "_additionalToolbarContentLeft", first: true, predicate: ["additionalToolbarContentLeft"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "breadcrumbElementRef", first: true, predicate: ["breadcrumbRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"onecx-page-header mb-4\" name=\"ocx-page-header-wrapper\">\n @if (showBreadcrumbs()) { @if (breadcrumbs$ | async ; as items) {\n <p-breadcrumb\n #breadcrumbRef\n id=\"pageHeaderBreadcrumb\"\n [model]=\"items\"\n [home]=\"(home$ | async)?.menuItem ?? {}\"\n [homeAriaLabel]=\"(home$ | async)?.page ? ('OCX_PAGE_HEADER.HOME_ARIA_LABEL' | translate: { page: (home$ | async)?.page}) : ('OCX_PAGE_HEADER.HOME_DEFAULT_ARIA_LABEL' | translate)\"\n [attr.manual]=\"manualBreadcrumbs()\"\n ></p-breadcrumb>\n } }\n <div class=\"title-bar flex flex-row md:justify-content-between align-items-center p-3\">\n <div class=\"title-wrap\">\n @if (showFigure()) {\n <div class=\"mr-2 figure relative flex h-2rem w-2rem md:h-3rem md:w-3rem\">\n <div #previewImage class=\"figure-image absolute top-0 left-0 right-0 bottom-0\">\n <ng-content select=\"[figureImage]\"></ng-content>\n @if (figureImage() && !figureImageLoadError()) {\n <img\n [ocxSrc]=\"figureImage()\"\n alt=\"Figure Image\"\n class=\"w-full border-round-sm\"\n (error)=\"handleImageError()\"\n />\n }\n </div>\n @if (previewImage.children.length === 0 || figureImageLoadError()) {\n <div class=\"colorblob flex-1 border-round\"></div>\n }\n </div>\n } @if (!loading()) {\n <div class=\"header\">\n @if (!!header()) {\n <h1 id=\"page-header\">{{ header() }}</h1>\n } @if (!!subheader()) {\n <div id=\"page-subheader\" role=\"note\" [attr.aria-label]=\"'OCX_PAGE_HEADER.SUBHEADER' | translate\">\n {{ subheader() }}\n </div>\n }\n </div>\n } @else {\n <div class=\"header justify-content-evenly\">\n <p-skeleton width=\"10rem\"></p-skeleton>\n <p-skeleton width=\"10rem\"></p-skeleton>\n </div>\n }\n </div>\n\n <div class=\"action-items-wrap mt-2 md:mt-0\">\n @if (_additionalToolbarContentLeft()) {\n <ng-container [ngTemplateOutlet]=\"_additionalToolbarContentLeft()\"> </ng-container>\n } @if (!loading()) { @if( inlineActions$ | async; as inlineActions) { @if (inlineActions && inlineActions.length >\n 0) {\n <div class=\"toolbar flex flex-wrap gap-1 sm:gap-2\">\n @for (action of inlineActions; track action) {\n <span\n [ocxTooltip]=\"action.disabled ? (action.disabledTooltipKey ? (action.disabledTooltipKey | translate) : action.disabledTooltip) : (action.titleKey ? (action.titleKey | translate) : action.title)\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n >\n <p-button\n [id]=\"action.id\"\n [icon]=\"action.icon ?? ''\"\n [iconPos]=\"action.iconPos ?? 'left'\"\n type=\"button\"\n class=\"action-button\"\n (onClick)=\"onActionClick(action)\"\n [disabled]=\"action.disabled ? action.disabled : false\"\n [loading]=\"action.loading ?? false\"\n [attr.name]=\"action.icon ? 'ocx-page-header-inline-action-icon-button' : 'ocx-page-header-inline-action-button'\"\n [label]=\"action.labelKey ? (action.labelKey | translate) : action.label\"\n [ariaLabel]=\" (action.ariaLabelKey ? (action.ariaLabelKey | translate) : action.ariaLabel) || (action.titleKey ? (action.titleKey | translate) : action.title) || (action.labelKey ? (action.labelKey | translate) : action.label)\"\n ></p-button>\n </span>\n }\n </div>\n } }\n <ng-content select=\"[toolbarItems]\"></ng-content>\n <ng-container>\n @if(overflowActions$ | async; as overflowActions) {@if (overflowActions.length !== 0) {\n <div>\n <button\n id=\"pageHeaderMenuButton\"\n type=\"button\"\n pButton\n icon=\"pi pi-ellipsis-v\"\n class=\"more-actions-menu-button action-button ml-2\"\n (click)=\"menu.toggle($event)\"\n name=\"ocx-page-header-overflow-action-button\"\n [attr.aria-label]=\"'OCX_PAGE_HEADER.MORE_ACTIONS' | translate\"\n [ocxTooltip]=\"'OCX_PAGE_HEADER.MORE_ACTIONS' | translate\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n ></button>\n <p-menu #menu [popup]=\"true\" [model]=\"overflowActions\" appendTo=\"body\"></p-menu>\n </div>\n } }\n </ng-container>\n } @else {\n <div class=\"flex\">\n <p-skeleton shape=\"circle\" size=\"2rem\" class=\"mr-2\"></p-skeleton>\n <p-skeleton shape=\"circle\" size=\"2rem\" class=\"mb-2\"></p-skeleton>\n </div>\n } @if (_additionalToolbarContent()) {\n <ng-container [ngTemplateOutlet]=\"_additionalToolbarContent()\"> </ng-container>\n }\n </div>\n </div>\n\n <div class=\"object-panel\" [ngClass]=\"objectPanelLayoutClasses()\">\n @if (objectDetails()) { @for (item of objectDetails(); track item) {\n <div class=\"object-info\" [ngClass]=\"objectInfoLayoutClasses()\">\n <span\n class=\"flex font-medium text-600 object-info-grid-label\"\n name=\"object-detail-label\"\n [ocxTooltip]=\"item.labelTooltipKey ? ((typeof item.labelTooltipKey === 'string' ? item.labelTooltipKey : item.labelTooltipKey.key) | translate : (typeof item.labelTooltipKey === 'object' ? item.labelTooltipKey.parameters : undefined)) : ''\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n >\n {{ item.label | dynamicPipe:item.labelPipe }}\n </span>\n @if (item.icon || item.value) {\n <span class=\"object-info-grid-value\">\n <span\n class=\"flex text-900 align-items-center gap-2 w-max\"\n [ngClass]=\"generateItemStyle(item)\"\n name=\"object-detail-value\"\n >\n <span\n class=\"flex align-items-center gap-2\"\n [ocxTooltip]=\"item.valueTooltipKey ? ((typeof item.valueTooltipKey === 'string' ? item.valueTooltipKey : item.valueTooltipKey.key) | translate : (typeof item.valueTooltipKey === 'object' ? item.valueTooltipKey.parameters : undefined)) : ''\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n >\n @if (item.icon) {\n <i [class]=\"item.icon + ' ' + (item.iconStyleClass ?? '')\" name=\"object-detail-icon\"></i>\n } {{ item.value | dynamicPipe:item.valuePipe:item.valuePipeArgs}}\n </span>\n @if (item.actionItemIcon && item.actionItemCallback) {\n <p-button\n [icon]=\"item.actionItemIcon\"\n styleClass=\"p-button-text p-0 w-full\"\n [ariaLabel]=\"item.actionItemAriaLabelKey ? ((typeof item.actionItemAriaLabelKey === 'string' ? item.actionItemAriaLabelKey : item.actionItemAriaLabelKey.key) | translate : (typeof item.actionItemAriaLabelKey === 'object' ? item.actionItemAriaLabelKey.parameters : undefined)) : 'button for ' + item.actionItemIcon\"\n [ocxTooltip]=\"item.actionItemTooltipKey ? ((typeof item.actionItemTooltipKey === 'string' ? item.actionItemTooltipKey : item.actionItemTooltipKey.key) | translate : (typeof item.actionItemTooltipKey === 'object' ? item.actionItemTooltipKey.parameters : undefined)) : ''\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n (onClick)=\"item.actionItemCallback()\"\n ></p-button>\n }\n </span>\n </span>\n }\n </div>\n } }\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host(.p-button-label){font-weight:400}.onecx-page-header{display:flex;flex-flow:column;border-radius:.25rem;overflow:hidden;background:#fff;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.1);box-shadow:0 2px 2px #0000001a;border:1px solid #cdd0d3}.onecx-page-header .title-bar{background-color:#f8f9fa;border-top-right-radius:inherit;border-top-left-radius:inherit}.onecx-page-header .title-bar .figure .figure-image img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.onecx-page-header .title-bar .figure .colorblob{background-color:var(--primary-color);position:absolute;inset:0}.onecx-page-header .title-bar .title-wrap{display:flex;flex-flow:row;align-items:center;gap:.25rem}.onecx-page-header .title-bar .title-wrap .header{display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.onecx-page-header .title-bar .title-wrap h1{font-size:1em;font-weight:700;margin:0;padding:0}.onecx-page-header .title-bar .title-wrap h2{font-size:1em;font-weight:400;margin:0;padding:0}.onecx-page-header .title-bar .action-items-wrap{display:flex;height:fit-content;gap:.5rem;align-items:center;justify-content:space-between}.onecx-page-header .object-panel{border-top:1px solid #cdd0d3;padding:1rem}.onecx-page-header .object-panel:empty{display:none!important}.badge-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.scale{transform:scale(2)}.object-info-grid-label{flex:1}.object-info-grid-value{flex:3}.min-w-120{min-width:120px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "directive", type: i2$1.ButtonDirective, selector: "[pButton]", inputs: ["ptButtonDirective", "pButtonPT", "pButtonUnstyled", "hostName", "text", "plain", "raised", "size", "outlined", "rounded", "iconPos", "loadingIcon", "fluid", "label", "icon", "loading", "buttonProps", "severity"] }, { kind: "component", type: i2$1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i4.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex", "appendTo", "motionOptions"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "component", type: i5.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "directive", type: OcxTooltipDirective, selector: "[ocxTooltip]", inputs: ["ocxTooltip"] }, { kind: "directive", type: SrcDirective, selector: "[ocxSrc]", inputs: ["ocxSrc"], outputs: ["error"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "pipe", type: DynamicPipe, name: "dynamicPipe" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
996
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: PageHeaderComponent, isStandalone: false, selector: "ocx-page-header", inputs: { header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, figureBackground: { classPropertyName: "figureBackground", publicName: "figureBackground", isSignal: true, isRequired: false, transformFunction: null }, showFigure: { classPropertyName: "showFigure", publicName: "showFigure", isSignal: true, isRequired: false, transformFunction: null }, figureImage: { classPropertyName: "figureImage", publicName: "figureImage", isSignal: true, isRequired: false, transformFunction: null }, disableDefaultActions: { classPropertyName: "disableDefaultActions", publicName: "disableDefaultActions", isSignal: true, isRequired: false, transformFunction: null }, subheader: { classPropertyName: "subheader", publicName: "subheader", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, objectDetails: { classPropertyName: "objectDetails", publicName: "objectDetails", isSignal: true, isRequired: false, transformFunction: null }, showBreadcrumbs: { classPropertyName: "showBreadcrumbs", publicName: "showBreadcrumbs", isSignal: true, isRequired: false, transformFunction: null }, manualBreadcrumbs: { classPropertyName: "manualBreadcrumbs", publicName: "manualBreadcrumbs", isSignal: true, isRequired: false, transformFunction: null }, enableGridView: { classPropertyName: "enableGridView", publicName: "enableGridView", isSignal: true, isRequired: false, transformFunction: null }, gridLayoutDesktopColumns: { classPropertyName: "gridLayoutDesktopColumns", publicName: "gridLayoutDesktopColumns", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actions: "actionsChange", save: "save" }, queries: [{ propertyName: "_additionalToolbarContent", first: true, predicate: ["additionalToolbarContent"], descendants: true, isSignal: true }, { propertyName: "_additionalToolbarContentLeft", first: true, predicate: ["additionalToolbarContentLeft"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "breadcrumbElementRef", first: true, predicate: ["breadcrumbRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"onecx-page-header mb-4\" name=\"ocx-page-header-wrapper\">\n @if (showBreadcrumbs()) { @if (breadcrumbs$ | async ; as items) {\n <p-breadcrumb\n #breadcrumbRef\n id=\"pageHeaderBreadcrumb\"\n [model]=\"items\"\n [home]=\"(home$ | async)?.menuItem ?? {}\"\n [homeAriaLabel]=\"(home$ | async)?.page ? ('OCX_PAGE_HEADER.HOME_ARIA_LABEL' | translate: { page: (home$ | async)?.page}) : ('OCX_PAGE_HEADER.HOME_DEFAULT_ARIA_LABEL' | translate)\"\n [attr.manual]=\"manualBreadcrumbs()\"\n ></p-breadcrumb>\n } }\n <div class=\"title-bar flex flex-row md:justify-content-between align-items-center p-3\">\n <div class=\"title-wrap\">\n @if (showFigure()) {\n <div class=\"mr-2 figure relative flex h-2rem w-2rem md:h-3rem md:w-3rem\">\n <div #previewImage class=\"figure-image absolute top-0 left-0 right-0 bottom-0\">\n <ng-content select=\"[figureImage]\"></ng-content>\n @if (figureImage() && !figureImageLoadError()) {\n <img\n [ocxSrc]=\"figureImage()\"\n alt=\"Figure Image\"\n class=\"w-full border-round-sm\"\n (error)=\"handleImageError()\"\n />\n }\n </div>\n @if (previewImage.children.length === 0 || figureImageLoadError()) {\n <div class=\"colorblob flex-1 border-round\"></div>\n }\n </div>\n } @if (!loading()) {\n <div class=\"header\">\n @if (!!header()) {\n <h1 id=\"page-header\">{{ header() }}</h1>\n } @if (!!subheader()) {\n <div id=\"page-subheader\" role=\"note\" [attr.aria-label]=\"'OCX_PAGE_HEADER.SUBHEADER' | translate\">\n {{ subheader() }}\n </div>\n }\n </div>\n } @else {\n <div class=\"header justify-content-evenly\">\n <p-skeleton width=\"10rem\"></p-skeleton>\n <p-skeleton width=\"10rem\"></p-skeleton>\n </div>\n }\n </div>\n\n <div class=\"action-items-wrap mt-2 md:mt-0\">\n @if (_additionalToolbarContentLeft()) {\n <ng-container [ngTemplateOutlet]=\"_additionalToolbarContentLeft()\"> </ng-container>\n } @if (!loading()) { @if( inlineActions$ | async; as inlineActions) { @if (inlineActions && inlineActions.length >\n 0) {\n <div class=\"toolbar flex flex-wrap gap-1 sm:gap-2\">\n @for (action of inlineActions; track action) {\n <span\n [ocxTooltip]=\"action.disabled ? (action.disabledTooltipKey ? (action.disabledTooltipKey | translate) : action.disabledTooltip) : (action.titleKey ? (action.titleKey | translate) : action.title)\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n >\n <p-button\n [id]=\"action.id\"\n [icon]=\"action.icon ?? ''\"\n [iconPos]=\"action.iconPos ?? 'left'\"\n type=\"button\"\n class=\"action-button\"\n (onClick)=\"onActionClick(action)\"\n [disabled]=\"action.disabled ? action.disabled : false\"\n [loading]=\"action.loading ?? false\"\n [attr.name]=\"action.icon ? 'ocx-page-header-inline-action-icon-button' : 'ocx-page-header-inline-action-button'\"\n [label]=\"action.labelKey ? (action.labelKey | translate) : action.label\"\n [ariaLabel]=\" (action.ariaLabelKey ? (action.ariaLabelKey | translate) : action.ariaLabel) || (action.titleKey ? (action.titleKey | translate) : action.title) || (action.labelKey ? (action.labelKey | translate) : action.label)\"\n ></p-button>\n </span>\n }\n </div>\n } }\n <ng-content select=\"[toolbarItems]\"></ng-content>\n <ng-container>\n @if(overflowActions$ | async; as overflowActions) {@if (overflowActions.length !== 0) {\n <div>\n <button\n id=\"pageHeaderMenuButton\"\n type=\"button\"\n pButton\n icon=\"pi pi-ellipsis-v\"\n class=\"more-actions-menu-button action-button ml-2\"\n (click)=\"menu.toggle($event)\"\n name=\"ocx-page-header-overflow-action-button\"\n [attr.aria-label]=\"'OCX_PAGE_HEADER.MORE_ACTIONS' | translate\"\n [ocxTooltip]=\"'OCX_PAGE_HEADER.MORE_ACTIONS' | translate\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n ></button>\n <p-menu #menu [popup]=\"true\" [model]=\"overflowActions\" appendTo=\"body\"></p-menu>\n </div>\n } }\n </ng-container>\n } @else {\n <div class=\"flex\">\n <p-skeleton shape=\"circle\" size=\"2rem\" class=\"mr-2\"></p-skeleton>\n <p-skeleton shape=\"circle\" size=\"2rem\" class=\"mb-2\"></p-skeleton>\n </div>\n } @if (_additionalToolbarContent()) {\n <ng-container [ngTemplateOutlet]=\"_additionalToolbarContent()\"> </ng-container>\n }\n </div>\n </div>\n\n <div class=\"object-panel\" [ngClass]=\"objectPanelLayoutClasses()\">\n @if (objectDetails()) { @for (item of objectDetails(); track item) {\n <div class=\"object-info\" [ngClass]=\"objectInfoLayoutClasses()\">\n <span\n class=\"flex font-medium text-600 object-info-grid-label\"\n name=\"object-detail-label\"\n [ocxTooltip]=\"item.labelTooltipKey ? ((typeof item.labelTooltipKey === 'string' ? item.labelTooltipKey : item.labelTooltipKey.key) | translate : (typeof item.labelTooltipKey === 'object' ? item.labelTooltipKey.parameters : undefined)) : ''\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n >\n {{ item.label | dynamicPipe:item.labelPipe }}\n </span>\n @if (item.icon || item.value) {\n <span class=\"object-info-grid-value\">\n <span\n class=\"flex text-900 align-items-center gap-2 w-max\"\n [ngClass]=\"generateItemStyle(item)\"\n name=\"object-detail-value\"\n >\n <span\n class=\"flex align-items-center gap-2\"\n [ocxTooltip]=\"item.valueTooltipKey ? ((typeof item.valueTooltipKey === 'string' ? item.valueTooltipKey : item.valueTooltipKey.key) | translate : (typeof item.valueTooltipKey === 'object' ? item.valueTooltipKey.parameters : undefined)) : ''\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n >\n @if (item.icon) {\n <i [class]=\"item.icon + ' ' + (item.iconStyleClass ?? '')\" name=\"object-detail-icon\" aria-hidden=\"true\"></i>\n } {{ item.value | dynamicPipe:item.valuePipe:item.valuePipeArgs}}\n </span>\n @if (item.actionItemIcon && item.actionItemCallback) {\n <p-button\n [icon]=\"item.actionItemIcon\"\n styleClass=\"p-button-text p-0 w-full\"\n [ariaLabel]=\"item.actionItemAriaLabelKey ? ((typeof item.actionItemAriaLabelKey === 'string' ? item.actionItemAriaLabelKey : item.actionItemAriaLabelKey.key) | translate : (typeof item.actionItemAriaLabelKey === 'object' ? item.actionItemAriaLabelKey.parameters : undefined)) : 'button for ' + item.actionItemIcon\"\n [ocxTooltip]=\"item.actionItemTooltipKey ? ((typeof item.actionItemTooltipKey === 'string' ? item.actionItemTooltipKey : item.actionItemTooltipKey.key) | translate : (typeof item.actionItemTooltipKey === 'object' ? item.actionItemTooltipKey.parameters : undefined)) : ''\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n (onClick)=\"item.actionItemCallback()\"\n ></p-button>\n }\n </span>\n </span>\n }\n </div>\n } }\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host(.p-button-label){font-weight:400}.onecx-page-header{display:flex;flex-flow:column;border-radius:.25rem;overflow:hidden;background:#fff;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.1);box-shadow:0 2px 2px #0000001a;border:1px solid #cdd0d3}.onecx-page-header .title-bar{background-color:#f8f9fa;border-top-right-radius:inherit;border-top-left-radius:inherit}.onecx-page-header .title-bar .figure .figure-image img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.onecx-page-header .title-bar .figure .colorblob{background-color:var(--primary-color);position:absolute;inset:0}.onecx-page-header .title-bar .title-wrap{display:flex;flex-flow:row;align-items:center;gap:.25rem}.onecx-page-header .title-bar .title-wrap .header{display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.onecx-page-header .title-bar .title-wrap h1{font-size:1em;font-weight:700;margin:0;padding:0}.onecx-page-header .title-bar .title-wrap h2{font-size:1em;font-weight:400;margin:0;padding:0}.onecx-page-header .title-bar .action-items-wrap{display:flex;height:fit-content;gap:.5rem;align-items:center;justify-content:space-between}.onecx-page-header .object-panel{border-top:1px solid #cdd0d3;padding:1rem}.onecx-page-header .object-panel:empty{display:none!important}.badge-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.scale{transform:scale(2)}.object-info-grid-label{flex:1}.object-info-grid-value{flex:3}.min-w-120{min-width:120px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "directive", type: i2$1.ButtonDirective, selector: "[pButton]", inputs: ["ptButtonDirective", "pButtonPT", "pButtonUnstyled", "hostName", "text", "plain", "raised", "size", "outlined", "rounded", "iconPos", "loadingIcon", "fluid", "label", "icon", "loading", "buttonProps", "severity"] }, { kind: "component", type: i2$1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i4.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex", "appendTo", "motionOptions"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "component", type: i5.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "directive", type: OcxTooltipDirective, selector: "[ocxTooltip]", inputs: ["ocxTooltip"] }, { kind: "directive", type: SrcDirective, selector: "[ocxSrc]", inputs: ["ocxSrc"], outputs: ["error"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "pipe", type: DynamicPipe, name: "dynamicPipe" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
990
997
|
}
|
|
991
998
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: PageHeaderComponent, decorators: [{
|
|
992
999
|
type: Component,
|
|
993
|
-
args: [{ standalone: false, selector: 'ocx-page-header', encapsulation: ViewEncapsulation.None, template: "<div class=\"onecx-page-header mb-4\" name=\"ocx-page-header-wrapper\">\n @if (showBreadcrumbs()) { @if (breadcrumbs$ | async ; as items) {\n <p-breadcrumb\n #breadcrumbRef\n id=\"pageHeaderBreadcrumb\"\n [model]=\"items\"\n [home]=\"(home$ | async)?.menuItem ?? {}\"\n [homeAriaLabel]=\"(home$ | async)?.page ? ('OCX_PAGE_HEADER.HOME_ARIA_LABEL' | translate: { page: (home$ | async)?.page}) : ('OCX_PAGE_HEADER.HOME_DEFAULT_ARIA_LABEL' | translate)\"\n [attr.manual]=\"manualBreadcrumbs()\"\n ></p-breadcrumb>\n } }\n <div class=\"title-bar flex flex-row md:justify-content-between align-items-center p-3\">\n <div class=\"title-wrap\">\n @if (showFigure()) {\n <div class=\"mr-2 figure relative flex h-2rem w-2rem md:h-3rem md:w-3rem\">\n <div #previewImage class=\"figure-image absolute top-0 left-0 right-0 bottom-0\">\n <ng-content select=\"[figureImage]\"></ng-content>\n @if (figureImage() && !figureImageLoadError()) {\n <img\n [ocxSrc]=\"figureImage()\"\n alt=\"Figure Image\"\n class=\"w-full border-round-sm\"\n (error)=\"handleImageError()\"\n />\n }\n </div>\n @if (previewImage.children.length === 0 || figureImageLoadError()) {\n <div class=\"colorblob flex-1 border-round\"></div>\n }\n </div>\n } @if (!loading()) {\n <div class=\"header\">\n @if (!!header()) {\n <h1 id=\"page-header\">{{ header() }}</h1>\n } @if (!!subheader()) {\n <div id=\"page-subheader\" role=\"note\" [attr.aria-label]=\"'OCX_PAGE_HEADER.SUBHEADER' | translate\">\n {{ subheader() }}\n </div>\n }\n </div>\n } @else {\n <div class=\"header justify-content-evenly\">\n <p-skeleton width=\"10rem\"></p-skeleton>\n <p-skeleton width=\"10rem\"></p-skeleton>\n </div>\n }\n </div>\n\n <div class=\"action-items-wrap mt-2 md:mt-0\">\n @if (_additionalToolbarContentLeft()) {\n <ng-container [ngTemplateOutlet]=\"_additionalToolbarContentLeft()\"> </ng-container>\n } @if (!loading()) { @if( inlineActions$ | async; as inlineActions) { @if (inlineActions && inlineActions.length >\n 0) {\n <div class=\"toolbar flex flex-wrap gap-1 sm:gap-2\">\n @for (action of inlineActions; track action) {\n <span\n [ocxTooltip]=\"action.disabled ? (action.disabledTooltipKey ? (action.disabledTooltipKey | translate) : action.disabledTooltip) : (action.titleKey ? (action.titleKey | translate) : action.title)\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n >\n <p-button\n [id]=\"action.id\"\n [icon]=\"action.icon ?? ''\"\n [iconPos]=\"action.iconPos ?? 'left'\"\n type=\"button\"\n class=\"action-button\"\n (onClick)=\"onActionClick(action)\"\n [disabled]=\"action.disabled ? action.disabled : false\"\n [loading]=\"action.loading ?? false\"\n [attr.name]=\"action.icon ? 'ocx-page-header-inline-action-icon-button' : 'ocx-page-header-inline-action-button'\"\n [label]=\"action.labelKey ? (action.labelKey | translate) : action.label\"\n [ariaLabel]=\" (action.ariaLabelKey ? (action.ariaLabelKey | translate) : action.ariaLabel) || (action.titleKey ? (action.titleKey | translate) : action.title) || (action.labelKey ? (action.labelKey | translate) : action.label)\"\n ></p-button>\n </span>\n }\n </div>\n } }\n <ng-content select=\"[toolbarItems]\"></ng-content>\n <ng-container>\n @if(overflowActions$ | async; as overflowActions) {@if (overflowActions.length !== 0) {\n <div>\n <button\n id=\"pageHeaderMenuButton\"\n type=\"button\"\n pButton\n icon=\"pi pi-ellipsis-v\"\n class=\"more-actions-menu-button action-button ml-2\"\n (click)=\"menu.toggle($event)\"\n name=\"ocx-page-header-overflow-action-button\"\n [attr.aria-label]=\"'OCX_PAGE_HEADER.MORE_ACTIONS' | translate\"\n [ocxTooltip]=\"'OCX_PAGE_HEADER.MORE_ACTIONS' | translate\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n ></button>\n <p-menu #menu [popup]=\"true\" [model]=\"overflowActions\" appendTo=\"body\"></p-menu>\n </div>\n } }\n </ng-container>\n } @else {\n <div class=\"flex\">\n <p-skeleton shape=\"circle\" size=\"2rem\" class=\"mr-2\"></p-skeleton>\n <p-skeleton shape=\"circle\" size=\"2rem\" class=\"mb-2\"></p-skeleton>\n </div>\n } @if (_additionalToolbarContent()) {\n <ng-container [ngTemplateOutlet]=\"_additionalToolbarContent()\"> </ng-container>\n }\n </div>\n </div>\n\n <div class=\"object-panel\" [ngClass]=\"objectPanelLayoutClasses()\">\n @if (objectDetails()) { @for (item of objectDetails(); track item) {\n <div class=\"object-info\" [ngClass]=\"objectInfoLayoutClasses()\">\n <span\n class=\"flex font-medium text-600 object-info-grid-label\"\n name=\"object-detail-label\"\n [ocxTooltip]=\"item.labelTooltipKey ? ((typeof item.labelTooltipKey === 'string' ? item.labelTooltipKey : item.labelTooltipKey.key) | translate : (typeof item.labelTooltipKey === 'object' ? item.labelTooltipKey.parameters : undefined)) : ''\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n >\n {{ item.label | dynamicPipe:item.labelPipe }}\n </span>\n @if (item.icon || item.value) {\n <span class=\"object-info-grid-value\">\n <span\n class=\"flex text-900 align-items-center gap-2 w-max\"\n [ngClass]=\"generateItemStyle(item)\"\n name=\"object-detail-value\"\n >\n <span\n class=\"flex align-items-center gap-2\"\n [ocxTooltip]=\"item.valueTooltipKey ? ((typeof item.valueTooltipKey === 'string' ? item.valueTooltipKey : item.valueTooltipKey.key) | translate : (typeof item.valueTooltipKey === 'object' ? item.valueTooltipKey.parameters : undefined)) : ''\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n >\n @if (item.icon) {\n <i [class]=\"item.icon + ' ' + (item.iconStyleClass ?? '')\" name=\"object-detail-icon\"></i>\n } {{ item.value | dynamicPipe:item.valuePipe:item.valuePipeArgs}}\n </span>\n @if (item.actionItemIcon && item.actionItemCallback) {\n <p-button\n [icon]=\"item.actionItemIcon\"\n styleClass=\"p-button-text p-0 w-full\"\n [ariaLabel]=\"item.actionItemAriaLabelKey ? ((typeof item.actionItemAriaLabelKey === 'string' ? item.actionItemAriaLabelKey : item.actionItemAriaLabelKey.key) | translate : (typeof item.actionItemAriaLabelKey === 'object' ? item.actionItemAriaLabelKey.parameters : undefined)) : 'button for ' + item.actionItemIcon\"\n [ocxTooltip]=\"item.actionItemTooltipKey ? ((typeof item.actionItemTooltipKey === 'string' ? item.actionItemTooltipKey : item.actionItemTooltipKey.key) | translate : (typeof item.actionItemTooltipKey === 'object' ? item.actionItemTooltipKey.parameters : undefined)) : ''\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n (onClick)=\"item.actionItemCallback()\"\n ></p-button>\n }\n </span>\n </span>\n }\n </div>\n } }\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host(.p-button-label){font-weight:400}.onecx-page-header{display:flex;flex-flow:column;border-radius:.25rem;overflow:hidden;background:#fff;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.1);box-shadow:0 2px 2px #0000001a;border:1px solid #cdd0d3}.onecx-page-header .title-bar{background-color:#f8f9fa;border-top-right-radius:inherit;border-top-left-radius:inherit}.onecx-page-header .title-bar .figure .figure-image img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.onecx-page-header .title-bar .figure .colorblob{background-color:var(--primary-color);position:absolute;inset:0}.onecx-page-header .title-bar .title-wrap{display:flex;flex-flow:row;align-items:center;gap:.25rem}.onecx-page-header .title-bar .title-wrap .header{display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.onecx-page-header .title-bar .title-wrap h1{font-size:1em;font-weight:700;margin:0;padding:0}.onecx-page-header .title-bar .title-wrap h2{font-size:1em;font-weight:400;margin:0;padding:0}.onecx-page-header .title-bar .action-items-wrap{display:flex;height:fit-content;gap:.5rem;align-items:center;justify-content:space-between}.onecx-page-header .object-panel{border-top:1px solid #cdd0d3;padding:1rem}.onecx-page-header .object-panel:empty{display:none!important}.badge-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.scale{transform:scale(2)}.object-info-grid-label{flex:1}.object-info-grid-value{flex:3}.min-w-120{min-width:120px!important}\n"] }]
|
|
1000
|
+
args: [{ standalone: false, selector: 'ocx-page-header', encapsulation: ViewEncapsulation.None, template: "<div class=\"onecx-page-header mb-4\" name=\"ocx-page-header-wrapper\">\n @if (showBreadcrumbs()) { @if (breadcrumbs$ | async ; as items) {\n <p-breadcrumb\n #breadcrumbRef\n id=\"pageHeaderBreadcrumb\"\n [model]=\"items\"\n [home]=\"(home$ | async)?.menuItem ?? {}\"\n [homeAriaLabel]=\"(home$ | async)?.page ? ('OCX_PAGE_HEADER.HOME_ARIA_LABEL' | translate: { page: (home$ | async)?.page}) : ('OCX_PAGE_HEADER.HOME_DEFAULT_ARIA_LABEL' | translate)\"\n [attr.manual]=\"manualBreadcrumbs()\"\n ></p-breadcrumb>\n } }\n <div class=\"title-bar flex flex-row md:justify-content-between align-items-center p-3\">\n <div class=\"title-wrap\">\n @if (showFigure()) {\n <div class=\"mr-2 figure relative flex h-2rem w-2rem md:h-3rem md:w-3rem\">\n <div #previewImage class=\"figure-image absolute top-0 left-0 right-0 bottom-0\">\n <ng-content select=\"[figureImage]\"></ng-content>\n @if (figureImage() && !figureImageLoadError()) {\n <img\n [ocxSrc]=\"figureImage()\"\n alt=\"Figure Image\"\n class=\"w-full border-round-sm\"\n (error)=\"handleImageError()\"\n />\n }\n </div>\n @if (previewImage.children.length === 0 || figureImageLoadError()) {\n <div class=\"colorblob flex-1 border-round\"></div>\n }\n </div>\n } @if (!loading()) {\n <div class=\"header\">\n @if (!!header()) {\n <h1 id=\"page-header\">{{ header() }}</h1>\n } @if (!!subheader()) {\n <div id=\"page-subheader\" role=\"note\" [attr.aria-label]=\"'OCX_PAGE_HEADER.SUBHEADER' | translate\">\n {{ subheader() }}\n </div>\n }\n </div>\n } @else {\n <div class=\"header justify-content-evenly\">\n <p-skeleton width=\"10rem\"></p-skeleton>\n <p-skeleton width=\"10rem\"></p-skeleton>\n </div>\n }\n </div>\n\n <div class=\"action-items-wrap mt-2 md:mt-0\">\n @if (_additionalToolbarContentLeft()) {\n <ng-container [ngTemplateOutlet]=\"_additionalToolbarContentLeft()\"> </ng-container>\n } @if (!loading()) { @if( inlineActions$ | async; as inlineActions) { @if (inlineActions && inlineActions.length >\n 0) {\n <div class=\"toolbar flex flex-wrap gap-1 sm:gap-2\">\n @for (action of inlineActions; track action) {\n <span\n [ocxTooltip]=\"action.disabled ? (action.disabledTooltipKey ? (action.disabledTooltipKey | translate) : action.disabledTooltip) : (action.titleKey ? (action.titleKey | translate) : action.title)\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n >\n <p-button\n [id]=\"action.id\"\n [icon]=\"action.icon ?? ''\"\n [iconPos]=\"action.iconPos ?? 'left'\"\n type=\"button\"\n class=\"action-button\"\n (onClick)=\"onActionClick(action)\"\n [disabled]=\"action.disabled ? action.disabled : false\"\n [loading]=\"action.loading ?? false\"\n [attr.name]=\"action.icon ? 'ocx-page-header-inline-action-icon-button' : 'ocx-page-header-inline-action-button'\"\n [label]=\"action.labelKey ? (action.labelKey | translate) : action.label\"\n [ariaLabel]=\" (action.ariaLabelKey ? (action.ariaLabelKey | translate) : action.ariaLabel) || (action.titleKey ? (action.titleKey | translate) : action.title) || (action.labelKey ? (action.labelKey | translate) : action.label)\"\n ></p-button>\n </span>\n }\n </div>\n } }\n <ng-content select=\"[toolbarItems]\"></ng-content>\n <ng-container>\n @if(overflowActions$ | async; as overflowActions) {@if (overflowActions.length !== 0) {\n <div>\n <button\n id=\"pageHeaderMenuButton\"\n type=\"button\"\n pButton\n icon=\"pi pi-ellipsis-v\"\n class=\"more-actions-menu-button action-button ml-2\"\n (click)=\"menu.toggle($event)\"\n name=\"ocx-page-header-overflow-action-button\"\n [attr.aria-label]=\"'OCX_PAGE_HEADER.MORE_ACTIONS' | translate\"\n [ocxTooltip]=\"'OCX_PAGE_HEADER.MORE_ACTIONS' | translate\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n ></button>\n <p-menu #menu [popup]=\"true\" [model]=\"overflowActions\" appendTo=\"body\"></p-menu>\n </div>\n } }\n </ng-container>\n } @else {\n <div class=\"flex\">\n <p-skeleton shape=\"circle\" size=\"2rem\" class=\"mr-2\"></p-skeleton>\n <p-skeleton shape=\"circle\" size=\"2rem\" class=\"mb-2\"></p-skeleton>\n </div>\n } @if (_additionalToolbarContent()) {\n <ng-container [ngTemplateOutlet]=\"_additionalToolbarContent()\"> </ng-container>\n }\n </div>\n </div>\n\n <div class=\"object-panel\" [ngClass]=\"objectPanelLayoutClasses()\">\n @if (objectDetails()) { @for (item of objectDetails(); track item) {\n <div class=\"object-info\" [ngClass]=\"objectInfoLayoutClasses()\">\n <span\n class=\"flex font-medium text-600 object-info-grid-label\"\n name=\"object-detail-label\"\n [ocxTooltip]=\"item.labelTooltipKey ? ((typeof item.labelTooltipKey === 'string' ? item.labelTooltipKey : item.labelTooltipKey.key) | translate : (typeof item.labelTooltipKey === 'object' ? item.labelTooltipKey.parameters : undefined)) : ''\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n >\n {{ item.label | dynamicPipe:item.labelPipe }}\n </span>\n @if (item.icon || item.value) {\n <span class=\"object-info-grid-value\">\n <span\n class=\"flex text-900 align-items-center gap-2 w-max\"\n [ngClass]=\"generateItemStyle(item)\"\n name=\"object-detail-value\"\n >\n <span\n class=\"flex align-items-center gap-2\"\n [ocxTooltip]=\"item.valueTooltipKey ? ((typeof item.valueTooltipKey === 'string' ? item.valueTooltipKey : item.valueTooltipKey.key) | translate : (typeof item.valueTooltipKey === 'object' ? item.valueTooltipKey.parameters : undefined)) : ''\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n >\n @if (item.icon) {\n <i [class]=\"item.icon + ' ' + (item.iconStyleClass ?? '')\" name=\"object-detail-icon\" aria-hidden=\"true\"></i>\n } {{ item.value | dynamicPipe:item.valuePipe:item.valuePipeArgs}}\n </span>\n @if (item.actionItemIcon && item.actionItemCallback) {\n <p-button\n [icon]=\"item.actionItemIcon\"\n styleClass=\"p-button-text p-0 w-full\"\n [ariaLabel]=\"item.actionItemAriaLabelKey ? ((typeof item.actionItemAriaLabelKey === 'string' ? item.actionItemAriaLabelKey : item.actionItemAriaLabelKey.key) | translate : (typeof item.actionItemAriaLabelKey === 'object' ? item.actionItemAriaLabelKey.parameters : undefined)) : 'button for ' + item.actionItemIcon\"\n [ocxTooltip]=\"item.actionItemTooltipKey ? ((typeof item.actionItemTooltipKey === 'string' ? item.actionItemTooltipKey : item.actionItemTooltipKey.key) | translate : (typeof item.actionItemTooltipKey === 'object' ? item.actionItemTooltipKey.parameters : undefined)) : ''\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n (onClick)=\"item.actionItemCallback()\"\n ></p-button>\n }\n </span>\n </span>\n }\n </div>\n } }\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host(.p-button-label){font-weight:400}.onecx-page-header{display:flex;flex-flow:column;border-radius:.25rem;overflow:hidden;background:#fff;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.1);box-shadow:0 2px 2px #0000001a;border:1px solid #cdd0d3}.onecx-page-header .title-bar{background-color:#f8f9fa;border-top-right-radius:inherit;border-top-left-radius:inherit}.onecx-page-header .title-bar .figure .figure-image img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.onecx-page-header .title-bar .figure .colorblob{background-color:var(--primary-color);position:absolute;inset:0}.onecx-page-header .title-bar .title-wrap{display:flex;flex-flow:row;align-items:center;gap:.25rem}.onecx-page-header .title-bar .title-wrap .header{display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.onecx-page-header .title-bar .title-wrap h1{font-size:1em;font-weight:700;margin:0;padding:0}.onecx-page-header .title-bar .title-wrap h2{font-size:1em;font-weight:400;margin:0;padding:0}.onecx-page-header .title-bar .action-items-wrap{display:flex;height:fit-content;gap:.5rem;align-items:center;justify-content:space-between}.onecx-page-header .object-panel{border-top:1px solid #cdd0d3;padding:1rem}.onecx-page-header .object-panel:empty{display:none!important}.badge-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.scale{transform:scale(2)}.object-info-grid-label{flex:1}.object-info-grid-value{flex:3}.min-w-120{min-width:120px!important}\n"] }]
|
|
994
1001
|
}], ctorParameters: () => [], propDecorators: { breadcrumbElementRef: [{
|
|
995
1002
|
type: ViewChild,
|
|
996
1003
|
args: ['breadcrumbRef', { read: ElementRef }]
|
|
@@ -1379,11 +1386,11 @@ class ColumnGroupSelectionComponent {
|
|
|
1379
1386
|
});
|
|
1380
1387
|
}
|
|
1381
1388
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ColumnGroupSelectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1382
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: ColumnGroupSelectionComponent, isStandalone: false, selector: "ocx-column-group-selection", inputs: { selectedGroupKey: { classPropertyName: "selectedGroupKey", publicName: "selectedGroupKey", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, placeholderKey: { classPropertyName: "placeholderKey", publicName: "placeholderKey", isSignal: true, isRequired: false, transformFunction: null }, defaultGroupKey: { classPropertyName: "defaultGroupKey", publicName: "defaultGroupKey", isSignal: true, isRequired: false, transformFunction: null }, customGroupKey: { classPropertyName: "customGroupKey", publicName: "customGroupKey", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedGroupKey: "selectedGroupKeyChange", groupSelectionChanged: "groupSelectionChanged", componentStateChanged: "componentStateChanged" }, ngImport: i0, template: "<p-floatlabel variant=\"on\">\n @if (allGroupKeys().length) {\n <p-select\n inputId=\"columnGroupSelectionDropdown\"\n id=\"columnGroupSelectionDropdownElement\"\n (onChange)=\"changeGroupSelection($event)\"\n [options]=\"allGroupKeys()\"\n [placeholder]=\"placeholderKey() | translate\"\n [(ngModel)]=\"selectedGroupKey\"\n [ariaLabel]=\"'OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABEL' | translate\"\n >\n <ng-template let-item #item> {{ item ? (item | translate) : ''}} </ng-template>\n <ng-template let-item #selectedItem> {{ item ? (item | translate) : ''}} </ng-template>\n </p-select>\n } @if (allGroupKeys().length) {\n <label for=\"columnGroupSelectionDropdown\"\n >{{ (\"OCX_CUSTOM_GROUP_COLUMN_SELECTOR.DROPDOWN_LABEL\" | translate) }}</label\n >\n }\n</p-floatlabel>\n", styles: [":host ::ng-deep .p-select{min-width:12rem}\n"], dependencies: [{ kind: "component", type: i1$1.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i2$2.FloatLabel, selector: "p-floatlabel, p-floatLabel, p-float-label", inputs: ["variant"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
|
|
1389
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: ColumnGroupSelectionComponent, isStandalone: false, selector: "ocx-column-group-selection", inputs: { selectedGroupKey: { classPropertyName: "selectedGroupKey", publicName: "selectedGroupKey", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, placeholderKey: { classPropertyName: "placeholderKey", publicName: "placeholderKey", isSignal: true, isRequired: false, transformFunction: null }, defaultGroupKey: { classPropertyName: "defaultGroupKey", publicName: "defaultGroupKey", isSignal: true, isRequired: false, transformFunction: null }, customGroupKey: { classPropertyName: "customGroupKey", publicName: "customGroupKey", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedGroupKey: "selectedGroupKeyChange", groupSelectionChanged: "groupSelectionChanged", componentStateChanged: "componentStateChanged" }, ngImport: i0, template: "<p-floatlabel variant=\"on\">\n @if (allGroupKeys().length) {\n <p-select\n class=\"p-inputwrapper-filled\"\n inputId=\"columnGroupSelectionDropdown\"\n id=\"columnGroupSelectionDropdownElement\"\n (onChange)=\"changeGroupSelection($event)\"\n [options]=\"allGroupKeys()\"\n [placeholder]=\"placeholderKey() | translate\"\n [(ngModel)]=\"selectedGroupKey\"\n [ariaLabel]=\"'OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABEL' | translate\"\n >\n <ng-template let-item #item> {{ item ? (item | translate) : ''}} </ng-template>\n <ng-template let-item #selectedItem> {{ item ? (item | translate) : ''}} </ng-template>\n </p-select>\n } @if (allGroupKeys().length) {\n <label for=\"columnGroupSelectionDropdown\"\n >{{ (\"OCX_CUSTOM_GROUP_COLUMN_SELECTOR.DROPDOWN_LABEL\" | translate) }}</label\n >\n }\n</p-floatlabel>\n", styles: [":host ::ng-deep .p-select{min-width:12rem}\n"], dependencies: [{ kind: "component", type: i1$1.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i2$2.FloatLabel, selector: "p-floatlabel, p-floatLabel, p-float-label", inputs: ["variant"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
|
|
1383
1390
|
}
|
|
1384
1391
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ColumnGroupSelectionComponent, decorators: [{
|
|
1385
1392
|
type: Component,
|
|
1386
|
-
args: [{ standalone: false, selector: 'ocx-column-group-selection', template: "<p-floatlabel variant=\"on\">\n @if (allGroupKeys().length) {\n <p-select\n inputId=\"columnGroupSelectionDropdown\"\n id=\"columnGroupSelectionDropdownElement\"\n (onChange)=\"changeGroupSelection($event)\"\n [options]=\"allGroupKeys()\"\n [placeholder]=\"placeholderKey() | translate\"\n [(ngModel)]=\"selectedGroupKey\"\n [ariaLabel]=\"'OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABEL' | translate\"\n >\n <ng-template let-item #item> {{ item ? (item | translate) : ''}} </ng-template>\n <ng-template let-item #selectedItem> {{ item ? (item | translate) : ''}} </ng-template>\n </p-select>\n } @if (allGroupKeys().length) {\n <label for=\"columnGroupSelectionDropdown\"\n >{{ (\"OCX_CUSTOM_GROUP_COLUMN_SELECTOR.DROPDOWN_LABEL\" | translate) }}</label\n >\n }\n</p-floatlabel>\n", styles: [":host ::ng-deep .p-select{min-width:12rem}\n"] }]
|
|
1393
|
+
args: [{ standalone: false, selector: 'ocx-column-group-selection', template: "<p-floatlabel variant=\"on\">\n @if (allGroupKeys().length) {\n <p-select\n class=\"p-inputwrapper-filled\"\n inputId=\"columnGroupSelectionDropdown\"\n id=\"columnGroupSelectionDropdownElement\"\n (onChange)=\"changeGroupSelection($event)\"\n [options]=\"allGroupKeys()\"\n [placeholder]=\"placeholderKey() | translate\"\n [(ngModel)]=\"selectedGroupKey\"\n [ariaLabel]=\"'OCX_CUSTOM_GROUP_COLUMN_SELECTOR.ARIA_LABEL' | translate\"\n >\n <ng-template let-item #item> {{ item ? (item | translate) : ''}} </ng-template>\n <ng-template let-item #selectedItem> {{ item ? (item | translate) : ''}} </ng-template>\n </p-select>\n } @if (allGroupKeys().length) {\n <label for=\"columnGroupSelectionDropdown\"\n >{{ (\"OCX_CUSTOM_GROUP_COLUMN_SELECTOR.DROPDOWN_LABEL\" | translate) }}</label\n >\n }\n</p-floatlabel>\n", styles: [":host ::ng-deep .p-select{min-width:12rem}\n"] }]
|
|
1387
1394
|
}], ctorParameters: () => [], propDecorators: { selectedGroupKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedGroupKey", required: false }] }, { type: i0.Output, args: ["selectedGroupKeyChange"] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], placeholderKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholderKey", required: false }] }], defaultGroupKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultGroupKey", required: false }] }], customGroupKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "customGroupKey", required: false }] }], groupSelectionChanged: [{ type: i0.Output, args: ["groupSelectionChanged"] }], componentStateChanged: [{ type: i0.Output, args: ["componentStateChanged"] }] } });
|
|
1388
1395
|
|
|
1389
1396
|
class OcxContentComponent {
|
|
@@ -2534,6 +2541,15 @@ class DataTableComponent extends DataSortBase {
|
|
|
2534
2541
|
get anyRowActionObserved() {
|
|
2535
2542
|
return this.viewTableRowObserved || this.editTableRowObserved || this.deleteTableRowObserved;
|
|
2536
2543
|
}
|
|
2544
|
+
get actionColumnVisible() {
|
|
2545
|
+
return this.anyRowActionObserved || this.additionalActions().length > 0;
|
|
2546
|
+
}
|
|
2547
|
+
getRowColspan(hasExpansionTemplate) {
|
|
2548
|
+
return (this.columns().length +
|
|
2549
|
+
(this.selectionChangedObserved ? 1 : 0) +
|
|
2550
|
+
(this.expandable() && hasExpansionTemplate ? 1 : 0) +
|
|
2551
|
+
(this.actionColumnVisible ? 1 : 0));
|
|
2552
|
+
}
|
|
2537
2553
|
get selectionChangedObserved() {
|
|
2538
2554
|
const dv = this.injector.get('DataViewComponent', null);
|
|
2539
2555
|
return dv?.selectionChangedObserved || dv?.selectionChanged.observed() || this.selectionChanged.observed();
|
|
@@ -2599,6 +2615,7 @@ class DataTableComponent extends DataSortBase {
|
|
|
2599
2615
|
totalRecordsOnServer,
|
|
2600
2616
|
};
|
|
2601
2617
|
}, ...(ngDevMode ? [{ debugName: "params" }] : []));
|
|
2618
|
+
this.captionTemplate = input(undefined, ...(ngDevMode ? [{ debugName: "captionTemplate" }] : []));
|
|
2602
2619
|
this.stringCellTemplate = input(undefined, ...(ngDevMode ? [{ debugName: "stringCellTemplate" }] : []));
|
|
2603
2620
|
this.stringCellChildTemplate = contentChild('stringCell', ...(ngDevMode ? [{ debugName: "stringCellChildTemplate" }] : []));
|
|
2604
2621
|
this.stringCell = computed(() => {
|
|
@@ -2662,6 +2679,13 @@ class DataTableComponent extends DataSortBase {
|
|
|
2662
2679
|
this.additionalActions = model([], ...(ngDevMode ? [{ debugName: "additionalActions" }] : []));
|
|
2663
2680
|
this.frozenActionColumn = input(false, ...(ngDevMode ? [{ debugName: "frozenActionColumn" }] : []));
|
|
2664
2681
|
this.actionColumnPosition = input('right', ...(ngDevMode ? [{ debugName: "actionColumnPosition" }] : []));
|
|
2682
|
+
this.expandedRows = model([], ...(ngDevMode ? [{ debugName: "expandedRows" }] : []));
|
|
2683
|
+
this.expandedRowIds = computed(() => (this.expandedRows() ?? [])
|
|
2684
|
+
.filter((row) => row !== null && row !== undefined)
|
|
2685
|
+
.map((row) => (typeof row === 'object' ? row.id : row)), ...(ngDevMode ? [{ debugName: "expandedRowIds" }] : []));
|
|
2686
|
+
this.expandedRowKeys = computed(() => Object.fromEntries(this.expandedRowIds().map((id) => [id, true])), ...(ngDevMode ? [{ debugName: "expandedRowKeys" }] : []));
|
|
2687
|
+
this.expandable = input(false, ...(ngDevMode ? [{ debugName: "expandable" }] : []));
|
|
2688
|
+
this.frozenExpandColumn = input(false, ...(ngDevMode ? [{ debugName: "frozenExpandColumn" }] : []));
|
|
2665
2689
|
this.filtered = output();
|
|
2666
2690
|
this.sorted = output();
|
|
2667
2691
|
this.viewTableRow = observableOutput();
|
|
@@ -2671,6 +2695,8 @@ class DataTableComponent extends DataSortBase {
|
|
|
2671
2695
|
this.pageChanged = output();
|
|
2672
2696
|
this.pageSizeChanged = output();
|
|
2673
2697
|
this.componentStateChanged = output();
|
|
2698
|
+
this.rowExpanded = observableOutput();
|
|
2699
|
+
this.rowCollapsed = observableOutput();
|
|
2674
2700
|
this.displayedRows$ = combineLatest([
|
|
2675
2701
|
toObservable(this.rows),
|
|
2676
2702
|
toObservable(this.filters),
|
|
@@ -2793,6 +2819,10 @@ class DataTableComponent extends DataSortBase {
|
|
|
2793
2819
|
this.viewTemplates$ = toObservable(this.viewTemplates);
|
|
2794
2820
|
this.parentTemplates = model(undefined, ...(ngDevMode ? [{ debugName: "parentTemplates" }] : []));
|
|
2795
2821
|
this.parentTemplates$ = toObservable(this.parentTemplates);
|
|
2822
|
+
this.expansionTemplate = computed(() => {
|
|
2823
|
+
const all = [...this.templates(), ...this.viewTemplates(), ...(this.parentTemplates() ?? [])].filter((t, index, self) => self.findIndex((pt) => pt.getType() === t.getType()) === index);
|
|
2824
|
+
return all.find((t) => t.getType() === 'expansion');
|
|
2825
|
+
}, ...(ngDevMode ? [{ debugName: "expansionTemplate" }] : []));
|
|
2796
2826
|
this.cellTemplatesData = {
|
|
2797
2827
|
templatesObservables: {},
|
|
2798
2828
|
idSuffix: ['IdTableCell', 'IdCell'],
|
|
@@ -2926,11 +2956,33 @@ class DataTableComponent extends DataSortBase {
|
|
|
2926
2956
|
pageSize: this.displayedPageSize(),
|
|
2927
2957
|
activePage: this.page(),
|
|
2928
2958
|
selectedRows: this.rows().filter((row) => this.selectedIds().includes(row.id)),
|
|
2959
|
+
expandedRows: this.rows().filter((row) => this.expandedRowIds().includes(row.id)),
|
|
2929
2960
|
});
|
|
2930
2961
|
}
|
|
2931
2962
|
emitSelectionChanged() {
|
|
2932
2963
|
this.selectionChanged.emit(this.rows().filter((row) => this.selectedIds().includes(row.id)));
|
|
2933
2964
|
}
|
|
2965
|
+
onRowExpand(event) {
|
|
2966
|
+
if (!this.expandedRowIds().includes(event.data.id)) {
|
|
2967
|
+
this.expandedRows.update((rows) => [...(rows ?? []), event.data]);
|
|
2968
|
+
}
|
|
2969
|
+
this.rowExpanded.emit(event.data);
|
|
2970
|
+
}
|
|
2971
|
+
onRowCollapse(event) {
|
|
2972
|
+
this.expandedRows.update((rows) => (rows ?? []).filter((r) => typeof r === 'object' ? r.id !== event.data.id : r !== event.data.id));
|
|
2973
|
+
this.rowCollapsed.emit(event.data);
|
|
2974
|
+
}
|
|
2975
|
+
isRowExpanded(row) {
|
|
2976
|
+
return this.expandedRowIds().includes(row.id);
|
|
2977
|
+
}
|
|
2978
|
+
toggleRowExpansion(row) {
|
|
2979
|
+
if (this.isRowExpanded(row)) {
|
|
2980
|
+
this.onRowCollapse({ data: row });
|
|
2981
|
+
}
|
|
2982
|
+
else {
|
|
2983
|
+
this.onRowExpand({ data: row });
|
|
2984
|
+
}
|
|
2985
|
+
}
|
|
2934
2986
|
onSortColumnClick(sortColumn) {
|
|
2935
2987
|
const newSortDirection = this.columnNextSortDirection(sortColumn);
|
|
2936
2988
|
this.sortColumn.set(sortColumn);
|
|
@@ -3127,13 +3179,21 @@ class DataTableComponent extends DataSortBase {
|
|
|
3127
3179
|
createMenuItemCommand(action, row) {
|
|
3128
3180
|
return () => handleActionSync(this.router, action, row);
|
|
3129
3181
|
}
|
|
3182
|
+
getRowSummary(rowObject) {
|
|
3183
|
+
let summary = '';
|
|
3184
|
+
const columns = Object.entries(rowObject);
|
|
3185
|
+
columns.forEach(([key, value], index) => {
|
|
3186
|
+
summary += `${key}: ${value}${index < columns.length - 1 ? ',' : ''}`;
|
|
3187
|
+
});
|
|
3188
|
+
return summary.trim();
|
|
3189
|
+
}
|
|
3130
3190
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DataTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3131
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: DataTableComponent, isStandalone: false, selector: "ocx-data-table", inputs: { rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, selectedRows: { classPropertyName: "selectedRows", publicName: "selectedRows", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, sortDirection: { classPropertyName: "sortDirection", publicName: "sortDirection", isSignal: true, isRequired: false, transformFunction: null }, sortColumn: { classPropertyName: "sortColumn", publicName: "sortColumn", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, clientSideFiltering: { classPropertyName: "clientSideFiltering", publicName: "clientSideFiltering", isSignal: true, isRequired: false, transformFunction: null }, clientSideSorting: { classPropertyName: "clientSideSorting", publicName: "clientSideSorting", isSignal: true, isRequired: false, transformFunction: null }, sortStates: { classPropertyName: "sortStates", publicName: "sortStates", isSignal: true, isRequired: false, transformFunction: null }, pageSizes: { classPropertyName: "pageSizes", publicName: "pageSizes", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, emptyResultsMessage: { classPropertyName: "emptyResultsMessage", publicName: "emptyResultsMessage", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, deletePermission: { classPropertyName: "deletePermission", publicName: "deletePermission", isSignal: true, isRequired: false, transformFunction: null }, viewPermission: { classPropertyName: "viewPermission", publicName: "viewPermission", isSignal: true, isRequired: false, transformFunction: null }, editPermission: { classPropertyName: "editPermission", publicName: "editPermission", isSignal: true, isRequired: false, transformFunction: null }, deleteActionVisibleField: { classPropertyName: "deleteActionVisibleField", publicName: "deleteActionVisibleField", isSignal: true, isRequired: false, transformFunction: null }, deleteActionEnabledField: { classPropertyName: "deleteActionEnabledField", publicName: "deleteActionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, viewActionVisibleField: { classPropertyName: "viewActionVisibleField", publicName: "viewActionVisibleField", isSignal: true, isRequired: false, transformFunction: null }, viewActionEnabledField: { classPropertyName: "viewActionEnabledField", publicName: "viewActionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, editActionVisibleField: { classPropertyName: "editActionVisibleField", publicName: "editActionVisibleField", isSignal: true, isRequired: false, transformFunction: null }, editActionEnabledField: { classPropertyName: "editActionEnabledField", publicName: "editActionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, selectionEnabledField: { classPropertyName: "selectionEnabledField", publicName: "selectionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, allowSelectAll: { classPropertyName: "allowSelectAll", publicName: "allowSelectAll", isSignal: true, isRequired: false, transformFunction: null }, paginator: { classPropertyName: "paginator", publicName: "paginator", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, tableStyle: { classPropertyName: "tableStyle", publicName: "tableStyle", isSignal: true, isRequired: false, transformFunction: null }, totalRecordsOnServer: { classPropertyName: "totalRecordsOnServer", publicName: "totalRecordsOnServer", isSignal: true, isRequired: false, transformFunction: null }, currentPageShowingKey: { classPropertyName: "currentPageShowingKey", publicName: "currentPageShowingKey", isSignal: true, isRequired: false, transformFunction: null }, currentPageShowingWithTotalOnServerKey: { classPropertyName: "currentPageShowingWithTotalOnServerKey", publicName: "currentPageShowingWithTotalOnServerKey", isSignal: true, isRequired: false, transformFunction: null }, stringCellTemplate: { classPropertyName: "stringCellTemplate", publicName: "stringCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, numberCellTemplate: { classPropertyName: "numberCellTemplate", publicName: "numberCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, dateCellTemplate: { classPropertyName: "dateCellTemplate", publicName: "dateCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, relativeDateCellTemplate: { classPropertyName: "relativeDateCellTemplate", publicName: "relativeDateCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, cellTemplate: { classPropertyName: "cellTemplate", publicName: "cellTemplate", isSignal: true, isRequired: false, transformFunction: null }, translationKeyCellTemplate: { classPropertyName: "translationKeyCellTemplate", publicName: "translationKeyCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, stringFilterCellTemplate: { classPropertyName: "stringFilterCellTemplate", publicName: "stringFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, numberFilterCellTemplate: { classPropertyName: "numberFilterCellTemplate", publicName: "numberFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, dateFilterCellTemplate: { classPropertyName: "dateFilterCellTemplate", publicName: "dateFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, relativeDateFilterCellTemplate: { classPropertyName: "relativeDateFilterCellTemplate", publicName: "relativeDateFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, filterCellTemplate: { classPropertyName: "filterCellTemplate", publicName: "filterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, translationKeyFilterCellTemplate: { classPropertyName: "translationKeyFilterCellTemplate", publicName: "translationKeyFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, additionalActions: { classPropertyName: "additionalActions", publicName: "additionalActions", isSignal: true, isRequired: false, transformFunction: null }, frozenActionColumn: { classPropertyName: "frozenActionColumn", publicName: "frozenActionColumn", isSignal: true, isRequired: false, transformFunction: null }, actionColumnPosition: { classPropertyName: "actionColumnPosition", publicName: "actionColumnPosition", isSignal: true, isRequired: false, transformFunction: null }, parentTemplates: { classPropertyName: "parentTemplates", publicName: "parentTemplates", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { rows: "rowsChange", selectedRows: "selectedRowsChange", filters: "filtersChange", sortDirection: "sortDirectionChange", sortColumn: "sortColumnChange", columns: "columnsChange", sortStates: "sortStatesChange", pageSizes: "pageSizesChange", pageSize: "pageSizeChange", name: "nameChange", page: "pageChange", additionalActions: "additionalActionsChange", filtered: "filtered", sorted: "sorted", viewTableRow: "viewTableRow", editTableRow: "editTableRow", deleteTableRow: "deleteTableRow", selectionChanged: "selectionChanged", pageChanged: "pageChanged", pageSizeChanged: "pageSizeChanged", componentStateChanged: "componentStateChanged", parentTemplates: "parentTemplatesChange" }, queries: [{ propertyName: "stringCellChildTemplate", first: true, predicate: ["stringCell"], descendants: true, isSignal: true }, { propertyName: "numberCellChildTemplate", first: true, predicate: ["numberCell"], descendants: true, isSignal: true }, { propertyName: "dateCellChildTemplate", first: true, predicate: ["dateCell"], descendants: true, isSignal: true }, { propertyName: "relativeDateCellChildTemplate", first: true, predicate: ["relativeDateCell"], descendants: true, isSignal: true }, { propertyName: "cellChildTemplate", first: true, predicate: ["cell"], descendants: true, isSignal: true }, { propertyName: "translationKeyCellChildTemplate", first: true, predicate: ["translationKeyCell"], descendants: true, isSignal: true }, { propertyName: "stringFilterCellChildTemplate", first: true, predicate: ["stringFilterCell"], descendants: true, isSignal: true }, { propertyName: "numberFilterCellChildTemplate", first: true, predicate: ["numberFilterCell"], descendants: true, isSignal: true }, { propertyName: "dateFilterCellChildTemplate", first: true, predicate: ["dateFilterCell"], descendants: true, isSignal: true }, { propertyName: "relativeDateFilterCellChildTemplate", first: true, predicate: ["relativeDateFilterCell"], descendants: true, isSignal: true }, { propertyName: "filterCellChildTemplate", first: true, predicate: ["filterCell"], descendants: true, isSignal: true }, { propertyName: "translationKeyFilterCellChildTemplate", first: true, predicate: ["translationKeyFilterCell"], descendants: true, isSignal: true }, { propertyName: "templates", predicate: PrimeTemplate, isSignal: true }], viewQueries: [{ propertyName: "viewTemplates", predicate: PrimeTemplate, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #actionColumn let-rowObject=\"localRowObject\">\n @if ( anyRowActionObserved || additionalActions().length > 0 || overflowActions().length > 0 ) {\n <td\n class=\"actions\"\n pFrozenColumn\n [frozen]=\"frozenActionColumn()\"\n [alignFrozen]=\"actionColumnPosition()\"\n [attr.name]=\"actionColumnPosition() === 'left' ? 'action-column-left' : 'action-column-right'\"\n [ngClass]=\"(frozenActionColumn() && actionColumnPosition() === 'left') ? 'border-right-1' : (frozenActionColumn() && actionColumnPosition() === 'right') ? 'border-left-1' : ''\"\n >\n <div class=\"icon-button-row-wrapper\">\n @if (viewTableRowObserved && (!viewActionVisibleField() || fieldIsTruthy(rowObject, viewActionVisibleField()))) {\n <button\n id=\"{{ resolveFieldData(rowObject, 'id') }}-viewButton\"\n *ocxIfPermission=\"viewPermission()\"\n [disabled]=\"!!viewActionEnabledField() && !fieldIsTruthy(rowObject, viewActionEnabledField())\"\n pButton\n class=\"p-button-rounded p-button-text viewTableRowButton\"\n [title]=\"'OCX_DATA_TABLE.ACTIONS.VIEW' | translate\"\n [attr.aria-label]=\"'OCX_DATA_TABLE.ACTIONS.VIEW' | translate\"\n icon=\"pi pi-eye\"\n (click)=\"onViewRow(rowObject)\"\n [attr.name]=\"'data-table-action-button'\"\n ></button>\n } @if (editTableRowObserved && (!editActionVisibleField() || fieldIsTruthy(rowObject, editActionVisibleField())))\n {\n <button\n [id]=\"resolveFieldData(rowObject, 'id')+'-editButton'\"\n *ocxIfPermission=\"editPermission()\"\n [disabled]=\"!!editActionEnabledField() && !fieldIsTruthy(rowObject, editActionEnabledField())\"\n pButton\n class=\"p-button-rounded p-button-text editTableRowButton\"\n [title]=\"'OCX_DATA_TABLE.ACTIONS.EDIT' | translate\"\n [attr.aria-label]=\"'OCX_DATA_TABLE.ACTIONS.EDIT' | translate\"\n icon=\"pi pi-pencil\"\n (click)=\"onEditRow(rowObject)\"\n [attr.name]=\"'data-table-action-button'\"\n ></button>\n } @if ( deleteTableRowObserved && (!deleteActionVisibleField() || fieldIsTruthy(rowObject,\n deleteActionVisibleField())) ) {\n <button\n [id]=\"resolveFieldData(rowObject, 'id')+'-deleteButton'\"\n *ocxIfPermission=\"deletePermission()\"\n [disabled]=\"!!deleteActionEnabledField() && !fieldIsTruthy(rowObject, deleteActionEnabledField())\"\n pButton\n class=\"p-button-rounded p-button-text p-button-danger deleteTableRowButton\"\n [title]=\"'OCX_DATA_TABLE.ACTIONS.DELETE' | translate\"\n [attr.aria-label]=\"'OCX_DATA_TABLE.ACTIONS.DELETE' | translate\"\n icon=\"pi pi-trash\"\n (click)=\"onDeleteRow(rowObject)\"\n [attr.name]=\"'data-table-action-button'\"\n ></button>\n } @for (action of inlineActions(); track action) { @if (!action.actionVisibleField || fieldIsTruthy(rowObject,\n action.actionVisibleField)) {\n <button\n [id]=\"resolveFieldData(rowObject, 'id')+'-'+(action.id ? action.id.concat('ActionButton') : 'inlineActionButton')\"\n *ocxIfPermission=\"action.permission\"\n pButton\n class=\"p-button-rounded p-button-text\"\n [ngClass]=\"action.classes\"\n [icon]=\"action.icon || ''\"\n (click)=\"onActionClick(action, rowObject)\"\n [title]=\"action.labelKey ? (action.labelKey | translate) : ''\"\n [attr.aria-label]=\"action.labelKey ? (action.labelKey | translate) : ''\"\n [disabled]=\"\n action.disabled ||\n (!!action.actionEnabledField && !fieldIsTruthy(rowObject, action.actionEnabledField))\n \"\n [attr.name]=\"'data-table-action-button'\"\n ></button>\n } } @if (hasVisibleOverflowMenuItems(rowObject) | async) {\n <p-menu #menu [model]=\"(overflowMenuItems$ | async) || []\" [popup]=\"true\" appendTo=\"body\"></p-menu>\n <button\n pButton\n class=\"p-button-rounded p-button-text\"\n [icon]=\"'pi pi-ellipsis-v'\"\n (click)=\"toggleOverflowMenu($event, menu, rowObject)\"\n [attr.aria-label]=\"'OCX_DATA_TABLE.MORE_ACTIONS' | translate\"\n [title]=\"'OCX_DATA_TABLE.MORE_ACTIONS' | translate\"\n [name]=\"'data-table-overflow-action-button'\"\n ></button>\n }\n </div>\n </td>\n }\n</ng-template>\n\n<ng-template #actionColumnHeader>\n @if ( anyRowActionObserved || additionalActions().length > 0 || overflowActions().length > 0 ) {\n <th\n pFrozenColumn\n [frozen]=\"frozenActionColumn()\"\n [alignFrozen]=\"actionColumnPosition()\"\n [ngClass]=\"(frozenActionColumn() && actionColumnPosition() === 'left') ? 'border-right-1' : (frozenActionColumn() && actionColumnPosition() === 'right') ? 'border-left-1' : ''\"\n [attr.name]=\"actionColumnPosition() === 'left' ? 'action-column-header-left' : 'action-column-header-right'\"\n >\n {{ 'OCX_DATA_TABLE.ACTIONS_COLUMN_NAME' | translate }}\n </th>\n }\n</ng-template>\n\n@if (displayedPageSize(); as displayedPageSize) { @if ((columnTemplates$ | async) ?? {}; as columnTemplates) {\n<p-table\n [value]=\"(displayedRows$ | async) ?? []\"\n [paginator]=\"paginator()\"\n [first]=\"page() * displayedPageSize\"\n (onPage)=\"onPageChange($event)\"\n [rows]=\"displayedPageSize\"\n [showCurrentPageReport]=\"true\"\n [currentPageReportTemplate]=\"\n (totalRecordsOnServer() ? currentPageShowingWithTotalOnServerKey() : currentPageShowingKey())\n | translate : params()\n \"\n [rowsPerPageOptions]=\"pageSizes()\"\n [id]=\"'dataTable_' + name()\"\n (selectionChange)=\"onSelectionChange($event)\"\n dataKey=\"id\"\n [rowTrackBy]=\"rowTrackByFunction\"\n [selection]=\"selectedFilteredRows()\"\n [scrollable]=\"true\"\n scrollHeight=\"flex\"\n [style]=\"tableStyle()\"\n paginatorDropdownAppendTo=\"body\"\n [rowSelectable]=\"rowSelectable\"\n tableStyleClass=\"h-full\"\n>\n <ng-template #header>\n <tr style=\"vertical-align: top\">\n @if (selectionChangedObserved) {\n <th style=\"width: 4rem\" scope=\"col\">\n @if (allowSelectAll()) {\n <p-tableHeaderCheckbox\n [ocxTooltip]=\"'OCX_DATA_TABLE.SELECT_ALL_TOOLTIP' | translate\"\n [ariaLabel]=\"'OCX_DATA_TABLE.SELECT_ALL_ARIA_LABEL' | translate\"\n ></p-tableHeaderCheckbox>\n }\n </th>\n } @if (actionColumnPosition() === 'left') {\n <ng-container *ngTemplateOutlet=\"actionColumnHeader\"></ng-container>\n } @for (column of columns(); track column) { @if (column.sortable || column.filterable) {\n <th scope=\"col\">\n <div\n class=\"table-header-wrapper flex flex-column justify-content-between align-items-start\"\n style=\"height: 100%\"\n >\n <span class=\"flex\" [id]=\"column.id + '-header-name'\">{{ column.nameKey | translate }}</span>\n <span class=\"flex icon-button-header-wrapper\">\n @if (column.sortable) {\n <button\n class=\"pi sortButton pl-0\"\n [class.pi-sort-alt]=\"(column?.id === sortColumn() && sortDirection() === 'NONE') || column?.id !== sortColumn()\"\n [class.pi-sort-amount-up]=\"column?.id === sortColumn() && sortDirection() === 'ASCENDING'\"\n [class.pi-sort-amount-down]=\"column?.id === sortColumn() && sortDirection() === 'DESCENDING'\"\n (click)=\"onSortColumnClick(column.id)\"\n [ocxTooltip]=\"sortIconTitle(column.id) | translate\"\n tooltipPosition=\"bottom\"\n [attr.aria-label]=\"\n 'OCX_DATA_TABLE.TOGGLE_BUTTON.ARIA_LABEL'\n | translate : {\n column: (column.nameKey | translate),\n direction: (sortDirectionToTitle(columnNextSortDirection(column.id)) | translate)\n }\n \"\n ></button>\n } @if (currentEqualFilterOptions$ | async; as equalFilterOptions) { @if (columnFilterTemplates$ | async; as\n columnFilterTemplates) { @if (column.filterable && (!column.filterType || column.filterType ===\n FilterType.EQUALS)) {\n <p-multiselect\n class=\"filterMultiSelect\"\n [options]=\"equalFilterOptions.column?.id === column.id ? equalFilterOptions.options : []\"\n [ngModel]=\"currentEqualSelectedFilters() || []\"\n [showToggleAll]=\"true\"\n [emptyFilterMessage]=\"'OCX_DATA_TABLE.EMPTY_FILTER_MESSAGE' | translate\"\n [displaySelectedLabel]=\"false\"\n [resetFilterOnHide]=\"true\"\n (onChange)=\"onMultiselectFilterChange(column, $event)\"\n placeholder=\" \"\n appendTo=\"body\"\n filterBy=\"toFilterBy\"\n (onFocus)=\"onFilterChosen(column)\"\n [title]=\"'OCX_DATA_TABLE.FILTER_TITLE' | translate\"\n [ariaLabel]=\"'OCX_DATA_TABLE.COLUMN_FILTER_ARIA_LABEL' | translate\"\n [ariaFilterLabel]=\"\n 'OCX_DATA_TABLE.FILTER_ARIA_LABEL' | translate : { column: column.nameKey | translate }\n \"\n >\n <ng-template #selecteditems let-value>\n <div\n class=\"pi\"\n [class.pi-filter]=\"!filterAmounts()[column.id]\"\n [class.pi-filter-fill]=\"filterAmounts()[column.id] > 0\"\n ></div>\n </ng-template>\n <ng-template #item let-value>\n @if (columnFilterTemplates[column.id]; as template) {\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{\n rowObject: getRowObjectFromMultiselectItem(value, column),\n column: column\n }\"\n >\n </ng-container>\n }\n </ng-template>\n </p-multiselect>\n } } } @if (column.filterable && column.filterType === FilterType.IS_NOT_EMPTY) {\n <p-multiselect\n class=\"filterMultiSelect\"\n [options]=\"[\n { key: 'OCX_DATA_TABLE.FILTER_YES', value: true },\n { key: 'OCX_DATA_TABLE.FILTER_NO', value: false }\n ]\"\n [ngModel]=\"currentTruthySelectedFilters() || []\"\n [showToggleAll]=\"true\"\n [emptyFilterMessage]=\"'OCX_DATA_TABLE.EMPTY_FILTER_MESSAGE' | translate\"\n [displaySelectedLabel]=\"false\"\n [resetFilterOnHide]=\"true\"\n (onChange)=\"onMultiselectFilterChange(column, $event)\"\n placeholder=\" \"\n appendTo=\"body\"\n (onFocus)=\"onFilterChosen(column)\"\n [title]=\"'OCX_DATA_TABLE.FILTER_TITLE' | translate\"\n [ariaLabel]=\"'OCX_DATA_TABLE.COLUMN_FILTER_ARIA_LABEL' | translate\"\n [ariaFilterLabel]=\"\n 'OCX_DATA_TABLE.FILTER_ARIA_LABEL' | translate : { column: column.nameKey | translate }\n \"\n >\n <ng-template #selecteditems let-value>\n <div\n class=\"pi\"\n [class.pi-filter]=\"!filterAmounts()[column.id]\"\n [class.pi-filter-fill]=\"filterAmounts()[column.id] > 0\"\n ></div>\n </ng-template>\n <ng-template #item let-value> {{ value.key | translate }} </ng-template>\n </p-multiselect>\n }\n </span>\n </div>\n </th>\n } @else {\n <th scope=\"col\">{{ column.nameKey | translate }}</th>\n } } @if (actionColumnPosition() === 'right') {\n <ng-container *ngTemplateOutlet=\"actionColumnHeader\"></ng-container>\n }\n </tr>\n </ng-template>\n\n <ng-template #body let-rowObject>\n @if (columnTemplates) {\n <tr>\n @if (selectionChangedObserved) {\n <td>\n @if (isRowSelectionDisabled(rowObject) && isSelected(rowObject)) {\n <p-checkbox\n [value]=\"true\"\n [binary]=\"true\"\n [disabled]=\"true\"\n [ariaLabel]=\"'OCX_DATA_TABLE.SELECT_ARIA_LABEL' | translate : { key: rowObject.id }\"\n ></p-checkbox>\n } @else {\n <p-tableCheckbox\n [value]=\"rowObject\"\n [disabled]=\"isRowSelectionDisabled(rowObject)\"\n [ariaLabel]=\"'OCX_DATA_TABLE.SELECT_ARIA_LABEL' | translate : { key: rowObject.id }\"\n ></p-tableCheckbox>\n }\n </td>\n } @if (actionColumnPosition() === 'left') {\n <ng-container *ngTemplateOutlet=\"actionColumn; context: { localRowObject: rowObject }\"></ng-container>\n } @for (column of columns(); track column) {\n <td>\n @defer (on viewport) { @if (columnTemplates[column.id]) {\n <ng-container\n [ngTemplateOutlet]=\"cell() ?? columnTemplates[column.id]\"\n [ngTemplateOutletContext]=\"{ rowObject: rowObject, column: column }\"\n >\n </ng-container>\n } } @placeholder {\n <p-skeleton width=\"3rem\" />\n }\n </td>\n } @if (actionColumnPosition() === 'right') {\n <ng-container *ngTemplateOutlet=\"actionColumn; context: { localRowObject: rowObject }\"></ng-container>\n }\n </tr>\n }\n </ng-template>\n\n <ng-template #emptymessage>\n <tr>\n <td\n [colSpan]=\"\n columns().length +\n ((anyRowActionObserved || additionalActions().length > 0) ? 1 : 0) +\n (allowSelectAll() ? 1 : 0)\n \"\n >\n {{ emptyResultsMessage() || ('OCX_DATA_TABLE.EMPTY_RESULT' | translate) }}\n </td>\n </tr>\n </ng-template>\n</p-table>\n} }\n\n<ng-template pTemplate=\"defaultStringCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) }} </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultNumberCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) | number }} </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultDateCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) | date: column.dateFormat ?? 'medium' }} </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultRelativeDateCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container>\n {{ 'OCX_DATA_TABLE.EDITED' | translate }} {{ resolveFieldData(rowObject, column.id) | timeago }}\n </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultTranslationKeyCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) | translate }} </ng-container>\n</ng-template>\n", styles: [":host ::ng-deep .p-multiselect{padding:0;background:#f7f7f7;border:none}:host ::ng-deep .p-multiselect .p-multiselect-container{height:20px;width:20px}:host ::ng-deep .p-multiselect .p-multiselect-trigger{display:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect .p-multiselect-label.p-placeholder{color:#262626;font-size:.9rem;font-family:Bold,sans-serif;font-weight:700;padding:0}:host ::ng-deep .p-multiselect:focus-within{box-shadow:none;background:#979797}.pi{border:none;background:none;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3$2.Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["hostName", "value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "directive", type: i2$1.ButtonDirective, selector: "[pButton]", inputs: ["ptButtonDirective", "pButtonPT", "pButtonUnstyled", "hostName", "text", "plain", "raised", "size", "outlined", "rounded", "iconPos", "loadingIcon", "fluid", "label", "icon", "loading", "buttonProps", "severity"] }, { kind: "component", type: i5$2.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i5$2.FrozenColumn, selector: "[pFrozenColumn]", inputs: ["frozen", "alignFrozen"] }, { kind: "component", type: i5$2.TableCheckbox, selector: "p-tableCheckbox", inputs: ["value", "disabled", "required", "index", "inputId", "name", "ariaLabel"] }, { kind: "component", type: i5$2.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "component", type: i4.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex", "appendTo", "motionOptions"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "component", type: i7$1.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "component", type: i5.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: OcxTooltipDirective, selector: "[ocxTooltip]", inputs: ["ocxTooltip"] }, { kind: "directive", type: IfPermissionDirective, selector: "[ocxIfPermission], [ocxIfNotPermission]", inputs: ["ocxIfPermission", "ocxIfNotPermission", "ocxIfPermissionOnMissingPermission", "ocxIfNotPermissionOnMissingPermission", "ocxIfPermissionPermissions", "ocxIfNotPermissionPermissions", "ocxIfPermissionElseTemplate", "ocxIfNotPermissionElseTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "pipe", type: OcxTimeAgoPipe, name: "timeago" }], deferBlockDependencies: [() => [i1.NgTemplateOutlet]] }); }
|
|
3191
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: DataTableComponent, isStandalone: false, selector: "ocx-data-table", inputs: { rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, selectedRows: { classPropertyName: "selectedRows", publicName: "selectedRows", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, sortDirection: { classPropertyName: "sortDirection", publicName: "sortDirection", isSignal: true, isRequired: false, transformFunction: null }, sortColumn: { classPropertyName: "sortColumn", publicName: "sortColumn", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, clientSideFiltering: { classPropertyName: "clientSideFiltering", publicName: "clientSideFiltering", isSignal: true, isRequired: false, transformFunction: null }, clientSideSorting: { classPropertyName: "clientSideSorting", publicName: "clientSideSorting", isSignal: true, isRequired: false, transformFunction: null }, sortStates: { classPropertyName: "sortStates", publicName: "sortStates", isSignal: true, isRequired: false, transformFunction: null }, pageSizes: { classPropertyName: "pageSizes", publicName: "pageSizes", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, emptyResultsMessage: { classPropertyName: "emptyResultsMessage", publicName: "emptyResultsMessage", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, deletePermission: { classPropertyName: "deletePermission", publicName: "deletePermission", isSignal: true, isRequired: false, transformFunction: null }, viewPermission: { classPropertyName: "viewPermission", publicName: "viewPermission", isSignal: true, isRequired: false, transformFunction: null }, editPermission: { classPropertyName: "editPermission", publicName: "editPermission", isSignal: true, isRequired: false, transformFunction: null }, deleteActionVisibleField: { classPropertyName: "deleteActionVisibleField", publicName: "deleteActionVisibleField", isSignal: true, isRequired: false, transformFunction: null }, deleteActionEnabledField: { classPropertyName: "deleteActionEnabledField", publicName: "deleteActionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, viewActionVisibleField: { classPropertyName: "viewActionVisibleField", publicName: "viewActionVisibleField", isSignal: true, isRequired: false, transformFunction: null }, viewActionEnabledField: { classPropertyName: "viewActionEnabledField", publicName: "viewActionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, editActionVisibleField: { classPropertyName: "editActionVisibleField", publicName: "editActionVisibleField", isSignal: true, isRequired: false, transformFunction: null }, editActionEnabledField: { classPropertyName: "editActionEnabledField", publicName: "editActionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, selectionEnabledField: { classPropertyName: "selectionEnabledField", publicName: "selectionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, allowSelectAll: { classPropertyName: "allowSelectAll", publicName: "allowSelectAll", isSignal: true, isRequired: false, transformFunction: null }, paginator: { classPropertyName: "paginator", publicName: "paginator", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, tableStyle: { classPropertyName: "tableStyle", publicName: "tableStyle", isSignal: true, isRequired: false, transformFunction: null }, totalRecordsOnServer: { classPropertyName: "totalRecordsOnServer", publicName: "totalRecordsOnServer", isSignal: true, isRequired: false, transformFunction: null }, currentPageShowingKey: { classPropertyName: "currentPageShowingKey", publicName: "currentPageShowingKey", isSignal: true, isRequired: false, transformFunction: null }, currentPageShowingWithTotalOnServerKey: { classPropertyName: "currentPageShowingWithTotalOnServerKey", publicName: "currentPageShowingWithTotalOnServerKey", isSignal: true, isRequired: false, transformFunction: null }, captionTemplate: { classPropertyName: "captionTemplate", publicName: "captionTemplate", isSignal: true, isRequired: false, transformFunction: null }, stringCellTemplate: { classPropertyName: "stringCellTemplate", publicName: "stringCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, numberCellTemplate: { classPropertyName: "numberCellTemplate", publicName: "numberCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, dateCellTemplate: { classPropertyName: "dateCellTemplate", publicName: "dateCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, relativeDateCellTemplate: { classPropertyName: "relativeDateCellTemplate", publicName: "relativeDateCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, cellTemplate: { classPropertyName: "cellTemplate", publicName: "cellTemplate", isSignal: true, isRequired: false, transformFunction: null }, translationKeyCellTemplate: { classPropertyName: "translationKeyCellTemplate", publicName: "translationKeyCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, stringFilterCellTemplate: { classPropertyName: "stringFilterCellTemplate", publicName: "stringFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, numberFilterCellTemplate: { classPropertyName: "numberFilterCellTemplate", publicName: "numberFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, dateFilterCellTemplate: { classPropertyName: "dateFilterCellTemplate", publicName: "dateFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, relativeDateFilterCellTemplate: { classPropertyName: "relativeDateFilterCellTemplate", publicName: "relativeDateFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, filterCellTemplate: { classPropertyName: "filterCellTemplate", publicName: "filterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, translationKeyFilterCellTemplate: { classPropertyName: "translationKeyFilterCellTemplate", publicName: "translationKeyFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, additionalActions: { classPropertyName: "additionalActions", publicName: "additionalActions", isSignal: true, isRequired: false, transformFunction: null }, frozenActionColumn: { classPropertyName: "frozenActionColumn", publicName: "frozenActionColumn", isSignal: true, isRequired: false, transformFunction: null }, actionColumnPosition: { classPropertyName: "actionColumnPosition", publicName: "actionColumnPosition", isSignal: true, isRequired: false, transformFunction: null }, expandedRows: { classPropertyName: "expandedRows", publicName: "expandedRows", isSignal: true, isRequired: false, transformFunction: null }, expandable: { classPropertyName: "expandable", publicName: "expandable", isSignal: true, isRequired: false, transformFunction: null }, frozenExpandColumn: { classPropertyName: "frozenExpandColumn", publicName: "frozenExpandColumn", isSignal: true, isRequired: false, transformFunction: null }, parentTemplates: { classPropertyName: "parentTemplates", publicName: "parentTemplates", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { rows: "rowsChange", selectedRows: "selectedRowsChange", filters: "filtersChange", sortDirection: "sortDirectionChange", sortColumn: "sortColumnChange", columns: "columnsChange", sortStates: "sortStatesChange", pageSizes: "pageSizesChange", pageSize: "pageSizeChange", name: "nameChange", page: "pageChange", additionalActions: "additionalActionsChange", expandedRows: "expandedRowsChange", filtered: "filtered", sorted: "sorted", viewTableRow: "viewTableRow", editTableRow: "editTableRow", deleteTableRow: "deleteTableRow", selectionChanged: "selectionChanged", pageChanged: "pageChanged", pageSizeChanged: "pageSizeChanged", componentStateChanged: "componentStateChanged", rowExpanded: "rowExpanded", rowCollapsed: "rowCollapsed", parentTemplates: "parentTemplatesChange" }, queries: [{ propertyName: "stringCellChildTemplate", first: true, predicate: ["stringCell"], descendants: true, isSignal: true }, { propertyName: "numberCellChildTemplate", first: true, predicate: ["numberCell"], descendants: true, isSignal: true }, { propertyName: "dateCellChildTemplate", first: true, predicate: ["dateCell"], descendants: true, isSignal: true }, { propertyName: "relativeDateCellChildTemplate", first: true, predicate: ["relativeDateCell"], descendants: true, isSignal: true }, { propertyName: "cellChildTemplate", first: true, predicate: ["cell"], descendants: true, isSignal: true }, { propertyName: "translationKeyCellChildTemplate", first: true, predicate: ["translationKeyCell"], descendants: true, isSignal: true }, { propertyName: "stringFilterCellChildTemplate", first: true, predicate: ["stringFilterCell"], descendants: true, isSignal: true }, { propertyName: "numberFilterCellChildTemplate", first: true, predicate: ["numberFilterCell"], descendants: true, isSignal: true }, { propertyName: "dateFilterCellChildTemplate", first: true, predicate: ["dateFilterCell"], descendants: true, isSignal: true }, { propertyName: "relativeDateFilterCellChildTemplate", first: true, predicate: ["relativeDateFilterCell"], descendants: true, isSignal: true }, { propertyName: "filterCellChildTemplate", first: true, predicate: ["filterCell"], descendants: true, isSignal: true }, { propertyName: "translationKeyFilterCellChildTemplate", first: true, predicate: ["translationKeyFilterCell"], descendants: true, isSignal: true }, { propertyName: "templates", predicate: PrimeTemplate, isSignal: true }], viewQueries: [{ propertyName: "viewTemplates", predicate: PrimeTemplate, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #actionColumn let-rowObject=\"localRowObject\">\n @if (actionColumnVisible) {\n <td\n class=\"actions\"\n pFrozenColumn\n [frozen]=\"frozenActionColumn()\"\n [alignFrozen]=\"actionColumnPosition()\"\n [attr.name]=\"actionColumnPosition() === 'left' ? 'action-column-left' : 'action-column-right'\"\n [ngClass]=\"(frozenActionColumn() && actionColumnPosition() === 'left') ? 'border-right-1' : (frozenActionColumn() && actionColumnPosition() === 'right') ? 'border-left-1' : ''\"\n >\n <div class=\"icon-button-row-wrapper\">\n @if (viewTableRowObserved && (!viewActionVisibleField() || fieldIsTruthy(rowObject, viewActionVisibleField()))) {\n <button\n id=\"{{ resolveFieldData(rowObject, 'id') }}-viewButton\"\n *ocxIfPermission=\"viewPermission()\"\n [disabled]=\"!!viewActionEnabledField() && !fieldIsTruthy(rowObject, viewActionEnabledField())\"\n pButton\n class=\"p-button-rounded p-button-text viewTableRowButton\"\n [title]=\"'OCX_DATA_TABLE.ACTIONS.VIEW' | translate\"\n [attr.aria-label]=\"'OCX_DATA_TABLE.ACTIONS.VIEW' | translate\"\n icon=\"pi pi-eye\"\n (click)=\"onViewRow(rowObject)\"\n [attr.name]=\"'data-table-action-button'\"\n ></button>\n } @if (editTableRowObserved && (!editActionVisibleField() || fieldIsTruthy(rowObject, editActionVisibleField())))\n {\n <button\n [id]=\"resolveFieldData(rowObject, 'id')+'-editButton'\"\n *ocxIfPermission=\"editPermission()\"\n [disabled]=\"!!editActionEnabledField() && !fieldIsTruthy(rowObject, editActionEnabledField())\"\n pButton\n class=\"p-button-rounded p-button-text editTableRowButton\"\n [title]=\"'OCX_DATA_TABLE.ACTIONS.EDIT' | translate\"\n [attr.aria-label]=\"'OCX_DATA_TABLE.ACTIONS.EDIT' | translate\"\n icon=\"pi pi-pencil\"\n (click)=\"onEditRow(rowObject)\"\n [attr.name]=\"'data-table-action-button'\"\n ></button>\n } @if ( deleteTableRowObserved && (!deleteActionVisibleField() || fieldIsTruthy(rowObject,\n deleteActionVisibleField())) ) {\n <button\n [id]=\"resolveFieldData(rowObject, 'id')+'-deleteButton'\"\n *ocxIfPermission=\"deletePermission()\"\n [disabled]=\"!!deleteActionEnabledField() && !fieldIsTruthy(rowObject, deleteActionEnabledField())\"\n pButton\n class=\"p-button-rounded p-button-text p-button-danger deleteTableRowButton\"\n [title]=\"'OCX_DATA_TABLE.ACTIONS.DELETE' | translate\"\n [attr.aria-label]=\"'OCX_DATA_TABLE.ACTIONS.DELETE' | translate\"\n icon=\"pi pi-trash\"\n (click)=\"onDeleteRow(rowObject)\"\n [attr.name]=\"'data-table-action-button'\"\n ></button>\n } @for (action of inlineActions(); track action) { @if (!action.actionVisibleField || fieldIsTruthy(rowObject,\n action.actionVisibleField)) {\n <button\n [id]=\"resolveFieldData(rowObject, 'id')+'-'+(action.id ? action.id.concat('ActionButton') : 'inlineActionButton')\"\n *ocxIfPermission=\"action.permission\"\n pButton\n class=\"p-button-rounded p-button-text\"\n [ngClass]=\"action.classes\"\n [icon]=\"action.icon || ''\"\n (click)=\"onActionClick(action, rowObject)\"\n [title]=\"action.labelKey ? (action.labelKey | translate) : ''\"\n [attr.aria-label]=\"action.labelKey ? (action.labelKey | translate) : ''\"\n [disabled]=\"\n action.disabled ||\n (!!action.actionEnabledField && !fieldIsTruthy(rowObject, action.actionEnabledField))\n \"\n [attr.name]=\"'data-table-action-button'\"\n ></button>\n } } @if (hasVisibleOverflowMenuItems(rowObject) | async) {\n <p-menu #menu [model]=\"(overflowMenuItems$ | async) || []\" [popup]=\"true\" appendTo=\"body\"></p-menu>\n <button\n pButton\n class=\"p-button-rounded p-button-text\"\n [icon]=\"'pi pi-ellipsis-v'\"\n (click)=\"toggleOverflowMenu($event, menu, rowObject)\"\n [attr.aria-label]=\"'OCX_DATA_TABLE.MORE_ACTIONS' | translate\"\n [title]=\"'OCX_DATA_TABLE.MORE_ACTIONS' | translate\"\n [name]=\"'data-table-overflow-action-button'\"\n ></button>\n }\n </div>\n </td>\n }\n</ng-template>\n\n<ng-template #expansionColumnHeader>\n @if (expandable() && expansionTemplate()) {\n <th\n pFrozenColumn\n [frozen]=\"frozenExpandColumn()\"\n alignFrozen=\"left\"\n [attr.name]=\"'expansion-column-header'\"\n style=\"width: 4rem\"\n scope=\"col\"\n >\n <span class=\"sr-only\">{{ 'OCX_DATA_TABLE.EXPAND_COLLAPSE_COLUMN' | translate }}</span>\n</th>\n }\n</ng-template>\n\n<ng-template #actionColumnHeader>\n @if (actionColumnVisible) {\n <th\n pFrozenColumn\n [frozen]=\"frozenActionColumn()\"\n [alignFrozen]=\"actionColumnPosition()\"\n [ngClass]=\"(frozenActionColumn() && actionColumnPosition() === 'left') ? 'border-right-1' : (frozenActionColumn() && actionColumnPosition() === 'right') ? 'border-left-1' : ''\"\n [attr.name]=\"actionColumnPosition() === 'left' ? 'action-column-header-left' : 'action-column-header-right'\"\n scope=\"col\"\n >\n {{ 'OCX_DATA_TABLE.ACTIONS_COLUMN_NAME' | translate }}\n </th>\n }\n</ng-template>\n\n@if (displayedPageSize(); as displayedPageSize) { @if ((columnTemplates$ | async) ?? {}; as columnTemplates) {\n<p-table\n [value]=\"(displayedRows$ | async) ?? []\"\n [paginator]=\"paginator()\"\n [first]=\"page() * displayedPageSize\"\n (onPage)=\"onPageChange($event)\"\n [rows]=\"displayedPageSize\"\n [showCurrentPageReport]=\"true\"\n [currentPageReportTemplate]=\"\n (totalRecordsOnServer() ? currentPageShowingWithTotalOnServerKey() : currentPageShowingKey())\n | translate : params()\n \"\n [rowsPerPageOptions]=\"pageSizes()\"\n [id]=\"'dataTable_' + name()\"\n (selectionChange)=\"onSelectionChange($event)\"\n dataKey=\"id\"\n [rowTrackBy]=\"rowTrackByFunction\"\n [selection]=\"selectedFilteredRows()\"\n [scrollable]=\"true\"\n scrollHeight=\"flex\"\n [style]=\"tableStyle()\"\n paginatorDropdownAppendTo=\"body\"\n [rowSelectable]=\"rowSelectable\"\n tableStyleClass=\"h-full\"\n [expandedRowKeys]=\"expandedRowKeys()\"\n (onRowExpand)=\"onRowExpand($event)\"\n (onRowCollapse)=\"onRowCollapse($event)\"\n>\n <ng-template #header>\n <tr style=\"vertical-align: top\">\n <ng-container *ngTemplateOutlet=\"expansionColumnHeader\"></ng-container>\n @if (selectionChangedObserved) {\n <th style=\"width: 4rem\" scope=\"col\">\n @if (allowSelectAll()) {\n <p-tableHeaderCheckbox\n [ocxTooltip]=\"'OCX_DATA_TABLE.SELECT_ALL_TOOLTIP' | translate\"\n [ariaLabel]=\"'OCX_DATA_TABLE.SELECT_ALL_ARIA_LABEL' | translate\"\n ></p-tableHeaderCheckbox>\n }\n <span class=\"sr-only\">{{ 'OCX_DATA_TABLE.SELECTION_COLUMN' | translate }}</span>\n </th>\n } @if (actionColumnPosition() === 'left') {\n <ng-container *ngTemplateOutlet=\"actionColumnHeader\"></ng-container>\n } @for (column of columns(); track column) { @if (column.sortable || column.filterable) {\n <th scope=\"col\" [pSortableColumn]=\"column.sortable ? column.nameKey : undefined\">\n <div\n class=\"table-header-wrapper flex flex-column justify-content-between align-items-start\"\n style=\"height: 100%\"\n >\n <span class=\"flex\" [id]=\"column.id + '-header-name'\">{{ column.nameKey | translate }}</span>\n <span class=\"flex icon-button-header-wrapper\">\n @if (column.sortable) {\n <button\n class=\"pi sortButton pl-0\"\n [class.pi-sort-alt]=\"(column?.id === sortColumn() && sortDirection() === 'NONE') || column?.id !== sortColumn()\"\n [class.pi-sort-amount-up]=\"column?.id === sortColumn() && sortDirection() === 'ASCENDING'\"\n [class.pi-sort-amount-down]=\"column?.id === sortColumn() && sortDirection() === 'DESCENDING'\"\n (click)=\"onSortColumnClick(column.id)\"\n [ocxTooltip]=\"sortIconTitle(column.id) | translate\"\n tooltipPosition=\"bottom\"\n [attr.aria-label]=\"\n 'OCX_DATA_TABLE.TOGGLE_BUTTON.ARIA_LABEL'\n | translate : {\n column: (column.nameKey | translate),\n direction: (sortDirectionToTitle(columnNextSortDirection(column.id)) | translate)\n }\n \"\n ></button>\n } @if (currentEqualFilterOptions$ | async; as equalFilterOptions) { @if (columnFilterTemplates$ | async; as\n columnFilterTemplates) { @if (column.filterable && (!column.filterType || column.filterType ===\n FilterType.EQUALS)) {\n <p-multiselect\n class=\"filterMultiSelect\"\n [options]=\"equalFilterOptions.column?.id === column.id ? equalFilterOptions.options : []\"\n [ngModel]=\"currentEqualSelectedFilters() || []\"\n [showToggleAll]=\"true\"\n [emptyFilterMessage]=\"'OCX_DATA_TABLE.EMPTY_FILTER_MESSAGE' | translate\"\n [displaySelectedLabel]=\"false\"\n [resetFilterOnHide]=\"true\"\n (onChange)=\"onMultiselectFilterChange(column, $event)\"\n placeholder=\" \"\n appendTo=\"body\"\n filterBy=\"toFilterBy\"\n (onFocus)=\"onFilterChosen(column)\"\n [title]=\"'OCX_DATA_TABLE.FILTER_TITLE' | translate\"\n [ariaLabel]=\"'OCX_DATA_TABLE.COLUMN_FILTER_ARIA_LABEL' | translate\"\n [filterPlaceHolder]=\"'OCX_DATA_TABLE.COLUMN_FILTER_PLACEHOLDER' | translate\"\n [ariaFilterLabel]=\"\n 'OCX_DATA_TABLE.FILTER_ARIA_LABEL' | translate : { column: column.nameKey | translate }\n \"\n >\n <ng-template #selecteditems let-value>\n <div\n class=\"pi\"\n [class.pi-filter]=\"!filterAmounts()[column.id]\"\n [class.pi-filter-fill]=\"filterAmounts()[column.id] > 0\"\n ></div>\n </ng-template>\n <ng-template #item let-value>\n @if (columnFilterTemplates[column.id]; as template) {\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{\n rowObject: getRowObjectFromMultiselectItem(value, column),\n column: column\n }\"\n >\n </ng-container>\n }\n </ng-template>\n </p-multiselect>\n } } } @if (column.filterable && column.filterType === FilterType.IS_NOT_EMPTY) {\n <p-multiselect\n class=\"filterMultiSelect\"\n [options]=\"[\n { key: 'OCX_DATA_TABLE.FILTER_YES', value: true },\n { key: 'OCX_DATA_TABLE.FILTER_NO', value: false }\n ]\"\n [ngModel]=\"currentTruthySelectedFilters() || []\"\n [showToggleAll]=\"true\"\n [emptyFilterMessage]=\"'OCX_DATA_TABLE.EMPTY_FILTER_MESSAGE' | translate\"\n [displaySelectedLabel]=\"false\"\n [resetFilterOnHide]=\"true\"\n (onChange)=\"onMultiselectFilterChange(column, $event)\"\n placeholder=\" \"\n appendTo=\"body\"\n (onFocus)=\"onFilterChosen(column)\"\n [title]=\"'OCX_DATA_TABLE.FILTER_TITLE' | translate\"\n [ariaLabel]=\"'OCX_DATA_TABLE.COLUMN_FILTER_ARIA_LABEL' | translate\"\n [ariaFilterLabel]=\"\n 'OCX_DATA_TABLE.FILTER_ARIA_LABEL' | translate : { column: column.nameKey | translate }\n \"\n >\n <ng-template #selecteditems let-value>\n <div\n class=\"pi\"\n [class.pi-filter]=\"!filterAmounts()[column.id]\"\n [class.pi-filter-fill]=\"filterAmounts()[column.id] > 0\"\n ></div>\n </ng-template>\n <ng-template #item let-value> {{ value.key | translate }} </ng-template>\n </p-multiselect>\n }\n </span>\n </div>\n </th>\n } @else {\n <th scope=\"col\">{{ column.nameKey | translate }}</th>\n } } @if (actionColumnPosition() === 'right') {\n <ng-container *ngTemplateOutlet=\"actionColumnHeader\"></ng-container>\n }\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"caption\">\n @if (captionTemplate()) {\n <ng-container>\n <ng-container [ngTemplateOutlet]=\"captionTemplate()\"></ng-container>\n </ng-container>\n }\n </ng-template>\n\n <ng-template #body let-rowObject>\n @if (columnTemplates) {\n <tr [attr.id]=\"'ocx-expanded-row-' + rowObject.id\">\n <ng-container *ngTemplateOutlet=\"expansionColumn; context: {localRowObject: rowObject}\"></ng-container>\n @if (selectionChangedObserved) {\n <td>\n @if (isRowSelectionDisabled(rowObject) && isSelected(rowObject)) {\n <p-checkbox\n [value]=\"true\"\n [binary]=\"true\"\n [disabled]=\"true\"\n [ariaLabel]=\"'OCX_DATA_TABLE.SELECT_ARIA_LABEL' | translate : { key: rowObject.id , rowSummary: getRowSummary(rowObject) }\"\n ></p-checkbox>\n } @else {\n <p-tableCheckbox\n [value]=\"rowObject\"\n [disabled]=\"isRowSelectionDisabled(rowObject)\"\n [ariaLabel]=\"'OCX_DATA_TABLE.SELECT_ARIA_LABEL' | translate : { key: rowObject.id , rowSummary: getRowSummary(rowObject) }\"\n ></p-tableCheckbox>\n }\n </td>\n } @if (actionColumnPosition() === 'left') {\n <ng-container *ngTemplateOutlet=\"actionColumn; context: { localRowObject: rowObject }\"></ng-container>\n } @for (column of columns(); track column) {\n <td>\n @defer (on viewport) { @if (columnTemplates[column.id]) {\n <ng-container\n [ngTemplateOutlet]=\"cell() ?? columnTemplates[column.id]\"\n [ngTemplateOutletContext]=\"{ rowObject: rowObject, column: column }\"\n >\n </ng-container>\n } } @placeholder {\n <p-skeleton width=\"3rem\" />\n }\n </td>\n } @if (actionColumnPosition() === 'right') {\n <ng-container *ngTemplateOutlet=\"actionColumn; context: { localRowObject: rowObject }\"></ng-container>\n }\n </tr>\n }\n </ng-template>\n\n <ng-template #expandedrow let-rowObject>\n @if (expansionTemplate(); as expansionTemplate) {\n <tr>\n <td [attr.colspan]=\"getRowColspan(!!expansionTemplate)\">\n <ng-container\n [ngTemplateOutlet]=\"expansionTemplate.template\"\n [ngTemplateOutletContext]=\"{\n rowObject: rowObject\n }\"\n >\n </ng-container>\n </td>\n </tr>\n }\n </ng-template>\n\n <ng-template #emptymessage>\n <tr>\n <td\n [colSpan]=\"\n getRowColspan(!!expansionTemplate())\n \"\n >\n {{ emptyResultsMessage() || ('OCX_DATA_TABLE.EMPTY_RESULT' | translate) }}\n </td>\n </tr>\n </ng-template>\n</p-table>\n} }\n\n<ng-template #expansionColumn let-rowObject=\"localRowObject\">\n @if (expandable() && expansionTemplate()) {\n <td pFrozenColumn [frozen]=\"frozenExpandColumn()\" alignFrozen=\"left\" [attr.name]=\"'expansion-column'\">\n <button\n type=\"button\"\n pButton\n pRipple\n [icon]=\"isRowExpanded(rowObject) ? 'pi pi-chevron-down' : 'pi pi-chevron-right'\"\n class=\"p-button-rounded p-button-text\"\n (click)=\"toggleRowExpansion(rowObject)\"\n [attr.aria-expanded]=\"isRowExpanded(rowObject)\"\n [attr.aria-controls]=\"'ocx-expanded-row-' + rowObject.id\"\n [attr.aria-label]=\"isRowExpanded(rowObject) ? ('OCX_DATA_TABLE.EXPANDED_ROW' | translate) : ('OCX_DATA_TABLE.COLLAPSED_ROW' | translate)\"\n [title]=\"isRowExpanded(rowObject) ? ('OCX_DATA_TABLE.EXPANDED_ROW' | translate) : ('OCX_DATA_TABLE.COLLAPSED_ROW' | translate)\"\n ></button>\n </td>\n }\n</ng-template>\n\n<ng-template pTemplate=\"defaultStringCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) }} </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultNumberCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) | number }} </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultDateCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) | date: column.dateFormat ?? 'medium' }} </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultRelativeDateCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container>\n {{ 'OCX_DATA_TABLE.EDITED' | translate }} {{ resolveFieldData(rowObject, column.id) | timeago }}\n </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultTranslationKeyCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) | translate }} </ng-container>\n</ng-template>\n", styles: [":host ::ng-deep .p-multiselect{padding:0;background:#f7f7f7;border:none}:host ::ng-deep .p-multiselect .p-multiselect-container{height:20px;width:20px}:host ::ng-deep .p-multiselect .p-multiselect-trigger{display:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect .p-multiselect-label.p-placeholder{color:#262626;font-size:.9rem;font-family:Bold,sans-serif;font-weight:700;padding:0}:host ::ng-deep .p-multiselect:focus-within{box-shadow:none;background:#979797}.pi{border:none;background:none;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3$2.Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["hostName", "value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "directive", type: i2$1.ButtonDirective, selector: "[pButton]", inputs: ["ptButtonDirective", "pButtonPT", "pButtonUnstyled", "hostName", "text", "plain", "raised", "size", "outlined", "rounded", "iconPos", "loadingIcon", "fluid", "label", "icon", "loading", "buttonProps", "severity"] }, { kind: "component", type: i5$2.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i5$2.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i5$2.FrozenColumn, selector: "[pFrozenColumn]", inputs: ["frozen", "alignFrozen"] }, { kind: "component", type: i5$2.TableCheckbox, selector: "p-tableCheckbox", inputs: ["value", "disabled", "required", "index", "inputId", "name", "ariaLabel"] }, { kind: "component", type: i5$2.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "component", type: i4.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex", "appendTo", "motionOptions"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "component", type: i7$1.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "component", type: i5.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "directive", type: i2$4.Ripple, selector: "[pRipple]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: OcxTooltipDirective, selector: "[ocxTooltip]", inputs: ["ocxTooltip"] }, { kind: "directive", type: IfPermissionDirective, selector: "[ocxIfPermission], [ocxIfNotPermission]", inputs: ["ocxIfPermission", "ocxIfNotPermission", "ocxIfPermissionOnMissingPermission", "ocxIfNotPermissionOnMissingPermission", "ocxIfPermissionPermissions", "ocxIfNotPermissionPermissions", "ocxIfPermissionElseTemplate", "ocxIfNotPermissionElseTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "pipe", type: OcxTimeAgoPipe, name: "timeago" }], deferBlockDependencies: [() => [i1.NgTemplateOutlet]] }); }
|
|
3132
3192
|
}
|
|
3133
3193
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DataTableComponent, decorators: [{
|
|
3134
3194
|
type: Component,
|
|
3135
|
-
args: [{ standalone: false, selector: 'ocx-data-table', template: "<ng-template #actionColumn let-rowObject=\"localRowObject\">\n @if ( anyRowActionObserved || additionalActions().length > 0 || overflowActions().length > 0 ) {\n <td\n class=\"actions\"\n pFrozenColumn\n [frozen]=\"frozenActionColumn()\"\n [alignFrozen]=\"actionColumnPosition()\"\n [attr.name]=\"actionColumnPosition() === 'left' ? 'action-column-left' : 'action-column-right'\"\n [ngClass]=\"(frozenActionColumn() && actionColumnPosition() === 'left') ? 'border-right-1' : (frozenActionColumn() && actionColumnPosition() === 'right') ? 'border-left-1' : ''\"\n >\n <div class=\"icon-button-row-wrapper\">\n @if (viewTableRowObserved && (!viewActionVisibleField() || fieldIsTruthy(rowObject, viewActionVisibleField()))) {\n <button\n id=\"{{ resolveFieldData(rowObject, 'id') }}-viewButton\"\n *ocxIfPermission=\"viewPermission()\"\n [disabled]=\"!!viewActionEnabledField() && !fieldIsTruthy(rowObject, viewActionEnabledField())\"\n pButton\n class=\"p-button-rounded p-button-text viewTableRowButton\"\n [title]=\"'OCX_DATA_TABLE.ACTIONS.VIEW' | translate\"\n [attr.aria-label]=\"'OCX_DATA_TABLE.ACTIONS.VIEW' | translate\"\n icon=\"pi pi-eye\"\n (click)=\"onViewRow(rowObject)\"\n [attr.name]=\"'data-table-action-button'\"\n ></button>\n } @if (editTableRowObserved && (!editActionVisibleField() || fieldIsTruthy(rowObject, editActionVisibleField())))\n {\n <button\n [id]=\"resolveFieldData(rowObject, 'id')+'-editButton'\"\n *ocxIfPermission=\"editPermission()\"\n [disabled]=\"!!editActionEnabledField() && !fieldIsTruthy(rowObject, editActionEnabledField())\"\n pButton\n class=\"p-button-rounded p-button-text editTableRowButton\"\n [title]=\"'OCX_DATA_TABLE.ACTIONS.EDIT' | translate\"\n [attr.aria-label]=\"'OCX_DATA_TABLE.ACTIONS.EDIT' | translate\"\n icon=\"pi pi-pencil\"\n (click)=\"onEditRow(rowObject)\"\n [attr.name]=\"'data-table-action-button'\"\n ></button>\n } @if ( deleteTableRowObserved && (!deleteActionVisibleField() || fieldIsTruthy(rowObject,\n deleteActionVisibleField())) ) {\n <button\n [id]=\"resolveFieldData(rowObject, 'id')+'-deleteButton'\"\n *ocxIfPermission=\"deletePermission()\"\n [disabled]=\"!!deleteActionEnabledField() && !fieldIsTruthy(rowObject, deleteActionEnabledField())\"\n pButton\n class=\"p-button-rounded p-button-text p-button-danger deleteTableRowButton\"\n [title]=\"'OCX_DATA_TABLE.ACTIONS.DELETE' | translate\"\n [attr.aria-label]=\"'OCX_DATA_TABLE.ACTIONS.DELETE' | translate\"\n icon=\"pi pi-trash\"\n (click)=\"onDeleteRow(rowObject)\"\n [attr.name]=\"'data-table-action-button'\"\n ></button>\n } @for (action of inlineActions(); track action) { @if (!action.actionVisibleField || fieldIsTruthy(rowObject,\n action.actionVisibleField)) {\n <button\n [id]=\"resolveFieldData(rowObject, 'id')+'-'+(action.id ? action.id.concat('ActionButton') : 'inlineActionButton')\"\n *ocxIfPermission=\"action.permission\"\n pButton\n class=\"p-button-rounded p-button-text\"\n [ngClass]=\"action.classes\"\n [icon]=\"action.icon || ''\"\n (click)=\"onActionClick(action, rowObject)\"\n [title]=\"action.labelKey ? (action.labelKey | translate) : ''\"\n [attr.aria-label]=\"action.labelKey ? (action.labelKey | translate) : ''\"\n [disabled]=\"\n action.disabled ||\n (!!action.actionEnabledField && !fieldIsTruthy(rowObject, action.actionEnabledField))\n \"\n [attr.name]=\"'data-table-action-button'\"\n ></button>\n } } @if (hasVisibleOverflowMenuItems(rowObject) | async) {\n <p-menu #menu [model]=\"(overflowMenuItems$ | async) || []\" [popup]=\"true\" appendTo=\"body\"></p-menu>\n <button\n pButton\n class=\"p-button-rounded p-button-text\"\n [icon]=\"'pi pi-ellipsis-v'\"\n (click)=\"toggleOverflowMenu($event, menu, rowObject)\"\n [attr.aria-label]=\"'OCX_DATA_TABLE.MORE_ACTIONS' | translate\"\n [title]=\"'OCX_DATA_TABLE.MORE_ACTIONS' | translate\"\n [name]=\"'data-table-overflow-action-button'\"\n ></button>\n }\n </div>\n </td>\n }\n</ng-template>\n\n<ng-template #actionColumnHeader>\n @if ( anyRowActionObserved || additionalActions().length > 0 || overflowActions().length > 0 ) {\n <th\n pFrozenColumn\n [frozen]=\"frozenActionColumn()\"\n [alignFrozen]=\"actionColumnPosition()\"\n [ngClass]=\"(frozenActionColumn() && actionColumnPosition() === 'left') ? 'border-right-1' : (frozenActionColumn() && actionColumnPosition() === 'right') ? 'border-left-1' : ''\"\n [attr.name]=\"actionColumnPosition() === 'left' ? 'action-column-header-left' : 'action-column-header-right'\"\n >\n {{ 'OCX_DATA_TABLE.ACTIONS_COLUMN_NAME' | translate }}\n </th>\n }\n</ng-template>\n\n@if (displayedPageSize(); as displayedPageSize) { @if ((columnTemplates$ | async) ?? {}; as columnTemplates) {\n<p-table\n [value]=\"(displayedRows$ | async) ?? []\"\n [paginator]=\"paginator()\"\n [first]=\"page() * displayedPageSize\"\n (onPage)=\"onPageChange($event)\"\n [rows]=\"displayedPageSize\"\n [showCurrentPageReport]=\"true\"\n [currentPageReportTemplate]=\"\n (totalRecordsOnServer() ? currentPageShowingWithTotalOnServerKey() : currentPageShowingKey())\n | translate : params()\n \"\n [rowsPerPageOptions]=\"pageSizes()\"\n [id]=\"'dataTable_' + name()\"\n (selectionChange)=\"onSelectionChange($event)\"\n dataKey=\"id\"\n [rowTrackBy]=\"rowTrackByFunction\"\n [selection]=\"selectedFilteredRows()\"\n [scrollable]=\"true\"\n scrollHeight=\"flex\"\n [style]=\"tableStyle()\"\n paginatorDropdownAppendTo=\"body\"\n [rowSelectable]=\"rowSelectable\"\n tableStyleClass=\"h-full\"\n>\n <ng-template #header>\n <tr style=\"vertical-align: top\">\n @if (selectionChangedObserved) {\n <th style=\"width: 4rem\" scope=\"col\">\n @if (allowSelectAll()) {\n <p-tableHeaderCheckbox\n [ocxTooltip]=\"'OCX_DATA_TABLE.SELECT_ALL_TOOLTIP' | translate\"\n [ariaLabel]=\"'OCX_DATA_TABLE.SELECT_ALL_ARIA_LABEL' | translate\"\n ></p-tableHeaderCheckbox>\n }\n </th>\n } @if (actionColumnPosition() === 'left') {\n <ng-container *ngTemplateOutlet=\"actionColumnHeader\"></ng-container>\n } @for (column of columns(); track column) { @if (column.sortable || column.filterable) {\n <th scope=\"col\">\n <div\n class=\"table-header-wrapper flex flex-column justify-content-between align-items-start\"\n style=\"height: 100%\"\n >\n <span class=\"flex\" [id]=\"column.id + '-header-name'\">{{ column.nameKey | translate }}</span>\n <span class=\"flex icon-button-header-wrapper\">\n @if (column.sortable) {\n <button\n class=\"pi sortButton pl-0\"\n [class.pi-sort-alt]=\"(column?.id === sortColumn() && sortDirection() === 'NONE') || column?.id !== sortColumn()\"\n [class.pi-sort-amount-up]=\"column?.id === sortColumn() && sortDirection() === 'ASCENDING'\"\n [class.pi-sort-amount-down]=\"column?.id === sortColumn() && sortDirection() === 'DESCENDING'\"\n (click)=\"onSortColumnClick(column.id)\"\n [ocxTooltip]=\"sortIconTitle(column.id) | translate\"\n tooltipPosition=\"bottom\"\n [attr.aria-label]=\"\n 'OCX_DATA_TABLE.TOGGLE_BUTTON.ARIA_LABEL'\n | translate : {\n column: (column.nameKey | translate),\n direction: (sortDirectionToTitle(columnNextSortDirection(column.id)) | translate)\n }\n \"\n ></button>\n } @if (currentEqualFilterOptions$ | async; as equalFilterOptions) { @if (columnFilterTemplates$ | async; as\n columnFilterTemplates) { @if (column.filterable && (!column.filterType || column.filterType ===\n FilterType.EQUALS)) {\n <p-multiselect\n class=\"filterMultiSelect\"\n [options]=\"equalFilterOptions.column?.id === column.id ? equalFilterOptions.options : []\"\n [ngModel]=\"currentEqualSelectedFilters() || []\"\n [showToggleAll]=\"true\"\n [emptyFilterMessage]=\"'OCX_DATA_TABLE.EMPTY_FILTER_MESSAGE' | translate\"\n [displaySelectedLabel]=\"false\"\n [resetFilterOnHide]=\"true\"\n (onChange)=\"onMultiselectFilterChange(column, $event)\"\n placeholder=\" \"\n appendTo=\"body\"\n filterBy=\"toFilterBy\"\n (onFocus)=\"onFilterChosen(column)\"\n [title]=\"'OCX_DATA_TABLE.FILTER_TITLE' | translate\"\n [ariaLabel]=\"'OCX_DATA_TABLE.COLUMN_FILTER_ARIA_LABEL' | translate\"\n [ariaFilterLabel]=\"\n 'OCX_DATA_TABLE.FILTER_ARIA_LABEL' | translate : { column: column.nameKey | translate }\n \"\n >\n <ng-template #selecteditems let-value>\n <div\n class=\"pi\"\n [class.pi-filter]=\"!filterAmounts()[column.id]\"\n [class.pi-filter-fill]=\"filterAmounts()[column.id] > 0\"\n ></div>\n </ng-template>\n <ng-template #item let-value>\n @if (columnFilterTemplates[column.id]; as template) {\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{\n rowObject: getRowObjectFromMultiselectItem(value, column),\n column: column\n }\"\n >\n </ng-container>\n }\n </ng-template>\n </p-multiselect>\n } } } @if (column.filterable && column.filterType === FilterType.IS_NOT_EMPTY) {\n <p-multiselect\n class=\"filterMultiSelect\"\n [options]=\"[\n { key: 'OCX_DATA_TABLE.FILTER_YES', value: true },\n { key: 'OCX_DATA_TABLE.FILTER_NO', value: false }\n ]\"\n [ngModel]=\"currentTruthySelectedFilters() || []\"\n [showToggleAll]=\"true\"\n [emptyFilterMessage]=\"'OCX_DATA_TABLE.EMPTY_FILTER_MESSAGE' | translate\"\n [displaySelectedLabel]=\"false\"\n [resetFilterOnHide]=\"true\"\n (onChange)=\"onMultiselectFilterChange(column, $event)\"\n placeholder=\" \"\n appendTo=\"body\"\n (onFocus)=\"onFilterChosen(column)\"\n [title]=\"'OCX_DATA_TABLE.FILTER_TITLE' | translate\"\n [ariaLabel]=\"'OCX_DATA_TABLE.COLUMN_FILTER_ARIA_LABEL' | translate\"\n [ariaFilterLabel]=\"\n 'OCX_DATA_TABLE.FILTER_ARIA_LABEL' | translate : { column: column.nameKey | translate }\n \"\n >\n <ng-template #selecteditems let-value>\n <div\n class=\"pi\"\n [class.pi-filter]=\"!filterAmounts()[column.id]\"\n [class.pi-filter-fill]=\"filterAmounts()[column.id] > 0\"\n ></div>\n </ng-template>\n <ng-template #item let-value> {{ value.key | translate }} </ng-template>\n </p-multiselect>\n }\n </span>\n </div>\n </th>\n } @else {\n <th scope=\"col\">{{ column.nameKey | translate }}</th>\n } } @if (actionColumnPosition() === 'right') {\n <ng-container *ngTemplateOutlet=\"actionColumnHeader\"></ng-container>\n }\n </tr>\n </ng-template>\n\n <ng-template #body let-rowObject>\n @if (columnTemplates) {\n <tr>\n @if (selectionChangedObserved) {\n <td>\n @if (isRowSelectionDisabled(rowObject) && isSelected(rowObject)) {\n <p-checkbox\n [value]=\"true\"\n [binary]=\"true\"\n [disabled]=\"true\"\n [ariaLabel]=\"'OCX_DATA_TABLE.SELECT_ARIA_LABEL' | translate : { key: rowObject.id }\"\n ></p-checkbox>\n } @else {\n <p-tableCheckbox\n [value]=\"rowObject\"\n [disabled]=\"isRowSelectionDisabled(rowObject)\"\n [ariaLabel]=\"'OCX_DATA_TABLE.SELECT_ARIA_LABEL' | translate : { key: rowObject.id }\"\n ></p-tableCheckbox>\n }\n </td>\n } @if (actionColumnPosition() === 'left') {\n <ng-container *ngTemplateOutlet=\"actionColumn; context: { localRowObject: rowObject }\"></ng-container>\n } @for (column of columns(); track column) {\n <td>\n @defer (on viewport) { @if (columnTemplates[column.id]) {\n <ng-container\n [ngTemplateOutlet]=\"cell() ?? columnTemplates[column.id]\"\n [ngTemplateOutletContext]=\"{ rowObject: rowObject, column: column }\"\n >\n </ng-container>\n } } @placeholder {\n <p-skeleton width=\"3rem\" />\n }\n </td>\n } @if (actionColumnPosition() === 'right') {\n <ng-container *ngTemplateOutlet=\"actionColumn; context: { localRowObject: rowObject }\"></ng-container>\n }\n </tr>\n }\n </ng-template>\n\n <ng-template #emptymessage>\n <tr>\n <td\n [colSpan]=\"\n columns().length +\n ((anyRowActionObserved || additionalActions().length > 0) ? 1 : 0) +\n (allowSelectAll() ? 1 : 0)\n \"\n >\n {{ emptyResultsMessage() || ('OCX_DATA_TABLE.EMPTY_RESULT' | translate) }}\n </td>\n </tr>\n </ng-template>\n</p-table>\n} }\n\n<ng-template pTemplate=\"defaultStringCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) }} </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultNumberCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) | number }} </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultDateCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) | date: column.dateFormat ?? 'medium' }} </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultRelativeDateCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container>\n {{ 'OCX_DATA_TABLE.EDITED' | translate }} {{ resolveFieldData(rowObject, column.id) | timeago }}\n </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultTranslationKeyCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) | translate }} </ng-container>\n</ng-template>\n", styles: [":host ::ng-deep .p-multiselect{padding:0;background:#f7f7f7;border:none}:host ::ng-deep .p-multiselect .p-multiselect-container{height:20px;width:20px}:host ::ng-deep .p-multiselect .p-multiselect-trigger{display:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect .p-multiselect-label.p-placeholder{color:#262626;font-size:.9rem;font-family:Bold,sans-serif;font-weight:700;padding:0}:host ::ng-deep .p-multiselect:focus-within{box-shadow:none;background:#979797}.pi{border:none;background:none;cursor:pointer}\n"] }]
|
|
3136
|
-
}], ctorParameters: () => [], propDecorators: { rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }, { type: i0.Output, args: ["rowsChange"] }], selectedRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedRows", required: false }] }, { type: i0.Output, args: ["selectedRowsChange"] }], filters: [{ type: i0.Input, args: [{ isSignal: true, alias: "filters", required: false }] }, { type: i0.Output, args: ["filtersChange"] }], sortDirection: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortDirection", required: false }] }, { type: i0.Output, args: ["sortDirectionChange"] }], sortColumn: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortColumn", required: false }] }, { type: i0.Output, args: ["sortColumnChange"] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }, { type: i0.Output, args: ["columnsChange"] }], clientSideFiltering: [{ type: i0.Input, args: [{ isSignal: true, alias: "clientSideFiltering", required: false }] }], clientSideSorting: [{ type: i0.Input, args: [{ isSignal: true, alias: "clientSideSorting", required: false }] }], sortStates: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortStates", required: false }] }, { type: i0.Output, args: ["sortStatesChange"] }], pageSizes: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSizes", required: false }] }, { type: i0.Output, args: ["pageSizesChange"] }], pageSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSize", required: false }] }, { type: i0.Output, args: ["pageSizeChange"] }], emptyResultsMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyResultsMessage", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }, { type: i0.Output, args: ["nameChange"] }], deletePermission: [{ type: i0.Input, args: [{ isSignal: true, alias: "deletePermission", required: false }] }], viewPermission: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewPermission", required: false }] }], editPermission: [{ type: i0.Input, args: [{ isSignal: true, alias: "editPermission", required: false }] }], deleteActionVisibleField: [{ type: i0.Input, args: [{ isSignal: true, alias: "deleteActionVisibleField", required: false }] }], deleteActionEnabledField: [{ type: i0.Input, args: [{ isSignal: true, alias: "deleteActionEnabledField", required: false }] }], viewActionVisibleField: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewActionVisibleField", required: false }] }], viewActionEnabledField: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewActionEnabledField", required: false }] }], editActionVisibleField: [{ type: i0.Input, args: [{ isSignal: true, alias: "editActionVisibleField", required: false }] }], editActionEnabledField: [{ type: i0.Input, args: [{ isSignal: true, alias: "editActionEnabledField", required: false }] }], selectionEnabledField: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionEnabledField", required: false }] }], allowSelectAll: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowSelectAll", required: false }] }], paginator: [{ type: i0.Input, args: [{ isSignal: true, alias: "paginator", required: false }] }], page: [{ type: i0.Input, args: [{ isSignal: true, alias: "page", required: false }] }, { type: i0.Output, args: ["pageChange"] }], tableStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "tableStyle", required: false }] }], totalRecordsOnServer: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalRecordsOnServer", required: false }] }], currentPageShowingKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentPageShowingKey", required: false }] }], currentPageShowingWithTotalOnServerKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentPageShowingWithTotalOnServerKey", required: false }] }], stringCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "stringCellTemplate", required: false }] }], stringCellChildTemplate: [{ type: i0.ContentChild, args: ['stringCell', { isSignal: true }] }], numberCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "numberCellTemplate", required: false }] }], numberCellChildTemplate: [{ type: i0.ContentChild, args: ['numberCell', { isSignal: true }] }], dateCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateCellTemplate", required: false }] }], dateCellChildTemplate: [{ type: i0.ContentChild, args: ['dateCell', { isSignal: true }] }], relativeDateCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "relativeDateCellTemplate", required: false }] }], relativeDateCellChildTemplate: [{ type: i0.ContentChild, args: ['relativeDateCell', { isSignal: true }] }], cellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "cellTemplate", required: false }] }], cellChildTemplate: [{ type: i0.ContentChild, args: ['cell', { isSignal: true }] }], translationKeyCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationKeyCellTemplate", required: false }] }], translationKeyCellChildTemplate: [{ type: i0.ContentChild, args: ['translationKeyCell', { isSignal: true }] }], stringFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "stringFilterCellTemplate", required: false }] }], stringFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['stringFilterCell', { isSignal: true }] }], numberFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "numberFilterCellTemplate", required: false }] }], numberFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['numberFilterCell', { isSignal: true }] }], dateFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateFilterCellTemplate", required: false }] }], dateFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['dateFilterCell', { isSignal: true }] }], relativeDateFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "relativeDateFilterCellTemplate", required: false }] }], relativeDateFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['relativeDateFilterCell', { isSignal: true }] }], filterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterCellTemplate", required: false }] }], filterCellChildTemplate: [{ type: i0.ContentChild, args: ['filterCell', { isSignal: true }] }], translationKeyFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationKeyFilterCellTemplate", required: false }] }], translationKeyFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['translationKeyFilterCell', { isSignal: true }] }], additionalActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "additionalActions", required: false }] }, { type: i0.Output, args: ["additionalActionsChange"] }], frozenActionColumn: [{ type: i0.Input, args: [{ isSignal: true, alias: "frozenActionColumn", required: false }] }], actionColumnPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionColumnPosition", required: false }] }], filtered: [{ type: i0.Output, args: ["filtered"] }], sorted: [{ type: i0.Output, args: ["sorted"] }], viewTableRow: [{
|
|
3195
|
+
args: [{ standalone: false, selector: 'ocx-data-table', template: "<ng-template #actionColumn let-rowObject=\"localRowObject\">\n @if (actionColumnVisible) {\n <td\n class=\"actions\"\n pFrozenColumn\n [frozen]=\"frozenActionColumn()\"\n [alignFrozen]=\"actionColumnPosition()\"\n [attr.name]=\"actionColumnPosition() === 'left' ? 'action-column-left' : 'action-column-right'\"\n [ngClass]=\"(frozenActionColumn() && actionColumnPosition() === 'left') ? 'border-right-1' : (frozenActionColumn() && actionColumnPosition() === 'right') ? 'border-left-1' : ''\"\n >\n <div class=\"icon-button-row-wrapper\">\n @if (viewTableRowObserved && (!viewActionVisibleField() || fieldIsTruthy(rowObject, viewActionVisibleField()))) {\n <button\n id=\"{{ resolveFieldData(rowObject, 'id') }}-viewButton\"\n *ocxIfPermission=\"viewPermission()\"\n [disabled]=\"!!viewActionEnabledField() && !fieldIsTruthy(rowObject, viewActionEnabledField())\"\n pButton\n class=\"p-button-rounded p-button-text viewTableRowButton\"\n [title]=\"'OCX_DATA_TABLE.ACTIONS.VIEW' | translate\"\n [attr.aria-label]=\"'OCX_DATA_TABLE.ACTIONS.VIEW' | translate\"\n icon=\"pi pi-eye\"\n (click)=\"onViewRow(rowObject)\"\n [attr.name]=\"'data-table-action-button'\"\n ></button>\n } @if (editTableRowObserved && (!editActionVisibleField() || fieldIsTruthy(rowObject, editActionVisibleField())))\n {\n <button\n [id]=\"resolveFieldData(rowObject, 'id')+'-editButton'\"\n *ocxIfPermission=\"editPermission()\"\n [disabled]=\"!!editActionEnabledField() && !fieldIsTruthy(rowObject, editActionEnabledField())\"\n pButton\n class=\"p-button-rounded p-button-text editTableRowButton\"\n [title]=\"'OCX_DATA_TABLE.ACTIONS.EDIT' | translate\"\n [attr.aria-label]=\"'OCX_DATA_TABLE.ACTIONS.EDIT' | translate\"\n icon=\"pi pi-pencil\"\n (click)=\"onEditRow(rowObject)\"\n [attr.name]=\"'data-table-action-button'\"\n ></button>\n } @if ( deleteTableRowObserved && (!deleteActionVisibleField() || fieldIsTruthy(rowObject,\n deleteActionVisibleField())) ) {\n <button\n [id]=\"resolveFieldData(rowObject, 'id')+'-deleteButton'\"\n *ocxIfPermission=\"deletePermission()\"\n [disabled]=\"!!deleteActionEnabledField() && !fieldIsTruthy(rowObject, deleteActionEnabledField())\"\n pButton\n class=\"p-button-rounded p-button-text p-button-danger deleteTableRowButton\"\n [title]=\"'OCX_DATA_TABLE.ACTIONS.DELETE' | translate\"\n [attr.aria-label]=\"'OCX_DATA_TABLE.ACTIONS.DELETE' | translate\"\n icon=\"pi pi-trash\"\n (click)=\"onDeleteRow(rowObject)\"\n [attr.name]=\"'data-table-action-button'\"\n ></button>\n } @for (action of inlineActions(); track action) { @if (!action.actionVisibleField || fieldIsTruthy(rowObject,\n action.actionVisibleField)) {\n <button\n [id]=\"resolveFieldData(rowObject, 'id')+'-'+(action.id ? action.id.concat('ActionButton') : 'inlineActionButton')\"\n *ocxIfPermission=\"action.permission\"\n pButton\n class=\"p-button-rounded p-button-text\"\n [ngClass]=\"action.classes\"\n [icon]=\"action.icon || ''\"\n (click)=\"onActionClick(action, rowObject)\"\n [title]=\"action.labelKey ? (action.labelKey | translate) : ''\"\n [attr.aria-label]=\"action.labelKey ? (action.labelKey | translate) : ''\"\n [disabled]=\"\n action.disabled ||\n (!!action.actionEnabledField && !fieldIsTruthy(rowObject, action.actionEnabledField))\n \"\n [attr.name]=\"'data-table-action-button'\"\n ></button>\n } } @if (hasVisibleOverflowMenuItems(rowObject) | async) {\n <p-menu #menu [model]=\"(overflowMenuItems$ | async) || []\" [popup]=\"true\" appendTo=\"body\"></p-menu>\n <button\n pButton\n class=\"p-button-rounded p-button-text\"\n [icon]=\"'pi pi-ellipsis-v'\"\n (click)=\"toggleOverflowMenu($event, menu, rowObject)\"\n [attr.aria-label]=\"'OCX_DATA_TABLE.MORE_ACTIONS' | translate\"\n [title]=\"'OCX_DATA_TABLE.MORE_ACTIONS' | translate\"\n [name]=\"'data-table-overflow-action-button'\"\n ></button>\n }\n </div>\n </td>\n }\n</ng-template>\n\n<ng-template #expansionColumnHeader>\n @if (expandable() && expansionTemplate()) {\n <th\n pFrozenColumn\n [frozen]=\"frozenExpandColumn()\"\n alignFrozen=\"left\"\n [attr.name]=\"'expansion-column-header'\"\n style=\"width: 4rem\"\n scope=\"col\"\n >\n <span class=\"sr-only\">{{ 'OCX_DATA_TABLE.EXPAND_COLLAPSE_COLUMN' | translate }}</span>\n</th>\n }\n</ng-template>\n\n<ng-template #actionColumnHeader>\n @if (actionColumnVisible) {\n <th\n pFrozenColumn\n [frozen]=\"frozenActionColumn()\"\n [alignFrozen]=\"actionColumnPosition()\"\n [ngClass]=\"(frozenActionColumn() && actionColumnPosition() === 'left') ? 'border-right-1' : (frozenActionColumn() && actionColumnPosition() === 'right') ? 'border-left-1' : ''\"\n [attr.name]=\"actionColumnPosition() === 'left' ? 'action-column-header-left' : 'action-column-header-right'\"\n scope=\"col\"\n >\n {{ 'OCX_DATA_TABLE.ACTIONS_COLUMN_NAME' | translate }}\n </th>\n }\n</ng-template>\n\n@if (displayedPageSize(); as displayedPageSize) { @if ((columnTemplates$ | async) ?? {}; as columnTemplates) {\n<p-table\n [value]=\"(displayedRows$ | async) ?? []\"\n [paginator]=\"paginator()\"\n [first]=\"page() * displayedPageSize\"\n (onPage)=\"onPageChange($event)\"\n [rows]=\"displayedPageSize\"\n [showCurrentPageReport]=\"true\"\n [currentPageReportTemplate]=\"\n (totalRecordsOnServer() ? currentPageShowingWithTotalOnServerKey() : currentPageShowingKey())\n | translate : params()\n \"\n [rowsPerPageOptions]=\"pageSizes()\"\n [id]=\"'dataTable_' + name()\"\n (selectionChange)=\"onSelectionChange($event)\"\n dataKey=\"id\"\n [rowTrackBy]=\"rowTrackByFunction\"\n [selection]=\"selectedFilteredRows()\"\n [scrollable]=\"true\"\n scrollHeight=\"flex\"\n [style]=\"tableStyle()\"\n paginatorDropdownAppendTo=\"body\"\n [rowSelectable]=\"rowSelectable\"\n tableStyleClass=\"h-full\"\n [expandedRowKeys]=\"expandedRowKeys()\"\n (onRowExpand)=\"onRowExpand($event)\"\n (onRowCollapse)=\"onRowCollapse($event)\"\n>\n <ng-template #header>\n <tr style=\"vertical-align: top\">\n <ng-container *ngTemplateOutlet=\"expansionColumnHeader\"></ng-container>\n @if (selectionChangedObserved) {\n <th style=\"width: 4rem\" scope=\"col\">\n @if (allowSelectAll()) {\n <p-tableHeaderCheckbox\n [ocxTooltip]=\"'OCX_DATA_TABLE.SELECT_ALL_TOOLTIP' | translate\"\n [ariaLabel]=\"'OCX_DATA_TABLE.SELECT_ALL_ARIA_LABEL' | translate\"\n ></p-tableHeaderCheckbox>\n }\n <span class=\"sr-only\">{{ 'OCX_DATA_TABLE.SELECTION_COLUMN' | translate }}</span>\n </th>\n } @if (actionColumnPosition() === 'left') {\n <ng-container *ngTemplateOutlet=\"actionColumnHeader\"></ng-container>\n } @for (column of columns(); track column) { @if (column.sortable || column.filterable) {\n <th scope=\"col\" [pSortableColumn]=\"column.sortable ? column.nameKey : undefined\">\n <div\n class=\"table-header-wrapper flex flex-column justify-content-between align-items-start\"\n style=\"height: 100%\"\n >\n <span class=\"flex\" [id]=\"column.id + '-header-name'\">{{ column.nameKey | translate }}</span>\n <span class=\"flex icon-button-header-wrapper\">\n @if (column.sortable) {\n <button\n class=\"pi sortButton pl-0\"\n [class.pi-sort-alt]=\"(column?.id === sortColumn() && sortDirection() === 'NONE') || column?.id !== sortColumn()\"\n [class.pi-sort-amount-up]=\"column?.id === sortColumn() && sortDirection() === 'ASCENDING'\"\n [class.pi-sort-amount-down]=\"column?.id === sortColumn() && sortDirection() === 'DESCENDING'\"\n (click)=\"onSortColumnClick(column.id)\"\n [ocxTooltip]=\"sortIconTitle(column.id) | translate\"\n tooltipPosition=\"bottom\"\n [attr.aria-label]=\"\n 'OCX_DATA_TABLE.TOGGLE_BUTTON.ARIA_LABEL'\n | translate : {\n column: (column.nameKey | translate),\n direction: (sortDirectionToTitle(columnNextSortDirection(column.id)) | translate)\n }\n \"\n ></button>\n } @if (currentEqualFilterOptions$ | async; as equalFilterOptions) { @if (columnFilterTemplates$ | async; as\n columnFilterTemplates) { @if (column.filterable && (!column.filterType || column.filterType ===\n FilterType.EQUALS)) {\n <p-multiselect\n class=\"filterMultiSelect\"\n [options]=\"equalFilterOptions.column?.id === column.id ? equalFilterOptions.options : []\"\n [ngModel]=\"currentEqualSelectedFilters() || []\"\n [showToggleAll]=\"true\"\n [emptyFilterMessage]=\"'OCX_DATA_TABLE.EMPTY_FILTER_MESSAGE' | translate\"\n [displaySelectedLabel]=\"false\"\n [resetFilterOnHide]=\"true\"\n (onChange)=\"onMultiselectFilterChange(column, $event)\"\n placeholder=\" \"\n appendTo=\"body\"\n filterBy=\"toFilterBy\"\n (onFocus)=\"onFilterChosen(column)\"\n [title]=\"'OCX_DATA_TABLE.FILTER_TITLE' | translate\"\n [ariaLabel]=\"'OCX_DATA_TABLE.COLUMN_FILTER_ARIA_LABEL' | translate\"\n [filterPlaceHolder]=\"'OCX_DATA_TABLE.COLUMN_FILTER_PLACEHOLDER' | translate\"\n [ariaFilterLabel]=\"\n 'OCX_DATA_TABLE.FILTER_ARIA_LABEL' | translate : { column: column.nameKey | translate }\n \"\n >\n <ng-template #selecteditems let-value>\n <div\n class=\"pi\"\n [class.pi-filter]=\"!filterAmounts()[column.id]\"\n [class.pi-filter-fill]=\"filterAmounts()[column.id] > 0\"\n ></div>\n </ng-template>\n <ng-template #item let-value>\n @if (columnFilterTemplates[column.id]; as template) {\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{\n rowObject: getRowObjectFromMultiselectItem(value, column),\n column: column\n }\"\n >\n </ng-container>\n }\n </ng-template>\n </p-multiselect>\n } } } @if (column.filterable && column.filterType === FilterType.IS_NOT_EMPTY) {\n <p-multiselect\n class=\"filterMultiSelect\"\n [options]=\"[\n { key: 'OCX_DATA_TABLE.FILTER_YES', value: true },\n { key: 'OCX_DATA_TABLE.FILTER_NO', value: false }\n ]\"\n [ngModel]=\"currentTruthySelectedFilters() || []\"\n [showToggleAll]=\"true\"\n [emptyFilterMessage]=\"'OCX_DATA_TABLE.EMPTY_FILTER_MESSAGE' | translate\"\n [displaySelectedLabel]=\"false\"\n [resetFilterOnHide]=\"true\"\n (onChange)=\"onMultiselectFilterChange(column, $event)\"\n placeholder=\" \"\n appendTo=\"body\"\n (onFocus)=\"onFilterChosen(column)\"\n [title]=\"'OCX_DATA_TABLE.FILTER_TITLE' | translate\"\n [ariaLabel]=\"'OCX_DATA_TABLE.COLUMN_FILTER_ARIA_LABEL' | translate\"\n [ariaFilterLabel]=\"\n 'OCX_DATA_TABLE.FILTER_ARIA_LABEL' | translate : { column: column.nameKey | translate }\n \"\n >\n <ng-template #selecteditems let-value>\n <div\n class=\"pi\"\n [class.pi-filter]=\"!filterAmounts()[column.id]\"\n [class.pi-filter-fill]=\"filterAmounts()[column.id] > 0\"\n ></div>\n </ng-template>\n <ng-template #item let-value> {{ value.key | translate }} </ng-template>\n </p-multiselect>\n }\n </span>\n </div>\n </th>\n } @else {\n <th scope=\"col\">{{ column.nameKey | translate }}</th>\n } } @if (actionColumnPosition() === 'right') {\n <ng-container *ngTemplateOutlet=\"actionColumnHeader\"></ng-container>\n }\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"caption\">\n @if (captionTemplate()) {\n <ng-container>\n <ng-container [ngTemplateOutlet]=\"captionTemplate()\"></ng-container>\n </ng-container>\n }\n </ng-template>\n\n <ng-template #body let-rowObject>\n @if (columnTemplates) {\n <tr [attr.id]=\"'ocx-expanded-row-' + rowObject.id\">\n <ng-container *ngTemplateOutlet=\"expansionColumn; context: {localRowObject: rowObject}\"></ng-container>\n @if (selectionChangedObserved) {\n <td>\n @if (isRowSelectionDisabled(rowObject) && isSelected(rowObject)) {\n <p-checkbox\n [value]=\"true\"\n [binary]=\"true\"\n [disabled]=\"true\"\n [ariaLabel]=\"'OCX_DATA_TABLE.SELECT_ARIA_LABEL' | translate : { key: rowObject.id , rowSummary: getRowSummary(rowObject) }\"\n ></p-checkbox>\n } @else {\n <p-tableCheckbox\n [value]=\"rowObject\"\n [disabled]=\"isRowSelectionDisabled(rowObject)\"\n [ariaLabel]=\"'OCX_DATA_TABLE.SELECT_ARIA_LABEL' | translate : { key: rowObject.id , rowSummary: getRowSummary(rowObject) }\"\n ></p-tableCheckbox>\n }\n </td>\n } @if (actionColumnPosition() === 'left') {\n <ng-container *ngTemplateOutlet=\"actionColumn; context: { localRowObject: rowObject }\"></ng-container>\n } @for (column of columns(); track column) {\n <td>\n @defer (on viewport) { @if (columnTemplates[column.id]) {\n <ng-container\n [ngTemplateOutlet]=\"cell() ?? columnTemplates[column.id]\"\n [ngTemplateOutletContext]=\"{ rowObject: rowObject, column: column }\"\n >\n </ng-container>\n } } @placeholder {\n <p-skeleton width=\"3rem\" />\n }\n </td>\n } @if (actionColumnPosition() === 'right') {\n <ng-container *ngTemplateOutlet=\"actionColumn; context: { localRowObject: rowObject }\"></ng-container>\n }\n </tr>\n }\n </ng-template>\n\n <ng-template #expandedrow let-rowObject>\n @if (expansionTemplate(); as expansionTemplate) {\n <tr>\n <td [attr.colspan]=\"getRowColspan(!!expansionTemplate)\">\n <ng-container\n [ngTemplateOutlet]=\"expansionTemplate.template\"\n [ngTemplateOutletContext]=\"{\n rowObject: rowObject\n }\"\n >\n </ng-container>\n </td>\n </tr>\n }\n </ng-template>\n\n <ng-template #emptymessage>\n <tr>\n <td\n [colSpan]=\"\n getRowColspan(!!expansionTemplate())\n \"\n >\n {{ emptyResultsMessage() || ('OCX_DATA_TABLE.EMPTY_RESULT' | translate) }}\n </td>\n </tr>\n </ng-template>\n</p-table>\n} }\n\n<ng-template #expansionColumn let-rowObject=\"localRowObject\">\n @if (expandable() && expansionTemplate()) {\n <td pFrozenColumn [frozen]=\"frozenExpandColumn()\" alignFrozen=\"left\" [attr.name]=\"'expansion-column'\">\n <button\n type=\"button\"\n pButton\n pRipple\n [icon]=\"isRowExpanded(rowObject) ? 'pi pi-chevron-down' : 'pi pi-chevron-right'\"\n class=\"p-button-rounded p-button-text\"\n (click)=\"toggleRowExpansion(rowObject)\"\n [attr.aria-expanded]=\"isRowExpanded(rowObject)\"\n [attr.aria-controls]=\"'ocx-expanded-row-' + rowObject.id\"\n [attr.aria-label]=\"isRowExpanded(rowObject) ? ('OCX_DATA_TABLE.EXPANDED_ROW' | translate) : ('OCX_DATA_TABLE.COLLAPSED_ROW' | translate)\"\n [title]=\"isRowExpanded(rowObject) ? ('OCX_DATA_TABLE.EXPANDED_ROW' | translate) : ('OCX_DATA_TABLE.COLLAPSED_ROW' | translate)\"\n ></button>\n </td>\n }\n</ng-template>\n\n<ng-template pTemplate=\"defaultStringCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) }} </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultNumberCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) | number }} </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultDateCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) | date: column.dateFormat ?? 'medium' }} </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultRelativeDateCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container>\n {{ 'OCX_DATA_TABLE.EDITED' | translate }} {{ resolveFieldData(rowObject, column.id) | timeago }}\n </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultTranslationKeyCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) | translate }} </ng-container>\n</ng-template>\n", styles: [":host ::ng-deep .p-multiselect{padding:0;background:#f7f7f7;border:none}:host ::ng-deep .p-multiselect .p-multiselect-container{height:20px;width:20px}:host ::ng-deep .p-multiselect .p-multiselect-trigger{display:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect .p-multiselect-label.p-placeholder{color:#262626;font-size:.9rem;font-family:Bold,sans-serif;font-weight:700;padding:0}:host ::ng-deep .p-multiselect:focus-within{box-shadow:none;background:#979797}.pi{border:none;background:none;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}\n"] }]
|
|
3196
|
+
}], ctorParameters: () => [], propDecorators: { rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }, { type: i0.Output, args: ["rowsChange"] }], selectedRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedRows", required: false }] }, { type: i0.Output, args: ["selectedRowsChange"] }], filters: [{ type: i0.Input, args: [{ isSignal: true, alias: "filters", required: false }] }, { type: i0.Output, args: ["filtersChange"] }], sortDirection: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortDirection", required: false }] }, { type: i0.Output, args: ["sortDirectionChange"] }], sortColumn: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortColumn", required: false }] }, { type: i0.Output, args: ["sortColumnChange"] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }, { type: i0.Output, args: ["columnsChange"] }], clientSideFiltering: [{ type: i0.Input, args: [{ isSignal: true, alias: "clientSideFiltering", required: false }] }], clientSideSorting: [{ type: i0.Input, args: [{ isSignal: true, alias: "clientSideSorting", required: false }] }], sortStates: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortStates", required: false }] }, { type: i0.Output, args: ["sortStatesChange"] }], pageSizes: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSizes", required: false }] }, { type: i0.Output, args: ["pageSizesChange"] }], pageSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSize", required: false }] }, { type: i0.Output, args: ["pageSizeChange"] }], emptyResultsMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyResultsMessage", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }, { type: i0.Output, args: ["nameChange"] }], deletePermission: [{ type: i0.Input, args: [{ isSignal: true, alias: "deletePermission", required: false }] }], viewPermission: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewPermission", required: false }] }], editPermission: [{ type: i0.Input, args: [{ isSignal: true, alias: "editPermission", required: false }] }], deleteActionVisibleField: [{ type: i0.Input, args: [{ isSignal: true, alias: "deleteActionVisibleField", required: false }] }], deleteActionEnabledField: [{ type: i0.Input, args: [{ isSignal: true, alias: "deleteActionEnabledField", required: false }] }], viewActionVisibleField: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewActionVisibleField", required: false }] }], viewActionEnabledField: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewActionEnabledField", required: false }] }], editActionVisibleField: [{ type: i0.Input, args: [{ isSignal: true, alias: "editActionVisibleField", required: false }] }], editActionEnabledField: [{ type: i0.Input, args: [{ isSignal: true, alias: "editActionEnabledField", required: false }] }], selectionEnabledField: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionEnabledField", required: false }] }], allowSelectAll: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowSelectAll", required: false }] }], paginator: [{ type: i0.Input, args: [{ isSignal: true, alias: "paginator", required: false }] }], page: [{ type: i0.Input, args: [{ isSignal: true, alias: "page", required: false }] }, { type: i0.Output, args: ["pageChange"] }], tableStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "tableStyle", required: false }] }], totalRecordsOnServer: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalRecordsOnServer", required: false }] }], currentPageShowingKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentPageShowingKey", required: false }] }], currentPageShowingWithTotalOnServerKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentPageShowingWithTotalOnServerKey", required: false }] }], captionTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "captionTemplate", required: false }] }], stringCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "stringCellTemplate", required: false }] }], stringCellChildTemplate: [{ type: i0.ContentChild, args: ['stringCell', { isSignal: true }] }], numberCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "numberCellTemplate", required: false }] }], numberCellChildTemplate: [{ type: i0.ContentChild, args: ['numberCell', { isSignal: true }] }], dateCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateCellTemplate", required: false }] }], dateCellChildTemplate: [{ type: i0.ContentChild, args: ['dateCell', { isSignal: true }] }], relativeDateCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "relativeDateCellTemplate", required: false }] }], relativeDateCellChildTemplate: [{ type: i0.ContentChild, args: ['relativeDateCell', { isSignal: true }] }], cellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "cellTemplate", required: false }] }], cellChildTemplate: [{ type: i0.ContentChild, args: ['cell', { isSignal: true }] }], translationKeyCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationKeyCellTemplate", required: false }] }], translationKeyCellChildTemplate: [{ type: i0.ContentChild, args: ['translationKeyCell', { isSignal: true }] }], stringFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "stringFilterCellTemplate", required: false }] }], stringFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['stringFilterCell', { isSignal: true }] }], numberFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "numberFilterCellTemplate", required: false }] }], numberFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['numberFilterCell', { isSignal: true }] }], dateFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateFilterCellTemplate", required: false }] }], dateFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['dateFilterCell', { isSignal: true }] }], relativeDateFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "relativeDateFilterCellTemplate", required: false }] }], relativeDateFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['relativeDateFilterCell', { isSignal: true }] }], filterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterCellTemplate", required: false }] }], filterCellChildTemplate: [{ type: i0.ContentChild, args: ['filterCell', { isSignal: true }] }], translationKeyFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationKeyFilterCellTemplate", required: false }] }], translationKeyFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['translationKeyFilterCell', { isSignal: true }] }], additionalActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "additionalActions", required: false }] }, { type: i0.Output, args: ["additionalActionsChange"] }], frozenActionColumn: [{ type: i0.Input, args: [{ isSignal: true, alias: "frozenActionColumn", required: false }] }], actionColumnPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionColumnPosition", required: false }] }], expandedRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandedRows", required: false }] }, { type: i0.Output, args: ["expandedRowsChange"] }], expandable: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandable", required: false }] }], frozenExpandColumn: [{ type: i0.Input, args: [{ isSignal: true, alias: "frozenExpandColumn", required: false }] }], filtered: [{ type: i0.Output, args: ["filtered"] }], sorted: [{ type: i0.Output, args: ["sorted"] }], viewTableRow: [{
|
|
3137
3197
|
type: Output
|
|
3138
3198
|
}], editTableRow: [{
|
|
3139
3199
|
type: Output
|
|
@@ -3141,7 +3201,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
3141
3201
|
type: Output
|
|
3142
3202
|
}], selectionChanged: [{
|
|
3143
3203
|
type: Output
|
|
3144
|
-
}], pageChanged: [{ type: i0.Output, args: ["pageChanged"] }], pageSizeChanged: [{ type: i0.Output, args: ["pageSizeChanged"] }], componentStateChanged: [{ type: i0.Output, args: ["componentStateChanged"] }],
|
|
3204
|
+
}], pageChanged: [{ type: i0.Output, args: ["pageChanged"] }], pageSizeChanged: [{ type: i0.Output, args: ["pageSizeChanged"] }], componentStateChanged: [{ type: i0.Output, args: ["componentStateChanged"] }], rowExpanded: [{
|
|
3205
|
+
type: Output
|
|
3206
|
+
}], rowCollapsed: [{
|
|
3207
|
+
type: Output
|
|
3208
|
+
}], templates: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => PrimeTemplate), { isSignal: true }] }], viewTemplates: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => PrimeTemplate), { isSignal: true }] }], parentTemplates: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentTemplates", required: false }] }, { type: i0.Output, args: ["parentTemplatesChange"] }] } });
|
|
3145
3209
|
|
|
3146
3210
|
function orderValuesByTimestamp(valuesWithTimestamp) {
|
|
3147
3211
|
return valuesWithTimestamp.sort((a, b) => b.timestamp - a.timestamp).map((obj) => obj.value);
|
|
@@ -3282,6 +3346,9 @@ class DataViewComponent {
|
|
|
3282
3346
|
this.selectedRows = input([], ...(ngDevMode ? [{ debugName: "selectedRows" }] : []));
|
|
3283
3347
|
this.frozenActionColumn = input(false, ...(ngDevMode ? [{ debugName: "frozenActionColumn" }] : []));
|
|
3284
3348
|
this.actionColumnPosition = input('right', ...(ngDevMode ? [{ debugName: "actionColumnPosition" }] : []));
|
|
3349
|
+
this.expandable = input(false, ...(ngDevMode ? [{ debugName: "expandable" }] : []));
|
|
3350
|
+
this.frozenExpandColumn = input(false, ...(ngDevMode ? [{ debugName: "frozenExpandColumn" }] : []));
|
|
3351
|
+
this.expandedRows = model([], ...(ngDevMode ? [{ debugName: "expandedRows" }] : []));
|
|
3285
3352
|
this.sortStates = input([], ...(ngDevMode ? [{ debugName: "sortStates" }] : []));
|
|
3286
3353
|
this.pageSizes = input([10, 25, 50], ...(ngDevMode ? [{ debugName: "pageSizes" }] : []));
|
|
3287
3354
|
this.pageSize = model(...(ngDevMode ? [undefined, { debugName: "pageSize" }] : []));
|
|
@@ -3339,6 +3406,8 @@ class DataViewComponent {
|
|
|
3339
3406
|
this.pageChanged = output();
|
|
3340
3407
|
this.pageSizeChanged = output();
|
|
3341
3408
|
this.componentStateChanged = output();
|
|
3409
|
+
this.rowExpanded = observableOutput();
|
|
3410
|
+
this.rowCollapsed = observableOutput();
|
|
3342
3411
|
this.firstColumnId = signal(undefined, ...(ngDevMode ? [{ debugName: "firstColumnId" }] : []));
|
|
3343
3412
|
this.parentTemplates = input(...(ngDevMode ? [undefined, { debugName: "parentTemplates" }] : []));
|
|
3344
3413
|
this.templates = contentChildren(PrimeTemplate, ...(ngDevMode ? [{ debugName: "templates" }] : []));
|
|
@@ -3491,14 +3560,14 @@ class DataViewComponent {
|
|
|
3491
3560
|
this.pageSize.set(event);
|
|
3492
3561
|
}
|
|
3493
3562
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DataViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3494
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: DataViewComponent, isStandalone: false, selector: "ocx-data-view", inputs: { deletePermission: { classPropertyName: "deletePermission", publicName: "deletePermission", isSignal: true, isRequired: false, transformFunction: null }, editPermission: { classPropertyName: "editPermission", publicName: "editPermission", isSignal: true, isRequired: false, transformFunction: null }, viewPermission: { classPropertyName: "viewPermission", publicName: "viewPermission", isSignal: true, isRequired: false, transformFunction: null }, deleteActionVisibleField: { classPropertyName: "deleteActionVisibleField", publicName: "deleteActionVisibleField", isSignal: true, isRequired: false, transformFunction: null }, deleteActionEnabledField: { classPropertyName: "deleteActionEnabledField", publicName: "deleteActionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, viewActionVisibleField: { classPropertyName: "viewActionVisibleField", publicName: "viewActionVisibleField", isSignal: true, isRequired: false, transformFunction: null }, viewActionEnabledField: { classPropertyName: "viewActionEnabledField", publicName: "viewActionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, editActionVisibleField: { classPropertyName: "editActionVisibleField", publicName: "editActionVisibleField", isSignal: true, isRequired: false, transformFunction: null }, editActionEnabledField: { classPropertyName: "editActionEnabledField", publicName: "editActionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, tableSelectionEnabledField: { classPropertyName: "tableSelectionEnabledField", publicName: "tableSelectionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, tableAllowSelectAll: { classPropertyName: "tableAllowSelectAll", publicName: "tableAllowSelectAll", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, titleLineId: { classPropertyName: "titleLineId", publicName: "titleLineId", isSignal: true, isRequired: false, transformFunction: null }, subtitleLineIds: { classPropertyName: "subtitleLineIds", publicName: "subtitleLineIds", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, emptyResultsMessage: { classPropertyName: "emptyResultsMessage", publicName: "emptyResultsMessage", isSignal: true, isRequired: false, transformFunction: null }, clientSideSorting: { classPropertyName: "clientSideSorting", publicName: "clientSideSorting", isSignal: true, isRequired: false, transformFunction: null }, clientSideFiltering: { classPropertyName: "clientSideFiltering", publicName: "clientSideFiltering", isSignal: true, isRequired: false, transformFunction: null }, fallbackImage: { classPropertyName: "fallbackImage", publicName: "fallbackImage", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, sortField: { classPropertyName: "sortField", publicName: "sortField", isSignal: true, isRequired: false, transformFunction: null }, sortDirection: { classPropertyName: "sortDirection", publicName: "sortDirection", isSignal: true, isRequired: false, transformFunction: null }, listGridPaginator: { classPropertyName: "listGridPaginator", publicName: "listGridPaginator", isSignal: true, isRequired: false, transformFunction: null }, tablePaginator: { classPropertyName: "tablePaginator", publicName: "tablePaginator", isSignal: true, isRequired: false, transformFunction: null }, paginator: { classPropertyName: "paginator", publicName: "paginator", isSignal: false, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, totalRecordsOnServer: { classPropertyName: "totalRecordsOnServer", publicName: "totalRecordsOnServer", isSignal: true, isRequired: false, transformFunction: null }, currentPageShowingKey: { classPropertyName: "currentPageShowingKey", publicName: "currentPageShowingKey", isSignal: true, isRequired: false, transformFunction: null }, currentPageShowingWithTotalOnServerKey: { classPropertyName: "currentPageShowingWithTotalOnServerKey", publicName: "currentPageShowingWithTotalOnServerKey", isSignal: true, isRequired: false, transformFunction: null }, selectedRows: { classPropertyName: "selectedRows", publicName: "selectedRows", isSignal: true, isRequired: false, transformFunction: null }, frozenActionColumn: { classPropertyName: "frozenActionColumn", publicName: "frozenActionColumn", isSignal: true, isRequired: false, transformFunction: null }, actionColumnPosition: { classPropertyName: "actionColumnPosition", publicName: "actionColumnPosition", isSignal: true, isRequired: false, transformFunction: null }, sortStates: { classPropertyName: "sortStates", publicName: "sortStates", isSignal: true, isRequired: false, transformFunction: null }, pageSizes: { classPropertyName: "pageSizes", publicName: "pageSizes", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, stringTableCellTemplate: { classPropertyName: "stringTableCellTemplate", publicName: "stringTableCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, numberTableCellTemplate: { classPropertyName: "numberTableCellTemplate", publicName: "numberTableCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, dateTableCellTemplate: { classPropertyName: "dateTableCellTemplate", publicName: "dateTableCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, tableCellTemplate: { classPropertyName: "tableCellTemplate", publicName: "tableCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, translationKeyTableCellTemplate: { classPropertyName: "translationKeyTableCellTemplate", publicName: "translationKeyTableCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, gridItemSubtitleLinesTemplate: { classPropertyName: "gridItemSubtitleLinesTemplate", publicName: "gridItemSubtitleLinesTemplate", isSignal: true, isRequired: false, transformFunction: null }, listItemSubtitleLinesTemplate: { classPropertyName: "listItemSubtitleLinesTemplate", publicName: "listItemSubtitleLinesTemplate", isSignal: true, isRequired: false, transformFunction: null }, gridItemTemplate: { classPropertyName: "gridItemTemplate", publicName: "gridItemTemplate", isSignal: true, isRequired: false, transformFunction: null }, listItemTemplate: { classPropertyName: "listItemTemplate", publicName: "listItemTemplate", isSignal: true, isRequired: false, transformFunction: null }, relativeDateTableCellTemplate: { classPropertyName: "relativeDateTableCellTemplate", publicName: "relativeDateTableCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, listValueTemplate: { classPropertyName: "listValueTemplate", publicName: "listValueTemplate", isSignal: true, isRequired: false, transformFunction: null }, translationKeyListValueTemplate: { classPropertyName: "translationKeyListValueTemplate", publicName: "translationKeyListValueTemplate", isSignal: true, isRequired: false, transformFunction: null }, numberListValueTemplate: { classPropertyName: "numberListValueTemplate", publicName: "numberListValueTemplate", isSignal: true, isRequired: false, transformFunction: null }, relativeDateListValueTemplate: { classPropertyName: "relativeDateListValueTemplate", publicName: "relativeDateListValueTemplate", isSignal: true, isRequired: false, transformFunction: null }, stringListValueTemplate: { classPropertyName: "stringListValueTemplate", publicName: "stringListValueTemplate", isSignal: true, isRequired: false, transformFunction: null }, dateListValueTemplate: { classPropertyName: "dateListValueTemplate", publicName: "dateListValueTemplate", isSignal: true, isRequired: false, transformFunction: null }, tableFilterCellTemplate: { classPropertyName: "tableFilterCellTemplate", publicName: "tableFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, dateTableFilterCellTemplate: { classPropertyName: "dateTableFilterCellTemplate", publicName: "dateTableFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, relativeDateTableFilterCellTemplate: { classPropertyName: "relativeDateTableFilterCellTemplate", publicName: "relativeDateTableFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, translationKeyTableFilterCellTemplate: { classPropertyName: "translationKeyTableFilterCellTemplate", publicName: "translationKeyTableFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, stringTableFilterCellTemplate: { classPropertyName: "stringTableFilterCellTemplate", publicName: "stringTableFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, numberTableFilterCellTemplate: { classPropertyName: "numberTableFilterCellTemplate", publicName: "numberTableFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, additionalActions: { classPropertyName: "additionalActions", publicName: "additionalActions", isSignal: true, isRequired: false, transformFunction: null }, parentTemplates: { classPropertyName: "parentTemplates", publicName: "parentTemplates", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filters: "filtersChange", sortField: "sortFieldChange", sortDirection: "sortDirectionChange", listGridPaginator: "listGridPaginatorChange", tablePaginator: "tablePaginatorChange", page: "pageChange", pageSize: "pageSizeChange", filtered: "filtered", sorted: "sorted", deleteItem: "deleteItem", viewItem: "viewItem", editItem: "editItem", selectionChanged: "selectionChanged", pageChanged: "pageChanged", pageSizeChanged: "pageSizeChanged", componentStateChanged: "componentStateChanged" }, providers: [{ provide: 'DataViewComponent', useExisting: DataViewComponent }], queries: [{ propertyName: "stringTableCellChildTemplate", first: true, predicate: ["stringTableCellTemplate"], descendants: true, isSignal: true }, { propertyName: "numberTableCellChildTemplate", first: true, predicate: ["numberTableCellTemplate"], descendants: true, isSignal: true }, { propertyName: "dateTableCellChildTemplate", first: true, predicate: ["dateTableCellTemplate"], descendants: true, isSignal: true }, { propertyName: "tableCellChildTemplate", first: true, predicate: ["tableCellTemplate"], descendants: true, isSignal: true }, { propertyName: "translationKeyTableCellChildTemplate", first: true, predicate: ["translationKeyTableCellTemplate"], descendants: true, isSignal: true }, { propertyName: "gridItemSubtitleLinesChildTemplate", first: true, predicate: ["gridItemSubtitleLinesTemplate"], descendants: true, isSignal: true }, { propertyName: "listItemSubtitleLinesChildTemplate", first: true, predicate: ["listItemSubtitleLinesTemplate"], descendants: true, isSignal: true }, { propertyName: "gridItemChildTemplate", first: true, predicate: ["gridItemTemplate"], descendants: true, isSignal: true }, { propertyName: "listItemChildTemplate", first: true, predicate: ["listItemTemplate"], descendants: true, isSignal: true }, { propertyName: "relativeDateTableCellChildTemplate", first: true, predicate: ["relativeDateTableCellTemplate"], descendants: true, isSignal: true }, { propertyName: "listValueChildTemplate", first: true, predicate: ["listValueTemplate"], descendants: true, isSignal: true }, { propertyName: "translationKeyListValueChildTemplate", first: true, predicate: ["translationKeyListValueTemplate"], descendants: true, isSignal: true }, { propertyName: "numberListValueChildTemplate", first: true, predicate: ["numberListValueTemplate"], descendants: true, isSignal: true }, { propertyName: "relativeDateListValueChildTemplate", first: true, predicate: ["relativeDateListValueTemplate"], descendants: true, isSignal: true }, { propertyName: "stringListValueChildTemplate", first: true, predicate: ["stringListValueTemplate"], descendants: true, isSignal: true }, { propertyName: "dateListValueChildTemplate", first: true, predicate: ["dateListValueTemplate"], descendants: true, isSignal: true }, { propertyName: "tableFilterCellChildTemplate", first: true, predicate: ["tableFilterCellTemplate"], descendants: true, isSignal: true }, { propertyName: "dateTableFilterCellChildTemplate", first: true, predicate: ["dateTableFilterCellTemplate"], descendants: true, isSignal: true }, { propertyName: "relativeDateTableFilterCellChildTemplate", first: true, predicate: ["relativeDateTableFilterCellTemplate"], descendants: true, isSignal: true }, { propertyName: "translationKeyTableFilterCellChildTemplate", first: true, predicate: ["translationKeyTableFilterCellTemplate"], descendants: true, isSignal: true }, { propertyName: "stringTableFilterCellChildTemplate", first: true, predicate: ["stringTableFilterCellTemplate"], descendants: true, isSignal: true }, { propertyName: "numberTableFilterCellChildTemplate", first: true, predicate: ["numberTableFilterCellTemplate"], descendants: true, isSignal: true }, { propertyName: "templates", predicate: PrimeTemplate, isSignal: true }], viewQueries: [{ propertyName: "dataListGridComponent", first: true, predicate: DataListGridComponent, descendants: true, isSignal: true }, { propertyName: "dataTableComponent", first: true, predicate: DataTableComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@if (layout() !== 'table') {\n<div>\n <ocx-data-list-grid\n #ocxdatalistgrid\n [name]=\"name()\"\n [data]=\"data()\"\n [columns]=\"columns()\"\n [filters]=\"filters()\"\n [sortDirection]=\"sortDirection()\"\n [sortField]=\"sortField()\"\n [sortStates]=\"sortStates()\"\n [clientSideFiltering]=\"clientSideFiltering()\"\n [clientSideSorting]=\"clientSideSorting()\"\n [titleLineId]=\"titleLineId()\"\n [subtitleLineIds]=\"subtitleLineIds()\"\n [clientSideSorting]=\"true\"\n [pageSizes]=\"pageSizes()\"\n [pageSize]=\"pageSize()\"\n [paginator]=\"listGridPaginator()\"\n [page]=\"page()\"\n (pageChanged)=\"onPageChange($event)\"\n (pageSizeChanged)=\"onPageSizeChange($event)\"\n (componentStateChanged)=\"dataListGridComponentState$.next($event)\"\n [emptyResultsMessage]=\"emptyResultsMessage()\"\n [layout]=\"layout()\"\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 [gridItemSubtitleLinesTemplate]=\"gridItemSubtitleLines\"\n [listItemSubtitleLinesTemplate]=\"listItemSubtitleLines\"\n [listItemTemplate]=\"listItem\"\n [gridItemTemplate]=\"gridItem\"\n [listValueTemplate]=\"listValue\"\n [translationKeyListValueTemplate]=\"translationKeyListValue\"\n [numberListValueTemplate]=\"numberListValue\"\n [relativeDateListValueTemplate]=\"relativeDateListValue\"\n [stringListValueTemplate]=\"stringListValue\"\n [dateListValueTemplate]=\"dateListValue\"\n [totalRecordsOnServer]=\"totalRecordsOnServer()\"\n [parentTemplates]=\"templatesForChildren()\"\n >\n </ocx-data-list-grid>\n <ng-template #listItemSubtitleLinesTemplate let-item>\n @if (listItemSubtitleLines) {\n <ng-container [ngTemplateOutlet]=\"listItemSubtitleLines\" [ngTemplateOutletContext]=\"{$implicit:item}\">\n </ng-container>\n }</ng-template\n >\n <ng-template #gridItemSubtitleLinesTemplate let-item>\n @if (gridItemSubtitleLines) {\n <ng-container [ngTemplateOutlet]=\"gridItemSubtitleLines\" [ngTemplateOutletContext]=\"{$implicit:item}\">\n </ng-container>\n }</ng-template\n >\n <ng-template #gridItemTemplate let-item>\n @if (gridItem) {\n <ng-container [ngTemplateOutlet]=\"gridItem\" [ngTemplateOutletContext]=\"{$implicit:item}\"> </ng-container>\n }</ng-template\n >\n <ng-template #listItemTemplate let-item>\n @if (listItem) {\n <ng-container [ngTemplateOutlet]=\"listItem\" [ngTemplateOutletContext]=\"{$implicit:item}\"> </ng-container>\n }</ng-template\n >\n <ng-template #listValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (listValue) {\n <ng-container [ngTemplateOutlet]=\"listValue\" [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\">\n </ng-container>\n }</ng-template\n >\n <ng-template #translationKeyListValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (translationKeyListValue) {\n <ng-container\n [ngTemplateOutlet]=\"translationKeyListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #numberListValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (numberListValue) {\n <ng-container\n [ngTemplateOutlet]=\"numberListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #relativeDateListValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (relativeDateListValue) {\n <ng-container\n [ngTemplateOutlet]=\"relativeDateListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #stringListValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (stringListValue) {\n <ng-container\n [ngTemplateOutlet]=\"stringListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #dateListValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (dateListValue) {\n <ng-container [ngTemplateOutlet]=\"dateListValue\" [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\">\n </ng-container>\n }</ng-template\n >\n</div>\n} @if (layout() === 'table') {\n<div>\n <ocx-data-table\n #ocxdatatable\n [rows]=\"data()\"\n [columns]=\"columns()\"\n [filters]=\"filters()\"\n [sortDirection]=\"sortDirection()\"\n [sortColumn]=\"sortField()\"\n [sortStates]=\"sortStates()\"\n [clientSideFiltering]=\"clientSideFiltering()\"\n [clientSideSorting]=\"clientSideSorting()\"\n [pageSizes]=\"pageSizes()\"\n [pageSize]=\"pageSize()\"\n [paginator]=\"tablePaginator()\"\n [page]=\"page()\"\n (pageChanged)=\"onPageChange($event)\"\n (pageSizeChanged)=\"onPageSizeChange($event)\"\n (componentStateChanged)=\"dataTableComponentState$.next($event)\"\n [selectedRows]=\"selectedRows()\"\n [frozenActionColumn]=\"frozenActionColumn()\"\n [actionColumnPosition]=\"actionColumnPosition()\"\n [emptyResultsMessage]=\"emptyResultsMessage()\"\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 [stringCellTemplate]=\"stringTableCell\"\n [numberCellTemplate]=\"numberTableCell\"\n [dateCellTemplate]=\"dateTableCell\"\n [relativeDateCellTemplate]=\"relativeDateTableCell\"\n [cellTemplate]=\"tableCell\"\n [translationKeyCellTemplate]=\"translationKeyTableCell\"\n [filterCellTemplate]=\"tableFilterCell\"\n [dateFilterCellTemplate]=\"dateTableFilterCell\"\n [numberFilterCellTemplate]=\"numberTableFilterCell\"\n [stringFilterCellTemplate]=\"stringTableFilterCell\"\n [relativeDateFilterCellTemplate]=\"relativeDateTableFilterCell\"\n [translationKeyFilterCellTemplate]=\"translationKeyTableFilterCell\"\n (sorted)=\"sorting($event)\"\n (filtered)=\"filtering($event)\"\n [totalRecordsOnServer]=\"totalRecordsOnServer()\"\n [currentPageShowingKey]=\"currentPageShowingKey()\"\n [currentPageShowingWithTotalOnServerKey]=\"currentPageShowingWithTotalOnServerKey()\"\n [parentTemplates]=\"templatesForChildren()\"\n [allowSelectAll]=\"tableAllowSelectAll()\"\n [selectionEnabledField]=\"tableSelectionEnabledField()\"\n >\n </ocx-data-table>\n <ng-template #stringCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (stringTableCell) {\n <ng-container\n [ngTemplateOutlet]=\"stringTableCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #numberCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (numberTableCell) {\n <ng-container\n [ngTemplateOutlet]=\"numberTableCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #dateCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (dateTableCell) {\n <ng-container [ngTemplateOutlet]=\"dateTableCell\" [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\">\n </ng-container>\n }</ng-template\n >\n <ng-template #relativeDateCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (relativeDateTableCell) {\n <ng-container\n [ngTemplateOutlet]=\"relativeDateTableCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #cellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (tableCell) {\n <ng-container [ngTemplateOutlet]=\"tableCell\" [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\">\n </ng-container>\n }</ng-template\n >\n <ng-template #translationKeyCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (translationKeyTableCell) {\n <ng-container\n [ngTemplateOutlet]=\"translationKeyTableCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #stringFilterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (stringTableFilterCell) {\n <ng-container\n [ngTemplateOutlet]=\"stringTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #filterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (tableFilterCell) {\n <ng-container [ngTemplateOutlet]=\"tableFilterCell\" [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\">\n </ng-container>\n }\n </ng-template>\n <ng-template #dateFilterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (dateTableFilterCell) {\n <ng-container\n [ngTemplateOutlet]=\"dateTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }\n </ng-template>\n <ng-template #numberFilterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (numberTableFilterCell) {\n <ng-container\n [ngTemplateOutlet]=\"numberTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }\n </ng-template>\n <ng-template #relativeDateFilterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (relativeDateTableFilterCell) {\n <ng-container\n [ngTemplateOutlet]=\"relativeDateTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }\n </ng-template>\n <ng-template #translationKeyFilterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (translationKeyTableFilterCell) {\n <ng-container\n [ngTemplateOutlet]=\"translationKeyTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }\n </ng-template>\n</div>\n}\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DataListGridComponent, selector: "ocx-data-list-grid", inputs: ["titleLineId", "subtitleLineIds", "clientSideSorting", "clientSideFiltering", "sortStates", "pageSize", "pageSizes", "emptyResultsMessage", "fallbackImage", "layout", "viewPermission", "editPermission", "deletePermission", "deleteActionVisibleField", "deleteActionEnabledField", "viewActionVisibleField", "viewActionEnabledField", "editActionVisibleField", "editActionEnabledField", "viewMenuItemKey", "editMenuItemKey", "deleteMenuItemKey", "paginator", "page", "columns", "name", "totalRecordsOnServer", "currentPageShowingKey", "currentPageShowingWithTotalOnServerKey", "data", "filters", "sortDirection", "sortField", "gridItemSubtitleLinesTemplate", "listItemSubtitleLinesTemplate", "listItemTemplate", "gridItemTemplate", "listValueTemplate", "translationKeyListValueTemplate", "numberListValueTemplate", "relativeDateListValueTemplate", "stringListValueTemplate", "dateListValueTemplate", "additionalActions", "parentTemplates"], outputs: ["pageSizeChange", "pageChange", "nameChange", "viewItem", "editItem", "deleteItem", "pageChanged", "pageSizeChanged", "componentStateChanged", "parentTemplatesChange"] }, { kind: "component", type: DataTableComponent, selector: "ocx-data-table", inputs: ["rows", "selectedRows", "filters", "sortDirection", "sortColumn", "columns", "clientSideFiltering", "clientSideSorting", "sortStates", "pageSizes", "pageSize", "emptyResultsMessage", "name", "deletePermission", "viewPermission", "editPermission", "deleteActionVisibleField", "deleteActionEnabledField", "viewActionVisibleField", "viewActionEnabledField", "editActionVisibleField", "editActionEnabledField", "selectionEnabledField", "allowSelectAll", "paginator", "page", "tableStyle", "totalRecordsOnServer", "currentPageShowingKey", "currentPageShowingWithTotalOnServerKey", "stringCellTemplate", "numberCellTemplate", "dateCellTemplate", "relativeDateCellTemplate", "cellTemplate", "translationKeyCellTemplate", "stringFilterCellTemplate", "numberFilterCellTemplate", "dateFilterCellTemplate", "relativeDateFilterCellTemplate", "filterCellTemplate", "translationKeyFilterCellTemplate", "additionalActions", "frozenActionColumn", "actionColumnPosition", "parentTemplates"], outputs: ["rowsChange", "selectedRowsChange", "filtersChange", "sortDirectionChange", "sortColumnChange", "columnsChange", "sortStatesChange", "pageSizesChange", "pageSizeChange", "nameChange", "pageChange", "additionalActionsChange", "filtered", "sorted", "viewTableRow", "editTableRow", "deleteTableRow", "selectionChanged", "pageChanged", "pageSizeChanged", "componentStateChanged", "parentTemplatesChange"] }] }); }
|
|
3563
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: DataViewComponent, isStandalone: false, selector: "ocx-data-view", inputs: { deletePermission: { classPropertyName: "deletePermission", publicName: "deletePermission", isSignal: true, isRequired: false, transformFunction: null }, editPermission: { classPropertyName: "editPermission", publicName: "editPermission", isSignal: true, isRequired: false, transformFunction: null }, viewPermission: { classPropertyName: "viewPermission", publicName: "viewPermission", isSignal: true, isRequired: false, transformFunction: null }, deleteActionVisibleField: { classPropertyName: "deleteActionVisibleField", publicName: "deleteActionVisibleField", isSignal: true, isRequired: false, transformFunction: null }, deleteActionEnabledField: { classPropertyName: "deleteActionEnabledField", publicName: "deleteActionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, viewActionVisibleField: { classPropertyName: "viewActionVisibleField", publicName: "viewActionVisibleField", isSignal: true, isRequired: false, transformFunction: null }, viewActionEnabledField: { classPropertyName: "viewActionEnabledField", publicName: "viewActionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, editActionVisibleField: { classPropertyName: "editActionVisibleField", publicName: "editActionVisibleField", isSignal: true, isRequired: false, transformFunction: null }, editActionEnabledField: { classPropertyName: "editActionEnabledField", publicName: "editActionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, tableSelectionEnabledField: { classPropertyName: "tableSelectionEnabledField", publicName: "tableSelectionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, tableAllowSelectAll: { classPropertyName: "tableAllowSelectAll", publicName: "tableAllowSelectAll", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, titleLineId: { classPropertyName: "titleLineId", publicName: "titleLineId", isSignal: true, isRequired: false, transformFunction: null }, subtitleLineIds: { classPropertyName: "subtitleLineIds", publicName: "subtitleLineIds", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, emptyResultsMessage: { classPropertyName: "emptyResultsMessage", publicName: "emptyResultsMessage", isSignal: true, isRequired: false, transformFunction: null }, clientSideSorting: { classPropertyName: "clientSideSorting", publicName: "clientSideSorting", isSignal: true, isRequired: false, transformFunction: null }, clientSideFiltering: { classPropertyName: "clientSideFiltering", publicName: "clientSideFiltering", isSignal: true, isRequired: false, transformFunction: null }, fallbackImage: { classPropertyName: "fallbackImage", publicName: "fallbackImage", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, sortField: { classPropertyName: "sortField", publicName: "sortField", isSignal: true, isRequired: false, transformFunction: null }, sortDirection: { classPropertyName: "sortDirection", publicName: "sortDirection", isSignal: true, isRequired: false, transformFunction: null }, listGridPaginator: { classPropertyName: "listGridPaginator", publicName: "listGridPaginator", isSignal: true, isRequired: false, transformFunction: null }, tablePaginator: { classPropertyName: "tablePaginator", publicName: "tablePaginator", isSignal: true, isRequired: false, transformFunction: null }, paginator: { classPropertyName: "paginator", publicName: "paginator", isSignal: false, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, totalRecordsOnServer: { classPropertyName: "totalRecordsOnServer", publicName: "totalRecordsOnServer", isSignal: true, isRequired: false, transformFunction: null }, currentPageShowingKey: { classPropertyName: "currentPageShowingKey", publicName: "currentPageShowingKey", isSignal: true, isRequired: false, transformFunction: null }, currentPageShowingWithTotalOnServerKey: { classPropertyName: "currentPageShowingWithTotalOnServerKey", publicName: "currentPageShowingWithTotalOnServerKey", isSignal: true, isRequired: false, transformFunction: null }, selectedRows: { classPropertyName: "selectedRows", publicName: "selectedRows", isSignal: true, isRequired: false, transformFunction: null }, frozenActionColumn: { classPropertyName: "frozenActionColumn", publicName: "frozenActionColumn", isSignal: true, isRequired: false, transformFunction: null }, actionColumnPosition: { classPropertyName: "actionColumnPosition", publicName: "actionColumnPosition", isSignal: true, isRequired: false, transformFunction: null }, expandable: { classPropertyName: "expandable", publicName: "expandable", isSignal: true, isRequired: false, transformFunction: null }, frozenExpandColumn: { classPropertyName: "frozenExpandColumn", publicName: "frozenExpandColumn", isSignal: true, isRequired: false, transformFunction: null }, expandedRows: { classPropertyName: "expandedRows", publicName: "expandedRows", isSignal: true, isRequired: false, transformFunction: null }, sortStates: { classPropertyName: "sortStates", publicName: "sortStates", isSignal: true, isRequired: false, transformFunction: null }, pageSizes: { classPropertyName: "pageSizes", publicName: "pageSizes", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, stringTableCellTemplate: { classPropertyName: "stringTableCellTemplate", publicName: "stringTableCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, numberTableCellTemplate: { classPropertyName: "numberTableCellTemplate", publicName: "numberTableCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, dateTableCellTemplate: { classPropertyName: "dateTableCellTemplate", publicName: "dateTableCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, tableCellTemplate: { classPropertyName: "tableCellTemplate", publicName: "tableCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, translationKeyTableCellTemplate: { classPropertyName: "translationKeyTableCellTemplate", publicName: "translationKeyTableCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, gridItemSubtitleLinesTemplate: { classPropertyName: "gridItemSubtitleLinesTemplate", publicName: "gridItemSubtitleLinesTemplate", isSignal: true, isRequired: false, transformFunction: null }, listItemSubtitleLinesTemplate: { classPropertyName: "listItemSubtitleLinesTemplate", publicName: "listItemSubtitleLinesTemplate", isSignal: true, isRequired: false, transformFunction: null }, gridItemTemplate: { classPropertyName: "gridItemTemplate", publicName: "gridItemTemplate", isSignal: true, isRequired: false, transformFunction: null }, listItemTemplate: { classPropertyName: "listItemTemplate", publicName: "listItemTemplate", isSignal: true, isRequired: false, transformFunction: null }, relativeDateTableCellTemplate: { classPropertyName: "relativeDateTableCellTemplate", publicName: "relativeDateTableCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, listValueTemplate: { classPropertyName: "listValueTemplate", publicName: "listValueTemplate", isSignal: true, isRequired: false, transformFunction: null }, translationKeyListValueTemplate: { classPropertyName: "translationKeyListValueTemplate", publicName: "translationKeyListValueTemplate", isSignal: true, isRequired: false, transformFunction: null }, numberListValueTemplate: { classPropertyName: "numberListValueTemplate", publicName: "numberListValueTemplate", isSignal: true, isRequired: false, transformFunction: null }, relativeDateListValueTemplate: { classPropertyName: "relativeDateListValueTemplate", publicName: "relativeDateListValueTemplate", isSignal: true, isRequired: false, transformFunction: null }, stringListValueTemplate: { classPropertyName: "stringListValueTemplate", publicName: "stringListValueTemplate", isSignal: true, isRequired: false, transformFunction: null }, dateListValueTemplate: { classPropertyName: "dateListValueTemplate", publicName: "dateListValueTemplate", isSignal: true, isRequired: false, transformFunction: null }, tableFilterCellTemplate: { classPropertyName: "tableFilterCellTemplate", publicName: "tableFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, dateTableFilterCellTemplate: { classPropertyName: "dateTableFilterCellTemplate", publicName: "dateTableFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, relativeDateTableFilterCellTemplate: { classPropertyName: "relativeDateTableFilterCellTemplate", publicName: "relativeDateTableFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, translationKeyTableFilterCellTemplate: { classPropertyName: "translationKeyTableFilterCellTemplate", publicName: "translationKeyTableFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, stringTableFilterCellTemplate: { classPropertyName: "stringTableFilterCellTemplate", publicName: "stringTableFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, numberTableFilterCellTemplate: { classPropertyName: "numberTableFilterCellTemplate", publicName: "numberTableFilterCellTemplate", isSignal: true, isRequired: false, transformFunction: null }, additionalActions: { classPropertyName: "additionalActions", publicName: "additionalActions", isSignal: true, isRequired: false, transformFunction: null }, parentTemplates: { classPropertyName: "parentTemplates", publicName: "parentTemplates", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filters: "filtersChange", sortField: "sortFieldChange", sortDirection: "sortDirectionChange", listGridPaginator: "listGridPaginatorChange", tablePaginator: "tablePaginatorChange", page: "pageChange", expandedRows: "expandedRowsChange", pageSize: "pageSizeChange", filtered: "filtered", sorted: "sorted", deleteItem: "deleteItem", viewItem: "viewItem", editItem: "editItem", selectionChanged: "selectionChanged", pageChanged: "pageChanged", pageSizeChanged: "pageSizeChanged", componentStateChanged: "componentStateChanged", rowExpanded: "rowExpanded", rowCollapsed: "rowCollapsed" }, providers: [{ provide: 'DataViewComponent', useExisting: DataViewComponent }], queries: [{ propertyName: "stringTableCellChildTemplate", first: true, predicate: ["stringTableCellTemplate"], descendants: true, isSignal: true }, { propertyName: "numberTableCellChildTemplate", first: true, predicate: ["numberTableCellTemplate"], descendants: true, isSignal: true }, { propertyName: "dateTableCellChildTemplate", first: true, predicate: ["dateTableCellTemplate"], descendants: true, isSignal: true }, { propertyName: "tableCellChildTemplate", first: true, predicate: ["tableCellTemplate"], descendants: true, isSignal: true }, { propertyName: "translationKeyTableCellChildTemplate", first: true, predicate: ["translationKeyTableCellTemplate"], descendants: true, isSignal: true }, { propertyName: "gridItemSubtitleLinesChildTemplate", first: true, predicate: ["gridItemSubtitleLinesTemplate"], descendants: true, isSignal: true }, { propertyName: "listItemSubtitleLinesChildTemplate", first: true, predicate: ["listItemSubtitleLinesTemplate"], descendants: true, isSignal: true }, { propertyName: "gridItemChildTemplate", first: true, predicate: ["gridItemTemplate"], descendants: true, isSignal: true }, { propertyName: "listItemChildTemplate", first: true, predicate: ["listItemTemplate"], descendants: true, isSignal: true }, { propertyName: "relativeDateTableCellChildTemplate", first: true, predicate: ["relativeDateTableCellTemplate"], descendants: true, isSignal: true }, { propertyName: "listValueChildTemplate", first: true, predicate: ["listValueTemplate"], descendants: true, isSignal: true }, { propertyName: "translationKeyListValueChildTemplate", first: true, predicate: ["translationKeyListValueTemplate"], descendants: true, isSignal: true }, { propertyName: "numberListValueChildTemplate", first: true, predicate: ["numberListValueTemplate"], descendants: true, isSignal: true }, { propertyName: "relativeDateListValueChildTemplate", first: true, predicate: ["relativeDateListValueTemplate"], descendants: true, isSignal: true }, { propertyName: "stringListValueChildTemplate", first: true, predicate: ["stringListValueTemplate"], descendants: true, isSignal: true }, { propertyName: "dateListValueChildTemplate", first: true, predicate: ["dateListValueTemplate"], descendants: true, isSignal: true }, { propertyName: "tableFilterCellChildTemplate", first: true, predicate: ["tableFilterCellTemplate"], descendants: true, isSignal: true }, { propertyName: "dateTableFilterCellChildTemplate", first: true, predicate: ["dateTableFilterCellTemplate"], descendants: true, isSignal: true }, { propertyName: "relativeDateTableFilterCellChildTemplate", first: true, predicate: ["relativeDateTableFilterCellTemplate"], descendants: true, isSignal: true }, { propertyName: "translationKeyTableFilterCellChildTemplate", first: true, predicate: ["translationKeyTableFilterCellTemplate"], descendants: true, isSignal: true }, { propertyName: "stringTableFilterCellChildTemplate", first: true, predicate: ["stringTableFilterCellTemplate"], descendants: true, isSignal: true }, { propertyName: "numberTableFilterCellChildTemplate", first: true, predicate: ["numberTableFilterCellTemplate"], descendants: true, isSignal: true }, { propertyName: "templates", predicate: PrimeTemplate, isSignal: true }], viewQueries: [{ propertyName: "dataListGridComponent", first: true, predicate: DataListGridComponent, descendants: true, isSignal: true }, { propertyName: "dataTableComponent", first: true, predicate: DataTableComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@if (layout() !== 'table') {\n<div>\n <ocx-data-list-grid\n #ocxdatalistgrid\n [name]=\"name()\"\n [data]=\"data()\"\n [columns]=\"columns()\"\n [filters]=\"filters()\"\n [sortDirection]=\"sortDirection()\"\n [sortField]=\"sortField()\"\n [sortStates]=\"sortStates()\"\n [clientSideFiltering]=\"clientSideFiltering()\"\n [clientSideSorting]=\"clientSideSorting()\"\n [titleLineId]=\"titleLineId()\"\n [subtitleLineIds]=\"subtitleLineIds()\"\n [clientSideSorting]=\"true\"\n [pageSizes]=\"pageSizes()\"\n [pageSize]=\"pageSize()\"\n [paginator]=\"listGridPaginator()\"\n [page]=\"page()\"\n (pageChanged)=\"onPageChange($event)\"\n (pageSizeChanged)=\"onPageSizeChange($event)\"\n (componentStateChanged)=\"dataListGridComponentState$.next($event)\"\n [emptyResultsMessage]=\"emptyResultsMessage()\"\n [layout]=\"layout()\"\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 [gridItemSubtitleLinesTemplate]=\"gridItemSubtitleLines\"\n [listItemSubtitleLinesTemplate]=\"listItemSubtitleLines\"\n [listItemTemplate]=\"listItem\"\n [gridItemTemplate]=\"gridItem\"\n [listValueTemplate]=\"listValue\"\n [translationKeyListValueTemplate]=\"translationKeyListValue\"\n [numberListValueTemplate]=\"numberListValue\"\n [relativeDateListValueTemplate]=\"relativeDateListValue\"\n [stringListValueTemplate]=\"stringListValue\"\n [dateListValueTemplate]=\"dateListValue\"\n [totalRecordsOnServer]=\"totalRecordsOnServer()\"\n [parentTemplates]=\"templatesForChildren()\"\n >\n </ocx-data-list-grid>\n <ng-template #listItemSubtitleLinesTemplate let-item>\n @if (listItemSubtitleLines) {\n <ng-container [ngTemplateOutlet]=\"listItemSubtitleLines\" [ngTemplateOutletContext]=\"{$implicit:item}\">\n </ng-container>\n }</ng-template\n >\n <ng-template #gridItemSubtitleLinesTemplate let-item>\n @if (gridItemSubtitleLines) {\n <ng-container [ngTemplateOutlet]=\"gridItemSubtitleLines\" [ngTemplateOutletContext]=\"{$implicit:item}\">\n </ng-container>\n }</ng-template\n >\n <ng-template #gridItemTemplate let-item>\n @if (gridItem) {\n <ng-container [ngTemplateOutlet]=\"gridItem\" [ngTemplateOutletContext]=\"{$implicit:item}\"> </ng-container>\n }</ng-template\n >\n <ng-template #listItemTemplate let-item>\n @if (listItem) {\n <ng-container [ngTemplateOutlet]=\"listItem\" [ngTemplateOutletContext]=\"{$implicit:item}\"> </ng-container>\n }</ng-template\n >\n <ng-template #listValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (listValue) {\n <ng-container [ngTemplateOutlet]=\"listValue\" [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\">\n </ng-container>\n }</ng-template\n >\n <ng-template #translationKeyListValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (translationKeyListValue) {\n <ng-container\n [ngTemplateOutlet]=\"translationKeyListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #numberListValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (numberListValue) {\n <ng-container\n [ngTemplateOutlet]=\"numberListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #relativeDateListValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (relativeDateListValue) {\n <ng-container\n [ngTemplateOutlet]=\"relativeDateListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #stringListValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (stringListValue) {\n <ng-container\n [ngTemplateOutlet]=\"stringListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #dateListValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (dateListValue) {\n <ng-container [ngTemplateOutlet]=\"dateListValue\" [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\">\n </ng-container>\n }</ng-template\n >\n</div>\n} @if (layout() === 'table') {\n<div>\n <ocx-data-table\n #ocxdatatable\n [rows]=\"data()\"\n [columns]=\"columns()\"\n [filters]=\"filters()\"\n [sortDirection]=\"sortDirection()\"\n [sortColumn]=\"sortField()\"\n [sortStates]=\"sortStates()\"\n [clientSideFiltering]=\"clientSideFiltering()\"\n [clientSideSorting]=\"clientSideSorting()\"\n [pageSizes]=\"pageSizes()\"\n [pageSize]=\"pageSize()\"\n [paginator]=\"tablePaginator()\"\n [page]=\"page()\"\n (pageChanged)=\"onPageChange($event)\"\n (pageSizeChanged)=\"onPageSizeChange($event)\"\n (componentStateChanged)=\"dataTableComponentState$.next($event)\"\n [selectedRows]=\"selectedRows()\"\n [frozenActionColumn]=\"frozenActionColumn()\"\n [actionColumnPosition]=\"actionColumnPosition()\"\n [emptyResultsMessage]=\"emptyResultsMessage()\"\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 [stringCellTemplate]=\"stringTableCell\"\n [numberCellTemplate]=\"numberTableCell\"\n [dateCellTemplate]=\"dateTableCell\"\n [relativeDateCellTemplate]=\"relativeDateTableCell\"\n [cellTemplate]=\"tableCell\"\n [translationKeyCellTemplate]=\"translationKeyTableCell\"\n [filterCellTemplate]=\"tableFilterCell\"\n [dateFilterCellTemplate]=\"dateTableFilterCell\"\n [numberFilterCellTemplate]=\"numberTableFilterCell\"\n [stringFilterCellTemplate]=\"stringTableFilterCell\"\n [relativeDateFilterCellTemplate]=\"relativeDateTableFilterCell\"\n [translationKeyFilterCellTemplate]=\"translationKeyTableFilterCell\"\n (sorted)=\"sorting($event)\"\n (filtered)=\"filtering($event)\"\n [totalRecordsOnServer]=\"totalRecordsOnServer()\"\n [currentPageShowingKey]=\"currentPageShowingKey()\"\n [currentPageShowingWithTotalOnServerKey]=\"currentPageShowingWithTotalOnServerKey()\"\n [parentTemplates]=\"templatesForChildren()\"\n [allowSelectAll]=\"tableAllowSelectAll()\"\n [selectionEnabledField]=\"tableSelectionEnabledField()\"\n [expandable]=\"expandable()\"\n [frozenExpandColumn]=\"frozenExpandColumn()\"\n [(expandedRows)]=\"expandedRows\"\n (rowExpanded)=\"rowExpanded.emit($event)\"\n (rowCollapsed)=\"rowCollapsed.emit($event)\"\n >\n </ocx-data-table>\n <ng-template #stringCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (stringTableCell) {\n <ng-container\n [ngTemplateOutlet]=\"stringTableCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #numberCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (numberTableCell) {\n <ng-container\n [ngTemplateOutlet]=\"numberTableCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #dateCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (dateTableCell) {\n <ng-container [ngTemplateOutlet]=\"dateTableCell\" [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\">\n </ng-container>\n }</ng-template\n >\n <ng-template #relativeDateCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (relativeDateTableCell) {\n <ng-container\n [ngTemplateOutlet]=\"relativeDateTableCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #cellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (tableCell) {\n <ng-container [ngTemplateOutlet]=\"tableCell\" [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\">\n </ng-container>\n }</ng-template\n >\n <ng-template #translationKeyCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (translationKeyTableCell) {\n <ng-container\n [ngTemplateOutlet]=\"translationKeyTableCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #stringFilterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (stringTableFilterCell) {\n <ng-container\n [ngTemplateOutlet]=\"stringTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #filterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (tableFilterCell) {\n <ng-container [ngTemplateOutlet]=\"tableFilterCell\" [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\">\n </ng-container>\n }\n </ng-template>\n <ng-template #dateFilterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (dateTableFilterCell) {\n <ng-container\n [ngTemplateOutlet]=\"dateTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }\n </ng-template>\n <ng-template #numberFilterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (numberTableFilterCell) {\n <ng-container\n [ngTemplateOutlet]=\"numberTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }\n </ng-template>\n <ng-template #relativeDateFilterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (relativeDateTableFilterCell) {\n <ng-container\n [ngTemplateOutlet]=\"relativeDateTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }\n </ng-template>\n <ng-template #translationKeyFilterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (translationKeyTableFilterCell) {\n <ng-container\n [ngTemplateOutlet]=\"translationKeyTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }\n </ng-template>\n</div>\n}\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DataListGridComponent, selector: "ocx-data-list-grid", inputs: ["titleLineId", "subtitleLineIds", "clientSideSorting", "clientSideFiltering", "sortStates", "pageSize", "pageSizes", "emptyResultsMessage", "fallbackImage", "layout", "viewPermission", "editPermission", "deletePermission", "deleteActionVisibleField", "deleteActionEnabledField", "viewActionVisibleField", "viewActionEnabledField", "editActionVisibleField", "editActionEnabledField", "viewMenuItemKey", "editMenuItemKey", "deleteMenuItemKey", "paginator", "page", "columns", "name", "totalRecordsOnServer", "currentPageShowingKey", "currentPageShowingWithTotalOnServerKey", "data", "filters", "sortDirection", "sortField", "gridItemSubtitleLinesTemplate", "listItemSubtitleLinesTemplate", "listItemTemplate", "gridItemTemplate", "listValueTemplate", "translationKeyListValueTemplate", "numberListValueTemplate", "relativeDateListValueTemplate", "stringListValueTemplate", "dateListValueTemplate", "additionalActions", "parentTemplates"], outputs: ["pageSizeChange", "pageChange", "nameChange", "viewItem", "editItem", "deleteItem", "pageChanged", "pageSizeChanged", "componentStateChanged", "parentTemplatesChange"] }, { kind: "component", type: DataTableComponent, selector: "ocx-data-table", inputs: ["rows", "selectedRows", "filters", "sortDirection", "sortColumn", "columns", "clientSideFiltering", "clientSideSorting", "sortStates", "pageSizes", "pageSize", "emptyResultsMessage", "name", "deletePermission", "viewPermission", "editPermission", "deleteActionVisibleField", "deleteActionEnabledField", "viewActionVisibleField", "viewActionEnabledField", "editActionVisibleField", "editActionEnabledField", "selectionEnabledField", "allowSelectAll", "paginator", "page", "tableStyle", "totalRecordsOnServer", "currentPageShowingKey", "currentPageShowingWithTotalOnServerKey", "captionTemplate", "stringCellTemplate", "numberCellTemplate", "dateCellTemplate", "relativeDateCellTemplate", "cellTemplate", "translationKeyCellTemplate", "stringFilterCellTemplate", "numberFilterCellTemplate", "dateFilterCellTemplate", "relativeDateFilterCellTemplate", "filterCellTemplate", "translationKeyFilterCellTemplate", "additionalActions", "frozenActionColumn", "actionColumnPosition", "expandedRows", "expandable", "frozenExpandColumn", "parentTemplates"], outputs: ["rowsChange", "selectedRowsChange", "filtersChange", "sortDirectionChange", "sortColumnChange", "columnsChange", "sortStatesChange", "pageSizesChange", "pageSizeChange", "nameChange", "pageChange", "additionalActionsChange", "expandedRowsChange", "filtered", "sorted", "viewTableRow", "editTableRow", "deleteTableRow", "selectionChanged", "pageChanged", "pageSizeChanged", "componentStateChanged", "rowExpanded", "rowCollapsed", "parentTemplatesChange"] }] }); }
|
|
3495
3564
|
}
|
|
3496
3565
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DataViewComponent, decorators: [{
|
|
3497
3566
|
type: Component,
|
|
3498
|
-
args: [{ standalone: false, selector: 'ocx-data-view', providers: [{ provide: 'DataViewComponent', useExisting: DataViewComponent }], template: "@if (layout() !== 'table') {\n<div>\n <ocx-data-list-grid\n #ocxdatalistgrid\n [name]=\"name()\"\n [data]=\"data()\"\n [columns]=\"columns()\"\n [filters]=\"filters()\"\n [sortDirection]=\"sortDirection()\"\n [sortField]=\"sortField()\"\n [sortStates]=\"sortStates()\"\n [clientSideFiltering]=\"clientSideFiltering()\"\n [clientSideSorting]=\"clientSideSorting()\"\n [titleLineId]=\"titleLineId()\"\n [subtitleLineIds]=\"subtitleLineIds()\"\n [clientSideSorting]=\"true\"\n [pageSizes]=\"pageSizes()\"\n [pageSize]=\"pageSize()\"\n [paginator]=\"listGridPaginator()\"\n [page]=\"page()\"\n (pageChanged)=\"onPageChange($event)\"\n (pageSizeChanged)=\"onPageSizeChange($event)\"\n (componentStateChanged)=\"dataListGridComponentState$.next($event)\"\n [emptyResultsMessage]=\"emptyResultsMessage()\"\n [layout]=\"layout()\"\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 [gridItemSubtitleLinesTemplate]=\"gridItemSubtitleLines\"\n [listItemSubtitleLinesTemplate]=\"listItemSubtitleLines\"\n [listItemTemplate]=\"listItem\"\n [gridItemTemplate]=\"gridItem\"\n [listValueTemplate]=\"listValue\"\n [translationKeyListValueTemplate]=\"translationKeyListValue\"\n [numberListValueTemplate]=\"numberListValue\"\n [relativeDateListValueTemplate]=\"relativeDateListValue\"\n [stringListValueTemplate]=\"stringListValue\"\n [dateListValueTemplate]=\"dateListValue\"\n [totalRecordsOnServer]=\"totalRecordsOnServer()\"\n [parentTemplates]=\"templatesForChildren()\"\n >\n </ocx-data-list-grid>\n <ng-template #listItemSubtitleLinesTemplate let-item>\n @if (listItemSubtitleLines) {\n <ng-container [ngTemplateOutlet]=\"listItemSubtitleLines\" [ngTemplateOutletContext]=\"{$implicit:item}\">\n </ng-container>\n }</ng-template\n >\n <ng-template #gridItemSubtitleLinesTemplate let-item>\n @if (gridItemSubtitleLines) {\n <ng-container [ngTemplateOutlet]=\"gridItemSubtitleLines\" [ngTemplateOutletContext]=\"{$implicit:item}\">\n </ng-container>\n }</ng-template\n >\n <ng-template #gridItemTemplate let-item>\n @if (gridItem) {\n <ng-container [ngTemplateOutlet]=\"gridItem\" [ngTemplateOutletContext]=\"{$implicit:item}\"> </ng-container>\n }</ng-template\n >\n <ng-template #listItemTemplate let-item>\n @if (listItem) {\n <ng-container [ngTemplateOutlet]=\"listItem\" [ngTemplateOutletContext]=\"{$implicit:item}\"> </ng-container>\n }</ng-template\n >\n <ng-template #listValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (listValue) {\n <ng-container [ngTemplateOutlet]=\"listValue\" [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\">\n </ng-container>\n }</ng-template\n >\n <ng-template #translationKeyListValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (translationKeyListValue) {\n <ng-container\n [ngTemplateOutlet]=\"translationKeyListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #numberListValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (numberListValue) {\n <ng-container\n [ngTemplateOutlet]=\"numberListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #relativeDateListValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (relativeDateListValue) {\n <ng-container\n [ngTemplateOutlet]=\"relativeDateListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #stringListValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (stringListValue) {\n <ng-container\n [ngTemplateOutlet]=\"stringListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #dateListValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (dateListValue) {\n <ng-container [ngTemplateOutlet]=\"dateListValue\" [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\">\n </ng-container>\n }</ng-template\n >\n</div>\n} @if (layout() === 'table') {\n<div>\n <ocx-data-table\n #ocxdatatable\n [rows]=\"data()\"\n [columns]=\"columns()\"\n [filters]=\"filters()\"\n [sortDirection]=\"sortDirection()\"\n [sortColumn]=\"sortField()\"\n [sortStates]=\"sortStates()\"\n [clientSideFiltering]=\"clientSideFiltering()\"\n [clientSideSorting]=\"clientSideSorting()\"\n [pageSizes]=\"pageSizes()\"\n [pageSize]=\"pageSize()\"\n [paginator]=\"tablePaginator()\"\n [page]=\"page()\"\n (pageChanged)=\"onPageChange($event)\"\n (pageSizeChanged)=\"onPageSizeChange($event)\"\n (componentStateChanged)=\"dataTableComponentState$.next($event)\"\n [selectedRows]=\"selectedRows()\"\n [frozenActionColumn]=\"frozenActionColumn()\"\n [actionColumnPosition]=\"actionColumnPosition()\"\n [emptyResultsMessage]=\"emptyResultsMessage()\"\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 [stringCellTemplate]=\"stringTableCell\"\n [numberCellTemplate]=\"numberTableCell\"\n [dateCellTemplate]=\"dateTableCell\"\n [relativeDateCellTemplate]=\"relativeDateTableCell\"\n [cellTemplate]=\"tableCell\"\n [translationKeyCellTemplate]=\"translationKeyTableCell\"\n [filterCellTemplate]=\"tableFilterCell\"\n [dateFilterCellTemplate]=\"dateTableFilterCell\"\n [numberFilterCellTemplate]=\"numberTableFilterCell\"\n [stringFilterCellTemplate]=\"stringTableFilterCell\"\n [relativeDateFilterCellTemplate]=\"relativeDateTableFilterCell\"\n [translationKeyFilterCellTemplate]=\"translationKeyTableFilterCell\"\n (sorted)=\"sorting($event)\"\n (filtered)=\"filtering($event)\"\n [totalRecordsOnServer]=\"totalRecordsOnServer()\"\n [currentPageShowingKey]=\"currentPageShowingKey()\"\n [currentPageShowingWithTotalOnServerKey]=\"currentPageShowingWithTotalOnServerKey()\"\n [parentTemplates]=\"templatesForChildren()\"\n [allowSelectAll]=\"tableAllowSelectAll()\"\n [selectionEnabledField]=\"tableSelectionEnabledField()\"\n >\n </ocx-data-table>\n <ng-template #stringCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (stringTableCell) {\n <ng-container\n [ngTemplateOutlet]=\"stringTableCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #numberCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (numberTableCell) {\n <ng-container\n [ngTemplateOutlet]=\"numberTableCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #dateCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (dateTableCell) {\n <ng-container [ngTemplateOutlet]=\"dateTableCell\" [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\">\n </ng-container>\n }</ng-template\n >\n <ng-template #relativeDateCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (relativeDateTableCell) {\n <ng-container\n [ngTemplateOutlet]=\"relativeDateTableCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #cellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (tableCell) {\n <ng-container [ngTemplateOutlet]=\"tableCell\" [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\">\n </ng-container>\n }</ng-template\n >\n <ng-template #translationKeyCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (translationKeyTableCell) {\n <ng-container\n [ngTemplateOutlet]=\"translationKeyTableCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #stringFilterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (stringTableFilterCell) {\n <ng-container\n [ngTemplateOutlet]=\"stringTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #filterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (tableFilterCell) {\n <ng-container [ngTemplateOutlet]=\"tableFilterCell\" [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\">\n </ng-container>\n }\n </ng-template>\n <ng-template #dateFilterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (dateTableFilterCell) {\n <ng-container\n [ngTemplateOutlet]=\"dateTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }\n </ng-template>\n <ng-template #numberFilterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (numberTableFilterCell) {\n <ng-container\n [ngTemplateOutlet]=\"numberTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }\n </ng-template>\n <ng-template #relativeDateFilterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (relativeDateTableFilterCell) {\n <ng-container\n [ngTemplateOutlet]=\"relativeDateTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }\n </ng-template>\n <ng-template #translationKeyFilterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (translationKeyTableFilterCell) {\n <ng-container\n [ngTemplateOutlet]=\"translationKeyTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }\n </ng-template>\n</div>\n}\n" }]
|
|
3567
|
+
args: [{ standalone: false, selector: 'ocx-data-view', providers: [{ provide: 'DataViewComponent', useExisting: DataViewComponent }], template: "@if (layout() !== 'table') {\n<div>\n <ocx-data-list-grid\n #ocxdatalistgrid\n [name]=\"name()\"\n [data]=\"data()\"\n [columns]=\"columns()\"\n [filters]=\"filters()\"\n [sortDirection]=\"sortDirection()\"\n [sortField]=\"sortField()\"\n [sortStates]=\"sortStates()\"\n [clientSideFiltering]=\"clientSideFiltering()\"\n [clientSideSorting]=\"clientSideSorting()\"\n [titleLineId]=\"titleLineId()\"\n [subtitleLineIds]=\"subtitleLineIds()\"\n [clientSideSorting]=\"true\"\n [pageSizes]=\"pageSizes()\"\n [pageSize]=\"pageSize()\"\n [paginator]=\"listGridPaginator()\"\n [page]=\"page()\"\n (pageChanged)=\"onPageChange($event)\"\n (pageSizeChanged)=\"onPageSizeChange($event)\"\n (componentStateChanged)=\"dataListGridComponentState$.next($event)\"\n [emptyResultsMessage]=\"emptyResultsMessage()\"\n [layout]=\"layout()\"\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 [gridItemSubtitleLinesTemplate]=\"gridItemSubtitleLines\"\n [listItemSubtitleLinesTemplate]=\"listItemSubtitleLines\"\n [listItemTemplate]=\"listItem\"\n [gridItemTemplate]=\"gridItem\"\n [listValueTemplate]=\"listValue\"\n [translationKeyListValueTemplate]=\"translationKeyListValue\"\n [numberListValueTemplate]=\"numberListValue\"\n [relativeDateListValueTemplate]=\"relativeDateListValue\"\n [stringListValueTemplate]=\"stringListValue\"\n [dateListValueTemplate]=\"dateListValue\"\n [totalRecordsOnServer]=\"totalRecordsOnServer()\"\n [parentTemplates]=\"templatesForChildren()\"\n >\n </ocx-data-list-grid>\n <ng-template #listItemSubtitleLinesTemplate let-item>\n @if (listItemSubtitleLines) {\n <ng-container [ngTemplateOutlet]=\"listItemSubtitleLines\" [ngTemplateOutletContext]=\"{$implicit:item}\">\n </ng-container>\n }</ng-template\n >\n <ng-template #gridItemSubtitleLinesTemplate let-item>\n @if (gridItemSubtitleLines) {\n <ng-container [ngTemplateOutlet]=\"gridItemSubtitleLines\" [ngTemplateOutletContext]=\"{$implicit:item}\">\n </ng-container>\n }</ng-template\n >\n <ng-template #gridItemTemplate let-item>\n @if (gridItem) {\n <ng-container [ngTemplateOutlet]=\"gridItem\" [ngTemplateOutletContext]=\"{$implicit:item}\"> </ng-container>\n }</ng-template\n >\n <ng-template #listItemTemplate let-item>\n @if (listItem) {\n <ng-container [ngTemplateOutlet]=\"listItem\" [ngTemplateOutletContext]=\"{$implicit:item}\"> </ng-container>\n }</ng-template\n >\n <ng-template #listValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (listValue) {\n <ng-container [ngTemplateOutlet]=\"listValue\" [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\">\n </ng-container>\n }</ng-template\n >\n <ng-template #translationKeyListValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (translationKeyListValue) {\n <ng-container\n [ngTemplateOutlet]=\"translationKeyListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #numberListValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (numberListValue) {\n <ng-container\n [ngTemplateOutlet]=\"numberListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #relativeDateListValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (relativeDateListValue) {\n <ng-container\n [ngTemplateOutlet]=\"relativeDateListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #stringListValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (stringListValue) {\n <ng-container\n [ngTemplateOutlet]=\"stringListValue\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #dateListValueTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (dateListValue) {\n <ng-container [ngTemplateOutlet]=\"dateListValue\" [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\">\n </ng-container>\n }</ng-template\n >\n</div>\n} @if (layout() === 'table') {\n<div>\n <ocx-data-table\n #ocxdatatable\n [rows]=\"data()\"\n [columns]=\"columns()\"\n [filters]=\"filters()\"\n [sortDirection]=\"sortDirection()\"\n [sortColumn]=\"sortField()\"\n [sortStates]=\"sortStates()\"\n [clientSideFiltering]=\"clientSideFiltering()\"\n [clientSideSorting]=\"clientSideSorting()\"\n [pageSizes]=\"pageSizes()\"\n [pageSize]=\"pageSize()\"\n [paginator]=\"tablePaginator()\"\n [page]=\"page()\"\n (pageChanged)=\"onPageChange($event)\"\n (pageSizeChanged)=\"onPageSizeChange($event)\"\n (componentStateChanged)=\"dataTableComponentState$.next($event)\"\n [selectedRows]=\"selectedRows()\"\n [frozenActionColumn]=\"frozenActionColumn()\"\n [actionColumnPosition]=\"actionColumnPosition()\"\n [emptyResultsMessage]=\"emptyResultsMessage()\"\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 [stringCellTemplate]=\"stringTableCell\"\n [numberCellTemplate]=\"numberTableCell\"\n [dateCellTemplate]=\"dateTableCell\"\n [relativeDateCellTemplate]=\"relativeDateTableCell\"\n [cellTemplate]=\"tableCell\"\n [translationKeyCellTemplate]=\"translationKeyTableCell\"\n [filterCellTemplate]=\"tableFilterCell\"\n [dateFilterCellTemplate]=\"dateTableFilterCell\"\n [numberFilterCellTemplate]=\"numberTableFilterCell\"\n [stringFilterCellTemplate]=\"stringTableFilterCell\"\n [relativeDateFilterCellTemplate]=\"relativeDateTableFilterCell\"\n [translationKeyFilterCellTemplate]=\"translationKeyTableFilterCell\"\n (sorted)=\"sorting($event)\"\n (filtered)=\"filtering($event)\"\n [totalRecordsOnServer]=\"totalRecordsOnServer()\"\n [currentPageShowingKey]=\"currentPageShowingKey()\"\n [currentPageShowingWithTotalOnServerKey]=\"currentPageShowingWithTotalOnServerKey()\"\n [parentTemplates]=\"templatesForChildren()\"\n [allowSelectAll]=\"tableAllowSelectAll()\"\n [selectionEnabledField]=\"tableSelectionEnabledField()\"\n [expandable]=\"expandable()\"\n [frozenExpandColumn]=\"frozenExpandColumn()\"\n [(expandedRows)]=\"expandedRows\"\n (rowExpanded)=\"rowExpanded.emit($event)\"\n (rowCollapsed)=\"rowCollapsed.emit($event)\"\n >\n </ocx-data-table>\n <ng-template #stringCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (stringTableCell) {\n <ng-container\n [ngTemplateOutlet]=\"stringTableCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #numberCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (numberTableCell) {\n <ng-container\n [ngTemplateOutlet]=\"numberTableCell\"\n [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #dateCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (dateTableCell) {\n <ng-container [ngTemplateOutlet]=\"dateTableCell\" [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\">\n </ng-container>\n }</ng-template\n >\n <ng-template #relativeDateCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (relativeDateTableCell) {\n <ng-container\n [ngTemplateOutlet]=\"relativeDateTableCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #cellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (tableCell) {\n <ng-container [ngTemplateOutlet]=\"tableCell\" [ngTemplateOutletContext]=\"{rowObject: rowObject, column:column}\">\n </ng-container>\n }</ng-template\n >\n <ng-template #translationKeyCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (translationKeyTableCell) {\n <ng-container\n [ngTemplateOutlet]=\"translationKeyTableCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #stringFilterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (stringTableFilterCell) {\n <ng-container\n [ngTemplateOutlet]=\"stringTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }</ng-template\n >\n <ng-template #filterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (tableFilterCell) {\n <ng-container [ngTemplateOutlet]=\"tableFilterCell\" [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\">\n </ng-container>\n }\n </ng-template>\n <ng-template #dateFilterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (dateTableFilterCell) {\n <ng-container\n [ngTemplateOutlet]=\"dateTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }\n </ng-template>\n <ng-template #numberFilterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (numberTableFilterCell) {\n <ng-container\n [ngTemplateOutlet]=\"numberTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }\n </ng-template>\n <ng-template #relativeDateFilterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (relativeDateTableFilterCell) {\n <ng-container\n [ngTemplateOutlet]=\"relativeDateTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }\n </ng-template>\n <ng-template #translationKeyFilterCellTemplate let-rowObject=\"rowObject\" let-column=\"column\">\n @if (translationKeyTableFilterCell) {\n <ng-container\n [ngTemplateOutlet]=\"translationKeyTableFilterCell\"\n [ngTemplateOutletContext]=\"{rowObject:rowObject, column:column}\"\n >\n </ng-container>\n }\n </ng-template>\n</div>\n}\n" }]
|
|
3499
3568
|
}], ctorParameters: () => [], propDecorators: { dataListGridComponent: [{ type: i0.ViewChild, args: [i0.forwardRef(() => DataListGridComponent), { isSignal: true }] }], dataTableComponent: [{ type: i0.ViewChild, args: [i0.forwardRef(() => DataTableComponent), { isSignal: true }] }], deletePermission: [{ type: i0.Input, args: [{ isSignal: true, alias: "deletePermission", required: false }] }], editPermission: [{ type: i0.Input, args: [{ isSignal: true, alias: "editPermission", required: false }] }], viewPermission: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewPermission", required: false }] }], deleteActionVisibleField: [{ type: i0.Input, args: [{ isSignal: true, alias: "deleteActionVisibleField", required: false }] }], deleteActionEnabledField: [{ type: i0.Input, args: [{ isSignal: true, alias: "deleteActionEnabledField", required: false }] }], viewActionVisibleField: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewActionVisibleField", required: false }] }], viewActionEnabledField: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewActionEnabledField", required: false }] }], editActionVisibleField: [{ type: i0.Input, args: [{ isSignal: true, alias: "editActionVisibleField", required: false }] }], editActionEnabledField: [{ type: i0.Input, args: [{ isSignal: true, alias: "editActionEnabledField", required: false }] }], tableSelectionEnabledField: [{ type: i0.Input, args: [{ isSignal: true, alias: "tableSelectionEnabledField", required: false }] }], tableAllowSelectAll: [{ type: i0.Input, args: [{ isSignal: true, alias: "tableAllowSelectAll", required: false }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], titleLineId: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleLineId", required: false }] }], subtitleLineIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "subtitleLineIds", required: false }] }], layout: [{ type: i0.Input, args: [{ isSignal: true, alias: "layout", required: false }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], emptyResultsMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyResultsMessage", required: false }] }], clientSideSorting: [{ type: i0.Input, args: [{ isSignal: true, alias: "clientSideSorting", required: false }] }], clientSideFiltering: [{ type: i0.Input, args: [{ isSignal: true, alias: "clientSideFiltering", required: false }] }], fallbackImage: [{ type: i0.Input, args: [{ isSignal: true, alias: "fallbackImage", required: false }] }], filters: [{ type: i0.Input, args: [{ isSignal: true, alias: "filters", required: false }] }, { type: i0.Output, args: ["filtersChange"] }], sortField: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortField", required: false }] }, { type: i0.Output, args: ["sortFieldChange"] }], sortDirection: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortDirection", required: false }] }, { type: i0.Output, args: ["sortDirectionChange"] }], listGridPaginator: [{ type: i0.Input, args: [{ isSignal: true, alias: "listGridPaginator", required: false }] }, { type: i0.Output, args: ["listGridPaginatorChange"] }], tablePaginator: [{ type: i0.Input, args: [{ isSignal: true, alias: "tablePaginator", required: false }] }, { type: i0.Output, args: ["tablePaginatorChange"] }], paginator: [{
|
|
3500
3569
|
type: Input
|
|
3501
|
-
}], page: [{ type: i0.Input, args: [{ isSignal: true, alias: "page", required: false }] }, { type: i0.Output, args: ["pageChange"] }], totalRecordsOnServer: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalRecordsOnServer", required: false }] }], currentPageShowingKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentPageShowingKey", required: false }] }], currentPageShowingWithTotalOnServerKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentPageShowingWithTotalOnServerKey", required: false }] }], selectedRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedRows", required: false }] }], frozenActionColumn: [{ type: i0.Input, args: [{ isSignal: true, alias: "frozenActionColumn", required: false }] }], actionColumnPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionColumnPosition", required: false }] }], sortStates: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortStates", required: false }] }], pageSizes: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSizes", required: false }] }], pageSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSize", required: false }] }, { type: i0.Output, args: ["pageSizeChange"] }], stringTableCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "stringTableCellTemplate", required: false }] }], stringTableCellChildTemplate: [{ type: i0.ContentChild, args: ['stringTableCellTemplate', { isSignal: true }] }], numberTableCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "numberTableCellTemplate", required: false }] }], numberTableCellChildTemplate: [{ type: i0.ContentChild, args: ['numberTableCellTemplate', { isSignal: true }] }], dateTableCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateTableCellTemplate", required: false }] }], dateTableCellChildTemplate: [{ type: i0.ContentChild, args: ['dateTableCellTemplate', { isSignal: true }] }], tableCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "tableCellTemplate", required: false }] }], tableCellChildTemplate: [{ type: i0.ContentChild, args: ['tableCellTemplate', { isSignal: true }] }], translationKeyTableCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationKeyTableCellTemplate", required: false }] }], translationKeyTableCellChildTemplate: [{ type: i0.ContentChild, args: ['translationKeyTableCellTemplate', { isSignal: true }] }], gridItemSubtitleLinesTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "gridItemSubtitleLinesTemplate", required: false }] }], gridItemSubtitleLinesChildTemplate: [{ type: i0.ContentChild, args: ['gridItemSubtitleLinesTemplate', { isSignal: true }] }], listItemSubtitleLinesTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "listItemSubtitleLinesTemplate", required: false }] }], listItemSubtitleLinesChildTemplate: [{ type: i0.ContentChild, args: ['listItemSubtitleLinesTemplate', { isSignal: true }] }], gridItemTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "gridItemTemplate", required: false }] }], gridItemChildTemplate: [{ type: i0.ContentChild, args: ['gridItemTemplate', { isSignal: true }] }], listItemTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "listItemTemplate", required: false }] }], listItemChildTemplate: [{ type: i0.ContentChild, args: ['listItemTemplate', { isSignal: true }] }], relativeDateTableCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "relativeDateTableCellTemplate", required: false }] }], relativeDateTableCellChildTemplate: [{ type: i0.ContentChild, args: ['relativeDateTableCellTemplate', { isSignal: true }] }], listValueTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "listValueTemplate", required: false }] }], listValueChildTemplate: [{ type: i0.ContentChild, args: ['listValueTemplate', { isSignal: true }] }], translationKeyListValueTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationKeyListValueTemplate", required: false }] }], translationKeyListValueChildTemplate: [{ type: i0.ContentChild, args: ['translationKeyListValueTemplate', { isSignal: true }] }], numberListValueTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "numberListValueTemplate", required: false }] }], numberListValueChildTemplate: [{ type: i0.ContentChild, args: ['numberListValueTemplate', { isSignal: true }] }], relativeDateListValueTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "relativeDateListValueTemplate", required: false }] }], relativeDateListValueChildTemplate: [{ type: i0.ContentChild, args: ['relativeDateListValueTemplate', { isSignal: true }] }], stringListValueTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "stringListValueTemplate", required: false }] }], stringListValueChildTemplate: [{ type: i0.ContentChild, args: ['stringListValueTemplate', { isSignal: true }] }], dateListValueTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateListValueTemplate", required: false }] }], dateListValueChildTemplate: [{ type: i0.ContentChild, args: ['dateListValueTemplate', { isSignal: true }] }], tableFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "tableFilterCellTemplate", required: false }] }], tableFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['tableFilterCellTemplate', { isSignal: true }] }], dateTableFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateTableFilterCellTemplate", required: false }] }], dateTableFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['dateTableFilterCellTemplate', { isSignal: true }] }], relativeDateTableFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "relativeDateTableFilterCellTemplate", required: false }] }], relativeDateTableFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['relativeDateTableFilterCellTemplate', { isSignal: true }] }], translationKeyTableFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationKeyTableFilterCellTemplate", required: false }] }], translationKeyTableFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['translationKeyTableFilterCellTemplate', { isSignal: true }] }], stringTableFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "stringTableFilterCellTemplate", required: false }] }], stringTableFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['stringTableFilterCellTemplate', { isSignal: true }] }], numberTableFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "numberTableFilterCellTemplate", required: false }] }], numberTableFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['numberTableFilterCellTemplate', { isSignal: true }] }], additionalActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "additionalActions", required: false }] }], filtered: [{ type: i0.Output, args: ["filtered"] }], sorted: [{ type: i0.Output, args: ["sorted"] }], deleteItem: [{
|
|
3570
|
+
}], page: [{ type: i0.Input, args: [{ isSignal: true, alias: "page", required: false }] }, { type: i0.Output, args: ["pageChange"] }], totalRecordsOnServer: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalRecordsOnServer", required: false }] }], currentPageShowingKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentPageShowingKey", required: false }] }], currentPageShowingWithTotalOnServerKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentPageShowingWithTotalOnServerKey", required: false }] }], selectedRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedRows", required: false }] }], frozenActionColumn: [{ type: i0.Input, args: [{ isSignal: true, alias: "frozenActionColumn", required: false }] }], actionColumnPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionColumnPosition", required: false }] }], expandable: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandable", required: false }] }], frozenExpandColumn: [{ type: i0.Input, args: [{ isSignal: true, alias: "frozenExpandColumn", required: false }] }], expandedRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandedRows", required: false }] }, { type: i0.Output, args: ["expandedRowsChange"] }], sortStates: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortStates", required: false }] }], pageSizes: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSizes", required: false }] }], pageSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSize", required: false }] }, { type: i0.Output, args: ["pageSizeChange"] }], stringTableCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "stringTableCellTemplate", required: false }] }], stringTableCellChildTemplate: [{ type: i0.ContentChild, args: ['stringTableCellTemplate', { isSignal: true }] }], numberTableCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "numberTableCellTemplate", required: false }] }], numberTableCellChildTemplate: [{ type: i0.ContentChild, args: ['numberTableCellTemplate', { isSignal: true }] }], dateTableCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateTableCellTemplate", required: false }] }], dateTableCellChildTemplate: [{ type: i0.ContentChild, args: ['dateTableCellTemplate', { isSignal: true }] }], tableCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "tableCellTemplate", required: false }] }], tableCellChildTemplate: [{ type: i0.ContentChild, args: ['tableCellTemplate', { isSignal: true }] }], translationKeyTableCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationKeyTableCellTemplate", required: false }] }], translationKeyTableCellChildTemplate: [{ type: i0.ContentChild, args: ['translationKeyTableCellTemplate', { isSignal: true }] }], gridItemSubtitleLinesTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "gridItemSubtitleLinesTemplate", required: false }] }], gridItemSubtitleLinesChildTemplate: [{ type: i0.ContentChild, args: ['gridItemSubtitleLinesTemplate', { isSignal: true }] }], listItemSubtitleLinesTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "listItemSubtitleLinesTemplate", required: false }] }], listItemSubtitleLinesChildTemplate: [{ type: i0.ContentChild, args: ['listItemSubtitleLinesTemplate', { isSignal: true }] }], gridItemTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "gridItemTemplate", required: false }] }], gridItemChildTemplate: [{ type: i0.ContentChild, args: ['gridItemTemplate', { isSignal: true }] }], listItemTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "listItemTemplate", required: false }] }], listItemChildTemplate: [{ type: i0.ContentChild, args: ['listItemTemplate', { isSignal: true }] }], relativeDateTableCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "relativeDateTableCellTemplate", required: false }] }], relativeDateTableCellChildTemplate: [{ type: i0.ContentChild, args: ['relativeDateTableCellTemplate', { isSignal: true }] }], listValueTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "listValueTemplate", required: false }] }], listValueChildTemplate: [{ type: i0.ContentChild, args: ['listValueTemplate', { isSignal: true }] }], translationKeyListValueTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationKeyListValueTemplate", required: false }] }], translationKeyListValueChildTemplate: [{ type: i0.ContentChild, args: ['translationKeyListValueTemplate', { isSignal: true }] }], numberListValueTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "numberListValueTemplate", required: false }] }], numberListValueChildTemplate: [{ type: i0.ContentChild, args: ['numberListValueTemplate', { isSignal: true }] }], relativeDateListValueTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "relativeDateListValueTemplate", required: false }] }], relativeDateListValueChildTemplate: [{ type: i0.ContentChild, args: ['relativeDateListValueTemplate', { isSignal: true }] }], stringListValueTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "stringListValueTemplate", required: false }] }], stringListValueChildTemplate: [{ type: i0.ContentChild, args: ['stringListValueTemplate', { isSignal: true }] }], dateListValueTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateListValueTemplate", required: false }] }], dateListValueChildTemplate: [{ type: i0.ContentChild, args: ['dateListValueTemplate', { isSignal: true }] }], tableFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "tableFilterCellTemplate", required: false }] }], tableFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['tableFilterCellTemplate', { isSignal: true }] }], dateTableFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateTableFilterCellTemplate", required: false }] }], dateTableFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['dateTableFilterCellTemplate', { isSignal: true }] }], relativeDateTableFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "relativeDateTableFilterCellTemplate", required: false }] }], relativeDateTableFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['relativeDateTableFilterCellTemplate', { isSignal: true }] }], translationKeyTableFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationKeyTableFilterCellTemplate", required: false }] }], translationKeyTableFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['translationKeyTableFilterCellTemplate', { isSignal: true }] }], stringTableFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "stringTableFilterCellTemplate", required: false }] }], stringTableFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['stringTableFilterCellTemplate', { isSignal: true }] }], numberTableFilterCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "numberTableFilterCellTemplate", required: false }] }], numberTableFilterCellChildTemplate: [{ type: i0.ContentChild, args: ['numberTableFilterCellTemplate', { isSignal: true }] }], additionalActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "additionalActions", required: false }] }], filtered: [{ type: i0.Output, args: ["filtered"] }], sorted: [{ type: i0.Output, args: ["sorted"] }], deleteItem: [{
|
|
3502
3571
|
type: Output
|
|
3503
3572
|
}], viewItem: [{
|
|
3504
3573
|
type: Output
|
|
@@ -3506,7 +3575,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
3506
3575
|
type: Output
|
|
3507
3576
|
}], selectionChanged: [{
|
|
3508
3577
|
type: Output
|
|
3509
|
-
}], pageChanged: [{ type: i0.Output, args: ["pageChanged"] }], pageSizeChanged: [{ type: i0.Output, args: ["pageSizeChanged"] }], componentStateChanged: [{ type: i0.Output, args: ["componentStateChanged"] }],
|
|
3578
|
+
}], pageChanged: [{ type: i0.Output, args: ["pageChanged"] }], pageSizeChanged: [{ type: i0.Output, args: ["pageSizeChanged"] }], componentStateChanged: [{ type: i0.Output, args: ["componentStateChanged"] }], rowExpanded: [{
|
|
3579
|
+
type: Output
|
|
3580
|
+
}], rowCollapsed: [{
|
|
3581
|
+
type: Output
|
|
3582
|
+
}], parentTemplates: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentTemplates", required: false }] }], templates: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => PrimeTemplate), { isSignal: true }] }] } });
|
|
3510
3583
|
|
|
3511
3584
|
class ColorUtils {
|
|
3512
3585
|
static calculatePoint(i, intervalSize, colorRangeInfo) {
|
|
@@ -3867,7 +3940,7 @@ class FilterViewComponent {
|
|
|
3867
3940
|
};
|
|
3868
3941
|
}
|
|
3869
3942
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FilterViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3870
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: FilterViewComponent, isStandalone: false, selector: "ocx-filter-view", inputs: { filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, displayMode: { classPropertyName: "displayMode", publicName: "displayMode", isSignal: true, isRequired: false, transformFunction: null }, selectDisplayedChips: { classPropertyName: "selectDisplayedChips", publicName: "selectDisplayedChips", isSignal: true, isRequired: false, transformFunction: null }, chipStyleClass: { classPropertyName: "chipStyleClass", publicName: "chipStyleClass", isSignal: true, isRequired: false, transformFunction: null }, tableStyle: { classPropertyName: "tableStyle", publicName: "tableStyle", isSignal: true, isRequired: false, transformFunction: null }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: true, isRequired: false, transformFunction: null }, templates: { classPropertyName: "templates", publicName: "templates", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filters: "filtersChange", columns: "columnsChange", filtered: "filtered", componentStateChanged: "componentStateChanged" }, viewQueries: [{ propertyName: "panel", first: true, predicate: Popover, descendants: true, isSignal: true }, { propertyName: "manageButton", first: true, predicate: ["manageButton"], descendants: true, isSignal: true }, { propertyName: "defaultTemplates", predicate: PrimeTemplate, descendants: true, isSignal: true }], ngImport: i0, template: "@if (columns(); as columns) { @if (filters(); as filters) {\n<div class=\"flex flex-wrap align-items-center gap-2\">\n @if (displayMode() === 'chips') {\n <ng-container *ocxIfBreakpoint=\"'desktop'; elseTemplate: noChipsContent\">\n @if (selectDisplayedChips()(filters, columns); as selectedFilters) {\n <p-button\n #chipFilterResetButton\n id=\"ocxFilterViewReset\"\n (onClick)=\"onResetFilersClick()\"\n icon=\"pi pi-eraser\"\n ocxTooltip=\"{{ 'OCX_FILTER_VIEW.RESET_FILTERS_BUTTON.DETAIL' | translate }}\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n [ariaLabel]=\"'OCX_FILTER_VIEW.RESET_FILTERS_BUTTON.ARIA_LABEL' | translate\"\n ></p-button>\n @if (filters.length <= 0) { @if (filterViewNoSelection()) {\n <ng-container [ngTemplateOutlet]=\"filterViewNoSelection()\"> </ng-container>\n } @else {\n <span id=\"ocxFilterViewNoFilters\">{{ 'OCX_FILTER_VIEW.NO_FILTERS' | translate }}</span>\n } } @if ((chipTemplates$ | async) ?? {}; as templates) { @for (filter of selectedFilters; track filter) { @if\n (getColumnForFilter(filter, columns); as column) {\n <p-chip [removable]=\"true\" (onRemove)=\"onChipRemove(filter)\" [styleClass]=\"chipStyleClass()\">\n @if (filterViewChipContent()) {\n <ng-container\n [ngTemplateOutlet]=\"filterViewChipContent()\"\n [ngTemplateOutletContext]=\"{\n filter: filter,\n column: column,\n filterValueTemplates: templates,\n truthyTemplate: truthyTemplate,\n filterValueTemplate: chipTemplate\n }\"\n >\n </ng-container>\n } @else {\n <span style=\"white-space: nowrap\" class=\"p-chip-text flex flex-nowrap\"\n >{{column?.nameKey ?? '' | translate }}:@if (filter.filterType === FilterType.EQUALS || !filter.filterType) {\n <ng-container\n [ngTemplateOutlet]=\"chipTemplate\"\n [ngTemplateOutletContext]=\"{\n templates: templates,\n filter: filter,\n column: column\n }\"\n ></ng-container>\n } @if (filter.filterType === FilterType.IS_NOT_EMPTY) {\n <ng-container\n [ngTemplateOutlet]=\"truthyTemplate\"\n [ngTemplateOutletContext]=\"{\n value: filter.value\n }\"\n ></ng-container>\n }\n </span>\n }\n </p-chip>\n } } @if (selectedFilters.length < filters.length) {\n <p-chip\n #showMoreChip\n id=\"ocxFilterViewShowMore\"\n tabindex=\"0\"\n role=\"button\"\n (click)=\"showPanel($event)\"\n class=\"cursor-pointer filter-view-focusable\"\n (keydown.enter)=\"showPanel($event)\"\n (keydown.space)=\"showPanel($event)\"\n >\n @if (filterViewShowMoreChip()) {\n <ng-container\n [ngTemplateOutlet]=\"filterViewShowMoreChip()\"\n [ngTemplateOutletContext]=\"{\n $implicit: filters.length - selectedFilters.length\n }\"\n >\n </ng-container>\n } @else {\n <span class=\"p-chip-text flex flex-nowrap\"> +{{filters.length - selectedFilters.length}} </span>\n }\n <ng-container [ngTemplateOutlet]=\"filterTablePanel\"></ng-container>\n </p-chip>\n } } }\n </ng-container>\n } @else {\n <ng-container [ngTemplateOutlet]=\"noChipsContent\"></ng-container>\n }\n <ng-template #noChipsContent>\n <p-button\n tabindex=\"0\"\n #manageButton\n id=\"ocxFilterViewManage\"\n (onClick)=\"showPanel($event)\"\n [disabled]=\"filters.length === 0\"\n icon=\"pi pi-sliders-h\"\n label=\"{{ 'OCX_FILTER_VIEW.MANAGE_FILTERS_BUTTON.LABEL' | translate }}\"\n [ocxTooltip]=\"\n filters.length === 0\n ? ('OCX_FILTER_VIEW.MANAGE_FILTERS_BUTTON.DISABLED_DETAIL' | translate)\n : ('OCX_FILTER_VIEW.MANAGE_FILTERS_BUTTON.DETAIL' | translate)\n \"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n aria-describedby=\"ocx-manage-filters-tooltip\"\n [tooltipOptions]=\"{ id: 'ocx-manage-filters-tooltip' }\"\n [badge]=\"filters.length.toString()\"\n [ariaLabel]=\"'OCX_FILTER_VIEW.MANAGE_FILTERS_BUTTON.ARIA_LABEL' | translate\"\n ></p-button>\n <ng-container [ngTemplateOutlet]=\"filterTablePanel\"></ng-container>\n </ng-template>\n <ng-template #filterTablePanel>\n @if (tableTemplates$ | async; as templates) {\n <p-popover #op [style]=\"panelStyle()\" (onHide)=\"focusTrigger()\">\n <ng-template pTemplate=\"content\">\n <div pFocusTrap>\n <div class=\"flex justify-content-between align-items-center mb-2\">\n <span class=\"text-2xl font-medium\">{{'OCX_FILTER_VIEW.PANEL_TITLE' | translate}}</span>\n <div>\n <p-button\n pAutoFocus\n [autofocus]=\"true\"\n id=\"ocxFilterViewOverlayReset\"\n (onClick)=\"onResetFilersClick()\"\n icon=\"pi pi-eraser\"\n ocxTooltip=\"{{ 'OCX_FILTER_VIEW.RESET_FILTERS_BUTTON.DETAIL' | translate }}\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n [ariaLabel]=\"'OCX_FILTER_VIEW.RESET_FILTERS_BUTTON.ARIA_LABEL' | translate\"\n ></p-button>\n </div>\n </div>\n <ocx-data-table\n id=\"ocxFilterViewDataTable\"\n [rows]=\"columnFilterDataRows()\"\n [columns]=\"columnFilterTableColumns()\"\n [emptyResultsMessage]=\"'OCX_FILTER_VIEW.NO_FILTERS' | translate\"\n [paginator]=\"false\"\n [tableStyle]=\"tableStyle()\"\n >\n <ng-template pTemplate=\"columnIdCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n [ngTemplateOutlet]=\"templates[column.id]\"\n [ngTemplateOutletContext]=\"{\n rowObject: rowObject,\n column: column,\n }\"\n >\n </ng-container>\n </ng-template>\n <ng-template pTemplate=\"valueIdCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n @if (getColumn(rowObject['valueColumnId'], columns); as valueColumn) { @if (!valueColumn.filterType ||\n valueColumn.filterType === FilterType.EQUALS) {\n <ng-container\n [ngTemplateOutlet]=\"templates[valueColumn.id]\"\n [ngTemplateOutletContext]=\"{\n rowObject: getRowForValueColumn(rowObject),\n column: valueColumn\n }\"\n >\n </ng-container>\n } @if (valueColumn.filterType === FilterType.IS_NOT_EMPTY) {\n <ng-container\n [ngTemplateOutlet]=\"truthyTemplate\"\n [ngTemplateOutletContext]=\"{\n value: resolveFieldData(rowObject, column.id)\n }\"\n >\n </ng-container>\n } }\n </ng-template>\n <ng-template pTemplate=\"actionsIdCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <div>\n <button\n pButton\n class=\"p-button-rounded p-button-danger p-button-text\"\n title=\"{{ 'OCX_FILTER_VIEW.TABLE.REMOVE_FILTER_TITLE' | translate }}\"\n [attr.aria-label]=\"'OCX_FILTER_VIEW.TABLE.REMOVE_FILTER_ARIA_LABEL' | translate\"\n icon=\"pi pi-trash\"\n (click)=\"onFilterDelete(rowObject)\"\n ></button>\n </div>\n </ng-template>\n </ocx-data-table>\n </div>\n </ng-template>\n </p-popover>\n }\n </ng-template>\n</div>\n} }\n\n<ng-template #chipTemplate let-templates=\"templates\" let-filter=\"filter\" let-column=\"column\">\n @if (templates[column.id]; as template) {\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{\n rowObject: getRowObjectFromFiterData(filter),\n column: column\n }\"\n >\n </ng-container>\n }\n</ng-template>\n\n<ng-template #truthyTemplate let-value=\"value\">\n @if (value) { {{'OCX_FILTER_VIEW.FILTER_YES' | translate}} } @if (!value) { {{'OCX_FILTER_VIEW.FILTER_NO' |\n translate}} }\n</ng-template>\n\n<ng-template pTemplate=\"defaultStringValue\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id)}} </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultNumberValue\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) | number }} </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultCustomValue\" let-rowObject=\"rowObject\" let-column=\"column\"> </ng-template>\n\n<ng-template pTemplate=\"defaultDateValue\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) | date: column.dateFormat ?? 'medium' }} </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultRelativeDateValue\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container>\n {{ 'OCX_DATA_TABLE.EDITED' | translate }} {{ resolveFieldData(rowObject, column.id) | timeago }}\n </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultTranslationKeyValue\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) | translate }}</ng-container>\n</ng-template>\n", styles: [".filter-view-focusable:focus{outline:1px solid var(--primary-color);outline-offset:2px;box-shadow:none;border-radius:var(--chip-border-radius)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3$4.Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "styleClass", "disabled", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }, { kind: "directive", type: i2$1.ButtonDirective, selector: "[pButton]", inputs: ["ptButtonDirective", "pButtonPT", "pButtonUnstyled", "hostName", "text", "plain", "raised", "size", "outlined", "rounded", "iconPos", "loadingIcon", "fluid", "label", "icon", "loading", "buttonProps", "severity"] }, { kind: "component", type: i2$1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i5$3.Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions", "motionOptions"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i6.FocusTrap, selector: "[pFocusTrap]", inputs: ["pFocusTrapDisabled"] }, { kind: "directive", type: OcxTooltipDirective, selector: "[ocxTooltip]", inputs: ["ocxTooltip"] }, { kind: "component", type: DataTableComponent, selector: "ocx-data-table", inputs: ["rows", "selectedRows", "filters", "sortDirection", "sortColumn", "columns", "clientSideFiltering", "clientSideSorting", "sortStates", "pageSizes", "pageSize", "emptyResultsMessage", "name", "deletePermission", "viewPermission", "editPermission", "deleteActionVisibleField", "deleteActionEnabledField", "viewActionVisibleField", "viewActionEnabledField", "editActionVisibleField", "editActionEnabledField", "selectionEnabledField", "allowSelectAll", "paginator", "page", "tableStyle", "totalRecordsOnServer", "currentPageShowingKey", "currentPageShowingWithTotalOnServerKey", "stringCellTemplate", "numberCellTemplate", "dateCellTemplate", "relativeDateCellTemplate", "cellTemplate", "translationKeyCellTemplate", "stringFilterCellTemplate", "numberFilterCellTemplate", "dateFilterCellTemplate", "relativeDateFilterCellTemplate", "filterCellTemplate", "translationKeyFilterCellTemplate", "additionalActions", "frozenActionColumn", "actionColumnPosition", "parentTemplates"], outputs: ["rowsChange", "selectedRowsChange", "filtersChange", "sortDirectionChange", "sortColumnChange", "columnsChange", "sortStatesChange", "pageSizesChange", "pageSizeChange", "nameChange", "pageChange", "additionalActionsChange", "filtered", "sorted", "viewTableRow", "editTableRow", "deleteTableRow", "selectionChanged", "pageChanged", "pageSizeChanged", "componentStateChanged", "parentTemplatesChange"] }, { kind: "directive", type: IfBreakpointDirective, selector: "[ocxIfBreakpoint]", inputs: ["ocxIfBreakpoint", "ocxIfBreakpointElseTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "pipe", type: OcxTimeAgoPipe, name: "timeago" }] }); }
|
|
3943
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: FilterViewComponent, isStandalone: false, selector: "ocx-filter-view", inputs: { filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, displayMode: { classPropertyName: "displayMode", publicName: "displayMode", isSignal: true, isRequired: false, transformFunction: null }, selectDisplayedChips: { classPropertyName: "selectDisplayedChips", publicName: "selectDisplayedChips", isSignal: true, isRequired: false, transformFunction: null }, chipStyleClass: { classPropertyName: "chipStyleClass", publicName: "chipStyleClass", isSignal: true, isRequired: false, transformFunction: null }, tableStyle: { classPropertyName: "tableStyle", publicName: "tableStyle", isSignal: true, isRequired: false, transformFunction: null }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: true, isRequired: false, transformFunction: null }, templates: { classPropertyName: "templates", publicName: "templates", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filters: "filtersChange", columns: "columnsChange", filtered: "filtered", componentStateChanged: "componentStateChanged" }, viewQueries: [{ propertyName: "panel", first: true, predicate: Popover, descendants: true, isSignal: true }, { propertyName: "manageButton", first: true, predicate: ["manageButton"], descendants: true, isSignal: true }, { propertyName: "defaultTemplates", predicate: PrimeTemplate, descendants: true, isSignal: true }], ngImport: i0, template: "@if (columns(); as columns) { @if (filters(); as filters) {\n<div class=\"flex flex-wrap align-items-center gap-2\">\n @if (displayMode() === 'chips') {\n <ng-container *ocxIfBreakpoint=\"'desktop'; elseTemplate: noChipsContent\">\n @if (selectDisplayedChips()(filters, columns); as selectedFilters) {\n <p-button\n #chipFilterResetButton\n id=\"ocxFilterViewReset\"\n (onClick)=\"onResetFilersClick()\"\n icon=\"pi pi-eraser\"\n ocxTooltip=\"{{ 'OCX_FILTER_VIEW.RESET_FILTERS_BUTTON.DETAIL' | translate }}\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n [ariaLabel]=\"'OCX_FILTER_VIEW.RESET_FILTERS_BUTTON.ARIA_LABEL' | translate\"\n ></p-button>\n @if (filters.length <= 0) { @if (filterViewNoSelection()) {\n <ng-container [ngTemplateOutlet]=\"filterViewNoSelection()\"> </ng-container>\n } @else {\n <span id=\"ocxFilterViewNoFilters\">{{ 'OCX_FILTER_VIEW.NO_FILTERS' | translate }}</span>\n } } @if ((chipTemplates$ | async) ?? {}; as templates) { @for (filter of selectedFilters; track filter) { @if\n (getColumnForFilter(filter, columns); as column) {\n <p-chip [removable]=\"true\" (onRemove)=\"onChipRemove(filter)\" [styleClass]=\"chipStyleClass()\">\n @if (filterViewChipContent()) {\n <ng-container\n [ngTemplateOutlet]=\"filterViewChipContent()\"\n [ngTemplateOutletContext]=\"{\n filter: filter,\n column: column,\n filterValueTemplates: templates,\n truthyTemplate: truthyTemplate,\n filterValueTemplate: chipTemplate\n }\"\n >\n </ng-container>\n } @else {\n <span style=\"white-space: nowrap\" class=\"p-chip-text flex flex-nowrap\"\n >{{column?.nameKey ?? '' | translate }}:@if (filter.filterType === FilterType.EQUALS || !filter.filterType) {\n <ng-container\n [ngTemplateOutlet]=\"chipTemplate\"\n [ngTemplateOutletContext]=\"{\n templates: templates,\n filter: filter,\n column: column\n }\"\n ></ng-container>\n } @if (filter.filterType === FilterType.IS_NOT_EMPTY) {\n <ng-container\n [ngTemplateOutlet]=\"truthyTemplate\"\n [ngTemplateOutletContext]=\"{\n value: filter.value\n }\"\n ></ng-container>\n }\n </span>\n }\n </p-chip>\n } } @if (selectedFilters.length < filters.length) {\n <p-chip\n #showMoreChip\n id=\"ocxFilterViewShowMore\"\n tabindex=\"0\"\n role=\"button\"\n (click)=\"showPanel($event)\"\n class=\"cursor-pointer filter-view-focusable\"\n (keydown.enter)=\"showPanel($event)\"\n (keydown.space)=\"showPanel($event)\"\n >\n @if (filterViewShowMoreChip()) {\n <ng-container\n [ngTemplateOutlet]=\"filterViewShowMoreChip()\"\n [ngTemplateOutletContext]=\"{\n $implicit: filters.length - selectedFilters.length\n }\"\n >\n </ng-container>\n } @else {\n <span class=\"p-chip-text flex flex-nowrap\"> +{{filters.length - selectedFilters.length}} </span>\n }\n <ng-container [ngTemplateOutlet]=\"filterTablePanel\"></ng-container>\n </p-chip>\n } } }\n </ng-container>\n } @else {\n <ng-container [ngTemplateOutlet]=\"noChipsContent\"></ng-container>\n }\n <ng-template #noChipsContent>\n <p-button\n tabindex=\"0\"\n #manageButton\n id=\"ocxFilterViewManage\"\n (onClick)=\"showPanel($event)\"\n [disabled]=\"filters.length === 0\"\n icon=\"pi pi-sliders-h\"\n label=\"{{ 'OCX_FILTER_VIEW.MANAGE_FILTERS_BUTTON.LABEL' | translate }}\"\n [ocxTooltip]=\"\n filters.length === 0\n ? ('OCX_FILTER_VIEW.MANAGE_FILTERS_BUTTON.DISABLED_DETAIL' | translate)\n : ('OCX_FILTER_VIEW.MANAGE_FILTERS_BUTTON.DETAIL' | translate)\n \"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n aria-describedby=\"ocx-manage-filters-tooltip\"\n [tooltipOptions]=\"{ id: 'ocx-manage-filters-tooltip' }\"\n [badge]=\"filters.length.toString()\"\n [ariaLabel]=\"'OCX_FILTER_VIEW.MANAGE_FILTERS_BUTTON.ARIA_LABEL' | translate\"\n ></p-button>\n <ng-container [ngTemplateOutlet]=\"filterTablePanel\"></ng-container>\n </ng-template>\n <ng-template #filterTablePanel>\n @if (tableTemplates$ | async; as templates) {\n <p-popover #op [style]=\"panelStyle()\" (onHide)=\"focusTrigger()\">\n <ng-template pTemplate=\"content\">\n <div pFocusTrap>\n <div class=\"flex justify-content-between align-items-center mb-2\">\n <span class=\"text-2xl font-medium\">{{'OCX_FILTER_VIEW.PANEL_TITLE' | translate}}</span>\n <div>\n <p-button\n pAutoFocus\n [autofocus]=\"true\"\n id=\"ocxFilterViewOverlayReset\"\n (onClick)=\"onResetFilersClick()\"\n icon=\"pi pi-eraser\"\n ocxTooltip=\"{{ 'OCX_FILTER_VIEW.RESET_FILTERS_BUTTON.DETAIL' | translate }}\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n [ariaLabel]=\"'OCX_FILTER_VIEW.RESET_FILTERS_BUTTON.ARIA_LABEL' | translate\"\n ></p-button>\n </div>\n </div>\n <ocx-data-table\n id=\"ocxFilterViewDataTable\"\n [rows]=\"columnFilterDataRows()\"\n [columns]=\"columnFilterTableColumns()\"\n [emptyResultsMessage]=\"'OCX_FILTER_VIEW.NO_FILTERS' | translate\"\n [paginator]=\"false\"\n [tableStyle]=\"tableStyle()\"\n >\n <ng-template pTemplate=\"columnIdCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container\n [ngTemplateOutlet]=\"templates[column.id]\"\n [ngTemplateOutletContext]=\"{\n rowObject: rowObject,\n column: column,\n }\"\n >\n </ng-container>\n </ng-template>\n <ng-template pTemplate=\"valueIdCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n @if (getColumn(rowObject['valueColumnId'], columns); as valueColumn) { @if (!valueColumn.filterType ||\n valueColumn.filterType === FilterType.EQUALS) {\n <ng-container\n [ngTemplateOutlet]=\"templates[valueColumn.id]\"\n [ngTemplateOutletContext]=\"{\n rowObject: getRowForValueColumn(rowObject),\n column: valueColumn\n }\"\n >\n </ng-container>\n } @if (valueColumn.filterType === FilterType.IS_NOT_EMPTY) {\n <ng-container\n [ngTemplateOutlet]=\"truthyTemplate\"\n [ngTemplateOutletContext]=\"{\n value: resolveFieldData(rowObject, column.id)\n }\"\n >\n </ng-container>\n } }\n </ng-template>\n <ng-template pTemplate=\"actionsIdCell\" let-rowObject=\"rowObject\" let-column=\"column\">\n <div>\n <button\n pButton\n class=\"p-button-rounded p-button-danger p-button-text\"\n title=\"{{ 'OCX_FILTER_VIEW.TABLE.REMOVE_FILTER_TITLE' | translate }}\"\n [attr.aria-label]=\"'OCX_FILTER_VIEW.TABLE.REMOVE_FILTER_ARIA_LABEL' | translate\"\n icon=\"pi pi-trash\"\n (click)=\"onFilterDelete(rowObject)\"\n ></button>\n </div>\n </ng-template>\n </ocx-data-table>\n </div>\n </ng-template>\n </p-popover>\n }\n </ng-template>\n</div>\n} }\n\n<ng-template #chipTemplate let-templates=\"templates\" let-filter=\"filter\" let-column=\"column\">\n @if (templates[column.id]; as template) {\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{\n rowObject: getRowObjectFromFiterData(filter),\n column: column\n }\"\n >\n </ng-container>\n }\n</ng-template>\n\n<ng-template #truthyTemplate let-value=\"value\">\n @if (value) { {{'OCX_FILTER_VIEW.FILTER_YES' | translate}} } @if (!value) { {{'OCX_FILTER_VIEW.FILTER_NO' |\n translate}} }\n</ng-template>\n\n<ng-template pTemplate=\"defaultStringValue\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id)}} </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultNumberValue\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) | number }} </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultCustomValue\" let-rowObject=\"rowObject\" let-column=\"column\"> </ng-template>\n\n<ng-template pTemplate=\"defaultDateValue\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) | date: column.dateFormat ?? 'medium' }} </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultRelativeDateValue\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container>\n {{ 'OCX_DATA_TABLE.EDITED' | translate }} {{ resolveFieldData(rowObject, column.id) | timeago }}\n </ng-container>\n</ng-template>\n\n<ng-template pTemplate=\"defaultTranslationKeyValue\" let-rowObject=\"rowObject\" let-column=\"column\">\n <ng-container> {{ resolveFieldData(rowObject, column.id) | translate }}</ng-container>\n</ng-template>\n", styles: [".filter-view-focusable:focus{outline:1px solid var(--primary-color);outline-offset:2px;box-shadow:none;border-radius:var(--chip-border-radius)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3$4.Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "styleClass", "disabled", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }, { kind: "directive", type: i2$1.ButtonDirective, selector: "[pButton]", inputs: ["ptButtonDirective", "pButtonPT", "pButtonUnstyled", "hostName", "text", "plain", "raised", "size", "outlined", "rounded", "iconPos", "loadingIcon", "fluid", "label", "icon", "loading", "buttonProps", "severity"] }, { kind: "component", type: i2$1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i5$3.Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions", "motionOptions"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i6.FocusTrap, selector: "[pFocusTrap]", inputs: ["pFocusTrapDisabled"] }, { kind: "directive", type: OcxTooltipDirective, selector: "[ocxTooltip]", inputs: ["ocxTooltip"] }, { kind: "component", type: DataTableComponent, selector: "ocx-data-table", inputs: ["rows", "selectedRows", "filters", "sortDirection", "sortColumn", "columns", "clientSideFiltering", "clientSideSorting", "sortStates", "pageSizes", "pageSize", "emptyResultsMessage", "name", "deletePermission", "viewPermission", "editPermission", "deleteActionVisibleField", "deleteActionEnabledField", "viewActionVisibleField", "viewActionEnabledField", "editActionVisibleField", "editActionEnabledField", "selectionEnabledField", "allowSelectAll", "paginator", "page", "tableStyle", "totalRecordsOnServer", "currentPageShowingKey", "currentPageShowingWithTotalOnServerKey", "captionTemplate", "stringCellTemplate", "numberCellTemplate", "dateCellTemplate", "relativeDateCellTemplate", "cellTemplate", "translationKeyCellTemplate", "stringFilterCellTemplate", "numberFilterCellTemplate", "dateFilterCellTemplate", "relativeDateFilterCellTemplate", "filterCellTemplate", "translationKeyFilterCellTemplate", "additionalActions", "frozenActionColumn", "actionColumnPosition", "expandedRows", "expandable", "frozenExpandColumn", "parentTemplates"], outputs: ["rowsChange", "selectedRowsChange", "filtersChange", "sortDirectionChange", "sortColumnChange", "columnsChange", "sortStatesChange", "pageSizesChange", "pageSizeChange", "nameChange", "pageChange", "additionalActionsChange", "expandedRowsChange", "filtered", "sorted", "viewTableRow", "editTableRow", "deleteTableRow", "selectionChanged", "pageChanged", "pageSizeChanged", "componentStateChanged", "rowExpanded", "rowCollapsed", "parentTemplatesChange"] }, { kind: "directive", type: IfBreakpointDirective, selector: "[ocxIfBreakpoint]", inputs: ["ocxIfBreakpoint", "ocxIfBreakpointElseTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "pipe", type: OcxTimeAgoPipe, name: "timeago" }] }); }
|
|
3871
3944
|
}
|
|
3872
3945
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FilterViewComponent, decorators: [{
|
|
3873
3946
|
type: Component,
|
|
@@ -4045,6 +4118,9 @@ class InteractiveDataViewComponent {
|
|
|
4045
4118
|
this.actionColumnPosition = model('right', ...(ngDevMode ? [{ debugName: "actionColumnPosition" }] : []));
|
|
4046
4119
|
this.headerStyleClass = input(undefined, ...(ngDevMode ? [{ debugName: "headerStyleClass" }] : []));
|
|
4047
4120
|
this.contentStyleClass = input(undefined, ...(ngDevMode ? [{ debugName: "contentStyleClass" }] : []));
|
|
4121
|
+
this.expandable = input(false, ...(ngDevMode ? [{ debugName: "expandable" }] : []));
|
|
4122
|
+
this.frozenExpandColumn = input(false, ...(ngDevMode ? [{ debugName: "frozenExpandColumn" }] : []));
|
|
4123
|
+
this.expandedRows = model([], ...(ngDevMode ? [{ debugName: "expandedRows" }] : []));
|
|
4048
4124
|
this.childTableCell = contentChild('tableCell', ...(ngDevMode ? [{ debugName: "childTableCell" }] : []));
|
|
4049
4125
|
this.primeNgTableCell = computed(() => {
|
|
4050
4126
|
const templates = this.templates();
|
|
@@ -4309,6 +4385,8 @@ class InteractiveDataViewComponent {
|
|
|
4309
4385
|
this.displayedColumnKeysChange = output();
|
|
4310
4386
|
this.pageChanged = output();
|
|
4311
4387
|
this.pageSizeChanged = output();
|
|
4388
|
+
this.rowExpanded = observableOutput();
|
|
4389
|
+
this.rowCollapsed = observableOutput();
|
|
4312
4390
|
this.componentStateChanged = output();
|
|
4313
4391
|
this.selectedGroupKey = signal(undefined, ...(ngDevMode ? [{ debugName: "selectedGroupKey" }] : []));
|
|
4314
4392
|
this.data = input([], ...(ngDevMode ? [{ debugName: "data" }] : []));
|
|
@@ -4525,14 +4603,14 @@ class InteractiveDataViewComponent {
|
|
|
4525
4603
|
this.pageSize.set(event);
|
|
4526
4604
|
}
|
|
4527
4605
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InteractiveDataViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4528
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: InteractiveDataViewComponent, isStandalone: false, selector: "ocx-interactive-data-view", inputs: { searchConfigPermission: { classPropertyName: "searchConfigPermission", publicName: "searchConfigPermission", isSignal: true, isRequired: false, transformFunction: null }, deletePermission: { classPropertyName: "deletePermission", publicName: "deletePermission", isSignal: true, isRequired: false, transformFunction: null }, editPermission: { classPropertyName: "editPermission", publicName: "editPermission", isSignal: true, isRequired: false, transformFunction: null }, viewPermission: { classPropertyName: "viewPermission", publicName: "viewPermission", isSignal: true, isRequired: false, transformFunction: null }, deleteActionVisibleField: { classPropertyName: "deleteActionVisibleField", publicName: "deleteActionVisibleField", isSignal: true, isRequired: false, transformFunction: null }, deleteActionEnabledField: { classPropertyName: "deleteActionEnabledField", publicName: "deleteActionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, viewActionVisibleField: { classPropertyName: "viewActionVisibleField", publicName: "viewActionVisibleField", isSignal: true, isRequired: false, transformFunction: null }, viewActionEnabledField: { classPropertyName: "viewActionEnabledField", publicName: "viewActionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, editActionVisibleField: { classPropertyName: "editActionVisibleField", publicName: "editActionVisibleField", isSignal: true, isRequired: false, transformFunction: null }, editActionEnabledField: { classPropertyName: "editActionEnabledField", publicName: "editActionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, tableSelectionEnabledField: { classPropertyName: "tableSelectionEnabledField", publicName: "tableSelectionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, tableAllowSelectAll: { classPropertyName: "tableAllowSelectAll", publicName: "tableAllowSelectAll", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, titleLineId: { classPropertyName: "titleLineId", publicName: "titleLineId", isSignal: true, isRequired: false, transformFunction: null }, subtitleLineIds: { classPropertyName: "subtitleLineIds", publicName: "subtitleLineIds", isSignal: true, isRequired: false, transformFunction: null }, supportedViewLayouts: { classPropertyName: "supportedViewLayouts", publicName: "supportedViewLayouts", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, emptyResultsMessage: { classPropertyName: "emptyResultsMessage", publicName: "emptyResultsMessage", isSignal: true, isRequired: false, transformFunction: null }, clientSideSorting: { classPropertyName: "clientSideSorting", publicName: "clientSideSorting", isSignal: true, isRequired: false, transformFunction: null }, clientSideFiltering: { classPropertyName: "clientSideFiltering", publicName: "clientSideFiltering", isSignal: true, isRequired: false, transformFunction: null }, fallbackImage: { classPropertyName: "fallbackImage", publicName: "fallbackImage", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, sortDirection: { classPropertyName: "sortDirection", publicName: "sortDirection", isSignal: true, isRequired: false, transformFunction: null }, sortField: { classPropertyName: "sortField", publicName: "sortField", isSignal: true, isRequired: false, transformFunction: null }, sortStates: { classPropertyName: "sortStates", publicName: "sortStates", isSignal: true, isRequired: false, transformFunction: null }, pageSizes: { classPropertyName: "pageSizes", publicName: "pageSizes", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, totalRecordsOnServer: { classPropertyName: "totalRecordsOnServer", publicName: "totalRecordsOnServer", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, defaultGroupKey: { classPropertyName: "defaultGroupKey", publicName: "defaultGroupKey", isSignal: true, isRequired: false, transformFunction: null }, customGroupKey: { classPropertyName: "customGroupKey", publicName: "customGroupKey", isSignal: true, isRequired: false, transformFunction: null }, groupSelectionNoGroupSelectedKey: { classPropertyName: "groupSelectionNoGroupSelectedKey", publicName: "groupSelectionNoGroupSelectedKey", isSignal: true, isRequired: false, transformFunction: null }, currentPageShowingKey: { classPropertyName: "currentPageShowingKey", publicName: "currentPageShowingKey", isSignal: true, isRequired: false, transformFunction: null }, currentPageShowingWithTotalOnServerKey: { classPropertyName: "currentPageShowingWithTotalOnServerKey", publicName: "currentPageShowingWithTotalOnServerKey", isSignal: true, isRequired: false, transformFunction: null }, additionalActions: { classPropertyName: "additionalActions", publicName: "additionalActions", isSignal: true, isRequired: false, transformFunction: null }, listGridPaginator: { classPropertyName: "listGridPaginator", publicName: "listGridPaginator", isSignal: true, isRequired: false, transformFunction: null }, tablePaginator: { classPropertyName: "tablePaginator", publicName: "tablePaginator", isSignal: true, isRequired: false, transformFunction: null }, paginator: { classPropertyName: "paginator", publicName: "paginator", isSignal: false, isRequired: false, transformFunction: null }, disableFilterView: { classPropertyName: "disableFilterView", publicName: "disableFilterView", isSignal: true, isRequired: false, transformFunction: null }, filterViewDisplayMode: { classPropertyName: "filterViewDisplayMode", publicName: "filterViewDisplayMode", isSignal: true, isRequired: false, transformFunction: null }, filterViewChipStyleClass: { classPropertyName: "filterViewChipStyleClass", publicName: "filterViewChipStyleClass", isSignal: true, isRequired: false, transformFunction: null }, filterViewTableStyle: { classPropertyName: "filterViewTableStyle", publicName: "filterViewTableStyle", isSignal: true, isRequired: false, transformFunction: null }, filterViewPanelStyle: { classPropertyName: "filterViewPanelStyle", publicName: "filterViewPanelStyle", isSignal: true, isRequired: false, transformFunction: null }, selectDisplayedChips: { classPropertyName: "selectDisplayedChips", publicName: "selectDisplayedChips", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, selectedRows: { classPropertyName: "selectedRows", publicName: "selectedRows", isSignal: true, isRequired: false, transformFunction: null }, displayedColumnKeys: { classPropertyName: "displayedColumnKeys", publicName: "displayedColumnKeys", isSignal: true, isRequired: false, transformFunction: null }, frozenActionColumn: { classPropertyName: "frozenActionColumn", publicName: "frozenActionColumn", isSignal: true, isRequired: false, transformFunction: null }, actionColumnPosition: { classPropertyName: "actionColumnPosition", publicName: "actionColumnPosition", isSignal: true, isRequired: false, transformFunction: null }, headerStyleClass: { classPropertyName: "headerStyleClass", publicName: "headerStyleClass", isSignal: true, isRequired: false, transformFunction: null }, contentStyleClass: { classPropertyName: "contentStyleClass", publicName: "contentStyleClass", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filters: "filtersChange", sortDirection: "sortDirectionChange", sortField: "sortFieldChange", pageSize: "pageSizeChange", layout: "layoutChange", listGridPaginator: "listGridPaginatorChange", tablePaginator: "tablePaginatorChange", page: "pageChange", displayedColumnKeys: "displayedColumnKeysChange", frozenActionColumn: "frozenActionColumnChange", actionColumnPosition: "actionColumnPositionChange", filtered: "filtered", sorted: "sorted", deleteItem: "deleteItem", viewItem: "viewItem", editItem: "editItem", selectionChanged: "selectionChanged", dataViewLayoutChange: "dataViewLayoutChange", displayedColumnKeysChange: "displayedColumnKeysChange", pageChanged: "pageChanged", pageSizeChanged: "pageSizeChanged", componentStateChanged: "componentStateChanged", groupSelectionChangedSlotEmitter: "groupSelectionChangedSlotEmitter" }, providers: [{ provide: 'InteractiveDataViewComponent', useExisting: InteractiveDataViewComponent }], queries: [{ propertyName: "childTableCell", first: true, predicate: ["tableCell"], descendants: true, isSignal: true }, { propertyName: "childDateTableCell", first: true, predicate: ["dateTableCell"], descendants: true, isSignal: true }, { propertyName: "childRelativeDateTableCell", first: true, predicate: ["relativeDateTableCell"], descendants: true, isSignal: true }, { propertyName: "childTranslationKeyTableCell", first: true, predicate: ["translationKeyTableCell"], descendants: true, isSignal: true }, { propertyName: "childGridItemSubtitleLines", first: true, predicate: ["gridItemSubtitleLines"], descendants: true, isSignal: true }, { propertyName: "childListItemSubtitleLines", first: true, predicate: ["listItemSubtitleLines"], descendants: true, isSignal: true }, { propertyName: "childStringTableCell", first: true, predicate: ["stringTableCell"], descendants: true, isSignal: true }, { propertyName: "childNumberTableCell", first: true, predicate: ["numberTableCell"], descendants: true, isSignal: true }, { propertyName: "childGridItem", first: true, predicate: ["gridItem"], descendants: true, isSignal: true }, { propertyName: "childListItem", first: true, predicate: ["listItem"], descendants: true, isSignal: true }, { propertyName: "childTopCenter", first: true, predicate: ["topCenter"], descendants: true, isSignal: true }, { propertyName: "childListValue", first: true, predicate: ["listValue"], descendants: true, isSignal: true }, { propertyName: "childTranslationKeyListValue", first: true, predicate: ["translationKeyListValue"], descendants: true, isSignal: true }, { propertyName: "childNumberListValue", first: true, predicate: ["numberListValue"], descendants: true, isSignal: true }, { propertyName: "childRelativeDateListValue", first: true, predicate: ["relativeDateListValue"], descendants: true, isSignal: true }, { propertyName: "childStringListValue", first: true, predicate: ["stringListValue"], descendants: true, isSignal: true }, { propertyName: "childDateListValue", first: true, predicate: ["dateListValue"], descendants: true, isSignal: true }, { propertyName: "childTableFilterCell", first: true, predicate: ["tableFilterCell"], descendants: true, isSignal: true }, { propertyName: "childDateTableFilterCell", first: true, predicate: ["dateTableFilterCell"], descendants: true, isSignal: true }, { propertyName: "childRelativeDateTableFilterCell", first: true, predicate: ["relativeDateTableFilterCell"], descendants: true, isSignal: true }, { propertyName: "childTranslationKeyTableFilterCell", first: true, predicate: ["translationKeyTableFilterCell"], descendants: true, isSignal: true }, { propertyName: "childStringTableFilterCell", first: true, predicate: ["stringTableFilterCell"], descendants: true, isSignal: true }, { propertyName: "childNumberTableFilterCell", first: true, predicate: ["numberTableFilterCell"], descendants: true, isSignal: true }, { propertyName: "templates", predicate: PrimeTemplate, isSignal: true }], viewQueries: [{ propertyName: "dataViewComponent", first: true, predicate: DataViewComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"p-3 border-bottom-1 surface-border\" [ngClass]=\"headerStyleClass()\" id=\"interactiveDataViewHeader\">\n <div class=\"flex flex-wrap justify-content-between align-items-center py-1 gap-2\">\n <div class=\"flex flex-wrap justify-content-start align-items-center 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 @if (!disableFilterView()) {\n <ocx-filter-view\n [filters]=\"filters()\"\n [columns]=\"columns()\"\n [templates]=\"templates()\"\n [displayMode]=\"filterViewDisplayMode()\"\n [selectDisplayedChips]=\"selectDisplayedChips()\"\n [chipStyleClass]=\"filterViewChipStyleClass()\"\n [tableStyle]=\"filterViewTableStyle()\"\n (filtered)=\"filtering($event)\"\n (componentStateChanged)=\"filterViewComponentState$.next($event)\"\n ></ocx-filter-view>\n }\n </div>\n\n @if (_topCenter(); as topCenterTemplate) {\n <div>\n <ng-container [ngTemplateOutlet]=\"topCenterTemplate\"> </ng-container>\n </div>\n } @if (layout() !== 'table') {\n <div class=\"flex align-items-center gap-2\">\n <ocx-data-list-grid-sorting\n [sortDirection]=\"sortDirection()\"\n [sortField]=\"sortField()\"\n [columns]=\"displayedColumns()\"\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\n <div\n [ngStyle]=\"layout() !== 'table' ? {\n 'position': 'absolute'\n } : {}\"\n class=\"flex flex-wrap justify-content-between align-items-center gap-2\"\n >\n @if (isColumnGroupSelectionComponentDefined() ?? true) {\n <ocx-slot\n [ngStyle]=\"layout() !== 'table' ? {'display' : 'none'} : {}\"\n *ocxIfPermission=\"searchConfigPermission(); elseTemplate: defaultColumnGroupSelectionComponent\"\n name=\"{{columnGroupSlotName}}\"\n [inputs]=\"{ placeholderKey: groupSelectionNoGroupSelectedKey(), defaultGroupKey: defaultGroupKey(), customGroupKey: customGroupKey(), columns: columns(), selectedGroupKey: selectedGroupKey(), layout: layout(), displayedColumnsIds: displayedColumnKeys() }\"\n [outputs]=\"{ groupSelectionChanged: slotGroupSelectionChangeListener }\"\n >\n <ng-template #skeleton>\n <div class=\"flex\">\n <p-skeleton width=\"18rem\" height=\"3rem\"></p-skeleton>\n </div>\n </ng-template>\n </ocx-slot>\n } @else {\n <ng-container [ngTemplateOutlet]=\"defaultColumnGroupSelectionComponent\"></ng-container>\n } @if (layout() === 'table') {\n <ocx-custom-group-column-selector\n [columns]=\"columns()\"\n [displayedColumns]=\"displayedColumns()\"\n [customGroupKey]=\"customGroupKey()\"\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 }\n </div>\n </div>\n</div>\n<div class=\"p-3\" [ngClass]=\"contentStyleClass()\" id=\"interactiveDataViewContent\">\n <ocx-data-view\n [columns]=\"displayedColumns()\"\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()\"\n [numberTableCellTemplate]=\"_numberTableCell()\"\n [dateTableCellTemplate]=\"_dateTableCell()\"\n [relativeDateTableCellTemplate]=\"_relativeDateTableCell()\"\n [tableCellTemplate]=\"_tableCell()\"\n [translationKeyTableCellTemplate]=\"_translationKeyTableCell()\"\n [gridItemSubtitleLinesTemplate]=\"_gridItemSubtitleLines()\"\n [listItemSubtitleLinesTemplate]=\"_listItemSubtitleLines()\"\n [listItemTemplate]=\"_listItem()\"\n [listValueTemplate]=\"_listValue()\"\n [translationKeyListValueTemplate]=\"_translationKeyListValue()\"\n [numberListValueTemplate]=\"_numberListValue()\"\n [relativeDateListValueTemplate]=\"_relativeDateListValue()\"\n [stringListValueTemplate]=\"_stringListValue()\"\n [dateListValueTemplate]=\"_dateListValue()\"\n [gridItemTemplate]=\"_gridItem()\"\n [tableFilterCellTemplate]=\"_tableFilterCell()\"\n [dateTableFilterCellTemplate]=\"_dateTableFilterCell()\"\n [numberTableFilterCellTemplate]=\"_numberTableFilterCell()\"\n [stringTableFilterCellTemplate]=\"_stringTableFilterCell()\"\n [relativeDateTableFilterCellTemplate]=\"_relativeDateTableFilterCell()\"\n [translationKeyTableFilterCellTemplate]=\"_translationKeyTableFilterCell()\"\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()\"\n [tableAllowSelectAll]=\"tableAllowSelectAll()\"\n [tableSelectionEnabledField]=\"tableSelectionEnabledField()\"\n >\n </ocx-data-view>\n</div>\n\n<ng-template #defaultColumnGroupSelectionComponent>\n @if (layout() === 'table') {\n <ocx-column-group-selection\n [selectedGroupKey]=\"selectedGroupKey() ?? defaultGroupKey()\"\n [columns]=\"columns()\"\n [defaultGroupKey]=\"defaultGroupKey() !== customGroupKey() ? defaultGroupKey() : ''\"\n [customGroupKey]=\"customGroupKey()\"\n [placeholderKey]=\"groupSelectionNoGroupSelectedKey()\"\n (groupSelectionChanged)=\"onColumnGroupSelectionChange($event)\"\n (componentStateChanged)=\"columnGroupSelectionComponentState$.next($event)\"\n ></ocx-column-group-selection>\n }\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i5.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i4$1.SlotComponent, selector: "ocx-slot", inputs: ["name", "inputs", "outputs"], outputs: ["inputsChange", "outputsChange"] }, { kind: "component", type: ColumnGroupSelectionComponent, selector: "ocx-column-group-selection", inputs: ["selectedGroupKey", "columns", "placeholderKey", "defaultGroupKey", "customGroupKey"], outputs: ["selectedGroupKeyChange", "groupSelectionChanged", "componentStateChanged"] }, { kind: "component", type: CustomGroupColumnSelectorComponent, selector: "ocx-custom-group-column-selector", inputs: ["columns", "displayedColumns", "customGroupKey", "dialogTitle", "dialogTitleKey", "openButtonTitle", "openButtonTitleKey", "openButtonAriaLabel", "openButtonAriaLabelKey", "saveButtonLabel", "saveButtonLabelKey", "saveButtonAriaLabel", "saveButtonAriaLabelKey", "cancelButtonLabel", "cancelButtonLabelKey", "cancelButtonAriaLabel", "cancelButtonAriaLabelKey", "activeColumnsLabel", "activeColumnsLabelKey", "inactiveColumnsLabel", "inactiveColumnsLabelKey", "frozenActionColumn", "actionColumnPosition"], outputs: ["displayedColumnsChange", "columnSelectionChanged", "actionColumnConfigChanged", "componentStateChanged"] }, { kind: "component", type: DataLayoutSelectionComponent, selector: "ocx-data-layout-selection", inputs: ["supportedViewLayouts", "layout"], outputs: ["layoutChange", "dataViewLayoutChange", "componentStateChanged"] }, { kind: "component", type: DataListGridSortingComponent, selector: "ocx-data-list-grid-sorting", inputs: ["columns", "sortStates", "sortDirection", "sortField"], outputs: ["sortDirectionChange", "sortFieldChange", "sortChange", "componentStateChanged", "columnsChange"] }, { kind: "component", type: 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", "paginator", "page", "totalRecordsOnServer", "currentPageShowingKey", "currentPageShowingWithTotalOnServerKey", "selectedRows", "frozenActionColumn", "actionColumnPosition", "sortStates", "pageSizes", "pageSize", "stringTableCellTemplate", "numberTableCellTemplate", "dateTableCellTemplate", "tableCellTemplate", "translationKeyTableCellTemplate", "gridItemSubtitleLinesTemplate", "listItemSubtitleLinesTemplate", "gridItemTemplate", "listItemTemplate", "relativeDateTableCellTemplate", "listValueTemplate", "translationKeyListValueTemplate", "numberListValueTemplate", "relativeDateListValueTemplate", "stringListValueTemplate", "dateListValueTemplate", "tableFilterCellTemplate", "dateTableFilterCellTemplate", "relativeDateTableFilterCellTemplate", "translationKeyTableFilterCellTemplate", "stringTableFilterCellTemplate", "numberTableFilterCellTemplate", "additionalActions", "parentTemplates"], outputs: ["filtersChange", "sortFieldChange", "sortDirectionChange", "listGridPaginatorChange", "tablePaginatorChange", "pageChange", "pageSizeChange", "filtered", "sorted", "deleteItem", "viewItem", "editItem", "selectionChanged", "pageChanged", "pageSizeChanged", "componentStateChanged"] }, { kind: "directive", type: IfPermissionDirective, selector: "[ocxIfPermission], [ocxIfNotPermission]", inputs: ["ocxIfPermission", "ocxIfNotPermission", "ocxIfPermissionOnMissingPermission", "ocxIfNotPermissionOnMissingPermission", "ocxIfPermissionPermissions", "ocxIfNotPermissionPermissions", "ocxIfPermissionElseTemplate", "ocxIfNotPermissionElseTemplate"] }, { kind: "component", type: FilterViewComponent, selector: "ocx-filter-view", inputs: ["filters", "columns", "displayMode", "selectDisplayedChips", "chipStyleClass", "tableStyle", "panelStyle", "templates"], outputs: ["filtersChange", "columnsChange", "filtered", "componentStateChanged"] }] }); }
|
|
4606
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: InteractiveDataViewComponent, isStandalone: false, selector: "ocx-interactive-data-view", inputs: { searchConfigPermission: { classPropertyName: "searchConfigPermission", publicName: "searchConfigPermission", isSignal: true, isRequired: false, transformFunction: null }, deletePermission: { classPropertyName: "deletePermission", publicName: "deletePermission", isSignal: true, isRequired: false, transformFunction: null }, editPermission: { classPropertyName: "editPermission", publicName: "editPermission", isSignal: true, isRequired: false, transformFunction: null }, viewPermission: { classPropertyName: "viewPermission", publicName: "viewPermission", isSignal: true, isRequired: false, transformFunction: null }, deleteActionVisibleField: { classPropertyName: "deleteActionVisibleField", publicName: "deleteActionVisibleField", isSignal: true, isRequired: false, transformFunction: null }, deleteActionEnabledField: { classPropertyName: "deleteActionEnabledField", publicName: "deleteActionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, viewActionVisibleField: { classPropertyName: "viewActionVisibleField", publicName: "viewActionVisibleField", isSignal: true, isRequired: false, transformFunction: null }, viewActionEnabledField: { classPropertyName: "viewActionEnabledField", publicName: "viewActionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, editActionVisibleField: { classPropertyName: "editActionVisibleField", publicName: "editActionVisibleField", isSignal: true, isRequired: false, transformFunction: null }, editActionEnabledField: { classPropertyName: "editActionEnabledField", publicName: "editActionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, tableSelectionEnabledField: { classPropertyName: "tableSelectionEnabledField", publicName: "tableSelectionEnabledField", isSignal: true, isRequired: false, transformFunction: null }, tableAllowSelectAll: { classPropertyName: "tableAllowSelectAll", publicName: "tableAllowSelectAll", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, titleLineId: { classPropertyName: "titleLineId", publicName: "titleLineId", isSignal: true, isRequired: false, transformFunction: null }, subtitleLineIds: { classPropertyName: "subtitleLineIds", publicName: "subtitleLineIds", isSignal: true, isRequired: false, transformFunction: null }, supportedViewLayouts: { classPropertyName: "supportedViewLayouts", publicName: "supportedViewLayouts", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, emptyResultsMessage: { classPropertyName: "emptyResultsMessage", publicName: "emptyResultsMessage", isSignal: true, isRequired: false, transformFunction: null }, clientSideSorting: { classPropertyName: "clientSideSorting", publicName: "clientSideSorting", isSignal: true, isRequired: false, transformFunction: null }, clientSideFiltering: { classPropertyName: "clientSideFiltering", publicName: "clientSideFiltering", isSignal: true, isRequired: false, transformFunction: null }, fallbackImage: { classPropertyName: "fallbackImage", publicName: "fallbackImage", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, sortDirection: { classPropertyName: "sortDirection", publicName: "sortDirection", isSignal: true, isRequired: false, transformFunction: null }, sortField: { classPropertyName: "sortField", publicName: "sortField", isSignal: true, isRequired: false, transformFunction: null }, sortStates: { classPropertyName: "sortStates", publicName: "sortStates", isSignal: true, isRequired: false, transformFunction: null }, pageSizes: { classPropertyName: "pageSizes", publicName: "pageSizes", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, totalRecordsOnServer: { classPropertyName: "totalRecordsOnServer", publicName: "totalRecordsOnServer", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, defaultGroupKey: { classPropertyName: "defaultGroupKey", publicName: "defaultGroupKey", isSignal: true, isRequired: false, transformFunction: null }, customGroupKey: { classPropertyName: "customGroupKey", publicName: "customGroupKey", isSignal: true, isRequired: false, transformFunction: null }, groupSelectionNoGroupSelectedKey: { classPropertyName: "groupSelectionNoGroupSelectedKey", publicName: "groupSelectionNoGroupSelectedKey", isSignal: true, isRequired: false, transformFunction: null }, currentPageShowingKey: { classPropertyName: "currentPageShowingKey", publicName: "currentPageShowingKey", isSignal: true, isRequired: false, transformFunction: null }, currentPageShowingWithTotalOnServerKey: { classPropertyName: "currentPageShowingWithTotalOnServerKey", publicName: "currentPageShowingWithTotalOnServerKey", isSignal: true, isRequired: false, transformFunction: null }, additionalActions: { classPropertyName: "additionalActions", publicName: "additionalActions", isSignal: true, isRequired: false, transformFunction: null }, listGridPaginator: { classPropertyName: "listGridPaginator", publicName: "listGridPaginator", isSignal: true, isRequired: false, transformFunction: null }, tablePaginator: { classPropertyName: "tablePaginator", publicName: "tablePaginator", isSignal: true, isRequired: false, transformFunction: null }, paginator: { classPropertyName: "paginator", publicName: "paginator", isSignal: false, isRequired: false, transformFunction: null }, disableFilterView: { classPropertyName: "disableFilterView", publicName: "disableFilterView", isSignal: true, isRequired: false, transformFunction: null }, filterViewDisplayMode: { classPropertyName: "filterViewDisplayMode", publicName: "filterViewDisplayMode", isSignal: true, isRequired: false, transformFunction: null }, filterViewChipStyleClass: { classPropertyName: "filterViewChipStyleClass", publicName: "filterViewChipStyleClass", isSignal: true, isRequired: false, transformFunction: null }, filterViewTableStyle: { classPropertyName: "filterViewTableStyle", publicName: "filterViewTableStyle", isSignal: true, isRequired: false, transformFunction: null }, filterViewPanelStyle: { classPropertyName: "filterViewPanelStyle", publicName: "filterViewPanelStyle", isSignal: true, isRequired: false, transformFunction: null }, selectDisplayedChips: { classPropertyName: "selectDisplayedChips", publicName: "selectDisplayedChips", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, selectedRows: { classPropertyName: "selectedRows", publicName: "selectedRows", isSignal: true, isRequired: false, transformFunction: null }, displayedColumnKeys: { classPropertyName: "displayedColumnKeys", publicName: "displayedColumnKeys", isSignal: true, isRequired: false, transformFunction: null }, frozenActionColumn: { classPropertyName: "frozenActionColumn", publicName: "frozenActionColumn", isSignal: true, isRequired: false, transformFunction: null }, actionColumnPosition: { classPropertyName: "actionColumnPosition", publicName: "actionColumnPosition", isSignal: true, isRequired: false, transformFunction: null }, headerStyleClass: { classPropertyName: "headerStyleClass", publicName: "headerStyleClass", isSignal: true, isRequired: false, transformFunction: null }, contentStyleClass: { classPropertyName: "contentStyleClass", publicName: "contentStyleClass", isSignal: true, isRequired: false, transformFunction: null }, expandable: { classPropertyName: "expandable", publicName: "expandable", isSignal: true, isRequired: false, transformFunction: null }, frozenExpandColumn: { classPropertyName: "frozenExpandColumn", publicName: "frozenExpandColumn", isSignal: true, isRequired: false, transformFunction: null }, expandedRows: { classPropertyName: "expandedRows", publicName: "expandedRows", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filters: "filtersChange", sortDirection: "sortDirectionChange", sortField: "sortFieldChange", pageSize: "pageSizeChange", layout: "layoutChange", listGridPaginator: "listGridPaginatorChange", tablePaginator: "tablePaginatorChange", page: "pageChange", displayedColumnKeys: "displayedColumnKeysChange", frozenActionColumn: "frozenActionColumnChange", actionColumnPosition: "actionColumnPositionChange", expandedRows: "expandedRowsChange", filtered: "filtered", sorted: "sorted", deleteItem: "deleteItem", viewItem: "viewItem", editItem: "editItem", selectionChanged: "selectionChanged", dataViewLayoutChange: "dataViewLayoutChange", displayedColumnKeysChange: "displayedColumnKeysChange", pageChanged: "pageChanged", pageSizeChanged: "pageSizeChanged", rowExpanded: "rowExpanded", rowCollapsed: "rowCollapsed", componentStateChanged: "componentStateChanged", groupSelectionChangedSlotEmitter: "groupSelectionChangedSlotEmitter" }, providers: [{ provide: 'InteractiveDataViewComponent', useExisting: InteractiveDataViewComponent }], queries: [{ propertyName: "childTableCell", first: true, predicate: ["tableCell"], descendants: true, isSignal: true }, { propertyName: "childDateTableCell", first: true, predicate: ["dateTableCell"], descendants: true, isSignal: true }, { propertyName: "childRelativeDateTableCell", first: true, predicate: ["relativeDateTableCell"], descendants: true, isSignal: true }, { propertyName: "childTranslationKeyTableCell", first: true, predicate: ["translationKeyTableCell"], descendants: true, isSignal: true }, { propertyName: "childGridItemSubtitleLines", first: true, predicate: ["gridItemSubtitleLines"], descendants: true, isSignal: true }, { propertyName: "childListItemSubtitleLines", first: true, predicate: ["listItemSubtitleLines"], descendants: true, isSignal: true }, { propertyName: "childStringTableCell", first: true, predicate: ["stringTableCell"], descendants: true, isSignal: true }, { propertyName: "childNumberTableCell", first: true, predicate: ["numberTableCell"], descendants: true, isSignal: true }, { propertyName: "childGridItem", first: true, predicate: ["gridItem"], descendants: true, isSignal: true }, { propertyName: "childListItem", first: true, predicate: ["listItem"], descendants: true, isSignal: true }, { propertyName: "childTopCenter", first: true, predicate: ["topCenter"], descendants: true, isSignal: true }, { propertyName: "childListValue", first: true, predicate: ["listValue"], descendants: true, isSignal: true }, { propertyName: "childTranslationKeyListValue", first: true, predicate: ["translationKeyListValue"], descendants: true, isSignal: true }, { propertyName: "childNumberListValue", first: true, predicate: ["numberListValue"], descendants: true, isSignal: true }, { propertyName: "childRelativeDateListValue", first: true, predicate: ["relativeDateListValue"], descendants: true, isSignal: true }, { propertyName: "childStringListValue", first: true, predicate: ["stringListValue"], descendants: true, isSignal: true }, { propertyName: "childDateListValue", first: true, predicate: ["dateListValue"], descendants: true, isSignal: true }, { propertyName: "childTableFilterCell", first: true, predicate: ["tableFilterCell"], descendants: true, isSignal: true }, { propertyName: "childDateTableFilterCell", first: true, predicate: ["dateTableFilterCell"], descendants: true, isSignal: true }, { propertyName: "childRelativeDateTableFilterCell", first: true, predicate: ["relativeDateTableFilterCell"], descendants: true, isSignal: true }, { propertyName: "childTranslationKeyTableFilterCell", first: true, predicate: ["translationKeyTableFilterCell"], descendants: true, isSignal: true }, { propertyName: "childStringTableFilterCell", first: true, predicate: ["stringTableFilterCell"], descendants: true, isSignal: true }, { propertyName: "childNumberTableFilterCell", first: true, predicate: ["numberTableFilterCell"], descendants: true, isSignal: true }, { propertyName: "templates", predicate: PrimeTemplate, isSignal: true }], viewQueries: [{ propertyName: "dataViewComponent", first: true, predicate: DataViewComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"p-3 border-bottom-1 surface-border\" [ngClass]=\"headerStyleClass()\" id=\"interactiveDataViewHeader\">\n <div class=\"flex flex-wrap justify-content-between align-items-center py-1 gap-2\">\n <div class=\"flex flex-wrap justify-content-start align-items-center 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 @if (!disableFilterView()) {\n <ocx-filter-view\n [filters]=\"filters()\"\n [columns]=\"columns()\"\n [templates]=\"templates()\"\n [displayMode]=\"filterViewDisplayMode()\"\n [selectDisplayedChips]=\"selectDisplayedChips()\"\n [chipStyleClass]=\"filterViewChipStyleClass()\"\n [tableStyle]=\"filterViewTableStyle()\"\n (filtered)=\"filtering($event)\"\n (componentStateChanged)=\"filterViewComponentState$.next($event)\"\n ></ocx-filter-view>\n }\n </div>\n\n @if (_topCenter(); as topCenterTemplate) {\n <div>\n <ng-container [ngTemplateOutlet]=\"topCenterTemplate\"> </ng-container>\n </div>\n } @if (layout() !== 'table') {\n <div class=\"flex align-items-center gap-2\">\n <ocx-data-list-grid-sorting\n [sortDirection]=\"sortDirection()\"\n [sortField]=\"sortField()\"\n [columns]=\"displayedColumns()\"\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\n <div\n [ngStyle]=\"layout() !== 'table' ? {\n 'position': 'absolute'\n } : {}\"\n class=\"flex flex-wrap justify-content-between align-items-center gap-2\"\n >\n @if (isColumnGroupSelectionComponentDefined() ?? true) {\n <ocx-slot\n [ngStyle]=\"layout() !== 'table' ? {'display' : 'none'} : {}\"\n *ocxIfPermission=\"searchConfigPermission(); elseTemplate: defaultColumnGroupSelectionComponent\"\n name=\"{{columnGroupSlotName}}\"\n [inputs]=\"{ placeholderKey: groupSelectionNoGroupSelectedKey(), defaultGroupKey: defaultGroupKey(), customGroupKey: customGroupKey(), columns: columns(), selectedGroupKey: selectedGroupKey(), layout: layout(), displayedColumnsIds: displayedColumnKeys() }\"\n [outputs]=\"{ groupSelectionChanged: slotGroupSelectionChangeListener }\"\n >\n <ng-template #skeleton>\n <div class=\"flex\">\n <p-skeleton width=\"18rem\" height=\"3rem\"></p-skeleton>\n </div>\n </ng-template>\n </ocx-slot>\n } @else {\n <ng-container [ngTemplateOutlet]=\"defaultColumnGroupSelectionComponent\"></ng-container>\n } @if (layout() === 'table') {\n <ocx-custom-group-column-selector\n [columns]=\"columns()\"\n [displayedColumns]=\"displayedColumns()\"\n [customGroupKey]=\"customGroupKey()\"\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 }\n </div>\n </div>\n</div>\n<div class=\"p-3\" [ngClass]=\"contentStyleClass()\" id=\"interactiveDataViewContent\">\n <ocx-data-view\n [columns]=\"displayedColumns()\"\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()\"\n [numberTableCellTemplate]=\"_numberTableCell()\"\n [dateTableCellTemplate]=\"_dateTableCell()\"\n [relativeDateTableCellTemplate]=\"_relativeDateTableCell()\"\n [tableCellTemplate]=\"_tableCell()\"\n [translationKeyTableCellTemplate]=\"_translationKeyTableCell()\"\n [gridItemSubtitleLinesTemplate]=\"_gridItemSubtitleLines()\"\n [listItemSubtitleLinesTemplate]=\"_listItemSubtitleLines()\"\n [listItemTemplate]=\"_listItem()\"\n [listValueTemplate]=\"_listValue()\"\n [translationKeyListValueTemplate]=\"_translationKeyListValue()\"\n [numberListValueTemplate]=\"_numberListValue()\"\n [relativeDateListValueTemplate]=\"_relativeDateListValue()\"\n [stringListValueTemplate]=\"_stringListValue()\"\n [dateListValueTemplate]=\"_dateListValue()\"\n [gridItemTemplate]=\"_gridItem()\"\n [tableFilterCellTemplate]=\"_tableFilterCell()\"\n [dateTableFilterCellTemplate]=\"_dateTableFilterCell()\"\n [numberTableFilterCellTemplate]=\"_numberTableFilterCell()\"\n [stringTableFilterCellTemplate]=\"_stringTableFilterCell()\"\n [relativeDateTableFilterCellTemplate]=\"_relativeDateTableFilterCell()\"\n [translationKeyTableFilterCellTemplate]=\"_translationKeyTableFilterCell()\"\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()\"\n [tableAllowSelectAll]=\"tableAllowSelectAll()\"\n [tableSelectionEnabledField]=\"tableSelectionEnabledField()\"\n [expandable]=\"expandable()\"\n [frozenExpandColumn]=\"frozenExpandColumn()\"\n [(expandedRows)]=\"expandedRows\"\n (rowExpanded)=\"rowExpanded.emit($event)\"\n (rowCollapsed)=\"rowCollapsed.emit($event)\"\n >\n </ocx-data-view>\n</div>\n\n<ng-template #defaultColumnGroupSelectionComponent>\n @if (layout() === 'table') {\n <ocx-column-group-selection\n [selectedGroupKey]=\"selectedGroupKey() ?? defaultGroupKey()\"\n [columns]=\"columns()\"\n [defaultGroupKey]=\"defaultGroupKey() !== customGroupKey() ? defaultGroupKey() : ''\"\n [customGroupKey]=\"customGroupKey()\"\n [placeholderKey]=\"groupSelectionNoGroupSelectedKey()\"\n (groupSelectionChanged)=\"onColumnGroupSelectionChange($event)\"\n (componentStateChanged)=\"columnGroupSelectionComponentState$.next($event)\"\n ></ocx-column-group-selection>\n }\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i5.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i4$1.SlotComponent, selector: "ocx-slot", inputs: ["name", "inputs", "outputs"], outputs: ["inputsChange", "outputsChange"] }, { kind: "component", type: ColumnGroupSelectionComponent, selector: "ocx-column-group-selection", inputs: ["selectedGroupKey", "columns", "placeholderKey", "defaultGroupKey", "customGroupKey"], outputs: ["selectedGroupKeyChange", "groupSelectionChanged", "componentStateChanged"] }, { kind: "component", type: CustomGroupColumnSelectorComponent, selector: "ocx-custom-group-column-selector", inputs: ["columns", "displayedColumns", "customGroupKey", "dialogTitle", "dialogTitleKey", "openButtonTitle", "openButtonTitleKey", "openButtonAriaLabel", "openButtonAriaLabelKey", "saveButtonLabel", "saveButtonLabelKey", "saveButtonAriaLabel", "saveButtonAriaLabelKey", "cancelButtonLabel", "cancelButtonLabelKey", "cancelButtonAriaLabel", "cancelButtonAriaLabelKey", "activeColumnsLabel", "activeColumnsLabelKey", "inactiveColumnsLabel", "inactiveColumnsLabelKey", "frozenActionColumn", "actionColumnPosition"], outputs: ["displayedColumnsChange", "columnSelectionChanged", "actionColumnConfigChanged", "componentStateChanged"] }, { kind: "component", type: DataLayoutSelectionComponent, selector: "ocx-data-layout-selection", inputs: ["supportedViewLayouts", "layout"], outputs: ["layoutChange", "dataViewLayoutChange", "componentStateChanged"] }, { kind: "component", type: DataListGridSortingComponent, selector: "ocx-data-list-grid-sorting", inputs: ["columns", "sortStates", "sortDirection", "sortField"], outputs: ["sortDirectionChange", "sortFieldChange", "sortChange", "componentStateChanged", "columnsChange"] }, { kind: "component", type: 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", "paginator", "page", "totalRecordsOnServer", "currentPageShowingKey", "currentPageShowingWithTotalOnServerKey", "selectedRows", "frozenActionColumn", "actionColumnPosition", "expandable", "frozenExpandColumn", "expandedRows", "sortStates", "pageSizes", "pageSize", "stringTableCellTemplate", "numberTableCellTemplate", "dateTableCellTemplate", "tableCellTemplate", "translationKeyTableCellTemplate", "gridItemSubtitleLinesTemplate", "listItemSubtitleLinesTemplate", "gridItemTemplate", "listItemTemplate", "relativeDateTableCellTemplate", "listValueTemplate", "translationKeyListValueTemplate", "numberListValueTemplate", "relativeDateListValueTemplate", "stringListValueTemplate", "dateListValueTemplate", "tableFilterCellTemplate", "dateTableFilterCellTemplate", "relativeDateTableFilterCellTemplate", "translationKeyTableFilterCellTemplate", "stringTableFilterCellTemplate", "numberTableFilterCellTemplate", "additionalActions", "parentTemplates"], outputs: ["filtersChange", "sortFieldChange", "sortDirectionChange", "listGridPaginatorChange", "tablePaginatorChange", "pageChange", "expandedRowsChange", "pageSizeChange", "filtered", "sorted", "deleteItem", "viewItem", "editItem", "selectionChanged", "pageChanged", "pageSizeChanged", "componentStateChanged", "rowExpanded", "rowCollapsed"] }, { kind: "directive", type: IfPermissionDirective, selector: "[ocxIfPermission], [ocxIfNotPermission]", inputs: ["ocxIfPermission", "ocxIfNotPermission", "ocxIfPermissionOnMissingPermission", "ocxIfNotPermissionOnMissingPermission", "ocxIfPermissionPermissions", "ocxIfNotPermissionPermissions", "ocxIfPermissionElseTemplate", "ocxIfNotPermissionElseTemplate"] }, { kind: "component", type: FilterViewComponent, selector: "ocx-filter-view", inputs: ["filters", "columns", "displayMode", "selectDisplayedChips", "chipStyleClass", "tableStyle", "panelStyle", "templates"], outputs: ["filtersChange", "columnsChange", "filtered", "componentStateChanged"] }] }); }
|
|
4529
4607
|
}
|
|
4530
4608
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InteractiveDataViewComponent, decorators: [{
|
|
4531
4609
|
type: Component,
|
|
4532
|
-
args: [{ standalone: false, selector: 'ocx-interactive-data-view', providers: [{ provide: 'InteractiveDataViewComponent', useExisting: InteractiveDataViewComponent }], template: "<div class=\"p-3 border-bottom-1 surface-border\" [ngClass]=\"headerStyleClass()\" id=\"interactiveDataViewHeader\">\n <div class=\"flex flex-wrap justify-content-between align-items-center py-1 gap-2\">\n <div class=\"flex flex-wrap justify-content-start align-items-center 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 @if (!disableFilterView()) {\n <ocx-filter-view\n [filters]=\"filters()\"\n [columns]=\"columns()\"\n [templates]=\"templates()\"\n [displayMode]=\"filterViewDisplayMode()\"\n [selectDisplayedChips]=\"selectDisplayedChips()\"\n [chipStyleClass]=\"filterViewChipStyleClass()\"\n [tableStyle]=\"filterViewTableStyle()\"\n (filtered)=\"filtering($event)\"\n (componentStateChanged)=\"filterViewComponentState$.next($event)\"\n ></ocx-filter-view>\n }\n </div>\n\n @if (_topCenter(); as topCenterTemplate) {\n <div>\n <ng-container [ngTemplateOutlet]=\"topCenterTemplate\"> </ng-container>\n </div>\n } @if (layout() !== 'table') {\n <div class=\"flex align-items-center gap-2\">\n <ocx-data-list-grid-sorting\n [sortDirection]=\"sortDirection()\"\n [sortField]=\"sortField()\"\n [columns]=\"displayedColumns()\"\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\n <div\n [ngStyle]=\"layout() !== 'table' ? {\n 'position': 'absolute'\n } : {}\"\n class=\"flex flex-wrap justify-content-between align-items-center gap-2\"\n >\n @if (isColumnGroupSelectionComponentDefined() ?? true) {\n <ocx-slot\n [ngStyle]=\"layout() !== 'table' ? {'display' : 'none'} : {}\"\n *ocxIfPermission=\"searchConfigPermission(); elseTemplate: defaultColumnGroupSelectionComponent\"\n name=\"{{columnGroupSlotName}}\"\n [inputs]=\"{ placeholderKey: groupSelectionNoGroupSelectedKey(), defaultGroupKey: defaultGroupKey(), customGroupKey: customGroupKey(), columns: columns(), selectedGroupKey: selectedGroupKey(), layout: layout(), displayedColumnsIds: displayedColumnKeys() }\"\n [outputs]=\"{ groupSelectionChanged: slotGroupSelectionChangeListener }\"\n >\n <ng-template #skeleton>\n <div class=\"flex\">\n <p-skeleton width=\"18rem\" height=\"3rem\"></p-skeleton>\n </div>\n </ng-template>\n </ocx-slot>\n } @else {\n <ng-container [ngTemplateOutlet]=\"defaultColumnGroupSelectionComponent\"></ng-container>\n } @if (layout() === 'table') {\n <ocx-custom-group-column-selector\n [columns]=\"columns()\"\n [displayedColumns]=\"displayedColumns()\"\n [customGroupKey]=\"customGroupKey()\"\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 }\n </div>\n </div>\n</div>\n<div class=\"p-3\" [ngClass]=\"contentStyleClass()\" id=\"interactiveDataViewContent\">\n <ocx-data-view\n [columns]=\"displayedColumns()\"\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()\"\n [numberTableCellTemplate]=\"_numberTableCell()\"\n [dateTableCellTemplate]=\"_dateTableCell()\"\n [relativeDateTableCellTemplate]=\"_relativeDateTableCell()\"\n [tableCellTemplate]=\"_tableCell()\"\n [translationKeyTableCellTemplate]=\"_translationKeyTableCell()\"\n [gridItemSubtitleLinesTemplate]=\"_gridItemSubtitleLines()\"\n [listItemSubtitleLinesTemplate]=\"_listItemSubtitleLines()\"\n [listItemTemplate]=\"_listItem()\"\n [listValueTemplate]=\"_listValue()\"\n [translationKeyListValueTemplate]=\"_translationKeyListValue()\"\n [numberListValueTemplate]=\"_numberListValue()\"\n [relativeDateListValueTemplate]=\"_relativeDateListValue()\"\n [stringListValueTemplate]=\"_stringListValue()\"\n [dateListValueTemplate]=\"_dateListValue()\"\n [gridItemTemplate]=\"_gridItem()\"\n [tableFilterCellTemplate]=\"_tableFilterCell()\"\n [dateTableFilterCellTemplate]=\"_dateTableFilterCell()\"\n [numberTableFilterCellTemplate]=\"_numberTableFilterCell()\"\n [stringTableFilterCellTemplate]=\"_stringTableFilterCell()\"\n [relativeDateTableFilterCellTemplate]=\"_relativeDateTableFilterCell()\"\n [translationKeyTableFilterCellTemplate]=\"_translationKeyTableFilterCell()\"\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()\"\n [tableAllowSelectAll]=\"tableAllowSelectAll()\"\n [tableSelectionEnabledField]=\"tableSelectionEnabledField()\"\n >\n </ocx-data-view>\n</div>\n\n<ng-template #defaultColumnGroupSelectionComponent>\n @if (layout() === 'table') {\n <ocx-column-group-selection\n [selectedGroupKey]=\"selectedGroupKey() ?? defaultGroupKey()\"\n [columns]=\"columns()\"\n [defaultGroupKey]=\"defaultGroupKey() !== customGroupKey() ? defaultGroupKey() : ''\"\n [customGroupKey]=\"customGroupKey()\"\n [placeholderKey]=\"groupSelectionNoGroupSelectedKey()\"\n (groupSelectionChanged)=\"onColumnGroupSelectionChange($event)\"\n (componentStateChanged)=\"columnGroupSelectionComponentState$.next($event)\"\n ></ocx-column-group-selection>\n }\n</ng-template>\n" }]
|
|
4610
|
+
args: [{ standalone: false, selector: 'ocx-interactive-data-view', providers: [{ provide: 'InteractiveDataViewComponent', useExisting: InteractiveDataViewComponent }], template: "<div class=\"p-3 border-bottom-1 surface-border\" [ngClass]=\"headerStyleClass()\" id=\"interactiveDataViewHeader\">\n <div class=\"flex flex-wrap justify-content-between align-items-center py-1 gap-2\">\n <div class=\"flex flex-wrap justify-content-start align-items-center 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 @if (!disableFilterView()) {\n <ocx-filter-view\n [filters]=\"filters()\"\n [columns]=\"columns()\"\n [templates]=\"templates()\"\n [displayMode]=\"filterViewDisplayMode()\"\n [selectDisplayedChips]=\"selectDisplayedChips()\"\n [chipStyleClass]=\"filterViewChipStyleClass()\"\n [tableStyle]=\"filterViewTableStyle()\"\n (filtered)=\"filtering($event)\"\n (componentStateChanged)=\"filterViewComponentState$.next($event)\"\n ></ocx-filter-view>\n }\n </div>\n\n @if (_topCenter(); as topCenterTemplate) {\n <div>\n <ng-container [ngTemplateOutlet]=\"topCenterTemplate\"> </ng-container>\n </div>\n } @if (layout() !== 'table') {\n <div class=\"flex align-items-center gap-2\">\n <ocx-data-list-grid-sorting\n [sortDirection]=\"sortDirection()\"\n [sortField]=\"sortField()\"\n [columns]=\"displayedColumns()\"\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\n <div\n [ngStyle]=\"layout() !== 'table' ? {\n 'position': 'absolute'\n } : {}\"\n class=\"flex flex-wrap justify-content-between align-items-center gap-2\"\n >\n @if (isColumnGroupSelectionComponentDefined() ?? true) {\n <ocx-slot\n [ngStyle]=\"layout() !== 'table' ? {'display' : 'none'} : {}\"\n *ocxIfPermission=\"searchConfigPermission(); elseTemplate: defaultColumnGroupSelectionComponent\"\n name=\"{{columnGroupSlotName}}\"\n [inputs]=\"{ placeholderKey: groupSelectionNoGroupSelectedKey(), defaultGroupKey: defaultGroupKey(), customGroupKey: customGroupKey(), columns: columns(), selectedGroupKey: selectedGroupKey(), layout: layout(), displayedColumnsIds: displayedColumnKeys() }\"\n [outputs]=\"{ groupSelectionChanged: slotGroupSelectionChangeListener }\"\n >\n <ng-template #skeleton>\n <div class=\"flex\">\n <p-skeleton width=\"18rem\" height=\"3rem\"></p-skeleton>\n </div>\n </ng-template>\n </ocx-slot>\n } @else {\n <ng-container [ngTemplateOutlet]=\"defaultColumnGroupSelectionComponent\"></ng-container>\n } @if (layout() === 'table') {\n <ocx-custom-group-column-selector\n [columns]=\"columns()\"\n [displayedColumns]=\"displayedColumns()\"\n [customGroupKey]=\"customGroupKey()\"\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 }\n </div>\n </div>\n</div>\n<div class=\"p-3\" [ngClass]=\"contentStyleClass()\" id=\"interactiveDataViewContent\">\n <ocx-data-view\n [columns]=\"displayedColumns()\"\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()\"\n [numberTableCellTemplate]=\"_numberTableCell()\"\n [dateTableCellTemplate]=\"_dateTableCell()\"\n [relativeDateTableCellTemplate]=\"_relativeDateTableCell()\"\n [tableCellTemplate]=\"_tableCell()\"\n [translationKeyTableCellTemplate]=\"_translationKeyTableCell()\"\n [gridItemSubtitleLinesTemplate]=\"_gridItemSubtitleLines()\"\n [listItemSubtitleLinesTemplate]=\"_listItemSubtitleLines()\"\n [listItemTemplate]=\"_listItem()\"\n [listValueTemplate]=\"_listValue()\"\n [translationKeyListValueTemplate]=\"_translationKeyListValue()\"\n [numberListValueTemplate]=\"_numberListValue()\"\n [relativeDateListValueTemplate]=\"_relativeDateListValue()\"\n [stringListValueTemplate]=\"_stringListValue()\"\n [dateListValueTemplate]=\"_dateListValue()\"\n [gridItemTemplate]=\"_gridItem()\"\n [tableFilterCellTemplate]=\"_tableFilterCell()\"\n [dateTableFilterCellTemplate]=\"_dateTableFilterCell()\"\n [numberTableFilterCellTemplate]=\"_numberTableFilterCell()\"\n [stringTableFilterCellTemplate]=\"_stringTableFilterCell()\"\n [relativeDateTableFilterCellTemplate]=\"_relativeDateTableFilterCell()\"\n [translationKeyTableFilterCellTemplate]=\"_translationKeyTableFilterCell()\"\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()\"\n [tableAllowSelectAll]=\"tableAllowSelectAll()\"\n [tableSelectionEnabledField]=\"tableSelectionEnabledField()\"\n [expandable]=\"expandable()\"\n [frozenExpandColumn]=\"frozenExpandColumn()\"\n [(expandedRows)]=\"expandedRows\"\n (rowExpanded)=\"rowExpanded.emit($event)\"\n (rowCollapsed)=\"rowCollapsed.emit($event)\"\n >\n </ocx-data-view>\n</div>\n\n<ng-template #defaultColumnGroupSelectionComponent>\n @if (layout() === 'table') {\n <ocx-column-group-selection\n [selectedGroupKey]=\"selectedGroupKey() ?? defaultGroupKey()\"\n [columns]=\"columns()\"\n [defaultGroupKey]=\"defaultGroupKey() !== customGroupKey() ? defaultGroupKey() : ''\"\n [customGroupKey]=\"customGroupKey()\"\n [placeholderKey]=\"groupSelectionNoGroupSelectedKey()\"\n (groupSelectionChanged)=\"onColumnGroupSelectionChange($event)\"\n (componentStateChanged)=\"columnGroupSelectionComponentState$.next($event)\"\n ></ocx-column-group-selection>\n }\n</ng-template>\n" }]
|
|
4533
4611
|
}], ctorParameters: () => [], propDecorators: { dataViewComponent: [{ type: i0.ViewChild, args: [i0.forwardRef(() => DataViewComponent), { isSignal: true }] }], searchConfigPermission: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchConfigPermission", required: false }] }], deletePermission: [{ type: i0.Input, args: [{ isSignal: true, alias: "deletePermission", required: false }] }], editPermission: [{ type: i0.Input, args: [{ isSignal: true, alias: "editPermission", required: false }] }], viewPermission: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewPermission", required: false }] }], deleteActionVisibleField: [{ type: i0.Input, args: [{ isSignal: true, alias: "deleteActionVisibleField", required: false }] }], deleteActionEnabledField: [{ type: i0.Input, args: [{ isSignal: true, alias: "deleteActionEnabledField", required: false }] }], viewActionVisibleField: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewActionVisibleField", required: false }] }], viewActionEnabledField: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewActionEnabledField", required: false }] }], editActionVisibleField: [{ type: i0.Input, args: [{ isSignal: true, alias: "editActionVisibleField", required: false }] }], editActionEnabledField: [{ type: i0.Input, args: [{ isSignal: true, alias: "editActionEnabledField", required: false }] }], tableSelectionEnabledField: [{ type: i0.Input, args: [{ isSignal: true, alias: "tableSelectionEnabledField", required: false }] }], tableAllowSelectAll: [{ type: i0.Input, args: [{ isSignal: true, alias: "tableAllowSelectAll", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], titleLineId: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleLineId", required: false }] }], subtitleLineIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "subtitleLineIds", required: false }] }], supportedViewLayouts: [{ type: i0.Input, args: [{ isSignal: true, alias: "supportedViewLayouts", required: false }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], emptyResultsMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyResultsMessage", required: false }] }], clientSideSorting: [{ type: i0.Input, args: [{ isSignal: true, alias: "clientSideSorting", required: false }] }], clientSideFiltering: [{ type: i0.Input, args: [{ isSignal: true, alias: "clientSideFiltering", required: false }] }], fallbackImage: [{ type: i0.Input, args: [{ isSignal: true, alias: "fallbackImage", required: false }] }], filters: [{ type: i0.Input, args: [{ isSignal: true, alias: "filters", required: false }] }, { type: i0.Output, args: ["filtersChange"] }], sortDirection: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortDirection", required: false }] }, { type: i0.Output, args: ["sortDirectionChange"] }], sortField: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortField", required: false }] }, { type: i0.Output, args: ["sortFieldChange"] }], sortStates: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortStates", required: false }] }], pageSizes: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSizes", required: false }] }], pageSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSize", required: false }] }, { type: i0.Output, args: ["pageSizeChange"] }], totalRecordsOnServer: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalRecordsOnServer", required: false }] }], layout: [{ type: i0.Input, args: [{ isSignal: true, alias: "layout", required: false }] }, { type: i0.Output, args: ["layoutChange"] }], defaultGroupKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultGroupKey", required: false }] }], customGroupKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "customGroupKey", required: false }] }], groupSelectionNoGroupSelectedKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupSelectionNoGroupSelectedKey", required: false }] }], currentPageShowingKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentPageShowingKey", required: false }] }], currentPageShowingWithTotalOnServerKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentPageShowingWithTotalOnServerKey", required: false }] }], additionalActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "additionalActions", required: false }] }], listGridPaginator: [{ type: i0.Input, args: [{ isSignal: true, alias: "listGridPaginator", required: false }] }, { type: i0.Output, args: ["listGridPaginatorChange"] }], tablePaginator: [{ type: i0.Input, args: [{ isSignal: true, alias: "tablePaginator", required: false }] }, { type: i0.Output, args: ["tablePaginatorChange"] }], paginator: [{
|
|
4534
4612
|
type: Input
|
|
4535
|
-
}], disableFilterView: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableFilterView", required: false }] }], filterViewDisplayMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterViewDisplayMode", required: false }] }], filterViewChipStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterViewChipStyleClass", required: false }] }], filterViewTableStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterViewTableStyle", required: false }] }], filterViewPanelStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterViewPanelStyle", required: false }] }], selectDisplayedChips: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectDisplayedChips", required: false }] }], page: [{ type: i0.Input, args: [{ isSignal: true, alias: "page", required: false }] }, { type: i0.Output, args: ["pageChange"] }], selectedRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedRows", required: false }] }], displayedColumnKeys: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayedColumnKeys", required: false }] }, { type: i0.Output, args: ["displayedColumnKeysChange"] }], frozenActionColumn: [{ type: i0.Input, args: [{ isSignal: true, alias: "frozenActionColumn", required: false }] }, { type: i0.Output, args: ["frozenActionColumnChange"] }], actionColumnPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionColumnPosition", required: false }] }, { type: i0.Output, args: ["actionColumnPositionChange"] }], headerStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerStyleClass", required: false }] }], contentStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentStyleClass", required: false }] }], childTableCell: [{ type: i0.ContentChild, args: ['tableCell', { isSignal: true }] }], childDateTableCell: [{ type: i0.ContentChild, args: ['dateTableCell', { isSignal: true }] }], childRelativeDateTableCell: [{ type: i0.ContentChild, args: ['relativeDateTableCell', { isSignal: true }] }], childTranslationKeyTableCell: [{ type: i0.ContentChild, args: ['translationKeyTableCell', { isSignal: true }] }], childGridItemSubtitleLines: [{ type: i0.ContentChild, args: ['gridItemSubtitleLines', { isSignal: true }] }], childListItemSubtitleLines: [{ type: i0.ContentChild, args: ['listItemSubtitleLines', { isSignal: true }] }], childStringTableCell: [{ type: i0.ContentChild, args: ['stringTableCell', { isSignal: true }] }], childNumberTableCell: [{ type: i0.ContentChild, args: ['numberTableCell', { isSignal: true }] }], childGridItem: [{ type: i0.ContentChild, args: ['gridItem', { isSignal: true }] }], childListItem: [{ type: i0.ContentChild, args: ['listItem', { isSignal: true }] }], childTopCenter: [{ type: i0.ContentChild, args: ['topCenter', { isSignal: true }] }], childListValue: [{ type: i0.ContentChild, args: ['listValue', { isSignal: true }] }], childTranslationKeyListValue: [{ type: i0.ContentChild, args: ['translationKeyListValue', { isSignal: true }] }], childNumberListValue: [{ type: i0.ContentChild, args: ['numberListValue', { isSignal: true }] }], childRelativeDateListValue: [{ type: i0.ContentChild, args: ['relativeDateListValue', { isSignal: true }] }], childStringListValue: [{ type: i0.ContentChild, args: ['stringListValue', { isSignal: true }] }], childDateListValue: [{ type: i0.ContentChild, args: ['dateListValue', { isSignal: true }] }], childTableFilterCell: [{ type: i0.ContentChild, args: ['tableFilterCell', { isSignal: true }] }], childDateTableFilterCell: [{ type: i0.ContentChild, args: ['dateTableFilterCell', { isSignal: true }] }], childRelativeDateTableFilterCell: [{ type: i0.ContentChild, args: ['relativeDateTableFilterCell', { isSignal: true }] }], childTranslationKeyTableFilterCell: [{ type: i0.ContentChild, args: ['translationKeyTableFilterCell', { isSignal: true }] }], childStringTableFilterCell: [{ type: i0.ContentChild, args: ['stringTableFilterCell', { isSignal: true }] }], childNumberTableFilterCell: [{ type: i0.ContentChild, args: ['numberTableFilterCell', { isSignal: true }] }], templates: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => PrimeTemplate), { isSignal: true }] }], filtered: [{ type: i0.Output, args: ["filtered"] }], sorted: [{ type: i0.Output, args: ["sorted"] }], deleteItem: [{
|
|
4613
|
+
}], disableFilterView: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableFilterView", required: false }] }], filterViewDisplayMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterViewDisplayMode", required: false }] }], filterViewChipStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterViewChipStyleClass", required: false }] }], filterViewTableStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterViewTableStyle", required: false }] }], filterViewPanelStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterViewPanelStyle", required: false }] }], selectDisplayedChips: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectDisplayedChips", required: false }] }], page: [{ type: i0.Input, args: [{ isSignal: true, alias: "page", required: false }] }, { type: i0.Output, args: ["pageChange"] }], selectedRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedRows", required: false }] }], displayedColumnKeys: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayedColumnKeys", required: false }] }, { type: i0.Output, args: ["displayedColumnKeysChange"] }], frozenActionColumn: [{ type: i0.Input, args: [{ isSignal: true, alias: "frozenActionColumn", required: false }] }, { type: i0.Output, args: ["frozenActionColumnChange"] }], actionColumnPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionColumnPosition", required: false }] }, { type: i0.Output, args: ["actionColumnPositionChange"] }], headerStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerStyleClass", required: false }] }], contentStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentStyleClass", required: false }] }], expandable: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandable", required: false }] }], frozenExpandColumn: [{ type: i0.Input, args: [{ isSignal: true, alias: "frozenExpandColumn", required: false }] }], expandedRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandedRows", required: false }] }, { type: i0.Output, args: ["expandedRowsChange"] }], childTableCell: [{ type: i0.ContentChild, args: ['tableCell', { isSignal: true }] }], childDateTableCell: [{ type: i0.ContentChild, args: ['dateTableCell', { isSignal: true }] }], childRelativeDateTableCell: [{ type: i0.ContentChild, args: ['relativeDateTableCell', { isSignal: true }] }], childTranslationKeyTableCell: [{ type: i0.ContentChild, args: ['translationKeyTableCell', { isSignal: true }] }], childGridItemSubtitleLines: [{ type: i0.ContentChild, args: ['gridItemSubtitleLines', { isSignal: true }] }], childListItemSubtitleLines: [{ type: i0.ContentChild, args: ['listItemSubtitleLines', { isSignal: true }] }], childStringTableCell: [{ type: i0.ContentChild, args: ['stringTableCell', { isSignal: true }] }], childNumberTableCell: [{ type: i0.ContentChild, args: ['numberTableCell', { isSignal: true }] }], childGridItem: [{ type: i0.ContentChild, args: ['gridItem', { isSignal: true }] }], childListItem: [{ type: i0.ContentChild, args: ['listItem', { isSignal: true }] }], childTopCenter: [{ type: i0.ContentChild, args: ['topCenter', { isSignal: true }] }], childListValue: [{ type: i0.ContentChild, args: ['listValue', { isSignal: true }] }], childTranslationKeyListValue: [{ type: i0.ContentChild, args: ['translationKeyListValue', { isSignal: true }] }], childNumberListValue: [{ type: i0.ContentChild, args: ['numberListValue', { isSignal: true }] }], childRelativeDateListValue: [{ type: i0.ContentChild, args: ['relativeDateListValue', { isSignal: true }] }], childStringListValue: [{ type: i0.ContentChild, args: ['stringListValue', { isSignal: true }] }], childDateListValue: [{ type: i0.ContentChild, args: ['dateListValue', { isSignal: true }] }], childTableFilterCell: [{ type: i0.ContentChild, args: ['tableFilterCell', { isSignal: true }] }], childDateTableFilterCell: [{ type: i0.ContentChild, args: ['dateTableFilterCell', { isSignal: true }] }], childRelativeDateTableFilterCell: [{ type: i0.ContentChild, args: ['relativeDateTableFilterCell', { isSignal: true }] }], childTranslationKeyTableFilterCell: [{ type: i0.ContentChild, args: ['translationKeyTableFilterCell', { isSignal: true }] }], childStringTableFilterCell: [{ type: i0.ContentChild, args: ['stringTableFilterCell', { isSignal: true }] }], childNumberTableFilterCell: [{ type: i0.ContentChild, args: ['numberTableFilterCell', { isSignal: true }] }], templates: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => PrimeTemplate), { isSignal: true }] }], filtered: [{ type: i0.Output, args: ["filtered"] }], sorted: [{ type: i0.Output, args: ["sorted"] }], deleteItem: [{
|
|
4536
4614
|
type: Output
|
|
4537
4615
|
}], viewItem: [{
|
|
4538
4616
|
type: Output
|
|
@@ -4540,7 +4618,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
4540
4618
|
type: Output
|
|
4541
4619
|
}], selectionChanged: [{
|
|
4542
4620
|
type: Output
|
|
4543
|
-
}], dataViewLayoutChange: [{ type: i0.Output, args: ["dataViewLayoutChange"] }], displayedColumnKeysChange: [{ type: i0.Output, args: ["displayedColumnKeysChange"] }], pageChanged: [{ type: i0.Output, args: ["pageChanged"] }], pageSizeChanged: [{ type: i0.Output, args: ["pageSizeChanged"] }],
|
|
4621
|
+
}], dataViewLayoutChange: [{ type: i0.Output, args: ["dataViewLayoutChange"] }], displayedColumnKeysChange: [{ type: i0.Output, args: ["displayedColumnKeysChange"] }], pageChanged: [{ type: i0.Output, args: ["pageChanged"] }], pageSizeChanged: [{ type: i0.Output, args: ["pageSizeChanged"] }], rowExpanded: [{
|
|
4622
|
+
type: Output
|
|
4623
|
+
}], rowCollapsed: [{
|
|
4624
|
+
type: Output
|
|
4625
|
+
}], componentStateChanged: [{ type: i0.Output, args: ["componentStateChanged"] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], groupSelectionChangedSlotEmitter: [{ type: i0.Output, args: ["groupSelectionChangedSlotEmitter"] }] } });
|
|
4544
4626
|
|
|
4545
4627
|
class LifecycleComponent {
|
|
4546
4628
|
constructor() {
|
|
@@ -4744,11 +4826,11 @@ class DialogMessageContentComponent {
|
|
|
4744
4826
|
this.icon = '';
|
|
4745
4827
|
}
|
|
4746
4828
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DialogMessageContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4747
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: DialogMessageContentComponent, isStandalone: false, selector: "ng-component", inputs: { message: "message", messageParameters: "messageParameters", icon: "icon" }, ngImport: i0, template: "<div class=\"dialogMessageContent\">\n <div>\n @if (icon !== '') {\n <i [class]=\"icon\"></i>\n }\n <span id=\"dialogMessage\">{{message | translate:messageParameters}}</span>\n </div>\n</div>", dependencies: [{ kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
|
|
4829
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: DialogMessageContentComponent, isStandalone: false, selector: "ng-component", inputs: { message: "message", messageParameters: "messageParameters", icon: "icon" }, ngImport: i0, template: "<div class=\"dialogMessageContent\">\n <div>\n @if (icon !== '') {\n <i [class]=\"icon\" aria-hidden=\"true\"></i>\n }\n <span id=\"dialogMessage\">{{message | translate:messageParameters}}</span>\n </div>\n</div>", dependencies: [{ kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
|
|
4748
4830
|
}
|
|
4749
4831
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DialogMessageContentComponent, decorators: [{
|
|
4750
4832
|
type: Component,
|
|
4751
|
-
args: [{ standalone: false, template: "<div class=\"dialogMessageContent\">\n <div>\n @if (icon !== '') {\n <i [class]=\"icon\"></i>\n }\n <span id=\"dialogMessage\">{{message | translate:messageParameters}}</span>\n </div>\n</div>" }]
|
|
4833
|
+
args: [{ standalone: false, template: "<div class=\"dialogMessageContent\">\n <div>\n @if (icon !== '') {\n <i [class]=\"icon\" aria-hidden=\"true\"></i>\n }\n <span id=\"dialogMessage\">{{message | translate:messageParameters}}</span>\n </div>\n</div>" }]
|
|
4752
4834
|
}], propDecorators: { message: [{
|
|
4753
4835
|
type: Input
|
|
4754
4836
|
}], messageParameters: [{
|
|
@@ -5321,14 +5403,13 @@ class ExportDataService {
|
|
|
5321
5403
|
this.dateUtils = inject(DateUtils);
|
|
5322
5404
|
this.translateService = inject(TranslateService);
|
|
5323
5405
|
this.locale = inject(LOCALE_ID);
|
|
5406
|
+
this.EXCEL_TABLE_STARTING_CELL = 'A1';
|
|
5324
5407
|
}
|
|
5325
5408
|
async exportCsv(columns, data, fileName) {
|
|
5326
5409
|
if (!columns.length) {
|
|
5327
5410
|
return;
|
|
5328
5411
|
}
|
|
5329
|
-
const
|
|
5330
|
-
const translatedData = await firstValueFrom(this.translateData(columns, flattenedData));
|
|
5331
|
-
const dataToExport = this.formatData(columns, translatedData);
|
|
5412
|
+
const dataToExport = await this.getDataToExport(columns, data);
|
|
5332
5413
|
const delimiter = this.locale.startsWith('de') ? ';' : ',';
|
|
5333
5414
|
const dataString = dataToExport
|
|
5334
5415
|
.map((d) => columns
|
|
@@ -5344,11 +5425,50 @@ class ExportDataService {
|
|
|
5344
5425
|
const blob = new Blob(['\ufeff' + csvString], {
|
|
5345
5426
|
type: 'text/csv;charset=utf-8;',
|
|
5346
5427
|
});
|
|
5347
|
-
|
|
5348
|
-
|
|
5349
|
-
|
|
5350
|
-
|
|
5351
|
-
|
|
5428
|
+
this.handleFileDownload(blob, fileName);
|
|
5429
|
+
}
|
|
5430
|
+
/**
|
|
5431
|
+
* Exports the provided data to an Excel (.xlsx) file and triggers a browser download.
|
|
5432
|
+
*
|
|
5433
|
+
* The `fileName` is sanitised before use: the `.xlsx` extension is stripped, and any
|
|
5434
|
+
* characters outside `[a-zA-Z0-9_]` are replaced with underscores. The sanitised name
|
|
5435
|
+
* is used for the worksheet name, the internal table name, and the final downloaded file
|
|
5436
|
+
* (with `.xlsx` appended back).
|
|
5437
|
+
*
|
|
5438
|
+
* The table name additionally has any leading digits removed, as Excel does not allow
|
|
5439
|
+
* table names to start with a number.
|
|
5440
|
+
*
|
|
5441
|
+
* Column headers are resolved via `ngx-translate` using each column's `nameKey`.
|
|
5442
|
+
* Cells of type `DATE` or `RELATIVE_DATE` are formatted using the current locale.
|
|
5443
|
+
* Cells of type `TRANSLATION_KEY` are translated before being written to the file.
|
|
5444
|
+
*
|
|
5445
|
+
* If no columns are provided, the method returns early without creating a file.
|
|
5446
|
+
*
|
|
5447
|
+
* @param columns - Column definitions including id, translation key and column type.
|
|
5448
|
+
* @param data - Array of data records to export. Keys correspond to column ids.
|
|
5449
|
+
* @param fileName - Desired file name (with or without `.xlsx` extension).
|
|
5450
|
+
*/
|
|
5451
|
+
async exportToExcel(columns, data, fileName) {
|
|
5452
|
+
if (!columns.length) {
|
|
5453
|
+
return;
|
|
5454
|
+
}
|
|
5455
|
+
const normalisedFileName = this.getNormalisedFileName(fileName);
|
|
5456
|
+
const dataToExport = await this.getDataToExport(columns, data);
|
|
5457
|
+
const workbook = new ExcelJS.Workbook();
|
|
5458
|
+
const worksheetName = await firstValueFrom(this.getSheetName(normalisedFileName));
|
|
5459
|
+
const worksheet = workbook.addWorksheet(worksheetName);
|
|
5460
|
+
await this.addWorksheetTable(worksheet, columns, dataToExport, normalisedFileName);
|
|
5461
|
+
const excelBuffer = await workbook.xlsx.writeBuffer();
|
|
5462
|
+
const excelBlob = new Blob([excelBuffer], {
|
|
5463
|
+
type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
|
|
5464
|
+
});
|
|
5465
|
+
const finalFileName = `${normalisedFileName}.xlsx`;
|
|
5466
|
+
this.handleFileDownload(excelBlob, finalFileName);
|
|
5467
|
+
}
|
|
5468
|
+
async getDataToExport(columns, data) {
|
|
5469
|
+
const flattenedData = data.map((d) => columns.reduce((obj, c) => ({ ...obj, [c.id]: ObjectUtils.resolveFieldData(d, c.id) }), {}));
|
|
5470
|
+
const translatedData = await firstValueFrom(this.translateData(columns, flattenedData));
|
|
5471
|
+
return this.formatData(columns, translatedData);
|
|
5352
5472
|
}
|
|
5353
5473
|
translateColumnNames(columns) {
|
|
5354
5474
|
return this.translateService
|
|
@@ -5395,6 +5515,48 @@ class ExportDataService {
|
|
|
5395
5515
|
}
|
|
5396
5516
|
return str;
|
|
5397
5517
|
}
|
|
5518
|
+
async addWorksheetTable(worksheet, columns, data, fileName) {
|
|
5519
|
+
const translatedColumns = await firstValueFrom(this.getExcelColumnDefinitions(columns));
|
|
5520
|
+
const tableName = await firstValueFrom(this.getTableName(fileName));
|
|
5521
|
+
worksheet.addTable({
|
|
5522
|
+
name: tableName,
|
|
5523
|
+
ref: this.EXCEL_TABLE_STARTING_CELL,
|
|
5524
|
+
headerRow: true,
|
|
5525
|
+
totalsRow: false,
|
|
5526
|
+
style: {
|
|
5527
|
+
showRowStripes: true
|
|
5528
|
+
},
|
|
5529
|
+
columns: translatedColumns,
|
|
5530
|
+
rows: this.transformDataForExcel(columns, data)
|
|
5531
|
+
});
|
|
5532
|
+
}
|
|
5533
|
+
getExcelColumnDefinitions(columns) {
|
|
5534
|
+
return this.translateColumnNames(columns).pipe(map((columns) => columns.map((column) => ({
|
|
5535
|
+
name: column.name || column.id,
|
|
5536
|
+
filterButton: true
|
|
5537
|
+
}))));
|
|
5538
|
+
}
|
|
5539
|
+
transformDataForExcel(columns, data) {
|
|
5540
|
+
return data.map((dataEntry) => columns.map((column) => dataEntry[column.id]));
|
|
5541
|
+
}
|
|
5542
|
+
getTableName(fileName) {
|
|
5543
|
+
const formattedFileName = fileName.replaceAll(/\W/g, '_').replace(/^\d+/, ''); // table names require ASCII and must not start with a digit
|
|
5544
|
+
return this.translateService.get('OCX_DATA_EXPORT.EXCEL_TABLE_NAME', { fileName: formattedFileName });
|
|
5545
|
+
}
|
|
5546
|
+
getNormalisedFileName(fileName) {
|
|
5547
|
+
return fileName.replace(/\.xlsx$/i, '').replaceAll(/[^\p{L}\p{N}_]/gu, '_');
|
|
5548
|
+
}
|
|
5549
|
+
getSheetName(fileName) {
|
|
5550
|
+
return this.translateService.get('OCX_DATA_EXPORT.EXCEL_SHEET_NAME', { fileName });
|
|
5551
|
+
}
|
|
5552
|
+
handleFileDownload(fileBlob, fileName) {
|
|
5553
|
+
const downloadLink = document.createElement('a');
|
|
5554
|
+
const fileUrl = URL.createObjectURL(fileBlob);
|
|
5555
|
+
downloadLink.setAttribute('href', fileUrl);
|
|
5556
|
+
downloadLink.setAttribute('download', fileName);
|
|
5557
|
+
downloadLink.click();
|
|
5558
|
+
setTimeout(() => URL.revokeObjectURL(fileUrl), 0);
|
|
5559
|
+
}
|
|
5398
5560
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ExportDataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5399
5561
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ExportDataService, providedIn: 'any' }); }
|
|
5400
5562
|
}
|
|
@@ -5626,7 +5788,7 @@ class DynamicLocaleId {
|
|
|
5626
5788
|
}
|
|
5627
5789
|
|
|
5628
5790
|
const LIB_NAME = '@onecx/angular-accelerator';
|
|
5629
|
-
const LIB_VERSION = '
|
|
5791
|
+
const LIB_VERSION = '9.0.0-rc.1';
|
|
5630
5792
|
|
|
5631
5793
|
class AngularAcceleratorMissingTranslationHandler extends MultiLanguageMissingTranslationHandler {
|
|
5632
5794
|
}
|