imng-kendo-grid 4.117.1 → 4.118.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2019 Isaac Martinez
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -16,8 +16,8 @@ export class ImngGridHeaderComponent {
16
16
  this.reloadEntitiesClicked = new EventEmitter();
17
17
  }
18
18
  }
19
- ImngGridHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngGridHeaderComponent, deps: [{ token: GridComponent }], target: i0.ɵɵFactoryTarget.Component });
20
- ImngGridHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: ImngGridHeaderComponent, selector: "imng-kendo-odata-grid-header", inputs: { entityName: "entityName", hideColumnChooser: "hideColumnChooser", hideClearFilters: "hideClearFilters", hideReloadData: "hideReloadData", hideExports: "hideExports", hasHiddenColumns$: "hasHiddenColumns$" }, outputs: { addItemClicked: "addItemClicked", clearFiltersClicked: "clearFiltersClicked", reloadEntitiesClicked: "reloadEntitiesClicked" }, ngImport: i0, template: `<div class="mr-5 pr-5">
19
+ ImngGridHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngGridHeaderComponent, deps: [{ token: GridComponent }], target: i0.ɵɵFactoryTarget.Component });
20
+ ImngGridHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: ImngGridHeaderComponent, selector: "imng-kendo-odata-grid-header", inputs: { entityName: "entityName", hideColumnChooser: "hideColumnChooser", hideClearFilters: "hideClearFilters", hideReloadData: "hideReloadData", hideExports: "hideExports", hasHiddenColumns$: "hasHiddenColumns$" }, outputs: { addItemClicked: "addItemClicked", clearFiltersClicked: "clearFiltersClicked", reloadEntitiesClicked: "reloadEntitiesClicked" }, ngImport: i0, template: `<div class="mr-5 pr-5">
21
21
  <button
22
22
  *ngIf="entityName"
23
23
  type="button"
@@ -78,7 +78,7 @@ ImngGridHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
78
78
  }"
79
79
  ></kendo-grid-column-chooser>
80
80
  </div> `, isInline: true, styles: [".btn-sm{height:30px;border-radius:2px;background-color:#f5f5f5;border-color:#00000014}.btn-primary{background-color:#007bff}.k-icon{padding-bottom:3px}.k-bare{border-color:#00000014!important;background-color:#f5f5f5!important;background-image:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.02))!important}\n"], components: [{ type: i1.ColumnChooserComponent, selector: "kendo-grid-column-chooser", inputs: ["autoSync", "allowHideAll"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i2.AsyncPipe } });
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngGridHeaderComponent, decorators: [{
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngGridHeaderComponent, decorators: [{
82
82
  type: Component,
83
83
  args: [{
84
84
  selector: 'imng-kendo-odata-grid-header',
@@ -7,10 +7,10 @@ import { ImngKendoCopyComponent } from './kendo-copy-component/kendo-copy.compon
7
7
  import * as i0 from "@angular/core";
8
8
  export class ImngKendoGridModule {
9
9
  }
10
- ImngKendoGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngKendoGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- ImngKendoGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngKendoGridModule, declarations: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent], imports: [CommonModule, GridModule], exports: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent] });
12
- ImngKendoGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngKendoGridModule, imports: [[CommonModule, GridModule]] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngKendoGridModule, decorators: [{
10
+ ImngKendoGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngKendoGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ ImngKendoGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngKendoGridModule, declarations: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent], imports: [CommonModule, GridModule], exports: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent] });
12
+ ImngKendoGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngKendoGridModule, imports: [[CommonModule, GridModule]] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngKendoGridModule, decorators: [{
14
14
  type: NgModule,
15
15
  args: [{
16
16
  declarations: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent],
@@ -39,8 +39,8 @@ export class ImngGridChildColumnTemplateComponent {
39
39
  this.showMoreClicked.emit();
40
40
  }
41
41
  }
42
- ImngGridChildColumnTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngGridChildColumnTemplateComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
43
- ImngGridChildColumnTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: ImngGridChildColumnTemplateComponent, selector: "imng-kendo-grid-child-column-template", inputs: { field: "field", visibleRecCount: "visibleRecCount", showMore: "showMore", toolTipJoinCharacter: "toolTipJoinCharacter", data: "data" }, outputs: { showMoreClicked: "showMoreClicked" }, ngImport: i0, template: `<div *ngFor="let item of currentData | slice: 0:visibleRecCount">
42
+ ImngGridChildColumnTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngGridChildColumnTemplateComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
43
+ ImngGridChildColumnTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: ImngGridChildColumnTemplateComponent, selector: "imng-kendo-grid-child-column-template", inputs: { field: "field", visibleRecCount: "visibleRecCount", showMore: "showMore", toolTipJoinCharacter: "toolTipJoinCharacter", data: "data" }, outputs: { showMoreClicked: "showMoreClicked" }, ngImport: i0, template: `<div *ngFor="let item of currentData | slice: 0:visibleRecCount">
44
44
  {{ item }}
45
45
  </div>
46
46
  <button
@@ -55,7 +55,7 @@ ImngGridChildColumnTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVers
55
55
  currentData.length - visibleRecCount
56
56
  }}</span>
57
57
  </button>`, isInline: true, directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "slice": i1.SlicePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngGridChildColumnTemplateComponent, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngGridChildColumnTemplateComponent, decorators: [{
59
59
  type: Component,
60
60
  args: [{
61
61
  selector: 'imng-kendo-grid-child-column-template',
@@ -16,11 +16,11 @@ export class ImngKendoCopyComponent {
16
16
  navigator.clipboard?.writeText(this.copyValue);
17
17
  }
18
18
  }
19
- ImngKendoCopyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngKendoCopyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
- ImngKendoCopyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: ImngKendoCopyComponent, selector: "imng-kendo-copy[copyValue]", inputs: { displayValue: "displayValue", copyValue: "copyValue" }, ngImport: i0, template: `
19
+ ImngKendoCopyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngKendoCopyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
+ ImngKendoCopyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: ImngKendoCopyComponent, selector: "imng-kendo-copy[copyValue]", inputs: { displayValue: "displayValue", copyValue: "copyValue" }, ngImport: i0, template: `
21
21
  <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>
22
22
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngKendoCopyComponent, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngKendoCopyComponent, decorators: [{
24
24
  type: Component,
25
25
  args: [{
26
26
  selector: 'imng-kendo-copy[copyValue]',
@@ -9,22 +9,27 @@ 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();
22
27
  }
23
28
  }
24
- KendoGridBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: KendoGridBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
- KendoGridBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: KendoGridBaseComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: KendoGridBaseComponent, decorators: [{
29
+ KendoGridBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: KendoGridBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
+ KendoGridBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: KendoGridBaseComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: KendoGridBaseComponent, decorators: [{
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
@@ -21,8 +21,8 @@ class ImngGridHeaderComponent {
21
21
  this.reloadEntitiesClicked = new EventEmitter();
22
22
  }
23
23
  }
24
- ImngGridHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngGridHeaderComponent, deps: [{ token: GridComponent }], target: i0.ɵɵFactoryTarget.Component });
25
- ImngGridHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: ImngGridHeaderComponent, selector: "imng-kendo-odata-grid-header", inputs: { entityName: "entityName", hideColumnChooser: "hideColumnChooser", hideClearFilters: "hideClearFilters", hideReloadData: "hideReloadData", hideExports: "hideExports", hasHiddenColumns$: "hasHiddenColumns$" }, outputs: { addItemClicked: "addItemClicked", clearFiltersClicked: "clearFiltersClicked", reloadEntitiesClicked: "reloadEntitiesClicked" }, ngImport: i0, template: `<div class="mr-5 pr-5">
24
+ ImngGridHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngGridHeaderComponent, deps: [{ token: GridComponent }], target: i0.ɵɵFactoryTarget.Component });
25
+ ImngGridHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: ImngGridHeaderComponent, selector: "imng-kendo-odata-grid-header", inputs: { entityName: "entityName", hideColumnChooser: "hideColumnChooser", hideClearFilters: "hideClearFilters", hideReloadData: "hideReloadData", hideExports: "hideExports", hasHiddenColumns$: "hasHiddenColumns$" }, outputs: { addItemClicked: "addItemClicked", clearFiltersClicked: "clearFiltersClicked", reloadEntitiesClicked: "reloadEntitiesClicked" }, ngImport: i0, template: `<div class="mr-5 pr-5">
26
26
  <button
27
27
  *ngIf="entityName"
28
28
  type="button"
@@ -83,7 +83,7 @@ ImngGridHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
83
83
  }"
84
84
  ></kendo-grid-column-chooser>
85
85
  </div> `, isInline: true, styles: [".btn-sm{height:30px;border-radius:2px;background-color:#f5f5f5;border-color:#00000014}.btn-primary{background-color:#007bff}.k-icon{padding-bottom:3px}.k-bare{border-color:#00000014!important;background-color:#f5f5f5!important;background-image:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.02))!important}\n"], components: [{ type: i1.ColumnChooserComponent, selector: "kendo-grid-column-chooser", inputs: ["autoSync", "allowHideAll"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i2.AsyncPipe } });
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngGridHeaderComponent, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngGridHeaderComponent, decorators: [{
87
87
  type: Component,
88
88
  args: [{
89
89
  selector: 'imng-kendo-odata-grid-header',
@@ -236,8 +236,8 @@ class ImngGridChildColumnTemplateComponent {
236
236
  this.showMoreClicked.emit();
237
237
  }
238
238
  }
239
- ImngGridChildColumnTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngGridChildColumnTemplateComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
240
- ImngGridChildColumnTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: ImngGridChildColumnTemplateComponent, selector: "imng-kendo-grid-child-column-template", inputs: { field: "field", visibleRecCount: "visibleRecCount", showMore: "showMore", toolTipJoinCharacter: "toolTipJoinCharacter", data: "data" }, outputs: { showMoreClicked: "showMoreClicked" }, ngImport: i0, template: `<div *ngFor="let item of currentData | slice: 0:visibleRecCount">
239
+ ImngGridChildColumnTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngGridChildColumnTemplateComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
240
+ ImngGridChildColumnTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: ImngGridChildColumnTemplateComponent, selector: "imng-kendo-grid-child-column-template", inputs: { field: "field", visibleRecCount: "visibleRecCount", showMore: "showMore", toolTipJoinCharacter: "toolTipJoinCharacter", data: "data" }, outputs: { showMoreClicked: "showMoreClicked" }, ngImport: i0, template: `<div *ngFor="let item of currentData | slice: 0:visibleRecCount">
241
241
  {{ item }}
242
242
  </div>
243
243
  <button
@@ -252,7 +252,7 @@ ImngGridChildColumnTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVers
252
252
  currentData.length - visibleRecCount
253
253
  }}</span>
254
254
  </button>`, isInline: true, directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "slice": i2.SlicePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
255
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngGridChildColumnTemplateComponent, decorators: [{
255
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngGridChildColumnTemplateComponent, decorators: [{
256
256
  type: Component,
257
257
  args: [{
258
258
  selector: 'imng-kendo-grid-child-column-template',
@@ -304,11 +304,11 @@ class ImngKendoCopyComponent {
304
304
  (_a = navigator.clipboard) === null || _a === void 0 ? void 0 : _a.writeText(this.copyValue);
305
305
  }
306
306
  }
307
- ImngKendoCopyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngKendoCopyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
308
- ImngKendoCopyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: ImngKendoCopyComponent, selector: "imng-kendo-copy[copyValue]", inputs: { displayValue: "displayValue", copyValue: "copyValue" }, ngImport: i0, template: `
307
+ ImngKendoCopyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngKendoCopyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
308
+ ImngKendoCopyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: ImngKendoCopyComponent, selector: "imng-kendo-copy[copyValue]", inputs: { displayValue: "displayValue", copyValue: "copyValue" }, ngImport: i0, template: `
309
309
  <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>
310
310
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
311
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngKendoCopyComponent, decorators: [{
311
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngKendoCopyComponent, decorators: [{
312
312
  type: Component,
313
313
  args: [{
314
314
  selector: 'imng-kendo-copy[copyValue]',
@@ -325,10 +325,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImpor
325
325
 
326
326
  class ImngKendoGridModule {
327
327
  }
328
- ImngKendoGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngKendoGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
329
- ImngKendoGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngKendoGridModule, declarations: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent], imports: [CommonModule, GridModule], exports: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent] });
330
- ImngKendoGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngKendoGridModule, imports: [[CommonModule, GridModule]] });
331
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngKendoGridModule, decorators: [{
328
+ ImngKendoGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngKendoGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
329
+ ImngKendoGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngKendoGridModule, declarations: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent], imports: [CommonModule, GridModule], exports: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent] });
330
+ ImngKendoGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngKendoGridModule, imports: [[CommonModule, GridModule]] });
331
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngKendoGridModule, decorators: [{
332
332
  type: NgModule,
333
333
  args: [{
334
334
  declarations: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent],
@@ -348,21 +348,26 @@ 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();
361
366
  }
362
367
  }
363
- KendoGridBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: KendoGridBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
364
- KendoGridBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: KendoGridBaseComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
365
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: KendoGridBaseComponent, decorators: [{
368
+ KendoGridBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: KendoGridBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
369
+ KendoGridBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: KendoGridBaseComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
370
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: KendoGridBaseComponent, decorators: [{
366
371
  type: Component,
367
372
  args: [{ template: '' }]
368
373
  }] });
@@ -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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"}
@@ -21,8 +21,8 @@ class ImngGridHeaderComponent {
21
21
  this.reloadEntitiesClicked = new EventEmitter();
22
22
  }
23
23
  }
24
- ImngGridHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngGridHeaderComponent, deps: [{ token: GridComponent }], target: i0.ɵɵFactoryTarget.Component });
25
- ImngGridHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: ImngGridHeaderComponent, selector: "imng-kendo-odata-grid-header", inputs: { entityName: "entityName", hideColumnChooser: "hideColumnChooser", hideClearFilters: "hideClearFilters", hideReloadData: "hideReloadData", hideExports: "hideExports", hasHiddenColumns$: "hasHiddenColumns$" }, outputs: { addItemClicked: "addItemClicked", clearFiltersClicked: "clearFiltersClicked", reloadEntitiesClicked: "reloadEntitiesClicked" }, ngImport: i0, template: `<div class="mr-5 pr-5">
24
+ ImngGridHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngGridHeaderComponent, deps: [{ token: GridComponent }], target: i0.ɵɵFactoryTarget.Component });
25
+ ImngGridHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: ImngGridHeaderComponent, selector: "imng-kendo-odata-grid-header", inputs: { entityName: "entityName", hideColumnChooser: "hideColumnChooser", hideClearFilters: "hideClearFilters", hideReloadData: "hideReloadData", hideExports: "hideExports", hasHiddenColumns$: "hasHiddenColumns$" }, outputs: { addItemClicked: "addItemClicked", clearFiltersClicked: "clearFiltersClicked", reloadEntitiesClicked: "reloadEntitiesClicked" }, ngImport: i0, template: `<div class="mr-5 pr-5">
26
26
  <button
27
27
  *ngIf="entityName"
28
28
  type="button"
@@ -83,7 +83,7 @@ ImngGridHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
83
83
  }"
84
84
  ></kendo-grid-column-chooser>
85
85
  </div> `, isInline: true, styles: [".btn-sm{height:30px;border-radius:2px;background-color:#f5f5f5;border-color:#00000014}.btn-primary{background-color:#007bff}.k-icon{padding-bottom:3px}.k-bare{border-color:#00000014!important;background-color:#f5f5f5!important;background-image:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.02))!important}\n"], components: [{ type: i1.ColumnChooserComponent, selector: "kendo-grid-column-chooser", inputs: ["autoSync", "allowHideAll"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i2.AsyncPipe } });
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngGridHeaderComponent, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngGridHeaderComponent, decorators: [{
87
87
  type: Component,
88
88
  args: [{
89
89
  selector: 'imng-kendo-odata-grid-header',
@@ -234,8 +234,8 @@ class ImngGridChildColumnTemplateComponent {
234
234
  this.showMoreClicked.emit();
235
235
  }
236
236
  }
237
- ImngGridChildColumnTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngGridChildColumnTemplateComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
238
- ImngGridChildColumnTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: ImngGridChildColumnTemplateComponent, selector: "imng-kendo-grid-child-column-template", inputs: { field: "field", visibleRecCount: "visibleRecCount", showMore: "showMore", toolTipJoinCharacter: "toolTipJoinCharacter", data: "data" }, outputs: { showMoreClicked: "showMoreClicked" }, ngImport: i0, template: `<div *ngFor="let item of currentData | slice: 0:visibleRecCount">
237
+ ImngGridChildColumnTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngGridChildColumnTemplateComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
238
+ ImngGridChildColumnTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: ImngGridChildColumnTemplateComponent, selector: "imng-kendo-grid-child-column-template", inputs: { field: "field", visibleRecCount: "visibleRecCount", showMore: "showMore", toolTipJoinCharacter: "toolTipJoinCharacter", data: "data" }, outputs: { showMoreClicked: "showMoreClicked" }, ngImport: i0, template: `<div *ngFor="let item of currentData | slice: 0:visibleRecCount">
239
239
  {{ item }}
240
240
  </div>
241
241
  <button
@@ -250,7 +250,7 @@ ImngGridChildColumnTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVers
250
250
  currentData.length - visibleRecCount
251
251
  }}</span>
252
252
  </button>`, isInline: true, directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "slice": i2.SlicePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
253
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngGridChildColumnTemplateComponent, decorators: [{
253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngGridChildColumnTemplateComponent, decorators: [{
254
254
  type: Component,
255
255
  args: [{
256
256
  selector: 'imng-kendo-grid-child-column-template',
@@ -301,11 +301,11 @@ class ImngKendoCopyComponent {
301
301
  navigator.clipboard?.writeText(this.copyValue);
302
302
  }
303
303
  }
304
- ImngKendoCopyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngKendoCopyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
305
- ImngKendoCopyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: ImngKendoCopyComponent, selector: "imng-kendo-copy[copyValue]", inputs: { displayValue: "displayValue", copyValue: "copyValue" }, ngImport: i0, template: `
304
+ ImngKendoCopyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngKendoCopyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
305
+ ImngKendoCopyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: ImngKendoCopyComponent, selector: "imng-kendo-copy[copyValue]", inputs: { displayValue: "displayValue", copyValue: "copyValue" }, ngImport: i0, template: `
306
306
  <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>
307
307
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
308
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngKendoCopyComponent, decorators: [{
308
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngKendoCopyComponent, decorators: [{
309
309
  type: Component,
310
310
  args: [{
311
311
  selector: 'imng-kendo-copy[copyValue]',
@@ -322,10 +322,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImpor
322
322
 
323
323
  class ImngKendoGridModule {
324
324
  }
325
- ImngKendoGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngKendoGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
326
- ImngKendoGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngKendoGridModule, declarations: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent], imports: [CommonModule, GridModule], exports: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent] });
327
- ImngKendoGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngKendoGridModule, imports: [[CommonModule, GridModule]] });
328
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ImngKendoGridModule, decorators: [{
325
+ ImngKendoGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngKendoGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
326
+ ImngKendoGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngKendoGridModule, declarations: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent], imports: [CommonModule, GridModule], exports: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent] });
327
+ ImngKendoGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngKendoGridModule, imports: [[CommonModule, GridModule]] });
328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ImngKendoGridModule, decorators: [{
329
329
  type: NgModule,
330
330
  args: [{
331
331
  declarations: [ImngGridHeaderComponent, ImngGridChildColumnTemplateComponent, ImngKendoCopyComponent],
@@ -345,21 +345,26 @@ 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();
358
363
  }
359
364
  }
360
- KendoGridBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: KendoGridBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
361
- KendoGridBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: KendoGridBaseComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
362
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: KendoGridBaseComponent, decorators: [{
365
+ KendoGridBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: KendoGridBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
366
+ KendoGridBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: KendoGridBaseComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
367
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: KendoGridBaseComponent, decorators: [{
363
368
  type: Component,
364
369
  args: [{ template: '' }]
365
370
  }] });
@@ -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.117.1",
3
+ "version": "4.118.3",
4
4
  "description": "A library to facilitate Angular Kendo grid and NGRX integration.",
5
5
  "keywords": [
6
6
  "Angular",