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 * as i1 from '@progress/kendo-angular-grid';
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(gridComponent) {
75
- this.gridComponent = 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 || 0;
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: [{ token: i1.GridComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
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
- }], ctorParameters: () => [{ type: i1.GridComponent }], propDecorators: { arrayComponent: [{
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "imng-kendo-grid-array",
3
- "version": "8.178.3",
3
+ "version": "8.179.3",
4
4
  "keywords": [
5
5
  "Angular",
6
6
  "NGRX",