imng-kendo-grid 4.116.3 → 4.117.8

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.
@@ -9,13 +9,18 @@ export class KendoGridBaseComponent {
9
9
  getExportFileName(exportName) {
10
10
  return `${exportName}-${toLocalTimeStamp()}`;
11
11
  }
12
- getRelatedValue(obj, parentPropertyName, valueProperty) {
12
+ getRelatedValue(obj, ...segments) {
13
13
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
- const parentProp = obj?.[parentPropertyName]; //NOSONAR
15
- return parentProp?.[valueProperty];
14
+ let result = obj; //NOSONAR
15
+ segments.forEach(segment => {
16
+ if (result) {
17
+ result = result[segment];
18
+ }
19
+ });
20
+ return result;
16
21
  }
17
- getRelatedField(parentPropertyName, valueProperty) {
18
- return `${parentPropertyName}/${valueProperty}`;
22
+ getRelatedField(...segments) {
23
+ return segments.join('/');
19
24
  }
20
25
  ngOnDestroy() {
21
26
  this.allSubscriptions.unsubscribeAll();
@@ -27,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImpor
27
32
  type: Component,
28
33
  args: [{ template: '' }]
29
34
  }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VuZG8tZ3JpZC1iYXNlLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1ncmlkL3NyYy9saWIva2VuZG8tZ3JpZC1iYXNlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBZ0IsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRzNELE1BQU0sT0FBZ0Isc0JBQXNCO0lBRDVDO1FBRWtCLHFCQUFnQixHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7S0FpQnhEO0lBZlEsaUJBQWlCLENBQUMsVUFBa0I7UUFDekMsT0FBTyxHQUFHLFVBQVUsSUFBSSxnQkFBZ0IsRUFBRSxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUNNLGVBQWUsQ0FBQyxHQUFXLEVBQUUsa0JBQTBCLEVBQUUsYUFBcUI7UUFDbkYsOERBQThEO1FBQzlELE1BQU0sVUFBVSxHQUFJLEdBQVcsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQ2hFLE9BQU8sVUFBVSxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVNLGVBQWUsQ0FBQyxrQkFBMEIsRUFBRSxhQUFxQjtRQUN0RSxPQUFPLEdBQUcsa0JBQWtCLElBQUksYUFBYSxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUNNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pDLENBQUM7O21IQWpCbUIsc0JBQXNCO3VHQUF0QixzQkFBc0Isb0RBRHJCLEVBQUU7MkZBQ0gsc0JBQXNCO2tCQUQzQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpYmFibGUsIFN1YnNjcmlwdGlvbnMgfSBmcm9tICdpbW5nLW5ncngtdXRpbHMnO1xuaW1wb3J0IHsgdG9Mb2NhbFRpbWVTdGFtcCB9IGZyb20gJ2ltbmctbnJzcngtY2xpZW50LXV0aWxzJztcblxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEtlbmRvR3JpZEJhc2VDb21wb25lbnQ8RU5USVRZPiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgU3Vic2NyaWJhYmxlIHtcbiAgcHVibGljIHJlYWRvbmx5IGFsbFN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9ucygpO1xuXG4gIHB1YmxpYyBnZXRFeHBvcnRGaWxlTmFtZShleHBvcnROYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtleHBvcnROYW1lfS0ke3RvTG9jYWxUaW1lU3RhbXAoKX1gO1xuICB9XG4gIHB1YmxpYyBnZXRSZWxhdGVkVmFsdWUob2JqOiBFTlRJVFksIHBhcmVudFByb3BlcnR5TmFtZTogc3RyaW5nLCB2YWx1ZVByb3BlcnR5OiBzdHJpbmcpOiB1bmtub3duIHwgdW5kZWZpbmVkIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGNvbnN0IHBhcmVudFByb3AgPSAob2JqIGFzIGFueSk/LltwYXJlbnRQcm9wZXJ0eU5hbWVdOyAvL05PU09OQVJcbiAgICByZXR1cm4gcGFyZW50UHJvcD8uW3ZhbHVlUHJvcGVydHldO1xuICB9XG5cbiAgcHVibGljIGdldFJlbGF0ZWRGaWVsZChwYXJlbnRQcm9wZXJ0eU5hbWU6IHN0cmluZywgdmFsdWVQcm9wZXJ0eTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7cGFyZW50UHJvcGVydHlOYW1lfS8ke3ZhbHVlUHJvcGVydHl9YDtcbiAgfVxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5hbGxTdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlQWxsKCk7XG4gIH1cbn1cbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VuZG8tZ3JpZC1iYXNlLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1ncmlkL3NyYy9saWIva2VuZG8tZ3JpZC1iYXNlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBZ0IsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRzNELE1BQU0sT0FBZ0Isc0JBQXNCO0lBRDVDO1FBRWtCLHFCQUFnQixHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7S0FzQnhEO0lBcEJRLGlCQUFpQixDQUFDLFVBQWtCO1FBQ3pDLE9BQU8sR0FBRyxVQUFVLElBQUksZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFDTSxlQUFlLENBQUMsR0FBVyxFQUFFLEdBQUcsUUFBa0I7UUFDdkQsOERBQThEO1FBQzlELElBQUksTUFBTSxHQUFRLEdBQUcsQ0FBQyxDQUFBLFNBQVM7UUFDL0IsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN6QixJQUFJLE1BQU0sRUFBRTtnQkFDVixNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzFCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sZUFBZSxDQUFDLEdBQUcsUUFBa0I7UUFDMUMsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QyxDQUFDOzttSEF0Qm1CLHNCQUFzQjt1R0FBdEIsc0JBQXNCLG9EQURyQixFQUFFOzJGQUNILHNCQUFzQjtrQkFEM0MsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaWJhYmxlLCBTdWJzY3JpcHRpb25zIH0gZnJvbSAnaW1uZy1uZ3J4LXV0aWxzJztcbmltcG9ydCB7IHRvTG9jYWxUaW1lU3RhbXAgfSBmcm9tICdpbW5nLW5yc3J4LWNsaWVudC11dGlscyc7XG5cbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBLZW5kb0dyaWRCYXNlQ29tcG9uZW50PEVOVElUWT4gaW1wbGVtZW50cyBPbkRlc3Ryb3ksIFN1YnNjcmliYWJsZSB7XG4gIHB1YmxpYyByZWFkb25seSBhbGxTdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbnMoKTtcblxuICBwdWJsaWMgZ2V0RXhwb3J0RmlsZU5hbWUoZXhwb3J0TmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7ZXhwb3J0TmFtZX0tJHt0b0xvY2FsVGltZVN0YW1wKCl9YDtcbiAgfVxuICBwdWJsaWMgZ2V0UmVsYXRlZFZhbHVlKG9iajogRU5USVRZLCAuLi5zZWdtZW50czogc3RyaW5nW10pOiB1bmtub3duIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBsZXQgcmVzdWx0OiBhbnkgPSBvYmo7Ly9OT1NPTkFSXG4gICAgc2VnbWVudHMuZm9yRWFjaChzZWdtZW50ID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0W3NlZ21lbnRdO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVsYXRlZEZpZWxkKC4uLnNlZ21lbnRzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNlZ21lbnRzLmpvaW4oJy8nKTtcbiAgfVxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5hbGxTdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlQWxsKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VuZG8tZ3JpZC1zdGF0ZS1jaGFuZ2UtZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZ3JpZC9zcmMvbGliL2tlbmRvLWdyaWQtc3RhdGUtY2hhbmdlLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbkZpbHRlciB9IGZyb20gJ2ltbmcta2VuZG8tb2RhdGEnO1xuaW1wb3J0IHsgRGF0YVN0YXRlQ2hhbmdlRXZlbnQgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1ncmlkJztcblxuZXhwb3J0IGludGVyZmFjZSBHcmlkU3RhdGVDaGFuZ2VFdmVudCBleHRlbmRzIERhdGFTdGF0ZUNoYW5nZUV2ZW50IHtcbiAgZXhwYW5kZXJzPzogc3RyaW5nW107XG4gIHNlbGVjdG9ycz86IHN0cmluZ1tdO1xuICBpbkZpbHRlcj86IEluRmlsdGVyO1xuICBjb3VudD86IGJvb2xlYW47XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VuZG8tZ3JpZC1zdGF0ZS1jaGFuZ2UtZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZ3JpZC9zcmMvbGliL2tlbmRvLWdyaWQtc3RhdGUtY2hhbmdlLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhU3RhdGVDaGFuZ2VFdmVudCB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWdyaWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRTdGF0ZUNoYW5nZUV2ZW50IGV4dGVuZHMgRGF0YVN0YXRlQ2hhbmdlRXZlbnQge1xuICBzZWxlY3RvcnM/OiBzdHJpbmdbXTtcbiAgY291bnQ/OiBib29sZWFuO1xufVxuIl19
@@ -348,13 +348,18 @@ class KendoGridBaseComponent {
348
348
  getExportFileName(exportName) {
349
349
  return `${exportName}-${toLocalTimeStamp()}`;
350
350
  }
351
- getRelatedValue(obj, parentPropertyName, valueProperty) {
351
+ getRelatedValue(obj, ...segments) {
352
352
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
353
- const parentProp = obj === null || obj === void 0 ? void 0 : obj[parentPropertyName]; //NOSONAR
354
- return parentProp === null || parentProp === void 0 ? void 0 : parentProp[valueProperty];
353
+ let result = obj; //NOSONAR
354
+ segments.forEach(segment => {
355
+ if (result) {
356
+ result = result[segment];
357
+ }
358
+ });
359
+ return result;
355
360
  }
356
- getRelatedField(parentPropertyName, valueProperty) {
357
- return `${parentPropertyName}/${valueProperty}`;
361
+ getRelatedField(...segments) {
362
+ return segments.join('/');
358
363
  }
359
364
  ngOnDestroy() {
360
365
  this.allSubscriptions.unsubscribeAll();
@@ -1 +1 @@
1
- {"version":3,"file":"imng-kendo-grid.mjs","sources":["../../../../libs/imng-kendo-grid/src/lib/grid-header-component/grid-header.component.ts","../../../../libs/imng-kendo-grid/src/lib/kendo-child-column-component/kendo-child-column-template.component.ts","../../../../libs/imng-kendo-grid/src/lib/kendo-copy-component/kendo-copy.component.ts","../../../../libs/imng-kendo-grid/src/lib/imng-kendo-grid.module.ts","../../../../libs/imng-kendo-grid/src/lib/kendo-has-hidden-columns.ts","../../../../libs/imng-kendo-grid/src/lib/kendo-grid-base-component.ts","../../../../libs/imng-kendo-grid/src/imng-kendo-grid.ts"],"sourcesContent":["import { Component, EventEmitter, Inject, Input, Output } from '@angular/core';\nimport { GridComponent } from '@progress/kendo-angular-grid';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'imng-kendo-odata-grid-header',\n template: `<div class=\"mr-5 pr-5\">\n <button\n *ngIf=\"entityName\"\n type=\"button\"\n title=\"Add {{ entityName }}\"\n primary=\"true\"\n (click)=\"addItemClicked.emit()\"\n class=\"btn btn-sm btn-primary mx-1\"\n >\n <span class=\"k-icon k-i-plus-circle\"></span> Add {{ entityName }}\n </button>\n <button\n *ngIf=\"hideClearFilters !== true\"\n type=\"button\"\n title=\"Clear Filters\"\n (click)=\"clearFiltersClicked.emit()\"\n class=\"btn btn-sm mx-1\"\n >\n <span class=\"k-icon k-i-filter-clear\"></span> Clear Filters\n </button>\n <button\n *ngIf=\"hideReloadData !== true\"\n type=\"button\"\n title=\"Clear Cache And Reload Data\"\n (click)=\"reloadEntitiesClicked.emit()\"\n class=\"btn btn-sm mx-1\"\n >\n <span class=\"k-icon k-i-reset\"></span> Reload Data\n </button>\n <button\n *ngIf=\"hideExports !== true\"\n type=\"button\"\n title=\"Export To PDF\"\n kendoGridPDFCommand\n icon=\"file-pdf\"\n class=\"btn btn-sm mx-1\"\n (click)=\"parentGrid.saveAsPDF()\"\n >\n <span class=\"k-icon k-i-pdf\"></span> Export to PDF\n </button>\n <button\n *ngIf=\"hideExports !== true\"\n type=\"button\"\n title=\"Export To Excel\"\n kendoGridExcelCommand\n icon=\"file-excel\"\n class=\"btn btn-sm mx-1\"\n (click)=\"parentGrid.saveAsExcel()\"\n >\n <span class=\"k-icon k-i-excel\"></span> Export To Excel\n </button>\n <kendo-grid-column-chooser\n *ngIf=\"hideColumnChooser !== true\"\n title=\"Columns\"\n [allowHideAll]=\"true\"\n [autoSync]=\"true\"\n [ngClass]=\"{\n 'text-primary': (hasHiddenColumns$ | async)\n }\"\n ></kendo-grid-column-chooser>\n </div> `,\n styles: [\n `\n .btn-sm {\n height: 30px;\n border-radius: 2px;\n background-color: #f5f5f5;\n border-color: rgba(0, 0, 0, 0.08);\n }\n .btn-primary {\n background-color: #007bff;\n }\n .k-icon {\n padding-bottom: 3px;\n }\n .k-bare {\n border-color: rgba(0, 0, 0, 0.08) !important;\n background-color: #f5f5f5 !important;\n background-image: linear-gradient(\n rgba(0, 0, 0, 0),\n rgba(0, 0, 0, 0.02)\n ) !important;\n }\n `,\n ],\n})\nexport class ImngGridHeaderComponent {\n @Input()\n public entityName = '';\n @Input()\n public hideColumnChooser = false;\n @Input()\n public hideClearFilters = false;\n @Input()\n public hideReloadData = false;\n @Input()\n public hideExports = false;\n @Input()\n public hasHiddenColumns$: Observable<boolean> | undefined;\n @Output()\n public addItemClicked = new EventEmitter();\n @Output()\n public clearFiltersClicked = new EventEmitter();\n @Output()\n public reloadEntitiesClicked = new EventEmitter();\n constructor(@Inject(GridComponent) public parentGrid: GridComponent) {\n\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n OnInit,\n ChangeDetectorRef,\n} from '@angular/core';\n\n@Component({\n selector: 'imng-kendo-grid-child-column-template',\n template: `<div *ngFor=\"let item of currentData | slice: 0:visibleRecCount\">\n {{ item }}\n </div>\n <button\n type=\"button\"\n *ngIf=\"showMore && (currentData?.length || 0) > visibleRecCount\"\n class=\"btn btn-sm btn-primary\"\n [title]=\"formatToolTip()\"\n (click)=\"moreClicked()\"\n >\n More ...\n <span class=\"badge bg-secondary\">{{\n currentData.length - visibleRecCount\n }}</span>\n </button>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ImngGridChildColumnTemplateComponent implements OnInit {\n private _data: unknown[] = [];\n public currentData: unknown[] = [];\n private initialized = false;\n\n @Output() showMoreClicked = new EventEmitter();\n @Input() public field = '';\n @Input() public visibleRecCount = 5; //NOSONAR\n @Input() public showMore = true;\n @Input() public toolTipJoinCharacter = ';';\n @Input() set data(value: unknown[]) {\n this._data = value;\n if (this.initialized) {\n this.ngOnInit();\n this.changeDetectorRef.markForCheck();\n }\n }\n get data(): unknown[] {\n return this._data;\n }\n\n constructor(public readonly changeDetectorRef: ChangeDetectorRef) { }\n\n public ngOnInit(): void {\n this.currentData = (this.data || [])\n .filter((val) => (typeof val === 'string' ? val.length > 0 : true))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .map((t: any) => t[this.field]); //NOSONAR\n this.initialized = true;\n }\n public formatToolTip(): string {\n return this.currentData\n .filter((_val, index) => index >= this.visibleRecCount)\n .join(`${this.toolTipJoinCharacter} `);\n }\n\n public moreClicked(): void {\n this.showMoreClicked.emit();\n }\n}\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n OnInit,\n} from '@angular/core';\n\n@Component({\n selector: 'imng-kendo-copy[copyValue]',\n template: `\n <a (click)=\"copy()\" [title]=\"'Copy the full value: ' + copyValue \">{{ displayValue }}&nbsp;<span class=\"k-icon k-i-copy k-icon-md k-color-primary\"></span></a>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ImngKendoCopyComponent implements OnInit {\n /**\n * Optional\n */\n @Input() public displayValue: unknown;\n /**\n * Required\n */\n @Input() public copyValue = '';\n\n ngOnInit(): void {\n if (this.copyValue && !this.displayValue) {\n this.displayValue = this.copyValue;\n }\n }\n public copy(): void {\n navigator.clipboard?.writeText(this.copyValue);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GridModule } from '@progress/kendo-angular-grid';\nimport { ImngGridHeaderComponent } from './grid-header-component/grid-header.component';\nimport { ImngGridChildColumnTemplateComponent } from './kendo-child-column-component/kendo-child-column-template.component';\nimport { ImngKendoCopyComponent } from './kendo-copy-component/kendo-copy.component';\n\n@NgModule({\n declarations: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent],\n imports: [CommonModule, GridModule],\n exports: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent],\n})\nexport class ImngKendoGridModule { }\n","import { GridComponent } from '@progress/kendo-angular-grid';\nimport { map } from 'rxjs';\n\nexport function hasHiddenColumns(gridComponent: GridComponent) {\n return map(() => gridComponent.columns.some((s) => s.hidden));\n}\n","import { Component, OnDestroy } from '@angular/core';\nimport { Subscribable, Subscriptions } from 'imng-ngrx-utils';\nimport { toLocalTimeStamp } from 'imng-nrsrx-client-utils';\n\n@Component({ template: '' })\nexport abstract class KendoGridBaseComponent<ENTITY> implements OnDestroy, Subscribable {\n public readonly allSubscriptions = new Subscriptions();\n\n public getExportFileName(exportName: string): string {\n return `${exportName}-${toLocalTimeStamp()}`;\n }\n public getRelatedValue(obj: ENTITY, parentPropertyName: string, valueProperty: string): unknown | undefined {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const parentProp = (obj as any)?.[parentPropertyName]; //NOSONAR\n return parentProp?.[valueProperty];\n }\n\n public getRelatedField(parentPropertyName: string, valueProperty: string): string {\n return `${parentPropertyName}/${valueProperty}`;\n }\n public ngOnDestroy(): void {\n this.allSubscriptions.unsubscribeAll();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;MA4Fa,uBAAuB,CAAA;AAmBlC,IAAA,WAAA,CAA0C,UAAyB,EAAA;AAAzB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAe;AAjB5D,QAAA,IAAU,CAAA,UAAA,GAAG,EAAE,CAAC;AAEhB,QAAA,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;AAE1B,QAAA,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;AAEzB,QAAA,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;AAEvB,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AAIpB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC;AAEpC,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAE,CAAC;AAEzC,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,YAAY,EAAE,CAAC;KAGjD;;AArBU,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,kBAmBd,aAAa,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAnBtB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAtFxB,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DF,SAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,iTAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,CAAA,CAAA;2FA0BG,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAxFnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DF,SAAA,CAAA;AACR,oBAAA,MAAM,EAAE;AACN,wBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;AAqBC,IAAA,CAAA;AACF,qBAAA;iBACF,CAAA;;;8BAoBc,MAAM;+BAAC,aAAa,CAAA;;yBAjB1B,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAGC,iBAAiB,EAAA,CAAA;sBADvB,KAAK;gBAGC,gBAAgB,EAAA,CAAA;sBADtB,KAAK;gBAGC,cAAc,EAAA,CAAA;sBADpB,KAAK;gBAGC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAGC,iBAAiB,EAAA,CAAA;sBADvB,KAAK;gBAGC,cAAc,EAAA,CAAA;sBADpB,MAAM;gBAGA,mBAAmB,EAAA,CAAA;sBADzB,MAAM;gBAGA,qBAAqB,EAAA,CAAA;sBAD3B,MAAM;;;MChFI,oCAAoC,CAAA;AAqB/C,IAAA,WAAA,CAA4B,iBAAoC,EAAA;AAApC,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;AApBxD,QAAA,IAAK,CAAA,KAAA,GAAc,EAAE,CAAC;AACvB,QAAA,IAAW,CAAA,WAAA,GAAc,EAAE,CAAC;AAC3B,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AAElB,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAE,CAAC;AAC/B,QAAA,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AACX,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,CAAC;AACpB,QAAA,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;AAChB,QAAA,IAAoB,CAAA,oBAAA,GAAG,GAAG,CAAC;KAY0B;IAXrE,IAAa,IAAI,CAAC,KAAgB,EAAA;AAChC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;AAChB,YAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AACvC,SAAA;KACF;AACD,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;IAIM,QAAQ,GAAA;QACb,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;aAChC,MAAM,CAAC,CAAC,GAAG,MAAM,OAAO,GAAG,KAAK,QAAQ,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;;AAElE,aAAA,GAAG,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;KACzB;IACM,aAAa,GAAA;QAClB,OAAO,IAAI,CAAC,WAAW;AACpB,aAAA,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC;AACtD,aAAA,IAAI,CAAC,CAAG,EAAA,IAAI,CAAC,oBAAoB,CAAA,CAAA,CAAG,CAAC,CAAC;KAC1C;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;KAC7B;;iIAtCU,oCAAoC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApC,oCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oCAAoC,EAjBrC,QAAA,EAAA,uCAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;AAcE,aAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAAA,EAAA,CAAA,SAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGD,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAnBhD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uCAAuC;AACjD,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;AAcE,aAAA,CAAA;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD,CAAA;wGAMW,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBACS,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,eAAe,EAAA,CAAA;sBAA9B,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,oBAAoB,EAAA,CAAA;sBAAnC,KAAK;gBACO,IAAI,EAAA,CAAA;sBAAhB,KAAK;;;MCzBK,sBAAsB,CAAA;AAPnC,IAAA,WAAA,GAAA;AAYE;;AAEG;AACa,QAAA,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;KAUhC;IARC,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACxC,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC;AACpC,SAAA;KACF;IACM,IAAI,GAAA;;QACT,CAAA,EAAA,GAAA,SAAS,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAChD;;mHAjBU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EALvB,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAEP,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGQ,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,QAAQ,EAAE,CAAA;;AAEP,IAAA,CAAA;oBACH,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD,CAAA;8BAKiB,YAAY,EAAA,CAAA;sBAA3B,KAAK;gBAIU,SAAS,EAAA,CAAA;sBAAxB,KAAK;;;MCVK,mBAAmB,CAAA;;gHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAJf,YAAA,EAAA,CAAA,uBAAuB,EAAE,oCAAoC,EAAE,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAC1F,YAAY,EAAE,UAAU,CACxB,EAAA,OAAA,EAAA,CAAA,uBAAuB,EAAE,oCAAoC,EAAE,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAEpF,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAHrB,OAAA,EAAA,CAAA,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA,EAAA,CAAA,CAAA;2FAGxB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,uBAAuB,EAAE,oCAAoC,EAAE,sBAAsB,CAAC;AACrG,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;AACnC,oBAAA,OAAO,EAAE,CAAC,uBAAuB,EAAE,oCAAoC,EAAE,sBAAsB,CAAC;iBACjG,CAAA;;;ACRK,SAAU,gBAAgB,CAAC,aAA4B,EAAA;IAC3D,OAAO,GAAG,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAChE;;MCAsB,sBAAsB,CAAA;AAD5C,IAAA,WAAA,GAAA;AAEkB,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,aAAa,EAAE,CAAC;KAiBxD;AAfQ,IAAA,iBAAiB,CAAC,UAAkB,EAAA;AACzC,QAAA,OAAO,GAAG,UAAU,CAAA,CAAA,EAAI,gBAAgB,EAAE,EAAE,CAAC;KAC9C;AACM,IAAA,eAAe,CAAC,GAAW,EAAE,kBAA0B,EAAE,aAAqB,EAAA;;AAEnF,QAAA,MAAM,UAAU,GAAI,GAAW,KAAA,IAAA,IAAX,GAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAX,GAAW,CAAG,kBAAkB,CAAC,CAAC;QACtD,OAAO,UAAU,aAAV,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAV,UAAU,CAAG,aAAa,CAAC,CAAC;KACpC;IAEM,eAAe,CAAC,kBAA0B,EAAE,aAAqB,EAAA;AACtE,QAAA,OAAO,CAAG,EAAA,kBAAkB,CAAI,CAAA,EAAA,aAAa,EAAE,CAAC;KACjD;IACM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;KACxC;;mHAjBmB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,oDADrB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FACH,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAD3C,SAAS;mBAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;;;ACJ3B;;AAEG;;;;"}
1
+ {"version":3,"file":"imng-kendo-grid.mjs","sources":["../../../../libs/imng-kendo-grid/src/lib/grid-header-component/grid-header.component.ts","../../../../libs/imng-kendo-grid/src/lib/kendo-child-column-component/kendo-child-column-template.component.ts","../../../../libs/imng-kendo-grid/src/lib/kendo-copy-component/kendo-copy.component.ts","../../../../libs/imng-kendo-grid/src/lib/imng-kendo-grid.module.ts","../../../../libs/imng-kendo-grid/src/lib/kendo-has-hidden-columns.ts","../../../../libs/imng-kendo-grid/src/lib/kendo-grid-base-component.ts","../../../../libs/imng-kendo-grid/src/imng-kendo-grid.ts"],"sourcesContent":["import { Component, EventEmitter, Inject, Input, Output } from '@angular/core';\nimport { GridComponent } from '@progress/kendo-angular-grid';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'imng-kendo-odata-grid-header',\n template: `<div class=\"mr-5 pr-5\">\n <button\n *ngIf=\"entityName\"\n type=\"button\"\n title=\"Add {{ entityName }}\"\n primary=\"true\"\n (click)=\"addItemClicked.emit()\"\n class=\"btn btn-sm btn-primary mx-1\"\n >\n <span class=\"k-icon k-i-plus-circle\"></span> Add {{ entityName }}\n </button>\n <button\n *ngIf=\"hideClearFilters !== true\"\n type=\"button\"\n title=\"Clear Filters\"\n (click)=\"clearFiltersClicked.emit()\"\n class=\"btn btn-sm mx-1\"\n >\n <span class=\"k-icon k-i-filter-clear\"></span> Clear Filters\n </button>\n <button\n *ngIf=\"hideReloadData !== true\"\n type=\"button\"\n title=\"Clear Cache And Reload Data\"\n (click)=\"reloadEntitiesClicked.emit()\"\n class=\"btn btn-sm mx-1\"\n >\n <span class=\"k-icon k-i-reset\"></span> Reload Data\n </button>\n <button\n *ngIf=\"hideExports !== true\"\n type=\"button\"\n title=\"Export To PDF\"\n kendoGridPDFCommand\n icon=\"file-pdf\"\n class=\"btn btn-sm mx-1\"\n (click)=\"parentGrid.saveAsPDF()\"\n >\n <span class=\"k-icon k-i-pdf\"></span> Export to PDF\n </button>\n <button\n *ngIf=\"hideExports !== true\"\n type=\"button\"\n title=\"Export To Excel\"\n kendoGridExcelCommand\n icon=\"file-excel\"\n class=\"btn btn-sm mx-1\"\n (click)=\"parentGrid.saveAsExcel()\"\n >\n <span class=\"k-icon k-i-excel\"></span> Export To Excel\n </button>\n <kendo-grid-column-chooser\n *ngIf=\"hideColumnChooser !== true\"\n title=\"Columns\"\n [allowHideAll]=\"true\"\n [autoSync]=\"true\"\n [ngClass]=\"{\n 'text-primary': (hasHiddenColumns$ | async)\n }\"\n ></kendo-grid-column-chooser>\n </div> `,\n styles: [\n `\n .btn-sm {\n height: 30px;\n border-radius: 2px;\n background-color: #f5f5f5;\n border-color: rgba(0, 0, 0, 0.08);\n }\n .btn-primary {\n background-color: #007bff;\n }\n .k-icon {\n padding-bottom: 3px;\n }\n .k-bare {\n border-color: rgba(0, 0, 0, 0.08) !important;\n background-color: #f5f5f5 !important;\n background-image: linear-gradient(\n rgba(0, 0, 0, 0),\n rgba(0, 0, 0, 0.02)\n ) !important;\n }\n `,\n ],\n})\nexport class ImngGridHeaderComponent {\n @Input()\n public entityName = '';\n @Input()\n public hideColumnChooser = false;\n @Input()\n public hideClearFilters = false;\n @Input()\n public hideReloadData = false;\n @Input()\n public hideExports = false;\n @Input()\n public hasHiddenColumns$: Observable<boolean> | undefined;\n @Output()\n public addItemClicked = new EventEmitter();\n @Output()\n public clearFiltersClicked = new EventEmitter();\n @Output()\n public reloadEntitiesClicked = new EventEmitter();\n constructor(@Inject(GridComponent) public parentGrid: GridComponent) {\n\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n OnInit,\n ChangeDetectorRef,\n} from '@angular/core';\n\n@Component({\n selector: 'imng-kendo-grid-child-column-template',\n template: `<div *ngFor=\"let item of currentData | slice: 0:visibleRecCount\">\n {{ item }}\n </div>\n <button\n type=\"button\"\n *ngIf=\"showMore && (currentData?.length || 0) > visibleRecCount\"\n class=\"btn btn-sm btn-primary\"\n [title]=\"formatToolTip()\"\n (click)=\"moreClicked()\"\n >\n More ...\n <span class=\"badge bg-secondary\">{{\n currentData.length - visibleRecCount\n }}</span>\n </button>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ImngGridChildColumnTemplateComponent implements OnInit {\n private _data: unknown[] = [];\n public currentData: unknown[] = [];\n private initialized = false;\n\n @Output() showMoreClicked = new EventEmitter();\n @Input() public field = '';\n @Input() public visibleRecCount = 5; //NOSONAR\n @Input() public showMore = true;\n @Input() public toolTipJoinCharacter = ';';\n @Input() set data(value: unknown[]) {\n this._data = value;\n if (this.initialized) {\n this.ngOnInit();\n this.changeDetectorRef.markForCheck();\n }\n }\n get data(): unknown[] {\n return this._data;\n }\n\n constructor(public readonly changeDetectorRef: ChangeDetectorRef) { }\n\n public ngOnInit(): void {\n this.currentData = (this.data || [])\n .filter((val) => (typeof val === 'string' ? val.length > 0 : true))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .map((t: any) => t[this.field]); //NOSONAR\n this.initialized = true;\n }\n public formatToolTip(): string {\n return this.currentData\n .filter((_val, index) => index >= this.visibleRecCount)\n .join(`${this.toolTipJoinCharacter} `);\n }\n\n public moreClicked(): void {\n this.showMoreClicked.emit();\n }\n}\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n OnInit,\n} from '@angular/core';\n\n@Component({\n selector: 'imng-kendo-copy[copyValue]',\n template: `\n <a (click)=\"copy()\" [title]=\"'Copy the full value: ' + copyValue \">{{ displayValue }}&nbsp;<span class=\"k-icon k-i-copy k-icon-md k-color-primary\"></span></a>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ImngKendoCopyComponent implements OnInit {\n /**\n * Optional\n */\n @Input() public displayValue: unknown;\n /**\n * Required\n */\n @Input() public copyValue = '';\n\n ngOnInit(): void {\n if (this.copyValue && !this.displayValue) {\n this.displayValue = this.copyValue;\n }\n }\n public copy(): void {\n navigator.clipboard?.writeText(this.copyValue);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GridModule } from '@progress/kendo-angular-grid';\nimport { ImngGridHeaderComponent } from './grid-header-component/grid-header.component';\nimport { ImngGridChildColumnTemplateComponent } from './kendo-child-column-component/kendo-child-column-template.component';\nimport { ImngKendoCopyComponent } from './kendo-copy-component/kendo-copy.component';\n\n@NgModule({\n declarations: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent],\n imports: [CommonModule, GridModule],\n exports: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent],\n})\nexport class ImngKendoGridModule { }\n","import { GridComponent } from '@progress/kendo-angular-grid';\nimport { map } from 'rxjs';\n\nexport function hasHiddenColumns(gridComponent: GridComponent) {\n return map(() => gridComponent.columns.some((s) => s.hidden));\n}\n","import { Component, OnDestroy } from '@angular/core';\nimport { Subscribable, Subscriptions } from 'imng-ngrx-utils';\nimport { toLocalTimeStamp } from 'imng-nrsrx-client-utils';\n\n@Component({ template: '' })\nexport abstract class KendoGridBaseComponent<ENTITY> implements OnDestroy, Subscribable {\n public readonly allSubscriptions = new Subscriptions();\n\n public getExportFileName(exportName: string): string {\n return `${exportName}-${toLocalTimeStamp()}`;\n }\n public getRelatedValue(obj: ENTITY, ...segments: string[]): unknown | undefined | null {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let result: any = obj;//NOSONAR\n segments.forEach(segment => {\n if (result) {\n result = result[segment];\n }\n });\n return result;\n }\n\n public getRelatedField(...segments: string[]): string {\n return segments.join('/');\n }\n public ngOnDestroy(): void {\n this.allSubscriptions.unsubscribeAll();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -345,13 +345,18 @@ class KendoGridBaseComponent {
345
345
  getExportFileName(exportName) {
346
346
  return `${exportName}-${toLocalTimeStamp()}`;
347
347
  }
348
- getRelatedValue(obj, parentPropertyName, valueProperty) {
348
+ getRelatedValue(obj, ...segments) {
349
349
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
350
- const parentProp = obj?.[parentPropertyName]; //NOSONAR
351
- return parentProp?.[valueProperty];
350
+ let result = obj; //NOSONAR
351
+ segments.forEach(segment => {
352
+ if (result) {
353
+ result = result[segment];
354
+ }
355
+ });
356
+ return result;
352
357
  }
353
- getRelatedField(parentPropertyName, valueProperty) {
354
- return `${parentPropertyName}/${valueProperty}`;
358
+ getRelatedField(...segments) {
359
+ return segments.join('/');
355
360
  }
356
361
  ngOnDestroy() {
357
362
  this.allSubscriptions.unsubscribeAll();
@@ -1 +1 @@
1
- {"version":3,"file":"imng-kendo-grid.mjs","sources":["../../../../libs/imng-kendo-grid/src/lib/grid-header-component/grid-header.component.ts","../../../../libs/imng-kendo-grid/src/lib/kendo-child-column-component/kendo-child-column-template.component.ts","../../../../libs/imng-kendo-grid/src/lib/kendo-copy-component/kendo-copy.component.ts","../../../../libs/imng-kendo-grid/src/lib/imng-kendo-grid.module.ts","../../../../libs/imng-kendo-grid/src/lib/kendo-has-hidden-columns.ts","../../../../libs/imng-kendo-grid/src/lib/kendo-grid-base-component.ts","../../../../libs/imng-kendo-grid/src/imng-kendo-grid.ts"],"sourcesContent":["import { Component, EventEmitter, Inject, Input, Output } from '@angular/core';\nimport { GridComponent } from '@progress/kendo-angular-grid';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'imng-kendo-odata-grid-header',\n template: `<div class=\"mr-5 pr-5\">\n <button\n *ngIf=\"entityName\"\n type=\"button\"\n title=\"Add {{ entityName }}\"\n primary=\"true\"\n (click)=\"addItemClicked.emit()\"\n class=\"btn btn-sm btn-primary mx-1\"\n >\n <span class=\"k-icon k-i-plus-circle\"></span> Add {{ entityName }}\n </button>\n <button\n *ngIf=\"hideClearFilters !== true\"\n type=\"button\"\n title=\"Clear Filters\"\n (click)=\"clearFiltersClicked.emit()\"\n class=\"btn btn-sm mx-1\"\n >\n <span class=\"k-icon k-i-filter-clear\"></span> Clear Filters\n </button>\n <button\n *ngIf=\"hideReloadData !== true\"\n type=\"button\"\n title=\"Clear Cache And Reload Data\"\n (click)=\"reloadEntitiesClicked.emit()\"\n class=\"btn btn-sm mx-1\"\n >\n <span class=\"k-icon k-i-reset\"></span> Reload Data\n </button>\n <button\n *ngIf=\"hideExports !== true\"\n type=\"button\"\n title=\"Export To PDF\"\n kendoGridPDFCommand\n icon=\"file-pdf\"\n class=\"btn btn-sm mx-1\"\n (click)=\"parentGrid.saveAsPDF()\"\n >\n <span class=\"k-icon k-i-pdf\"></span> Export to PDF\n </button>\n <button\n *ngIf=\"hideExports !== true\"\n type=\"button\"\n title=\"Export To Excel\"\n kendoGridExcelCommand\n icon=\"file-excel\"\n class=\"btn btn-sm mx-1\"\n (click)=\"parentGrid.saveAsExcel()\"\n >\n <span class=\"k-icon k-i-excel\"></span> Export To Excel\n </button>\n <kendo-grid-column-chooser\n *ngIf=\"hideColumnChooser !== true\"\n title=\"Columns\"\n [allowHideAll]=\"true\"\n [autoSync]=\"true\"\n [ngClass]=\"{\n 'text-primary': (hasHiddenColumns$ | async)\n }\"\n ></kendo-grid-column-chooser>\n </div> `,\n styles: [\n `\n .btn-sm {\n height: 30px;\n border-radius: 2px;\n background-color: #f5f5f5;\n border-color: rgba(0, 0, 0, 0.08);\n }\n .btn-primary {\n background-color: #007bff;\n }\n .k-icon {\n padding-bottom: 3px;\n }\n .k-bare {\n border-color: rgba(0, 0, 0, 0.08) !important;\n background-color: #f5f5f5 !important;\n background-image: linear-gradient(\n rgba(0, 0, 0, 0),\n rgba(0, 0, 0, 0.02)\n ) !important;\n }\n `,\n ],\n})\nexport class ImngGridHeaderComponent {\n @Input()\n public entityName = '';\n @Input()\n public hideColumnChooser = false;\n @Input()\n public hideClearFilters = false;\n @Input()\n public hideReloadData = false;\n @Input()\n public hideExports = false;\n @Input()\n public hasHiddenColumns$: Observable<boolean> | undefined;\n @Output()\n public addItemClicked = new EventEmitter();\n @Output()\n public clearFiltersClicked = new EventEmitter();\n @Output()\n public reloadEntitiesClicked = new EventEmitter();\n constructor(@Inject(GridComponent) public parentGrid: GridComponent) {\n\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n OnInit,\n ChangeDetectorRef,\n} from '@angular/core';\n\n@Component({\n selector: 'imng-kendo-grid-child-column-template',\n template: `<div *ngFor=\"let item of currentData | slice: 0:visibleRecCount\">\n {{ item }}\n </div>\n <button\n type=\"button\"\n *ngIf=\"showMore && (currentData?.length || 0) > visibleRecCount\"\n class=\"btn btn-sm btn-primary\"\n [title]=\"formatToolTip()\"\n (click)=\"moreClicked()\"\n >\n More ...\n <span class=\"badge bg-secondary\">{{\n currentData.length - visibleRecCount\n }}</span>\n </button>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ImngGridChildColumnTemplateComponent implements OnInit {\n private _data: unknown[] = [];\n public currentData: unknown[] = [];\n private initialized = false;\n\n @Output() showMoreClicked = new EventEmitter();\n @Input() public field = '';\n @Input() public visibleRecCount = 5; //NOSONAR\n @Input() public showMore = true;\n @Input() public toolTipJoinCharacter = ';';\n @Input() set data(value: unknown[]) {\n this._data = value;\n if (this.initialized) {\n this.ngOnInit();\n this.changeDetectorRef.markForCheck();\n }\n }\n get data(): unknown[] {\n return this._data;\n }\n\n constructor(public readonly changeDetectorRef: ChangeDetectorRef) { }\n\n public ngOnInit(): void {\n this.currentData = (this.data || [])\n .filter((val) => (typeof val === 'string' ? val.length > 0 : true))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .map((t: any) => t[this.field]); //NOSONAR\n this.initialized = true;\n }\n public formatToolTip(): string {\n return this.currentData\n .filter((_val, index) => index >= this.visibleRecCount)\n .join(`${this.toolTipJoinCharacter} `);\n }\n\n public moreClicked(): void {\n this.showMoreClicked.emit();\n }\n}\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n OnInit,\n} from '@angular/core';\n\n@Component({\n selector: 'imng-kendo-copy[copyValue]',\n template: `\n <a (click)=\"copy()\" [title]=\"'Copy the full value: ' + copyValue \">{{ displayValue }}&nbsp;<span class=\"k-icon k-i-copy k-icon-md k-color-primary\"></span></a>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ImngKendoCopyComponent implements OnInit {\n /**\n * Optional\n */\n @Input() public displayValue: unknown;\n /**\n * Required\n */\n @Input() public copyValue = '';\n\n ngOnInit(): void {\n if (this.copyValue && !this.displayValue) {\n this.displayValue = this.copyValue;\n }\n }\n public copy(): void {\n navigator.clipboard?.writeText(this.copyValue);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GridModule } from '@progress/kendo-angular-grid';\nimport { ImngGridHeaderComponent } from './grid-header-component/grid-header.component';\nimport { ImngGridChildColumnTemplateComponent } from './kendo-child-column-component/kendo-child-column-template.component';\nimport { ImngKendoCopyComponent } from './kendo-copy-component/kendo-copy.component';\n\n@NgModule({\n declarations: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent],\n imports: [CommonModule, GridModule],\n exports: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent],\n})\nexport class ImngKendoGridModule { }\n","import { GridComponent } from '@progress/kendo-angular-grid';\nimport { map } from 'rxjs';\n\nexport function hasHiddenColumns(gridComponent: GridComponent) {\n return map(() => gridComponent.columns.some((s) => s.hidden));\n}\n","import { Component, OnDestroy } from '@angular/core';\nimport { Subscribable, Subscriptions } from 'imng-ngrx-utils';\nimport { toLocalTimeStamp } from 'imng-nrsrx-client-utils';\n\n@Component({ template: '' })\nexport abstract class KendoGridBaseComponent<ENTITY> implements OnDestroy, Subscribable {\n public readonly allSubscriptions = new Subscriptions();\n\n public getExportFileName(exportName: string): string {\n return `${exportName}-${toLocalTimeStamp()}`;\n }\n public getRelatedValue(obj: ENTITY, parentPropertyName: string, valueProperty: string): unknown | undefined {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const parentProp = (obj as any)?.[parentPropertyName]; //NOSONAR\n return parentProp?.[valueProperty];\n }\n\n public getRelatedField(parentPropertyName: string, valueProperty: string): string {\n return `${parentPropertyName}/${valueProperty}`;\n }\n public ngOnDestroy(): void {\n this.allSubscriptions.unsubscribeAll();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"imng-kendo-grid.mjs","sources":["../../../../libs/imng-kendo-grid/src/lib/grid-header-component/grid-header.component.ts","../../../../libs/imng-kendo-grid/src/lib/kendo-child-column-component/kendo-child-column-template.component.ts","../../../../libs/imng-kendo-grid/src/lib/kendo-copy-component/kendo-copy.component.ts","../../../../libs/imng-kendo-grid/src/lib/imng-kendo-grid.module.ts","../../../../libs/imng-kendo-grid/src/lib/kendo-has-hidden-columns.ts","../../../../libs/imng-kendo-grid/src/lib/kendo-grid-base-component.ts","../../../../libs/imng-kendo-grid/src/imng-kendo-grid.ts"],"sourcesContent":["import { Component, EventEmitter, Inject, Input, Output } from '@angular/core';\nimport { GridComponent } from '@progress/kendo-angular-grid';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'imng-kendo-odata-grid-header',\n template: `<div class=\"mr-5 pr-5\">\n <button\n *ngIf=\"entityName\"\n type=\"button\"\n title=\"Add {{ entityName }}\"\n primary=\"true\"\n (click)=\"addItemClicked.emit()\"\n class=\"btn btn-sm btn-primary mx-1\"\n >\n <span class=\"k-icon k-i-plus-circle\"></span> Add {{ entityName }}\n </button>\n <button\n *ngIf=\"hideClearFilters !== true\"\n type=\"button\"\n title=\"Clear Filters\"\n (click)=\"clearFiltersClicked.emit()\"\n class=\"btn btn-sm mx-1\"\n >\n <span class=\"k-icon k-i-filter-clear\"></span> Clear Filters\n </button>\n <button\n *ngIf=\"hideReloadData !== true\"\n type=\"button\"\n title=\"Clear Cache And Reload Data\"\n (click)=\"reloadEntitiesClicked.emit()\"\n class=\"btn btn-sm mx-1\"\n >\n <span class=\"k-icon k-i-reset\"></span> Reload Data\n </button>\n <button\n *ngIf=\"hideExports !== true\"\n type=\"button\"\n title=\"Export To PDF\"\n kendoGridPDFCommand\n icon=\"file-pdf\"\n class=\"btn btn-sm mx-1\"\n (click)=\"parentGrid.saveAsPDF()\"\n >\n <span class=\"k-icon k-i-pdf\"></span> Export to PDF\n </button>\n <button\n *ngIf=\"hideExports !== true\"\n type=\"button\"\n title=\"Export To Excel\"\n kendoGridExcelCommand\n icon=\"file-excel\"\n class=\"btn btn-sm mx-1\"\n (click)=\"parentGrid.saveAsExcel()\"\n >\n <span class=\"k-icon k-i-excel\"></span> Export To Excel\n </button>\n <kendo-grid-column-chooser\n *ngIf=\"hideColumnChooser !== true\"\n title=\"Columns\"\n [allowHideAll]=\"true\"\n [autoSync]=\"true\"\n [ngClass]=\"{\n 'text-primary': (hasHiddenColumns$ | async)\n }\"\n ></kendo-grid-column-chooser>\n </div> `,\n styles: [\n `\n .btn-sm {\n height: 30px;\n border-radius: 2px;\n background-color: #f5f5f5;\n border-color: rgba(0, 0, 0, 0.08);\n }\n .btn-primary {\n background-color: #007bff;\n }\n .k-icon {\n padding-bottom: 3px;\n }\n .k-bare {\n border-color: rgba(0, 0, 0, 0.08) !important;\n background-color: #f5f5f5 !important;\n background-image: linear-gradient(\n rgba(0, 0, 0, 0),\n rgba(0, 0, 0, 0.02)\n ) !important;\n }\n `,\n ],\n})\nexport class ImngGridHeaderComponent {\n @Input()\n public entityName = '';\n @Input()\n public hideColumnChooser = false;\n @Input()\n public hideClearFilters = false;\n @Input()\n public hideReloadData = false;\n @Input()\n public hideExports = false;\n @Input()\n public hasHiddenColumns$: Observable<boolean> | undefined;\n @Output()\n public addItemClicked = new EventEmitter();\n @Output()\n public clearFiltersClicked = new EventEmitter();\n @Output()\n public reloadEntitiesClicked = new EventEmitter();\n constructor(@Inject(GridComponent) public parentGrid: GridComponent) {\n\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n OnInit,\n ChangeDetectorRef,\n} from '@angular/core';\n\n@Component({\n selector: 'imng-kendo-grid-child-column-template',\n template: `<div *ngFor=\"let item of currentData | slice: 0:visibleRecCount\">\n {{ item }}\n </div>\n <button\n type=\"button\"\n *ngIf=\"showMore && (currentData?.length || 0) > visibleRecCount\"\n class=\"btn btn-sm btn-primary\"\n [title]=\"formatToolTip()\"\n (click)=\"moreClicked()\"\n >\n More ...\n <span class=\"badge bg-secondary\">{{\n currentData.length - visibleRecCount\n }}</span>\n </button>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ImngGridChildColumnTemplateComponent implements OnInit {\n private _data: unknown[] = [];\n public currentData: unknown[] = [];\n private initialized = false;\n\n @Output() showMoreClicked = new EventEmitter();\n @Input() public field = '';\n @Input() public visibleRecCount = 5; //NOSONAR\n @Input() public showMore = true;\n @Input() public toolTipJoinCharacter = ';';\n @Input() set data(value: unknown[]) {\n this._data = value;\n if (this.initialized) {\n this.ngOnInit();\n this.changeDetectorRef.markForCheck();\n }\n }\n get data(): unknown[] {\n return this._data;\n }\n\n constructor(public readonly changeDetectorRef: ChangeDetectorRef) { }\n\n public ngOnInit(): void {\n this.currentData = (this.data || [])\n .filter((val) => (typeof val === 'string' ? val.length > 0 : true))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .map((t: any) => t[this.field]); //NOSONAR\n this.initialized = true;\n }\n public formatToolTip(): string {\n return this.currentData\n .filter((_val, index) => index >= this.visibleRecCount)\n .join(`${this.toolTipJoinCharacter} `);\n }\n\n public moreClicked(): void {\n this.showMoreClicked.emit();\n }\n}\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n OnInit,\n} from '@angular/core';\n\n@Component({\n selector: 'imng-kendo-copy[copyValue]',\n template: `\n <a (click)=\"copy()\" [title]=\"'Copy the full value: ' + copyValue \">{{ displayValue }}&nbsp;<span class=\"k-icon k-i-copy k-icon-md k-color-primary\"></span></a>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ImngKendoCopyComponent implements OnInit {\n /**\n * Optional\n */\n @Input() public displayValue: unknown;\n /**\n * Required\n */\n @Input() public copyValue = '';\n\n ngOnInit(): void {\n if (this.copyValue && !this.displayValue) {\n this.displayValue = this.copyValue;\n }\n }\n public copy(): void {\n navigator.clipboard?.writeText(this.copyValue);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GridModule } from '@progress/kendo-angular-grid';\nimport { ImngGridHeaderComponent } from './grid-header-component/grid-header.component';\nimport { ImngGridChildColumnTemplateComponent } from './kendo-child-column-component/kendo-child-column-template.component';\nimport { ImngKendoCopyComponent } from './kendo-copy-component/kendo-copy.component';\n\n@NgModule({\n declarations: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent],\n imports: [CommonModule, GridModule],\n exports: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent],\n})\nexport class ImngKendoGridModule { }\n","import { GridComponent } from '@progress/kendo-angular-grid';\nimport { map } from 'rxjs';\n\nexport function hasHiddenColumns(gridComponent: GridComponent) {\n return map(() => gridComponent.columns.some((s) => s.hidden));\n}\n","import { Component, OnDestroy } from '@angular/core';\nimport { Subscribable, Subscriptions } from 'imng-ngrx-utils';\nimport { toLocalTimeStamp } from 'imng-nrsrx-client-utils';\n\n@Component({ template: '' })\nexport abstract class KendoGridBaseComponent<ENTITY> implements OnDestroy, Subscribable {\n public readonly allSubscriptions = new Subscriptions();\n\n public getExportFileName(exportName: string): string {\n return `${exportName}-${toLocalTimeStamp()}`;\n }\n public getRelatedValue(obj: ENTITY, ...segments: string[]): unknown | undefined | null {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let result: any = obj;//NOSONAR\n segments.forEach(segment => {\n if (result) {\n result = result[segment];\n }\n });\n return result;\n }\n\n public getRelatedField(...segments: string[]): string {\n return segments.join('/');\n }\n public ngOnDestroy(): void {\n this.allSubscriptions.unsubscribeAll();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -4,8 +4,8 @@ import * as i0 from "@angular/core";
4
4
  export declare abstract class KendoGridBaseComponent<ENTITY> implements OnDestroy, Subscribable {
5
5
  readonly allSubscriptions: Subscriptions;
6
6
  getExportFileName(exportName: string): string;
7
- getRelatedValue(obj: ENTITY, parentPropertyName: string, valueProperty: string): unknown | undefined;
8
- getRelatedField(parentPropertyName: string, valueProperty: string): string;
7
+ getRelatedValue(obj: ENTITY, ...segments: string[]): unknown | undefined | null;
8
+ getRelatedField(...segments: string[]): string;
9
9
  ngOnDestroy(): void;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<KendoGridBaseComponent<any>, never>;
11
11
  static ɵcmp: i0.ɵɵComponentDeclaration<KendoGridBaseComponent<any>, "ng-component", never, {}, {}, never, never>;
@@ -1,8 +1,5 @@
1
- import { InFilter } from 'imng-kendo-odata';
2
1
  import { DataStateChangeEvent } from '@progress/kendo-angular-grid';
3
2
  export interface GridStateChangeEvent extends DataStateChangeEvent {
4
- expanders?: string[];
5
3
  selectors?: string[];
6
- inFilter?: InFilter;
7
4
  count?: boolean;
8
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "imng-kendo-grid",
3
- "version": "4.116.3",
3
+ "version": "4.117.8",
4
4
  "description": "A library to facilitate Angular Kendo grid and NGRX integration.",
5
5
  "keywords": [
6
6
  "Angular",