@enigmatry/entry-components 21.1.1 → 21.2.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.
Files changed (24) hide show
  1. package/fesm2022/enigmatry-entry-components-button.mjs +7 -7
  2. package/fesm2022/enigmatry-entry-components-button.mjs.map +1 -1
  3. package/fesm2022/enigmatry-entry-components-common.mjs +31 -31
  4. package/fesm2022/enigmatry-entry-components-common.mjs.map +1 -1
  5. package/fesm2022/enigmatry-entry-components-date-time-picker.mjs +10 -10
  6. package/fesm2022/enigmatry-entry-components-date-time-picker.mjs.map +1 -1
  7. package/fesm2022/enigmatry-entry-components-dialog.mjs +19 -19
  8. package/fesm2022/enigmatry-entry-components-dialog.mjs.map +1 -1
  9. package/fesm2022/enigmatry-entry-components-file-input.mjs +7 -7
  10. package/fesm2022/enigmatry-entry-components-file-input.mjs.map +1 -1
  11. package/fesm2022/enigmatry-entry-components-permissions.mjs +10 -10
  12. package/fesm2022/enigmatry-entry-components-permissions.mjs.map +1 -1
  13. package/fesm2022/enigmatry-entry-components-search-filter.mjs +22 -22
  14. package/fesm2022/enigmatry-entry-components-search-filter.mjs.map +1 -1
  15. package/fesm2022/enigmatry-entry-components-spinner.mjs +10 -10
  16. package/fesm2022/enigmatry-entry-components-spinner.mjs.map +1 -1
  17. package/fesm2022/enigmatry-entry-components-table.mjs +32 -31
  18. package/fesm2022/enigmatry-entry-components-table.mjs.map +1 -1
  19. package/fesm2022/enigmatry-entry-components-validation.mjs +10 -10
  20. package/fesm2022/enigmatry-entry-components-validation.mjs.map +1 -1
  21. package/fesm2022/enigmatry-entry-components.mjs +4 -4
  22. package/fesm2022/enigmatry-entry-components.mjs.map +1 -1
  23. package/package.json +1 -1
  24. package/types/enigmatry-entry-components-table.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"enigmatry-entry-components-spinner.mjs","sources":["../../../../libs/entry-components/spinner/spinner-overlay-container.ts","../../../../libs/entry-components/spinner/entry-spinner/spinner.component.ts","../../../../libs/entry-components/spinner/entry-spinner/spinner.component.html","../../../../libs/entry-components/spinner/spinner.module.ts","../../../../libs/entry-components/spinner/enigmatry-entry-components-spinner.ts"],"sourcesContent":["import { OverlayContainer } from '@angular/cdk/overlay';\r\nimport { Platform } from '@angular/cdk/platform';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { Inject, Injectable, OnDestroy } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class SpinnerOverlayContainer extends OverlayContainer implements OnDestroy {\r\n private _appendTo: HTMLElement = this._document.body;\r\n private _options: { fullscreen: boolean } = { fullscreen: true };\r\n\r\n // eslint-disable-next-line @angular-eslint/prefer-inject\r\n constructor(@Inject(DOCUMENT) document: Document, @Inject(Platform) platform: Platform) {\r\n super(document, platform);\r\n }\r\n\r\n configure(appendTo: HTMLElement, options: { fullscreen: boolean }): void {\r\n this._appendTo = appendTo;\r\n this._options = options;\r\n }\r\n\r\n override getContainerElement(): HTMLElement {\r\n if (!this._containerElement) {\r\n this.createContainer();\r\n }\r\n const containerElement = this._containerElement;\r\n if (!containerElement) {\r\n throw new Error('Failed to create overlay container element.');\r\n }\r\n return containerElement;\r\n }\r\n\r\n override ngOnDestroy() {\r\n this._containerElement?.remove();\r\n }\r\n\r\n private createContainer(): void {\r\n const containerClass = 'cdk-overlay-container';\r\n const { fullscreen } = this._options;\r\n\r\n const container = this._document.createElement('div');\r\n container.classList.add(containerClass);\r\n\r\n container.style.position = fullscreen ? 'fixed' : 'absolute';\r\n this._appendTo.appendChild(container);\r\n this._containerElement = container;\r\n }\r\n}\r\n","import { Overlay, OverlayConfig, OverlayContainer, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy, Component,\n ElementRef, inject, Input, OnDestroy,\n OnInit, TemplateRef, ViewChild, ViewContainerRef\n} from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { SpinnerOverlayContainer } from '../spinner-overlay-container';\n\n@Component({\n selector: 'entry-spinner',\n templateUrl: './spinner.component.html',\n providers: [\n Overlay,\n {\n provide: OverlayContainer,\n useClass: SpinnerOverlayContainer\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class EntrySpinnerComponent implements OnInit, OnDestroy {\n @Input() color: ThemePalette = 'primary';\n @Input() diameter = 30;\n @Input() fullscreen = false;\n @Input() hasBackgroundOverlay = true;\n\n @ViewChild('matSpinner', { static: true })\n private templateRef: TemplateRef<any>;\n private overlayRef: OverlayRef;\n\n private readonly overlay = inject(Overlay);\n private readonly viewContainerRef = inject(ViewContainerRef);\n private readonly overlayContainer = inject(OverlayContainer);\n private readonly elementRef = inject(ElementRef<HTMLElement>);\n\n ngOnInit(): void {\n this.createOverlay();\n this.overlayRef.attach(new TemplatePortal(this.templateRef, this.viewContainerRef));\n }\n\n ngOnDestroy(): void {\n this.disposeOverlayRef();\n }\n\n private createOverlay() {\n const overlayConfig = new OverlayConfig({\n hasBackdrop: this.hasBackgroundOverlay,\n positionStrategy: this.overlay.position()\n .global()\n .centerHorizontally()\n .centerVertically()\n });\n this.configureOverlayContainer();\n this.overlayRef = this.overlay.create(overlayConfig);\n }\n\n private configureOverlayContainer() {\n let appendTo = this.elementRef.nativeElement;\n if (this.fullscreen) {\n appendTo = document.body;\n }\n (this.overlayContainer as SpinnerOverlayContainer)\n .configure(appendTo, { fullscreen: this.fullscreen });\n }\n\n private disposeOverlayRef() {\n if (this.overlayRef) {\n this.overlayRef.detach();\n this.overlayRef.dispose();\n }\n }\n}\n","<ng-template #matSpinner>\r\n\t<mat-spinner [diameter]=\"diameter\" [color]=\"color\"></mat-spinner>\r\n</ng-template>","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { EntrySpinnerComponent } from './entry-spinner/spinner.component';\n\n@NgModule({\n declarations: [\n EntrySpinnerComponent\n ],\n imports: [\n CommonModule,\n OverlayModule,\n MatProgressSpinnerModule\n ],\n exports: [\n EntrySpinnerComponent\n ]\n})\nexport class EntrySpinnerModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"enigmatry-entry-components-spinner.mjs","sources":["../../../../libs/entry-components/spinner/spinner-overlay-container.ts","../../../../libs/entry-components/spinner/entry-spinner/spinner.component.ts","../../../../libs/entry-components/spinner/entry-spinner/spinner.component.html","../../../../libs/entry-components/spinner/spinner.module.ts","../../../../libs/entry-components/spinner/enigmatry-entry-components-spinner.ts"],"sourcesContent":["import { OverlayContainer } from '@angular/cdk/overlay';\r\nimport { Platform } from '@angular/cdk/platform';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { Inject, Injectable, OnDestroy } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class SpinnerOverlayContainer extends OverlayContainer implements OnDestroy {\r\n private _appendTo: HTMLElement = this._document.body;\r\n private _options: { fullscreen: boolean } = { fullscreen: true };\r\n\r\n // eslint-disable-next-line @angular-eslint/prefer-inject\r\n constructor(@Inject(DOCUMENT) document: Document, @Inject(Platform) platform: Platform) {\r\n super(document, platform);\r\n }\r\n\r\n configure(appendTo: HTMLElement, options: { fullscreen: boolean }): void {\r\n this._appendTo = appendTo;\r\n this._options = options;\r\n }\r\n\r\n override getContainerElement(): HTMLElement {\r\n if (!this._containerElement) {\r\n this.createContainer();\r\n }\r\n const containerElement = this._containerElement;\r\n if (!containerElement) {\r\n throw new Error('Failed to create overlay container element.');\r\n }\r\n return containerElement;\r\n }\r\n\r\n override ngOnDestroy() {\r\n this._containerElement?.remove();\r\n }\r\n\r\n private createContainer(): void {\r\n const containerClass = 'cdk-overlay-container';\r\n const { fullscreen } = this._options;\r\n\r\n const container = this._document.createElement('div');\r\n container.classList.add(containerClass);\r\n\r\n container.style.position = fullscreen ? 'fixed' : 'absolute';\r\n this._appendTo.appendChild(container);\r\n this._containerElement = container;\r\n }\r\n}\r\n","import { Overlay, OverlayConfig, OverlayContainer, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy, Component,\n ElementRef, inject, Input, OnDestroy,\n OnInit, TemplateRef, ViewChild, ViewContainerRef\n} from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { SpinnerOverlayContainer } from '../spinner-overlay-container';\n\n@Component({\n selector: 'entry-spinner',\n templateUrl: './spinner.component.html',\n providers: [\n Overlay,\n {\n provide: OverlayContainer,\n useClass: SpinnerOverlayContainer\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class EntrySpinnerComponent implements OnInit, OnDestroy {\n @Input() color: ThemePalette = 'primary';\n @Input() diameter = 30;\n @Input() fullscreen = false;\n @Input() hasBackgroundOverlay = true;\n\n @ViewChild('matSpinner', { static: true })\n private templateRef: TemplateRef<any>;\n private overlayRef: OverlayRef;\n\n private readonly overlay = inject(Overlay);\n private readonly viewContainerRef = inject(ViewContainerRef);\n private readonly overlayContainer = inject(OverlayContainer);\n private readonly elementRef = inject(ElementRef<HTMLElement>);\n\n ngOnInit(): void {\n this.createOverlay();\n this.overlayRef.attach(new TemplatePortal(this.templateRef, this.viewContainerRef));\n }\n\n ngOnDestroy(): void {\n this.disposeOverlayRef();\n }\n\n private createOverlay() {\n const overlayConfig = new OverlayConfig({\n hasBackdrop: this.hasBackgroundOverlay,\n positionStrategy: this.overlay.position()\n .global()\n .centerHorizontally()\n .centerVertically()\n });\n this.configureOverlayContainer();\n this.overlayRef = this.overlay.create(overlayConfig);\n }\n\n private configureOverlayContainer() {\n let appendTo = this.elementRef.nativeElement;\n if (this.fullscreen) {\n appendTo = document.body;\n }\n (this.overlayContainer as SpinnerOverlayContainer)\n .configure(appendTo, { fullscreen: this.fullscreen });\n }\n\n private disposeOverlayRef() {\n if (this.overlayRef) {\n this.overlayRef.detach();\n this.overlayRef.dispose();\n }\n }\n}\n","<ng-template #matSpinner>\r\n\t<mat-spinner [diameter]=\"diameter\" [color]=\"color\"></mat-spinner>\r\n</ng-template>","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { EntrySpinnerComponent } from './entry-spinner/spinner.component';\n\n@NgModule({\n declarations: [\n EntrySpinnerComponent\n ],\n imports: [\n CommonModule,\n OverlayModule,\n MatProgressSpinnerModule\n ],\n exports: [\n EntrySpinnerComponent\n ]\n})\nexport class EntrySpinnerModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -1,24 +1,25 @@
1
- import * as i5 from '@angular/material/paginator';
1
+ import * as i6 from '@angular/material/paginator';
2
2
  import { MatPaginatorModule } from '@angular/material/paginator';
3
3
  export { PageEvent } from '@angular/material/paginator';
4
4
  import * as i0 from '@angular/core';
5
5
  import { InjectionToken, input, inject, ChangeDetectionStrategy, Component, computed, output, viewChild, ElementRef, signal, linkedSignal, TemplateRef, effect, NgModule } from '@angular/core';
6
6
  import { createInjectionToken, provideConfig } from '@enigmatry/entry-components/common';
7
7
  import { SelectionModel } from '@angular/cdk/collections';
8
- import * as i3$1 from '@angular/material/checkbox';
8
+ import * as i1 from '@angular/common';
9
+ import { CommonModule, DatePipe, DecimalPipe, PercentPipe, CurrencyPipe } from '@angular/common';
10
+ import * as i4 from '@angular/material/checkbox';
9
11
  import { MatCheckboxModule } from '@angular/material/checkbox';
10
- import * as i4 from '@angular/material/radio';
12
+ import * as i5 from '@angular/material/radio';
11
13
  import { MatRadioModule } from '@angular/material/radio';
12
- import * as i2$1 from '@angular/material/sort';
14
+ import * as i3$1 from '@angular/material/sort';
13
15
  import { MatSortModule } from '@angular/material/sort';
14
- import * as i1$1 from '@angular/material/table';
16
+ import * as i2$1 from '@angular/material/table';
15
17
  import { MatTableDataSource, MatTableModule } from '@angular/material/table';
16
- import { DatePipe, DecimalPipe, PercentPipe, CurrencyPipe, CommonModule } from '@angular/common';
17
18
  import * as i2 from '@angular/material/button';
18
19
  import { MatButtonModule } from '@angular/material/button';
19
20
  import * as i3 from '@angular/material/icon';
20
21
  import { MatIconModule } from '@angular/material/icon';
21
- import * as i1 from '@angular/material/menu';
22
+ import * as i1$1 from '@angular/material/menu';
22
23
  import { MatMenuModule } from '@angular/material/menu';
23
24
  import { FormsModule } from '@angular/forms';
24
25
 
@@ -106,12 +107,12 @@ class EntryCellFormattedValueComponent {
106
107
  this.typeParameter = input(...(ngDevMode ? [undefined, { debugName: "typeParameter" }] : /* istanbul ignore next */ []));
107
108
  this.defaultPercentageMultiplier = inject(DEFAULT_PERCENTAGE_MULTIPLIER);
108
109
  }
109
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryCellFormattedValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
110
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: EntryCellFormattedValueComponent, isStandalone: true, selector: "entry-cell-formatted-value", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, typeParameter: { classPropertyName: "typeParameter", publicName: "typeParameter", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@switch (type()) {\n @case('boolean'){\n {{value() ? '\\u2713' : ''}}\n }\n @case('number'){\n {{value() | number: typeParameter()?.digitsInfo : typeParameter()?.locale}}\n }\n @case('currency'){\n {{value() | currency: typeParameter()?.currencyCode : typeParameter()?.display : typeParameter()?.digitsInfo :\n typeParameter()?.locale}}\n }\n @case('percent'){\n {{+(value() ?? 0) * (typeParameter()?.multiplier ?? defaultPercentageMultiplier) | percent: typeParameter()?.digitsInfo : typeParameter()?.locale}}\n }\n @case('date'){\n {{value() | date: typeParameter()?.format : typeParameter()?.timezone : typeParameter()?.locale}}\n }\n @case('link'){\n <a [href]=\"value()\" target=\"_blank\">{{value()}}</a>\n }\n @default{\n {{value()}}\n }\n}", dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: PercentPipe, name: "percent" }, { kind: "pipe", type: CurrencyPipe, name: "currency" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: EntryCellFormattedValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
111
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: EntryCellFormattedValueComponent, isStandalone: true, selector: "entry-cell-formatted-value", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, typeParameter: { classPropertyName: "typeParameter", publicName: "typeParameter", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@switch (type()) {\n @case('boolean'){\n {{value() ? '\\u2713' : ''}}\n }\n @case('number'){\n {{value() | number: typeParameter()?.digitsInfo : typeParameter()?.locale}}\n }\n @case('currency'){\n {{value() | currency: typeParameter()?.currencyCode : typeParameter()?.display : typeParameter()?.digitsInfo :\n typeParameter()?.locale}}\n }\n @case('percent'){\n {{+(value() ?? 0) * (typeParameter()?.multiplier ?? defaultPercentageMultiplier) | percent: typeParameter()?.digitsInfo : typeParameter()?.locale}}\n }\n @case('date'){\n {{value() | date: typeParameter()?.format : typeParameter()?.timezone : typeParameter()?.locale}}\n }\n @case('link'){\n <a [href]=\"value()\" target=\"_blank\">{{value()}}</a>\n }\n @default{\n {{value()}}\n }\n}", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "pipe", type: i1.PercentPipe, name: "percent" }, { kind: "pipe", type: i1.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i1.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
111
112
  }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryCellFormattedValueComponent, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: EntryCellFormattedValueComponent, decorators: [{
113
114
  type: Component,
114
- args: [{ imports: [DatePipe, DecimalPipe, PercentPipe, CurrencyPipe], selector: 'entry-cell-formatted-value', changeDetection: ChangeDetectionStrategy.OnPush, template: "@switch (type()) {\n @case('boolean'){\n {{value() ? '\\u2713' : ''}}\n }\n @case('number'){\n {{value() | number: typeParameter()?.digitsInfo : typeParameter()?.locale}}\n }\n @case('currency'){\n {{value() | currency: typeParameter()?.currencyCode : typeParameter()?.display : typeParameter()?.digitsInfo :\n typeParameter()?.locale}}\n }\n @case('percent'){\n {{+(value() ?? 0) * (typeParameter()?.multiplier ?? defaultPercentageMultiplier) | percent: typeParameter()?.digitsInfo : typeParameter()?.locale}}\n }\n @case('date'){\n {{value() | date: typeParameter()?.format : typeParameter()?.timezone : typeParameter()?.locale}}\n }\n @case('link'){\n <a [href]=\"value()\" target=\"_blank\">{{value()}}</a>\n }\n @default{\n {{value()}}\n }\n}" }]
115
+ args: [{ imports: [CommonModule, DatePipe, DecimalPipe, PercentPipe, CurrencyPipe], selector: 'entry-cell-formatted-value', changeDetection: ChangeDetectionStrategy.OnPush, template: "@switch (type()) {\n @case('boolean'){\n {{value() ? '\\u2713' : ''}}\n }\n @case('number'){\n {{value() | number: typeParameter()?.digitsInfo : typeParameter()?.locale}}\n }\n @case('currency'){\n {{value() | currency: typeParameter()?.currencyCode : typeParameter()?.display : typeParameter()?.digitsInfo :\n typeParameter()?.locale}}\n }\n @case('percent'){\n {{+(value() ?? 0) * (typeParameter()?.multiplier ?? defaultPercentageMultiplier) | percent: typeParameter()?.digitsInfo : typeParameter()?.locale}}\n }\n @case('date'){\n {{value() | date: typeParameter()?.format : typeParameter()?.timezone : typeParameter()?.locale}}\n }\n @case('link'){\n <a [href]=\"value()\" target=\"_blank\">{{value()}}</a>\n }\n @default{\n {{value()}}\n }\n}" }]
115
116
  }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], typeParameter: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeParameter", required: false }] }] } });
116
117
 
117
118
  class EntryCellComponent {
@@ -125,12 +126,12 @@ class EntryCellComponent {
125
126
  return keys.reduce((data, key) => data && data[key], rowData);
126
127
  };
127
128
  }
128
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
129
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.8", type: EntryCellComponent, isStandalone: true, selector: "entry-cell", inputs: { rowData: { classPropertyName: "rowData", publicName: "rowData", isSignal: true, isRequired: true, transformFunction: null }, columnDefinition: { classPropertyName: "columnDefinition", publicName: "columnDefinition", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<entry-cell-formatted-value [value]=\"printableValue()\" [type]=\"columnDefinition().type!\"\n [typeParameter]=\"columnDefinition().typeParameter\"></entry-cell-formatted-value>", dependencies: [{ kind: "component", type: EntryCellFormattedValueComponent, selector: "entry-cell-formatted-value", inputs: ["value", "type", "typeParameter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
129
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: EntryCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
130
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.10", type: EntryCellComponent, isStandalone: true, selector: "entry-cell", inputs: { rowData: { classPropertyName: "rowData", publicName: "rowData", isSignal: true, isRequired: true, transformFunction: null }, columnDefinition: { classPropertyName: "columnDefinition", publicName: "columnDefinition", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<entry-cell-formatted-value [value]=\"printableValue()\" [type]=\"columnDefinition().type!\"\n [typeParameter]=\"columnDefinition().typeParameter\"></entry-cell-formatted-value>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: EntryCellFormattedValueComponent, selector: "entry-cell-formatted-value", inputs: ["value", "type", "typeParameter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
130
131
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryCellComponent, decorators: [{
132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: EntryCellComponent, decorators: [{
132
133
  type: Component,
133
- args: [{ imports: [EntryCellFormattedValueComponent], selector: 'entry-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<entry-cell-formatted-value [value]=\"printableValue()\" [type]=\"columnDefinition().type!\"\n [typeParameter]=\"columnDefinition().typeParameter\"></entry-cell-formatted-value>" }]
134
+ args: [{ imports: [CommonModule, EntryCellFormattedValueComponent], selector: 'entry-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<entry-cell-formatted-value [value]=\"printableValue()\" [type]=\"columnDefinition().type!\"\n [typeParameter]=\"columnDefinition().typeParameter\"></entry-cell-formatted-value>" }]
134
135
  }], propDecorators: { rowData: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowData", required: true }] }], columnDefinition: [{ type: i0.Input, args: [{ isSignal: true, alias: "columnDefinition", required: true }] }] } });
135
136
 
136
137
  class EntryCellContextMenuComponent {
@@ -147,12 +148,12 @@ class EntryCellContextMenuComponent {
147
148
  this.menu = viewChild('menu', ...(ngDevMode ? [{ debugName: "menu" }] : /* istanbul ignore next */ []));
148
149
  this.subMenu = viewChild('subMenu', ...(ngDevMode ? [{ debugName: "subMenu" }] : /* istanbul ignore next */ []));
149
150
  }
150
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryCellContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
151
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: EntryCellContextMenuComponent, isStandalone: true, selector: "entry-cell-context-menu", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, rowMenuFormatter: { classPropertyName: "rowMenuFormatter", publicName: "rowMenuFormatter", isSignal: true, isRequired: false, transformFunction: null }, rowData: { classPropertyName: "rowData", publicName: "rowData", isSignal: true, isRequired: false, transformFunction: null }, triggerIcon: { classPropertyName: "triggerIcon", publicName: "triggerIcon", isSignal: true, isRequired: false, transformFunction: null }, isSubMenu: { classPropertyName: "isSubMenu", publicName: "isSubMenu", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selected" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true, isSignal: true }, { propertyName: "subMenu", first: true, predicate: ["subMenu"], descendants: true, isSignal: true }], ngImport: i0, template: "@if(!isSubMenu())\n{\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" (click)=\"$event.stopPropagation()\">\n <mat-icon>{{triggerIcon()}}</mat-icon>\n </button>\n}\n\n<mat-menu #menu=\"matMenu\" class=\"entry-table-menu\" role=\"menu\">\n @for(menuItem of menuItems(); track menuItem.id)\n {\n <button mat-menu-item [disabled]=\"menuItem.disabled\"\n [matMenuTriggerFor]=\"menuItem.items?.length ? (subMenu()?.menu() ?? null) : null\"\n (click)=\"!menuItem.items?.length && selected.emit(menuItem.id)\" class=\"context-menu-item\">\n\n @if(menuItem.icon)\n {\n <mat-icon class=\"icon\">{{menuItem.icon}}</mat-icon>\n }\n\n <span class=\"description\">{{menuItem.name}}</span>\n\n @if(menuItem.items?.length)\n {\n <entry-cell-context-menu #subMenu [items]=\"menuItem.items ?? []\" [rowData]=\"rowData()\" [isSubMenu]=\"true\"\n (selected)=\"selected.emit($event)\">\n </entry-cell-context-menu>\n }\n </button>\n }\n</mat-menu>", dependencies: [{ kind: "component", type: EntryCellContextMenuComponent, selector: "entry-cell-context-menu", inputs: ["items", "rowMenuFormatter", "rowData", "triggerIcon", "isSubMenu"], outputs: ["selected"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
151
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: EntryCellContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
152
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: EntryCellContextMenuComponent, isStandalone: true, selector: "entry-cell-context-menu", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, rowMenuFormatter: { classPropertyName: "rowMenuFormatter", publicName: "rowMenuFormatter", isSignal: true, isRequired: false, transformFunction: null }, rowData: { classPropertyName: "rowData", publicName: "rowData", isSignal: true, isRequired: false, transformFunction: null }, triggerIcon: { classPropertyName: "triggerIcon", publicName: "triggerIcon", isSignal: true, isRequired: false, transformFunction: null }, isSubMenu: { classPropertyName: "isSubMenu", publicName: "isSubMenu", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selected" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true, isSignal: true }, { propertyName: "subMenu", first: true, predicate: ["subMenu"], descendants: true, isSignal: true }], ngImport: i0, template: "@if(!isSubMenu())\n{\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" (click)=\"$event.stopPropagation()\">\n <mat-icon>{{triggerIcon()}}</mat-icon>\n </button>\n}\n\n<mat-menu #menu=\"matMenu\" class=\"entry-table-menu\" role=\"menu\">\n @for(menuItem of menuItems(); track menuItem.id)\n {\n <button mat-menu-item [disabled]=\"menuItem.disabled\"\n [matMenuTriggerFor]=\"menuItem.items?.length ? (subMenu()?.menu() ?? null) : null\"\n (click)=\"!menuItem.items?.length && selected.emit(menuItem.id)\" class=\"context-menu-item\">\n\n @if(menuItem.icon)\n {\n <mat-icon class=\"icon\">{{menuItem.icon}}</mat-icon>\n }\n\n <span class=\"description\">{{menuItem.name}}</span>\n\n @if(menuItem.items?.length)\n {\n <entry-cell-context-menu #subMenu [items]=\"menuItem.items ?? []\" [rowData]=\"rowData()\" [isSubMenu]=\"true\"\n (selected)=\"selected.emit($event)\">\n </entry-cell-context-menu>\n }\n </button>\n }\n</mat-menu>", dependencies: [{ kind: "component", type: EntryCellContextMenuComponent, selector: "entry-cell-context-menu", inputs: ["items", "rowMenuFormatter", "rowData", "triggerIcon", "isSubMenu"], outputs: ["selected"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i1$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i1$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i1$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
152
153
  }
153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryCellContextMenuComponent, decorators: [{
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: EntryCellContextMenuComponent, decorators: [{
154
155
  type: Component,
155
- args: [{ selector: 'entry-cell-context-menu', imports: [MatMenuModule, MatButtonModule, MatIconModule, EntryCellContextMenuComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if(!isSubMenu())\n{\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" (click)=\"$event.stopPropagation()\">\n <mat-icon>{{triggerIcon()}}</mat-icon>\n </button>\n}\n\n<mat-menu #menu=\"matMenu\" class=\"entry-table-menu\" role=\"menu\">\n @for(menuItem of menuItems(); track menuItem.id)\n {\n <button mat-menu-item [disabled]=\"menuItem.disabled\"\n [matMenuTriggerFor]=\"menuItem.items?.length ? (subMenu()?.menu() ?? null) : null\"\n (click)=\"!menuItem.items?.length && selected.emit(menuItem.id)\" class=\"context-menu-item\">\n\n @if(menuItem.icon)\n {\n <mat-icon class=\"icon\">{{menuItem.icon}}</mat-icon>\n }\n\n <span class=\"description\">{{menuItem.name}}</span>\n\n @if(menuItem.items?.length)\n {\n <entry-cell-context-menu #subMenu [items]=\"menuItem.items ?? []\" [rowData]=\"rowData()\" [isSubMenu]=\"true\"\n (selected)=\"selected.emit($event)\">\n </entry-cell-context-menu>\n }\n </button>\n }\n</mat-menu>" }]
156
+ args: [{ selector: 'entry-cell-context-menu', imports: [CommonModule, MatMenuModule, MatButtonModule, MatIconModule, EntryCellContextMenuComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if(!isSubMenu())\n{\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" (click)=\"$event.stopPropagation()\">\n <mat-icon>{{triggerIcon()}}</mat-icon>\n </button>\n}\n\n<mat-menu #menu=\"matMenu\" class=\"entry-table-menu\" role=\"menu\">\n @for(menuItem of menuItems(); track menuItem.id)\n {\n <button mat-menu-item [disabled]=\"menuItem.disabled\"\n [matMenuTriggerFor]=\"menuItem.items?.length ? (subMenu()?.menu() ?? null) : null\"\n (click)=\"!menuItem.items?.length && selected.emit(menuItem.id)\" class=\"context-menu-item\">\n\n @if(menuItem.icon)\n {\n <mat-icon class=\"icon\">{{menuItem.icon}}</mat-icon>\n }\n\n <span class=\"description\">{{menuItem.name}}</span>\n\n @if(menuItem.items?.length)\n {\n <entry-cell-context-menu #subMenu [items]=\"menuItem.items ?? []\" [rowData]=\"rowData()\" [isSubMenu]=\"true\"\n (selected)=\"selected.emit($event)\">\n </entry-cell-context-menu>\n }\n </button>\n }\n</mat-menu>" }]
156
157
  }], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: true }] }], rowMenuFormatter: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowMenuFormatter", required: false }] }], rowData: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowData", required: false }] }], triggerIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "triggerIcon", required: false }] }], isSubMenu: [{ type: i0.Input, args: [{ isSignal: true, alias: "isSubMenu", required: false }] }], selected: [{ type: i0.Output, args: ["selected"] }], menu: [{ type: i0.ViewChild, args: ['menu', { isSignal: true }] }], subMenu: [{ type: i0.ViewChild, args: ['subMenu', { isSignal: true }] }] } });
157
158
 
158
159
  /* eslint-disable max-lines */
@@ -301,17 +302,18 @@ class EntryTableComponent {
301
302
  }
302
303
  });
303
304
  }
304
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
305
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: EntryTableComponent, isStandalone: true, selector: "entry-table", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, showPaginator: { classPropertyName: "showPaginator", publicName: "showPaginator", isSignal: true, isRequired: false, transformFunction: null }, pageDisabled: { classPropertyName: "pageDisabled", publicName: "pageDisabled", isSignal: true, isRequired: false, transformFunction: null }, showFirstLastButtons: { classPropertyName: "showFirstLastButtons", publicName: "showFirstLastButtons", isSignal: true, isRequired: false, transformFunction: null }, pageSizeOptions: { classPropertyName: "pageSizeOptions", publicName: "pageSizeOptions", isSignal: true, isRequired: false, transformFunction: null }, hidePageSize: { classPropertyName: "hidePageSize", publicName: "hidePageSize", isSignal: true, isRequired: false, transformFunction: null }, paginationTemplate: { classPropertyName: "paginationTemplate", publicName: "paginationTemplate", isSignal: true, isRequired: false, transformFunction: null }, sortActive: { classPropertyName: "sortActive", publicName: "sortActive", isSignal: true, isRequired: false, transformFunction: null }, sortDirection: { classPropertyName: "sortDirection", publicName: "sortDirection", isSignal: true, isRequired: false, transformFunction: null }, sortDisableClear: { classPropertyName: "sortDisableClear", publicName: "sortDisableClear", isSignal: true, isRequired: false, transformFunction: null }, sortDisabled: { classPropertyName: "sortDisabled", publicName: "sortDisabled", isSignal: true, isRequired: false, transformFunction: null }, sortStart: { classPropertyName: "sortStart", publicName: "sortStart", isSignal: true, isRequired: false, transformFunction: null }, rowHover: { classPropertyName: "rowHover", publicName: "rowHover", isSignal: true, isRequired: false, transformFunction: null }, rowStriped: { classPropertyName: "rowStriped", publicName: "rowStriped", isSignal: true, isRequired: false, transformFunction: null }, rowFocusVisible: { classPropertyName: "rowFocusVisible", publicName: "rowFocusVisible", isSignal: true, isRequired: false, transformFunction: null }, multiSelectable: { classPropertyName: "multiSelectable", publicName: "multiSelectable", isSignal: true, isRequired: false, transformFunction: null }, rowSelected: { classPropertyName: "rowSelected", publicName: "rowSelected", isSignal: true, isRequired: false, transformFunction: null }, rowSelectable: { classPropertyName: "rowSelectable", publicName: "rowSelectable", isSignal: true, isRequired: false, transformFunction: null }, showSelectAllCheckbox: { classPropertyName: "showSelectAllCheckbox", publicName: "showSelectAllCheckbox", isSignal: true, isRequired: false, transformFunction: null }, rowSelectionFormatter: { classPropertyName: "rowSelectionFormatter", publicName: "rowSelectionFormatter", isSignal: true, isRequired: false, transformFunction: null }, rowClassFormatter: { classPropertyName: "rowClassFormatter", publicName: "rowClassFormatter", isSignal: true, isRequired: false, transformFunction: null }, showContextMenu: { classPropertyName: "showContextMenu", publicName: "showContextMenu", isSignal: true, isRequired: false, transformFunction: null }, contextMenuItems: { classPropertyName: "contextMenuItems", publicName: "contextMenuItems", isSignal: true, isRequired: false, transformFunction: null }, contextMenuTemplate: { classPropertyName: "contextMenuTemplate", publicName: "contextMenuTemplate", isSignal: true, isRequired: false, transformFunction: null }, rowContextMenuFormatter: { classPropertyName: "rowContextMenuFormatter", publicName: "rowContextMenuFormatter", isSignal: true, isRequired: false, transformFunction: null }, noResultText: { classPropertyName: "noResultText", publicName: "noResultText", isSignal: true, isRequired: false, transformFunction: null }, noResultTemplate: { classPropertyName: "noResultTemplate", publicName: "noResultTemplate", isSignal: true, isRequired: false, transformFunction: null }, headerTemplate: { classPropertyName: "headerTemplate", publicName: "headerTemplate", isSignal: true, isRequired: false, transformFunction: null }, cellTemplate: { classPropertyName: "cellTemplate", publicName: "cellTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pageChange: "pageChange", sortChange: "sortChange", rowClick: "rowClick", contextMenuItemSelected: "contextMenuItemSelected" }, host: { classAttribute: "entry-table" }, ngImport: i0, template: "<!-- Table content -->\n<table mat-table [class.mat-table-hover]=\"rowHover()\" [class.mat-table-striped]=\"rowStriped()\"\n [class.mat-table-with-data]=\"!hasNoResult()\" [dataSource]=\"dataSource\" matSort [matSortActive]=\"sortActive()!\"\n [matSortDirection]=\"sortDirection()!\" [matSortDisableClear]=\"sortDisableClear()\" [matSortDisabled]=\"sortDisabled()\"\n [matSortStart]=\"sortStart()\" (matSortChange)=\"sortChange.emit($event)\">\n\n <!-- Selection column -->\n @if(rowSelectable())\n {\n <ng-container [matColumnDef]=\"selectionColumn\">\n <th mat-header-cell *matHeaderCellDef class=\"selection-cell\" aria-label=\"Select rows\">\n @if(multiSelectable() && showSelectAllCheckbox())\n {\n <mat-checkbox aria-label=\"Select all\" [checked]=\"rowSelection().hasValue() && allRowsSelected()\"\n [indeterminate]=\"rowSelection().hasValue() && !allRowsSelected()\"\n (change)=\"$event ? toggleSelectAllCheckbox() : null\">\n </mat-checkbox>\n }\n </th>\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\" class=\"selection-cell\"\n (click)=\"$event.stopPropagation()\">\n @if(multiSelectable() && !(rowSelectionFormatter().hideCheckbox && rowSelectionFormatter().hideCheckbox!(row)))\n {\n <mat-checkbox aria-label=\"Select row\"\n [disabled]=\"rowSelectionFormatter().disabled && rowSelectionFormatter().disabled!(row)\"\n [checked]=\"rowSelection().isSelected(row)\" (change)=\"$event ? toggleRowSelection(row) : null\">\n </mat-checkbox>\n }\n\n @if(!multiSelectable() && !(rowSelectionFormatter().hideCheckbox && rowSelectionFormatter().hideCheckbox!(row)))\n {\n <mat-radio-button aria-label=\"Select row\"\n [disabled]=\"rowSelectionFormatter().disabled && rowSelectionFormatter().disabled!(row)\"\n [checked]=\"rowSelection().isSelected(row)\" [value]=\"rowSelection().isSelected(row)\"\n (change)=\"$event ? toggleRowSelection(row) : null\">\n </mat-radio-button>\n }\n </td>\n </ng-container>\n }\n\n <!-- Context menu column -->\n @if(showContextMenu())\n {\n <ng-container [matColumnDef]=\"contextMenuColumn\">\n <th mat-header-cell *matHeaderCellDef class=\"action-cell\" aria-label=\"Context Menu Actions\"></th>\n\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\" class=\"action-cell\">\n @if(isTemplateRef(contextMenuTemplate()))\n {\n <ng-template [ngTemplateOutlet]=\"contextMenuTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row }\">\n </ng-template>\n }\n @else{\n <entry-cell-context-menu [items]=\"contextMenuItems()\" [rowData]=\"row\"\n [rowMenuFormatter]=\"rowContextMenuFormatter()\"\n (selected)=\"contextMenuItemSelected.emit({itemId: $event, rowData: row})\"></entry-cell-context-menu>\n }\n </td>\n </ng-container>\n }\n\n @for(column of columns(); track column.field)\n {\n <ng-container [matColumnDef]=\"column.field\" [sticky]=\"column.pinned==='left'\" [stickyEnd]=\"column.pinned==='right'\">\n <th mat-header-cell *matHeaderCellDef [class]=\"getColumnClassList(column)\"\n [class.mat-table-sticky-left]=\"column.pinned === 'left'\"\n [class.mat-table-sticky-right]=\"column.pinned === 'right'\"\n [style]=\"{'width': column.width, 'min-width': column.width}\">\n @if(isTemplateRef(headerTemplate()))\n {\n <ng-template [ngTemplateOutlet]=\"unknownTemplateAsTemplate(headerTemplate())\"\n [ngTemplateOutletContext]=\"{ $implicit: column, colDef: column }\">\n </ng-template>\n }\n @else if(headerTemplate() && isTemplateRef(toTemplateIndex(unknownTemplateAsTemplate(headerTemplate()),\n column.field))) {\n <ng-template [ngTemplateOutlet]=\"toTemplateIndex(unknownTemplateAsTemplate(headerTemplate()), column.field)\"\n [ngTemplateOutletContext]=\"{ $implicit: column, colDef: column }\">\n </ng-template>\n }\n @else {\n <div [mat-sort-header]=\"column.sortProperties?.id || column.field\" [disabled]=\"!column.sortable\"\n [disableClear]=\"column.sortProperties?.disableClear\">\n <span>{{column.header}}</span>\n </div>\n }\n </th>\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\"\n [class]=\"getColumnClassList(column)\" [class.mat-table-sticky-left]=\"column.pinned === 'left'\"\n [class.mat-table-sticky-right]=\"column.pinned === 'right'\"\n [style]=\"{'width': column.width, 'min-width': column.width}\">\n @if(isTemplateRef(cellTemplate()))\n {\n <ng-template [ngTemplateOutlet]=\"unknownTemplateAsTemplate(cellTemplate())\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: column }\">\n </ng-template>\n }\n @else if(cellTemplate() && isTemplateRef(toTemplateIndex(unknownTemplateAsTemplate(cellTemplate()),\n column.field)))\n {\n <ng-template [ngTemplateOutlet]=\"toTemplateIndex(unknownTemplateAsTemplate(cellTemplate()), column.field)\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: column }\">\n </ng-template>\n }\n @else if(column.cellTemplate) {\n <ng-template [ngTemplateOutlet]=\"column.cellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: column }\">\n </ng-template>\n }\n @else {\n <entry-cell [rowData]=\"row\" [columnDefinition]=\"column\"></entry-cell>\n }\n </td>\n </ng-container>\n }\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns(); sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; let index = index; let dataIndex = dataIndex; columns: displayedColumns();\"\n [class]=\"getRowClassList(row, getIndex(index, dataIndex))\" [attr.tabindex]=\"rowFocusVisible() ? 0 : -1\"\n (click)=\"rowClick.emit(row)\" (keydown.enter)=\"rowClick.emit(row)\">\n </tr>\n</table>\n\n<!-- No results -->\n@if(hasNoResult())\n{\n<div class=\"no-results mat-body-2\">\n @if(isTemplateRef(noResultTemplate()))\n {\n <ng-template [ngTemplateOutlet]=\"noResultTemplate()\"></ng-template>\n }\n @else {\n {{noResultText()}}\n }\n</div>\n}\n<!-- Pagination -->\n@if(isTemplateRef(paginationTemplate()))\n{\n<ng-template [ngTemplateOutlet]=\"paginationTemplate()\"></ng-template>\n}\n@else if(shouldShowPaginator()) {\n<mat-paginator class=\"pagination\" [showFirstLastButtons]=\"showFirstLastButtons()\" [length]=\"total()\"\n [pageIndex]=\"pageIndex()\" [pageSize]=\"pageSize()\" [pageSizeOptions]=\"pageSizeOptions()\"\n [hidePageSize]=\"hidePageSize()\" (page)=\"handlePage($event)\" [disabled]=\"pageDisabled()\">\n</mat-paginator>\n}", dependencies: [{ kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i1$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i2$1.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i2$1.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i3$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "component", type: i4.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i5.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: EntryCellComponent, selector: "entry-cell", inputs: ["rowData", "columnDefinition"] }, { kind: "component", type: EntryCellContextMenuComponent, selector: "entry-cell-context-menu", inputs: ["items", "rowMenuFormatter", "rowData", "triggerIcon", "isSubMenu"], outputs: ["selected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
305
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: EntryTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
306
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: EntryTableComponent, isStandalone: true, selector: "entry-table", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, showPaginator: { classPropertyName: "showPaginator", publicName: "showPaginator", isSignal: true, isRequired: false, transformFunction: null }, pageDisabled: { classPropertyName: "pageDisabled", publicName: "pageDisabled", isSignal: true, isRequired: false, transformFunction: null }, showFirstLastButtons: { classPropertyName: "showFirstLastButtons", publicName: "showFirstLastButtons", isSignal: true, isRequired: false, transformFunction: null }, pageSizeOptions: { classPropertyName: "pageSizeOptions", publicName: "pageSizeOptions", isSignal: true, isRequired: false, transformFunction: null }, hidePageSize: { classPropertyName: "hidePageSize", publicName: "hidePageSize", isSignal: true, isRequired: false, transformFunction: null }, paginationTemplate: { classPropertyName: "paginationTemplate", publicName: "paginationTemplate", isSignal: true, isRequired: false, transformFunction: null }, sortActive: { classPropertyName: "sortActive", publicName: "sortActive", isSignal: true, isRequired: false, transformFunction: null }, sortDirection: { classPropertyName: "sortDirection", publicName: "sortDirection", isSignal: true, isRequired: false, transformFunction: null }, sortDisableClear: { classPropertyName: "sortDisableClear", publicName: "sortDisableClear", isSignal: true, isRequired: false, transformFunction: null }, sortDisabled: { classPropertyName: "sortDisabled", publicName: "sortDisabled", isSignal: true, isRequired: false, transformFunction: null }, sortStart: { classPropertyName: "sortStart", publicName: "sortStart", isSignal: true, isRequired: false, transformFunction: null }, rowHover: { classPropertyName: "rowHover", publicName: "rowHover", isSignal: true, isRequired: false, transformFunction: null }, rowStriped: { classPropertyName: "rowStriped", publicName: "rowStriped", isSignal: true, isRequired: false, transformFunction: null }, rowFocusVisible: { classPropertyName: "rowFocusVisible", publicName: "rowFocusVisible", isSignal: true, isRequired: false, transformFunction: null }, multiSelectable: { classPropertyName: "multiSelectable", publicName: "multiSelectable", isSignal: true, isRequired: false, transformFunction: null }, rowSelected: { classPropertyName: "rowSelected", publicName: "rowSelected", isSignal: true, isRequired: false, transformFunction: null }, rowSelectable: { classPropertyName: "rowSelectable", publicName: "rowSelectable", isSignal: true, isRequired: false, transformFunction: null }, showSelectAllCheckbox: { classPropertyName: "showSelectAllCheckbox", publicName: "showSelectAllCheckbox", isSignal: true, isRequired: false, transformFunction: null }, rowSelectionFormatter: { classPropertyName: "rowSelectionFormatter", publicName: "rowSelectionFormatter", isSignal: true, isRequired: false, transformFunction: null }, rowClassFormatter: { classPropertyName: "rowClassFormatter", publicName: "rowClassFormatter", isSignal: true, isRequired: false, transformFunction: null }, showContextMenu: { classPropertyName: "showContextMenu", publicName: "showContextMenu", isSignal: true, isRequired: false, transformFunction: null }, contextMenuItems: { classPropertyName: "contextMenuItems", publicName: "contextMenuItems", isSignal: true, isRequired: false, transformFunction: null }, contextMenuTemplate: { classPropertyName: "contextMenuTemplate", publicName: "contextMenuTemplate", isSignal: true, isRequired: false, transformFunction: null }, rowContextMenuFormatter: { classPropertyName: "rowContextMenuFormatter", publicName: "rowContextMenuFormatter", isSignal: true, isRequired: false, transformFunction: null }, noResultText: { classPropertyName: "noResultText", publicName: "noResultText", isSignal: true, isRequired: false, transformFunction: null }, noResultTemplate: { classPropertyName: "noResultTemplate", publicName: "noResultTemplate", isSignal: true, isRequired: false, transformFunction: null }, headerTemplate: { classPropertyName: "headerTemplate", publicName: "headerTemplate", isSignal: true, isRequired: false, transformFunction: null }, cellTemplate: { classPropertyName: "cellTemplate", publicName: "cellTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pageChange: "pageChange", sortChange: "sortChange", rowClick: "rowClick", contextMenuItemSelected: "contextMenuItemSelected" }, host: { classAttribute: "entry-table" }, ngImport: i0, template: "<!-- Table content -->\n<table mat-table [class.mat-table-hover]=\"rowHover()\" [class.mat-table-striped]=\"rowStriped()\"\n [class.mat-table-with-data]=\"!hasNoResult()\" [dataSource]=\"dataSource\" matSort [matSortActive]=\"sortActive()!\"\n [matSortDirection]=\"sortDirection()!\" [matSortDisableClear]=\"sortDisableClear()\" [matSortDisabled]=\"sortDisabled()\"\n [matSortStart]=\"sortStart()\" (matSortChange)=\"sortChange.emit($event)\">\n\n <!-- Selection column -->\n @if(rowSelectable())\n {\n <ng-container [matColumnDef]=\"selectionColumn\">\n <th mat-header-cell *matHeaderCellDef class=\"selection-cell\" aria-label=\"Select rows\">\n @if(multiSelectable() && showSelectAllCheckbox())\n {\n <mat-checkbox aria-label=\"Select all\" [checked]=\"rowSelection().hasValue() && allRowsSelected()\"\n [indeterminate]=\"rowSelection().hasValue() && !allRowsSelected()\"\n (change)=\"$event ? toggleSelectAllCheckbox() : null\">\n </mat-checkbox>\n }\n </th>\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\" class=\"selection-cell\"\n (click)=\"$event.stopPropagation()\">\n @if(multiSelectable() && !(rowSelectionFormatter().hideCheckbox && rowSelectionFormatter().hideCheckbox!(row)))\n {\n <mat-checkbox aria-label=\"Select row\"\n [disabled]=\"rowSelectionFormatter().disabled && rowSelectionFormatter().disabled!(row)\"\n [checked]=\"rowSelection().isSelected(row)\" (change)=\"$event ? toggleRowSelection(row) : null\">\n </mat-checkbox>\n }\n\n @if(!multiSelectable() && !(rowSelectionFormatter().hideCheckbox && rowSelectionFormatter().hideCheckbox!(row)))\n {\n <mat-radio-button aria-label=\"Select row\"\n [disabled]=\"rowSelectionFormatter().disabled && rowSelectionFormatter().disabled!(row)\"\n [checked]=\"rowSelection().isSelected(row)\" [value]=\"rowSelection().isSelected(row)\"\n (change)=\"$event ? toggleRowSelection(row) : null\">\n </mat-radio-button>\n }\n </td>\n </ng-container>\n }\n\n <!-- Context menu column -->\n @if(showContextMenu())\n {\n <ng-container [matColumnDef]=\"contextMenuColumn\">\n <th mat-header-cell *matHeaderCellDef class=\"action-cell\" aria-label=\"Context Menu Actions\"></th>\n\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\" class=\"action-cell\">\n @if(isTemplateRef(contextMenuTemplate()))\n {\n <ng-template [ngTemplateOutlet]=\"contextMenuTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row }\">\n </ng-template>\n }\n @else{\n <entry-cell-context-menu [items]=\"contextMenuItems()\" [rowData]=\"row\"\n [rowMenuFormatter]=\"rowContextMenuFormatter()\"\n (selected)=\"contextMenuItemSelected.emit({itemId: $event, rowData: row})\"></entry-cell-context-menu>\n }\n </td>\n </ng-container>\n }\n\n @for(column of columns(); track column.field)\n {\n <ng-container [matColumnDef]=\"column.field\" [sticky]=\"column.pinned==='left'\" [stickyEnd]=\"column.pinned==='right'\">\n <th mat-header-cell *matHeaderCellDef [class]=\"getColumnClassList(column)\"\n [class.mat-table-sticky-left]=\"column.pinned === 'left'\"\n [class.mat-table-sticky-right]=\"column.pinned === 'right'\"\n [style]=\"{'width': column.width, 'min-width': column.width}\">\n @if(isTemplateRef(headerTemplate()))\n {\n <ng-template [ngTemplateOutlet]=\"unknownTemplateAsTemplate(headerTemplate())\"\n [ngTemplateOutletContext]=\"{ $implicit: column, colDef: column }\">\n </ng-template>\n }\n @else if(headerTemplate() && isTemplateRef(toTemplateIndex(unknownTemplateAsTemplate(headerTemplate()),\n column.field))) {\n <ng-template [ngTemplateOutlet]=\"toTemplateIndex(unknownTemplateAsTemplate(headerTemplate()), column.field)\"\n [ngTemplateOutletContext]=\"{ $implicit: column, colDef: column }\">\n </ng-template>\n }\n @else {\n <div [mat-sort-header]=\"column.sortProperties?.id || column.field\" [disabled]=\"!column.sortable\"\n [disableClear]=\"column.sortProperties?.disableClear\">\n <span>{{column.header}}</span>\n </div>\n }\n </th>\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\"\n [class]=\"getColumnClassList(column)\" [class.mat-table-sticky-left]=\"column.pinned === 'left'\"\n [class.mat-table-sticky-right]=\"column.pinned === 'right'\"\n [style]=\"{'width': column.width, 'min-width': column.width}\">\n @if(isTemplateRef(cellTemplate()))\n {\n <ng-template [ngTemplateOutlet]=\"unknownTemplateAsTemplate(cellTemplate())\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: column }\">\n </ng-template>\n }\n @else if(cellTemplate() && isTemplateRef(toTemplateIndex(unknownTemplateAsTemplate(cellTemplate()),\n column.field)))\n {\n <ng-template [ngTemplateOutlet]=\"toTemplateIndex(unknownTemplateAsTemplate(cellTemplate()), column.field)\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: column }\">\n </ng-template>\n }\n @else if(column.cellTemplate) {\n <ng-template [ngTemplateOutlet]=\"column.cellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: column }\">\n </ng-template>\n }\n @else {\n <entry-cell [rowData]=\"row\" [columnDefinition]=\"column\"></entry-cell>\n }\n </td>\n </ng-container>\n }\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns(); sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; let index = index; let dataIndex = dataIndex; columns: displayedColumns();\"\n [class]=\"getRowClassList(row, getIndex(index, dataIndex))\" [attr.tabindex]=\"rowFocusVisible() ? 0 : -1\"\n (click)=\"rowClick.emit(row)\" (keydown.enter)=\"rowClick.emit(row)\">\n </tr>\n</table>\n\n<!-- No results -->\n@if(hasNoResult())\n{\n<div class=\"no-results mat-body-2\">\n @if(isTemplateRef(noResultTemplate()))\n {\n <ng-template [ngTemplateOutlet]=\"noResultTemplate()\"></ng-template>\n }\n @else {\n {{noResultText()}}\n }\n</div>\n}\n<!-- Pagination -->\n@if(isTemplateRef(paginationTemplate()))\n{\n<ng-template [ngTemplateOutlet]=\"paginationTemplate()\"></ng-template>\n}\n@else if(shouldShowPaginator()) {\n<mat-paginator class=\"pagination\" [showFirstLastButtons]=\"showFirstLastButtons()\" [length]=\"total()\"\n [pageIndex]=\"pageIndex()\" [pageSize]=\"pageSize()\" [pageSizeOptions]=\"pageSizeOptions()\"\n [hidePageSize]=\"hidePageSize()\" (page)=\"handlePage($event)\" [disabled]=\"pageDisabled()\">\n</mat-paginator>\n}", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i2$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i2$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i3$1.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i3$1.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "component", type: i5.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i6.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: EntryCellComponent, selector: "entry-cell", inputs: ["rowData", "columnDefinition"] }, { kind: "component", type: EntryCellContextMenuComponent, selector: "entry-cell-context-menu", inputs: ["items", "rowMenuFormatter", "rowData", "triggerIcon", "isSubMenu"], outputs: ["selected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
306
307
  }
307
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryTableComponent, decorators: [{
308
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: EntryTableComponent, decorators: [{
308
309
  type: Component,
309
- args: [{ selector: 'entry-table', host: { class: 'entry-table' }, imports: [MatTableModule, MatSortModule, MatCheckboxModule, MatRadioModule, MatPaginatorModule, EntryCellComponent, EntryCellContextMenuComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Table content -->\n<table mat-table [class.mat-table-hover]=\"rowHover()\" [class.mat-table-striped]=\"rowStriped()\"\n [class.mat-table-with-data]=\"!hasNoResult()\" [dataSource]=\"dataSource\" matSort [matSortActive]=\"sortActive()!\"\n [matSortDirection]=\"sortDirection()!\" [matSortDisableClear]=\"sortDisableClear()\" [matSortDisabled]=\"sortDisabled()\"\n [matSortStart]=\"sortStart()\" (matSortChange)=\"sortChange.emit($event)\">\n\n <!-- Selection column -->\n @if(rowSelectable())\n {\n <ng-container [matColumnDef]=\"selectionColumn\">\n <th mat-header-cell *matHeaderCellDef class=\"selection-cell\" aria-label=\"Select rows\">\n @if(multiSelectable() && showSelectAllCheckbox())\n {\n <mat-checkbox aria-label=\"Select all\" [checked]=\"rowSelection().hasValue() && allRowsSelected()\"\n [indeterminate]=\"rowSelection().hasValue() && !allRowsSelected()\"\n (change)=\"$event ? toggleSelectAllCheckbox() : null\">\n </mat-checkbox>\n }\n </th>\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\" class=\"selection-cell\"\n (click)=\"$event.stopPropagation()\">\n @if(multiSelectable() && !(rowSelectionFormatter().hideCheckbox && rowSelectionFormatter().hideCheckbox!(row)))\n {\n <mat-checkbox aria-label=\"Select row\"\n [disabled]=\"rowSelectionFormatter().disabled && rowSelectionFormatter().disabled!(row)\"\n [checked]=\"rowSelection().isSelected(row)\" (change)=\"$event ? toggleRowSelection(row) : null\">\n </mat-checkbox>\n }\n\n @if(!multiSelectable() && !(rowSelectionFormatter().hideCheckbox && rowSelectionFormatter().hideCheckbox!(row)))\n {\n <mat-radio-button aria-label=\"Select row\"\n [disabled]=\"rowSelectionFormatter().disabled && rowSelectionFormatter().disabled!(row)\"\n [checked]=\"rowSelection().isSelected(row)\" [value]=\"rowSelection().isSelected(row)\"\n (change)=\"$event ? toggleRowSelection(row) : null\">\n </mat-radio-button>\n }\n </td>\n </ng-container>\n }\n\n <!-- Context menu column -->\n @if(showContextMenu())\n {\n <ng-container [matColumnDef]=\"contextMenuColumn\">\n <th mat-header-cell *matHeaderCellDef class=\"action-cell\" aria-label=\"Context Menu Actions\"></th>\n\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\" class=\"action-cell\">\n @if(isTemplateRef(contextMenuTemplate()))\n {\n <ng-template [ngTemplateOutlet]=\"contextMenuTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row }\">\n </ng-template>\n }\n @else{\n <entry-cell-context-menu [items]=\"contextMenuItems()\" [rowData]=\"row\"\n [rowMenuFormatter]=\"rowContextMenuFormatter()\"\n (selected)=\"contextMenuItemSelected.emit({itemId: $event, rowData: row})\"></entry-cell-context-menu>\n }\n </td>\n </ng-container>\n }\n\n @for(column of columns(); track column.field)\n {\n <ng-container [matColumnDef]=\"column.field\" [sticky]=\"column.pinned==='left'\" [stickyEnd]=\"column.pinned==='right'\">\n <th mat-header-cell *matHeaderCellDef [class]=\"getColumnClassList(column)\"\n [class.mat-table-sticky-left]=\"column.pinned === 'left'\"\n [class.mat-table-sticky-right]=\"column.pinned === 'right'\"\n [style]=\"{'width': column.width, 'min-width': column.width}\">\n @if(isTemplateRef(headerTemplate()))\n {\n <ng-template [ngTemplateOutlet]=\"unknownTemplateAsTemplate(headerTemplate())\"\n [ngTemplateOutletContext]=\"{ $implicit: column, colDef: column }\">\n </ng-template>\n }\n @else if(headerTemplate() && isTemplateRef(toTemplateIndex(unknownTemplateAsTemplate(headerTemplate()),\n column.field))) {\n <ng-template [ngTemplateOutlet]=\"toTemplateIndex(unknownTemplateAsTemplate(headerTemplate()), column.field)\"\n [ngTemplateOutletContext]=\"{ $implicit: column, colDef: column }\">\n </ng-template>\n }\n @else {\n <div [mat-sort-header]=\"column.sortProperties?.id || column.field\" [disabled]=\"!column.sortable\"\n [disableClear]=\"column.sortProperties?.disableClear\">\n <span>{{column.header}}</span>\n </div>\n }\n </th>\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\"\n [class]=\"getColumnClassList(column)\" [class.mat-table-sticky-left]=\"column.pinned === 'left'\"\n [class.mat-table-sticky-right]=\"column.pinned === 'right'\"\n [style]=\"{'width': column.width, 'min-width': column.width}\">\n @if(isTemplateRef(cellTemplate()))\n {\n <ng-template [ngTemplateOutlet]=\"unknownTemplateAsTemplate(cellTemplate())\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: column }\">\n </ng-template>\n }\n @else if(cellTemplate() && isTemplateRef(toTemplateIndex(unknownTemplateAsTemplate(cellTemplate()),\n column.field)))\n {\n <ng-template [ngTemplateOutlet]=\"toTemplateIndex(unknownTemplateAsTemplate(cellTemplate()), column.field)\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: column }\">\n </ng-template>\n }\n @else if(column.cellTemplate) {\n <ng-template [ngTemplateOutlet]=\"column.cellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: column }\">\n </ng-template>\n }\n @else {\n <entry-cell [rowData]=\"row\" [columnDefinition]=\"column\"></entry-cell>\n }\n </td>\n </ng-container>\n }\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns(); sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; let index = index; let dataIndex = dataIndex; columns: displayedColumns();\"\n [class]=\"getRowClassList(row, getIndex(index, dataIndex))\" [attr.tabindex]=\"rowFocusVisible() ? 0 : -1\"\n (click)=\"rowClick.emit(row)\" (keydown.enter)=\"rowClick.emit(row)\">\n </tr>\n</table>\n\n<!-- No results -->\n@if(hasNoResult())\n{\n<div class=\"no-results mat-body-2\">\n @if(isTemplateRef(noResultTemplate()))\n {\n <ng-template [ngTemplateOutlet]=\"noResultTemplate()\"></ng-template>\n }\n @else {\n {{noResultText()}}\n }\n</div>\n}\n<!-- Pagination -->\n@if(isTemplateRef(paginationTemplate()))\n{\n<ng-template [ngTemplateOutlet]=\"paginationTemplate()\"></ng-template>\n}\n@else if(shouldShowPaginator()) {\n<mat-paginator class=\"pagination\" [showFirstLastButtons]=\"showFirstLastButtons()\" [length]=\"total()\"\n [pageIndex]=\"pageIndex()\" [pageSize]=\"pageSize()\" [pageSizeOptions]=\"pageSizeOptions()\"\n [hidePageSize]=\"hidePageSize()\" (page)=\"handlePage($event)\" [disabled]=\"pageDisabled()\">\n</mat-paginator>\n}" }]
310
+ args: [{ selector: 'entry-table', host: { class: 'entry-table' }, imports: [CommonModule, MatTableModule, MatSortModule, MatCheckboxModule, MatRadioModule,
311
+ MatPaginatorModule, EntryCellComponent, EntryCellContextMenuComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Table content -->\n<table mat-table [class.mat-table-hover]=\"rowHover()\" [class.mat-table-striped]=\"rowStriped()\"\n [class.mat-table-with-data]=\"!hasNoResult()\" [dataSource]=\"dataSource\" matSort [matSortActive]=\"sortActive()!\"\n [matSortDirection]=\"sortDirection()!\" [matSortDisableClear]=\"sortDisableClear()\" [matSortDisabled]=\"sortDisabled()\"\n [matSortStart]=\"sortStart()\" (matSortChange)=\"sortChange.emit($event)\">\n\n <!-- Selection column -->\n @if(rowSelectable())\n {\n <ng-container [matColumnDef]=\"selectionColumn\">\n <th mat-header-cell *matHeaderCellDef class=\"selection-cell\" aria-label=\"Select rows\">\n @if(multiSelectable() && showSelectAllCheckbox())\n {\n <mat-checkbox aria-label=\"Select all\" [checked]=\"rowSelection().hasValue() && allRowsSelected()\"\n [indeterminate]=\"rowSelection().hasValue() && !allRowsSelected()\"\n (change)=\"$event ? toggleSelectAllCheckbox() : null\">\n </mat-checkbox>\n }\n </th>\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\" class=\"selection-cell\"\n (click)=\"$event.stopPropagation()\">\n @if(multiSelectable() && !(rowSelectionFormatter().hideCheckbox && rowSelectionFormatter().hideCheckbox!(row)))\n {\n <mat-checkbox aria-label=\"Select row\"\n [disabled]=\"rowSelectionFormatter().disabled && rowSelectionFormatter().disabled!(row)\"\n [checked]=\"rowSelection().isSelected(row)\" (change)=\"$event ? toggleRowSelection(row) : null\">\n </mat-checkbox>\n }\n\n @if(!multiSelectable() && !(rowSelectionFormatter().hideCheckbox && rowSelectionFormatter().hideCheckbox!(row)))\n {\n <mat-radio-button aria-label=\"Select row\"\n [disabled]=\"rowSelectionFormatter().disabled && rowSelectionFormatter().disabled!(row)\"\n [checked]=\"rowSelection().isSelected(row)\" [value]=\"rowSelection().isSelected(row)\"\n (change)=\"$event ? toggleRowSelection(row) : null\">\n </mat-radio-button>\n }\n </td>\n </ng-container>\n }\n\n <!-- Context menu column -->\n @if(showContextMenu())\n {\n <ng-container [matColumnDef]=\"contextMenuColumn\">\n <th mat-header-cell *matHeaderCellDef class=\"action-cell\" aria-label=\"Context Menu Actions\"></th>\n\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\" class=\"action-cell\">\n @if(isTemplateRef(contextMenuTemplate()))\n {\n <ng-template [ngTemplateOutlet]=\"contextMenuTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row }\">\n </ng-template>\n }\n @else{\n <entry-cell-context-menu [items]=\"contextMenuItems()\" [rowData]=\"row\"\n [rowMenuFormatter]=\"rowContextMenuFormatter()\"\n (selected)=\"contextMenuItemSelected.emit({itemId: $event, rowData: row})\"></entry-cell-context-menu>\n }\n </td>\n </ng-container>\n }\n\n @for(column of columns(); track column.field)\n {\n <ng-container [matColumnDef]=\"column.field\" [sticky]=\"column.pinned==='left'\" [stickyEnd]=\"column.pinned==='right'\">\n <th mat-header-cell *matHeaderCellDef [class]=\"getColumnClassList(column)\"\n [class.mat-table-sticky-left]=\"column.pinned === 'left'\"\n [class.mat-table-sticky-right]=\"column.pinned === 'right'\"\n [style]=\"{'width': column.width, 'min-width': column.width}\">\n @if(isTemplateRef(headerTemplate()))\n {\n <ng-template [ngTemplateOutlet]=\"unknownTemplateAsTemplate(headerTemplate())\"\n [ngTemplateOutletContext]=\"{ $implicit: column, colDef: column }\">\n </ng-template>\n }\n @else if(headerTemplate() && isTemplateRef(toTemplateIndex(unknownTemplateAsTemplate(headerTemplate()),\n column.field))) {\n <ng-template [ngTemplateOutlet]=\"toTemplateIndex(unknownTemplateAsTemplate(headerTemplate()), column.field)\"\n [ngTemplateOutletContext]=\"{ $implicit: column, colDef: column }\">\n </ng-template>\n }\n @else {\n <div [mat-sort-header]=\"column.sortProperties?.id || column.field\" [disabled]=\"!column.sortable\"\n [disableClear]=\"column.sortProperties?.disableClear\">\n <span>{{column.header}}</span>\n </div>\n }\n </th>\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\"\n [class]=\"getColumnClassList(column)\" [class.mat-table-sticky-left]=\"column.pinned === 'left'\"\n [class.mat-table-sticky-right]=\"column.pinned === 'right'\"\n [style]=\"{'width': column.width, 'min-width': column.width}\">\n @if(isTemplateRef(cellTemplate()))\n {\n <ng-template [ngTemplateOutlet]=\"unknownTemplateAsTemplate(cellTemplate())\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: column }\">\n </ng-template>\n }\n @else if(cellTemplate() && isTemplateRef(toTemplateIndex(unknownTemplateAsTemplate(cellTemplate()),\n column.field)))\n {\n <ng-template [ngTemplateOutlet]=\"toTemplateIndex(unknownTemplateAsTemplate(cellTemplate()), column.field)\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: column }\">\n </ng-template>\n }\n @else if(column.cellTemplate) {\n <ng-template [ngTemplateOutlet]=\"column.cellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: column }\">\n </ng-template>\n }\n @else {\n <entry-cell [rowData]=\"row\" [columnDefinition]=\"column\"></entry-cell>\n }\n </td>\n </ng-container>\n }\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns(); sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; let index = index; let dataIndex = dataIndex; columns: displayedColumns();\"\n [class]=\"getRowClassList(row, getIndex(index, dataIndex))\" [attr.tabindex]=\"rowFocusVisible() ? 0 : -1\"\n (click)=\"rowClick.emit(row)\" (keydown.enter)=\"rowClick.emit(row)\">\n </tr>\n</table>\n\n<!-- No results -->\n@if(hasNoResult())\n{\n<div class=\"no-results mat-body-2\">\n @if(isTemplateRef(noResultTemplate()))\n {\n <ng-template [ngTemplateOutlet]=\"noResultTemplate()\"></ng-template>\n }\n @else {\n {{noResultText()}}\n }\n</div>\n}\n<!-- Pagination -->\n@if(isTemplateRef(paginationTemplate()))\n{\n<ng-template [ngTemplateOutlet]=\"paginationTemplate()\"></ng-template>\n}\n@else if(shouldShowPaginator()) {\n<mat-paginator class=\"pagination\" [showFirstLastButtons]=\"showFirstLastButtons()\" [length]=\"total()\"\n [pageIndex]=\"pageIndex()\" [pageSize]=\"pageSize()\" [pageSizeOptions]=\"pageSizeOptions()\"\n [hidePageSize]=\"hidePageSize()\" (page)=\"handlePage($event)\" [disabled]=\"pageDisabled()\">\n</mat-paginator>\n}" }]
310
312
  }], ctorParameters: () => [], propDecorators: { columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], showPaginator: [{ type: i0.Input, args: [{ isSignal: true, alias: "showPaginator", required: false }] }], pageDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageDisabled", required: false }] }], showFirstLastButtons: [{ type: i0.Input, args: [{ isSignal: true, alias: "showFirstLastButtons", required: false }] }], pageSizeOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSizeOptions", required: false }] }], hidePageSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "hidePageSize", required: false }] }], paginationTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "paginationTemplate", required: false }] }], pageChange: [{ type: i0.Output, args: ["pageChange"] }], sortActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortActive", required: false }] }], sortDirection: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortDirection", required: false }] }], sortDisableClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortDisableClear", required: false }] }], sortDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortDisabled", required: false }] }], sortStart: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortStart", required: false }] }], sortChange: [{ type: i0.Output, args: ["sortChange"] }], rowHover: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowHover", required: false }] }], rowStriped: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowStriped", required: false }] }], rowFocusVisible: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowFocusVisible", required: false }] }], rowClick: [{ type: i0.Output, args: ["rowClick"] }], multiSelectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiSelectable", required: false }] }], rowSelected: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowSelected", required: false }] }], rowSelectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowSelectable", required: false }] }], showSelectAllCheckbox: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSelectAllCheckbox", required: false }] }], rowSelectionFormatter: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowSelectionFormatter", required: false }] }], rowClassFormatter: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowClassFormatter", required: false }] }], showContextMenu: [{ type: i0.Input, args: [{ isSignal: true, alias: "showContextMenu", required: false }] }], contextMenuItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "contextMenuItems", required: false }] }], contextMenuTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "contextMenuTemplate", required: false }] }], rowContextMenuFormatter: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowContextMenuFormatter", required: false }] }], contextMenuItemSelected: [{ type: i0.Output, args: ["contextMenuItemSelected"] }], noResultText: [{ type: i0.Input, args: [{ isSignal: true, alias: "noResultText", required: false }] }], noResultTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "noResultTemplate", required: false }] }], headerTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerTemplate", required: false }] }], cellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "cellTemplate", required: false }] }] } });
311
313
 
312
314
  class EntryTableModule {
313
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
314
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.8", ngImport: i0, type: EntryTableModule, imports: [CommonModule,
315
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: EntryTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
316
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.10", ngImport: i0, type: EntryTableModule, imports: [CommonModule,
315
317
  FormsModule,
316
318
  MatTableModule,
317
319
  MatSortModule,
@@ -320,7 +322,6 @@ class EntryTableModule {
320
322
  MatIconModule,
321
323
  MatMenuModule,
322
324
  MatRadioModule,
323
- CommonModule,
324
325
  MatButtonModule,
325
326
  EntryTableComponent,
326
327
  EntryCellComponent,
@@ -329,7 +330,7 @@ class EntryTableModule {
329
330
  EntryCellComponent,
330
331
  EntryCellContextMenuComponent,
331
332
  EntryCellFormattedValueComponent] }); }
332
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryTableModule, providers: [
333
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: EntryTableModule, providers: [
333
334
  { provide: DEFAULT_PERCENTAGE_MULTIPLIER, useValue: 1 }
334
335
  ], imports: [CommonModule,
335
336
  FormsModule,
@@ -340,12 +341,13 @@ class EntryTableModule {
340
341
  MatIconModule,
341
342
  MatMenuModule,
342
343
  MatRadioModule,
343
- CommonModule,
344
344
  MatButtonModule,
345
345
  EntryTableComponent,
346
- EntryCellContextMenuComponent] }); }
346
+ EntryCellComponent,
347
+ EntryCellContextMenuComponent,
348
+ EntryCellFormattedValueComponent] }); }
347
349
  }
348
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryTableModule, decorators: [{
350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: EntryTableModule, decorators: [{
349
351
  type: NgModule,
350
352
  args: [{
351
353
  imports: [
@@ -358,7 +360,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
358
360
  MatIconModule,
359
361
  MatMenuModule,
360
362
  MatRadioModule,
361
- CommonModule,
362
363
  MatButtonModule,
363
364
  EntryTableComponent,
364
365
  EntryCellComponent,