imng-kendo-grid-array 8.178.3 → 8.179.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.
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Input, Component, Directive, NgModule } from '@angular/core';
|
|
2
|
+
import { Input, Component, inject, Directive, NgModule } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
|
-
import
|
|
5
|
-
import { GridModule } from '@progress/kendo-angular-grid';
|
|
4
|
+
import { GridComponent, GridModule } from '@progress/kendo-angular-grid';
|
|
6
5
|
import { Subscriptions } from 'imng-ngrx-utils';
|
|
7
6
|
import { KendoGridBaseComponent, hasHiddenColumns, ImngKendoGridModule } from 'imng-kendo-grid';
|
|
8
7
|
import { process } from '@progress/kendo-data-query';
|
|
@@ -71,8 +70,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
|
|
|
71
70
|
}] } });
|
|
72
71
|
|
|
73
72
|
class ImngArrayGridDirective {
|
|
74
|
-
constructor(
|
|
75
|
-
this.gridComponent =
|
|
73
|
+
constructor() {
|
|
74
|
+
this.gridComponent = inject(GridComponent);
|
|
76
75
|
this.allSubscriptions = new Subscriptions();
|
|
77
76
|
this.pageable = true;
|
|
78
77
|
}
|
|
@@ -118,7 +117,7 @@ class ImngArrayGridDirective {
|
|
|
118
117
|
logic: 'and',
|
|
119
118
|
filters: [],
|
|
120
119
|
};
|
|
121
|
-
this.gridComponent.skip = this.arrayComponent?.state.skip
|
|
120
|
+
this.gridComponent.skip = this.arrayComponent?.state.skip ?? 0;
|
|
122
121
|
this.gridComponent.sort = this.arrayComponent?.state.sort || [];
|
|
123
122
|
this.gridComponent.data = this.arrayComponent?.gridData || [];
|
|
124
123
|
if (this.arrayComponent) {
|
|
@@ -132,16 +131,16 @@ class ImngArrayGridDirective {
|
|
|
132
131
|
ngOnDestroy() {
|
|
133
132
|
this.allSubscriptions.unsubscribeAll();
|
|
134
133
|
}
|
|
135
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ImngArrayGridDirective, deps: [
|
|
134
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ImngArrayGridDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
136
135
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: ImngArrayGridDirective, isStandalone: false, selector: "[imngArrayGrid]", inputs: { arrayComponent: ["imngArrayGrid", "arrayComponent"], pageable: "pageable" }, ngImport: i0 }); }
|
|
137
136
|
}
|
|
138
137
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ImngArrayGridDirective, decorators: [{
|
|
139
138
|
type: Directive,
|
|
140
139
|
args: [{
|
|
141
140
|
selector: '[imngArrayGrid]',
|
|
142
|
-
standalone: false
|
|
141
|
+
standalone: false,
|
|
143
142
|
}]
|
|
144
|
-
}],
|
|
143
|
+
}], propDecorators: { arrayComponent: [{
|
|
145
144
|
type: Input,
|
|
146
145
|
args: ['imngArrayGrid']
|
|
147
146
|
}], pageable: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imng-kendo-grid-array.mjs","sources":["../../../../libs/imng-kendo-grid-array/src/lib/kendo-array-base-component.ts","../../../../libs/imng-kendo-grid-array/src/lib/kendo-array-grid.directive.ts","../../../../libs/imng-kendo-grid-array/src/lib/imng-kendo-grid-array.module.ts","../../../../libs/imng-kendo-grid-array/src/imng-kendo-grid-array.ts"],"sourcesContent":["import {\n DataStateChangeEvent,\n SortSettings,\n PageChangeEvent,\n} from '@progress/kendo-angular-grid';\nimport { Input, ChangeDetectorRef, OnDestroy, Component } from '@angular/core';\nimport {\n process,\n State,\n CompositeFilterDescriptor,\n SortDescriptor,\n} from '@progress/kendo-data-query';\nimport { ODataResult } from 'imng-kendo-odata';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Subscribable } from 'imng-ngrx-utils';\nimport { KendoGridBaseComponent } from 'imng-kendo-grid';\n\n@Component({\n template: '',\n standalone: false\n})\nexport abstract class KendoArrayBasedComponent<PARENT_ENTITY, LISTED_ENTITY>\n extends KendoGridBaseComponent<LISTED_ENTITY>\n implements OnDestroy, Subscribable {\n /**\n * This will allow you to provide a visual indicator that some of the columns have been hidden.\n */\n public hasHiddenColumns$: Observable<boolean> | undefined;\n @Input() public item?: PARENT_ENTITY;\n\n private _detail: LISTED_ENTITY[] = [];\n @Input()\n public set detail(value: LISTED_ENTITY[]) {\n this._detail = value || [];\n this.gridData = process(this._detail, this.state);\n this.changeDetectorRef?.markForCheck();\n }\n\n /**\n * A properties enum to make kendo grid columns definitions type safe\n * {@example <kendo-grid-column [field]=\"props.FIELD_NAME\">}\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public abstract readonly props: any; //NOSONAR\n public state: State = {\n skip: 0,\n take: 10,\n };\n\n public readonly sortSettings: SortSettings = {\n allowUnsort: true,\n mode: 'multiple',\n };\n\n private _gridData: ODataResult<LISTED_ENTITY> | LISTED_ENTITY[] = [];\n public gridData$ = new BehaviorSubject<\n ODataResult<LISTED_ENTITY> | LISTED_ENTITY[]\n >({ data: [], total: 0 });\n public get gridData(): ODataResult<LISTED_ENTITY> | LISTED_ENTITY[] {\n return this._gridData;\n }\n public set gridData(value: ODataResult<LISTED_ENTITY> | LISTED_ENTITY[]) {\n this._gridData = value;\n this.gridData$.next(value);\n this.markForCheck();\n }\n\n constructor(\n public readonly changeDetectorRef: ChangeDetectorRef | null = null //NOSONAR\n ) { super(); }\n\n public readonly markForCheck = (): void =>\n this.changeDetectorRef?.markForCheck();\n\n public dataStateChange(state: DataStateChangeEvent | State): void {\n this.state = state;\n this.gridData = process(this._detail, this.state);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public pageChange(t: PageChangeEvent): void { //NOSONAR\n //This is intentional\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public filterChange(t: CompositeFilterDescriptor): void { //NOSONAR\n //This is intentional\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public sortChange(t: SortDescriptor[]): void { //NOSONAR\n //This is intentional\n }\n}\n","import {\n Directive,\n Input,\n OnInit,\n OnDestroy,\n AfterViewInit,\n} from '@angular/core';\nimport {\n GridComponent,\n PageChangeEvent,\n PagerSettings,\n} from '@progress/kendo-angular-grid';\nimport { Subscribable, Subscriptions } from 'imng-ngrx-utils';\nimport { GridStateChangeEvent, hasHiddenColumns } from 'imng-kendo-grid';\nimport { KendoArrayBasedComponent } from './kendo-array-base-component';\nimport {\n CompositeFilterDescriptor,\n SortDescriptor,\n} from '@progress/kendo-data-query';\n\n@Directive({\n selector: '[imngArrayGrid]',\n standalone: false\n})\nexport class ImngArrayGridDirective\n implements OnInit, AfterViewInit, OnDestroy, Subscribable {\n public readonly allSubscriptions = new Subscriptions();\n @Input('imngArrayGrid') public arrayComponent?: KendoArrayBasedComponent<\n object,\n object\n >;\n @Input() public pageable: boolean | PagerSettings = true;\n constructor(public readonly gridComponent: GridComponent) { }\n\n ngOnInit(): void {\n this.gridComponent.reorderable = true;\n this.gridComponent.resizable = true;\n this.gridComponent.filterable = 'menu';\n this.gridComponent.sortable = {\n allowUnsort: true,\n mode: 'multiple',\n };\n this.gridComponent.navigable = true;\n this.gridComponent.pageable = this.pageable || {\n info: true,\n type: 'numeric',\n pageSizes: [5, 10, 20, 50, 100], //NOSONAR\n };\n this.allSubscriptions.push(\n this.gridComponent.dataStateChange.subscribe(\n (t: GridStateChangeEvent) => {\n this.gridComponent.sort = t.sort || [];\n this.gridComponent.pageSize = t.take;\n this.gridComponent.skip = t.skip;\n if (this.arrayComponent?.state) {\n this.arrayComponent.state = t;\n this.arrayComponent.dataStateChange(t);\n this.arrayComponent.markForCheck();\n }\n }\n ),\n this.gridComponent.pageChange.subscribe((t: PageChangeEvent) => {\n this.arrayComponent?.pageChange(t);\n }),\n this.gridComponent.sortChange.subscribe((t: SortDescriptor[]) => {\n this.arrayComponent?.sortChange(t);\n }),\n this.gridComponent.filterChange.subscribe(\n (t: CompositeFilterDescriptor) => {\n this.gridComponent.filter = t;\n if (this.arrayComponent) {\n this.arrayComponent.state.filter = t;\n this.arrayComponent.markForCheck();\n this.arrayComponent.filterChange(t);\n }\n }\n ),\n this.arrayComponent?.gridData$.subscribe((t) => {\n this.gridComponent.data = t;\n })\n );\n\n this.gridComponent.pageSize = this.arrayComponent?.state.take || 20; //NOSONAR\n this.gridComponent.filter = this.arrayComponent?.state.filter || {\n logic: 'and',\n filters: [],\n };\n this.gridComponent.skip = this.arrayComponent?.state.skip || 0;\n this.gridComponent.sort = this.arrayComponent?.state.sort || [];\n this.gridComponent.data = this.arrayComponent?.gridData || [];\n if (this.arrayComponent) {\n this.arrayComponent.hasHiddenColumns$ =\n this.gridComponent.columnVisibilityChange.pipe(\n hasHiddenColumns(this.gridComponent)\n );\n }\n }\n\n ngAfterViewInit(): void {\n this.arrayComponent?.markForCheck();\n }\n\n ngOnDestroy(): void {\n this.allSubscriptions.unsubscribeAll();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ImngArrayGridDirective } from './kendo-array-grid.directive';\nimport { ImngKendoGridModule } from 'imng-kendo-grid';\nimport { GridModule } from '@progress/kendo-angular-grid';\n\n@NgModule({\n declarations: [ImngArrayGridDirective],\n imports: [CommonModule, ImngKendoGridModule, GridModule],\n exports: [ImngArrayGridDirective],\n})\nexport class ImngKendoGridArrayModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"imng-kendo-grid-array.mjs","sources":["../../../../libs/imng-kendo-grid-array/src/lib/kendo-array-base-component.ts","../../../../libs/imng-kendo-grid-array/src/lib/kendo-array-grid.directive.ts","../../../../libs/imng-kendo-grid-array/src/lib/imng-kendo-grid-array.module.ts","../../../../libs/imng-kendo-grid-array/src/imng-kendo-grid-array.ts"],"sourcesContent":["import {\n DataStateChangeEvent,\n SortSettings,\n PageChangeEvent,\n} from '@progress/kendo-angular-grid';\nimport { Input, ChangeDetectorRef, OnDestroy, Component } from '@angular/core';\nimport {\n process,\n State,\n CompositeFilterDescriptor,\n SortDescriptor,\n} from '@progress/kendo-data-query';\nimport { ODataResult } from 'imng-kendo-odata';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Subscribable } from 'imng-ngrx-utils';\nimport { KendoGridBaseComponent } from 'imng-kendo-grid';\n\n@Component({\n template: '',\n standalone: false\n})\nexport abstract class KendoArrayBasedComponent<PARENT_ENTITY, LISTED_ENTITY>\n extends KendoGridBaseComponent<LISTED_ENTITY>\n implements OnDestroy, Subscribable {\n /**\n * This will allow you to provide a visual indicator that some of the columns have been hidden.\n */\n public hasHiddenColumns$: Observable<boolean> | undefined;\n @Input() public item?: PARENT_ENTITY;\n\n private _detail: LISTED_ENTITY[] = [];\n @Input()\n public set detail(value: LISTED_ENTITY[]) {\n this._detail = value || [];\n this.gridData = process(this._detail, this.state);\n this.changeDetectorRef?.markForCheck();\n }\n\n /**\n * A properties enum to make kendo grid columns definitions type safe\n * {@example <kendo-grid-column [field]=\"props.FIELD_NAME\">}\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public abstract readonly props: any; //NOSONAR\n public state: State = {\n skip: 0,\n take: 10,\n };\n\n public readonly sortSettings: SortSettings = {\n allowUnsort: true,\n mode: 'multiple',\n };\n\n private _gridData: ODataResult<LISTED_ENTITY> | LISTED_ENTITY[] = [];\n public gridData$ = new BehaviorSubject<\n ODataResult<LISTED_ENTITY> | LISTED_ENTITY[]\n >({ data: [], total: 0 });\n public get gridData(): ODataResult<LISTED_ENTITY> | LISTED_ENTITY[] {\n return this._gridData;\n }\n public set gridData(value: ODataResult<LISTED_ENTITY> | LISTED_ENTITY[]) {\n this._gridData = value;\n this.gridData$.next(value);\n this.markForCheck();\n }\n\n constructor(\n public readonly changeDetectorRef: ChangeDetectorRef | null = null //NOSONAR\n ) { super(); }\n\n public readonly markForCheck = (): void =>\n this.changeDetectorRef?.markForCheck();\n\n public dataStateChange(state: DataStateChangeEvent | State): void {\n this.state = state;\n this.gridData = process(this._detail, this.state);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public pageChange(t: PageChangeEvent): void { //NOSONAR\n //This is intentional\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public filterChange(t: CompositeFilterDescriptor): void { //NOSONAR\n //This is intentional\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public sortChange(t: SortDescriptor[]): void { //NOSONAR\n //This is intentional\n }\n}\n","import {\n Directive,\n Input,\n OnInit,\n OnDestroy,\n AfterViewInit,\n inject,\n} from '@angular/core';\nimport {\n GridComponent,\n PageChangeEvent,\n PagerSettings,\n} from '@progress/kendo-angular-grid';\nimport { Subscribable, Subscriptions } from 'imng-ngrx-utils';\nimport { GridStateChangeEvent, hasHiddenColumns } from 'imng-kendo-grid';\nimport { KendoArrayBasedComponent } from './kendo-array-base-component';\nimport {\n CompositeFilterDescriptor,\n SortDescriptor,\n} from '@progress/kendo-data-query';\n\n@Directive({\n selector: '[imngArrayGrid]',\n standalone: false,\n})\nexport class ImngArrayGridDirective\n implements OnInit, AfterViewInit, OnDestroy, Subscribable\n{\n readonly gridComponent = inject(GridComponent);\n\n public readonly allSubscriptions = new Subscriptions();\n @Input('imngArrayGrid') public arrayComponent?: KendoArrayBasedComponent<\n object,\n object\n >;\n @Input() public pageable: boolean | PagerSettings = true;\n\n ngOnInit(): void {\n this.gridComponent.reorderable = true;\n this.gridComponent.resizable = true;\n this.gridComponent.filterable = 'menu';\n this.gridComponent.sortable = {\n allowUnsort: true,\n mode: 'multiple',\n };\n this.gridComponent.navigable = true;\n this.gridComponent.pageable = this.pageable || {\n info: true,\n type: 'numeric',\n pageSizes: [5, 10, 20, 50, 100], //NOSONAR\n };\n this.allSubscriptions.push(\n this.gridComponent.dataStateChange.subscribe(\n (t: GridStateChangeEvent) => {\n this.gridComponent.sort = t.sort || [];\n this.gridComponent.pageSize = t.take;\n this.gridComponent.skip = t.skip;\n if (this.arrayComponent?.state) {\n this.arrayComponent.state = t;\n this.arrayComponent.dataStateChange(t);\n this.arrayComponent.markForCheck();\n }\n },\n ),\n this.gridComponent.pageChange.subscribe((t: PageChangeEvent) => {\n this.arrayComponent?.pageChange(t);\n }),\n this.gridComponent.sortChange.subscribe((t: SortDescriptor[]) => {\n this.arrayComponent?.sortChange(t);\n }),\n this.gridComponent.filterChange.subscribe(\n (t: CompositeFilterDescriptor) => {\n this.gridComponent.filter = t;\n if (this.arrayComponent) {\n this.arrayComponent.state.filter = t;\n this.arrayComponent.markForCheck();\n this.arrayComponent.filterChange(t);\n }\n },\n ),\n this.arrayComponent?.gridData$.subscribe((t) => {\n this.gridComponent.data = t;\n }),\n );\n\n this.gridComponent.pageSize = this.arrayComponent?.state.take || 20; //NOSONAR\n this.gridComponent.filter = this.arrayComponent?.state.filter || {\n logic: 'and',\n filters: [],\n };\n this.gridComponent.skip = this.arrayComponent?.state.skip ?? 0;\n this.gridComponent.sort = this.arrayComponent?.state.sort || [];\n this.gridComponent.data = this.arrayComponent?.gridData || [];\n if (this.arrayComponent) {\n this.arrayComponent.hasHiddenColumns$ =\n this.gridComponent.columnVisibilityChange.pipe(\n hasHiddenColumns(this.gridComponent),\n );\n }\n }\n\n ngAfterViewInit(): void {\n this.arrayComponent?.markForCheck();\n }\n\n ngOnDestroy(): void {\n this.allSubscriptions.unsubscribeAll();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ImngArrayGridDirective } from './kendo-array-grid.directive';\nimport { ImngKendoGridModule } from 'imng-kendo-grid';\nimport { GridModule } from '@progress/kendo-angular-grid';\n\n@NgModule({\n declarations: [ImngArrayGridDirective],\n imports: [CommonModule, ImngKendoGridModule, GridModule],\n exports: [ImngArrayGridDirective],\n})\nexport class ImngKendoGridArrayModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,6 @@ export declare class ImngArrayGridDirective implements OnInit, AfterViewInit, On
|
|
|
8
8
|
readonly allSubscriptions: Subscriptions;
|
|
9
9
|
arrayComponent?: KendoArrayBasedComponent<object, object>;
|
|
10
10
|
pageable: boolean | PagerSettings;
|
|
11
|
-
constructor(gridComponent: GridComponent);
|
|
12
11
|
ngOnInit(): void;
|
|
13
12
|
ngAfterViewInit(): void;
|
|
14
13
|
ngOnDestroy(): void;
|