imng-kendo-grid-array 4.102.10

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/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # imng-kendo-grid-array
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Running unit tests
6
+
7
+ Run `nx test imng-kendo-grid-array` to execute the unit tests.
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1uZy1rZW5kby1ncmlkLWFycmF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWdyaWQtYXJyYXkvc3JjL2ltbmcta2VuZG8tZ3JpZC1hcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './lib/imng-kendo-grid-array.module';
2
+ export * from './lib/kendo-array-base-component';
3
+ export * from './lib/kendo-array-grid.directive';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZ3JpZC1hcnJheS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9pbW5nLWtlbmRvLWdyaWQtYXJyYXkubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2tlbmRvLWFycmF5LWJhc2UtY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2tlbmRvLWFycmF5LWdyaWQuZGlyZWN0aXZlJztcbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ImngArrayGridDirective } from './kendo-array-grid.directive';
4
+ import { ImngKendoGridModule } from 'imng-kendo-grid';
5
+ import { GridModule } from '@progress/kendo-angular-grid';
6
+ import * as i0 from "@angular/core";
7
+ export class ImngKendoGridArrayModule {
8
+ }
9
+ ImngKendoGridArrayModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngKendoGridArrayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ ImngKendoGridArrayModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngKendoGridArrayModule, declarations: [ImngArrayGridDirective], imports: [CommonModule, ImngKendoGridModule, GridModule], exports: [ImngArrayGridDirective] });
11
+ ImngKendoGridArrayModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngKendoGridArrayModule, imports: [[CommonModule, ImngKendoGridModule, GridModule]] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngKendoGridArrayModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [ImngArrayGridDirective],
16
+ imports: [CommonModule, ImngKendoGridModule, GridModule],
17
+ exports: [ImngArrayGridDirective],
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1uZy1rZW5kby1ncmlkLWFycmF5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1ncmlkLWFycmF5L3NyYy9saWIvaW1uZy1rZW5kby1ncmlkLWFycmF5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBTzFELE1BQU0sT0FBTyx3QkFBd0I7O3FIQUF4Qix3QkFBd0I7c0hBQXhCLHdCQUF3QixpQkFKcEIsc0JBQXNCLGFBQzNCLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxVQUFVLGFBQzdDLHNCQUFzQjtzSEFFckIsd0JBQXdCLFlBSDFCLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFVBQVUsQ0FBQzsyRkFHN0Msd0JBQXdCO2tCQUxwQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUN0QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxDQUFDO29CQUN4RCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEltbmdBcnJheUdyaWREaXJlY3RpdmUgfSBmcm9tICcuL2tlbmRvLWFycmF5LWdyaWQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEltbmdLZW5kb0dyaWRNb2R1bGUgfSBmcm9tICdpbW5nLWtlbmRvLWdyaWQnO1xuaW1wb3J0IHsgR3JpZE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWdyaWQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtJbW5nQXJyYXlHcmlkRGlyZWN0aXZlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW1uZ0tlbmRvR3JpZE1vZHVsZSwgR3JpZE1vZHVsZV0sXG4gIGV4cG9ydHM6IFtJbW5nQXJyYXlHcmlkRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgSW1uZ0tlbmRvR3JpZEFycmF5TW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,67 @@
1
+ import { Input, Component } from '@angular/core';
2
+ import { process, } from '@progress/kendo-data-query';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { Subscriptions } from 'imng-ngrx-utils';
5
+ import * as i0 from "@angular/core";
6
+ // eslint-disable-next-line @angular-eslint/directive-class-suffix
7
+ export class KendoArrayBasedComponent {
8
+ constructor(changeDetectorRef = null) {
9
+ this.changeDetectorRef = changeDetectorRef;
10
+ this.allSubscriptions = new Subscriptions();
11
+ this._detail = [];
12
+ this.state = {
13
+ skip: 0,
14
+ take: 10,
15
+ };
16
+ this.sortSettings = {
17
+ allowUnsort: true,
18
+ mode: 'multiple',
19
+ };
20
+ this._gridData = [];
21
+ this.gridData$ = new BehaviorSubject({ data: [], total: 0 });
22
+ this.markForCheck = () => this.changeDetectorRef?.markForCheck();
23
+ }
24
+ set detail(value) {
25
+ this._detail = value || [];
26
+ this.gridData = process(this._detail, this.state);
27
+ this.changeDetectorRef?.markForCheck();
28
+ }
29
+ get gridData() {
30
+ return this._gridData;
31
+ }
32
+ set gridData(value) {
33
+ this._gridData = value;
34
+ this.gridData$.next(value);
35
+ this.markForCheck();
36
+ }
37
+ dataStateChange(state) {
38
+ this.state = state;
39
+ this.gridData = process(this._detail, this.state);
40
+ }
41
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
42
+ pageChange(t) {
43
+ //This is intentional
44
+ }
45
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
46
+ filterChange(t) {
47
+ //This is intentional
48
+ }
49
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
50
+ sortChange(t) {
51
+ //This is intentional
52
+ }
53
+ ngOnDestroy() {
54
+ this.allSubscriptions.unsubscribeAll();
55
+ }
56
+ }
57
+ KendoArrayBasedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: KendoArrayBasedComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
58
+ KendoArrayBasedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: KendoArrayBasedComponent, selector: "ng-component", inputs: { item: "item", detail: "detail" }, ngImport: i0, template: '', isInline: true });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: KendoArrayBasedComponent, decorators: [{
60
+ type: Component,
61
+ args: [{ template: '' }]
62
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { item: [{
63
+ type: Input
64
+ }], detail: [{
65
+ type: Input
66
+ }] } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VuZG8tYXJyYXktYmFzZS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZ3JpZC1hcnJheS9zcmMvbGliL2tlbmRvLWFycmF5LWJhc2UtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxLQUFLLEVBQWdDLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQ0wsT0FBTyxHQUlSLE1BQU0sNEJBQTRCLENBQUM7QUFFcEMsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQWdCLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUU5RCxrRUFBa0U7QUFFbEUsTUFBTSxPQUFnQix3QkFBd0I7SUE4QzVDLFlBQ2tCLG9CQUE4QyxJQUFJO1FBQWxELHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBaUM7UUE3Q3BELHFCQUFnQixHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFPL0MsWUFBTyxHQUFvQixFQUFFLENBQUM7UUFjL0IsVUFBSyxHQUFVO1lBQ3BCLElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxFQUFFLEVBQUU7U0FDVCxDQUFDO1FBRWMsaUJBQVksR0FBaUI7WUFDM0MsV0FBVyxFQUFFLElBQUk7WUFDakIsSUFBSSxFQUFFLFVBQVU7U0FDakIsQ0FBQztRQUVNLGNBQVMsR0FBaUQsRUFBRSxDQUFDO1FBQzlELGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FFcEMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBY1YsaUJBQVksR0FBRyxHQUFTLEVBQUUsQ0FDeEMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFlBQVksRUFBRSxDQUFDO0lBSHJDLENBQUM7SUF0Q0wsSUFDVyxNQUFNLENBQUMsS0FBc0I7UUFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBc0JELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQVcsUUFBUSxDQUFDLEtBQW1EO1FBQ3JFLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBU00sZUFBZSxDQUFDLEtBQW1DO1FBQ3hELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCw2REFBNkQ7SUFDdEQsVUFBVSxDQUFDLENBQWtCO1FBQ2xDLHFCQUFxQjtJQUN2QixDQUFDO0lBRUQsNkRBQTZEO0lBQ3RELFlBQVksQ0FBQyxDQUE0QjtRQUM5QyxxQkFBcUI7SUFDdkIsQ0FBQztJQUVELDZEQUE2RDtJQUN0RCxVQUFVLENBQUMsQ0FBbUI7UUFDbkMscUJBQXFCO0lBQ3ZCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QyxDQUFDOztxSEEzRW1CLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLGdHQUR2QixFQUFFOzJGQUNILHdCQUF3QjtrQkFEN0MsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7d0dBUVQsSUFBSTtzQkFBbkIsS0FBSztnQkFJSyxNQUFNO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGF0YVN0YXRlQ2hhbmdlRXZlbnQsXG4gIFNvcnRTZXR0aW5ncyxcbiAgUGFnZUNoYW5nZUV2ZW50LFxufSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1ncmlkJztcbmltcG9ydCB7IElucHV0LCBDaGFuZ2VEZXRlY3RvclJlZiwgT25EZXN0cm95LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIHByb2Nlc3MsXG4gIFN0YXRlLFxuICBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yLFxuICBTb3J0RGVzY3JpcHRvcixcbn0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWRhdGEtcXVlcnknO1xuaW1wb3J0IHsgT0RhdGFSZXN1bHQgfSBmcm9tICdpbW5nLWtlbmRvLW9kYXRhJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3Vic2NyaWJhYmxlLCBTdWJzY3JpcHRpb25zIH0gZnJvbSAnaW1uZy1uZ3J4LXV0aWxzJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4XG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgS2VuZG9BcnJheUJhc2VkQ29tcG9uZW50PFBBUkVOVF9FTlRJVFksIExJU1RFRF9FTlRJVFk+XG4gIGltcGxlbWVudHMgT25EZXN0cm95LCBTdWJzY3JpYmFibGUge1xuICBwdWJsaWMgcmVhZG9ubHkgYWxsU3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb25zKCk7XG4gIC8qKlxuICAgKiBUaGlzIHdpbGwgYWxsb3cgeW91IHRvIHByb3ZpZGUgYSB2aXN1YWwgaW5kaWNhdG9yIHRoYXQgc29tZSBvZiB0aGUgY29sdW1ucyBoYXZlIGJlZW4gaGlkZGVuLlxuICAgKi9cbiAgcHVibGljIGhhc0hpZGRlbkNvbHVtbnMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBwdWJsaWMgaXRlbT86IFBBUkVOVF9FTlRJVFk7XG5cbiAgcHJpdmF0ZSBfZGV0YWlsOiBMSVNURURfRU5USVRZW10gPSBbXTtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkZXRhaWwodmFsdWU6IExJU1RFRF9FTlRJVFlbXSkge1xuICAgIHRoaXMuX2RldGFpbCA9IHZhbHVlIHx8IFtdO1xuICAgIHRoaXMuZ3JpZERhdGEgPSBwcm9jZXNzKHRoaXMuX2RldGFpbCwgdGhpcy5zdGF0ZSk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZj8ubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogQSBwcm9wZXJ0aWVzIGVudW0gdG8gbWFrZSBrZW5kbyBncmlkIGNvbHVtbnMgZGVmaW5pdGlvbnMgdHlwZSBzYWZlXG4gICAqIHtAZXhhbXBsZSA8a2VuZG8tZ3JpZC1jb2x1bW4gW2ZpZWxkXT1cInByb3BzLkZJRUxEX05BTUVcIj59XG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcHJvcHM6IGFueTsgLy9OT1NPTkFSXG4gIHB1YmxpYyBzdGF0ZTogU3RhdGUgPSB7XG4gICAgc2tpcDogMCxcbiAgICB0YWtlOiAxMCxcbiAgfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc29ydFNldHRpbmdzOiBTb3J0U2V0dGluZ3MgPSB7XG4gICAgYWxsb3dVbnNvcnQ6IHRydWUsXG4gICAgbW9kZTogJ211bHRpcGxlJyxcbiAgfTtcblxuICBwcml2YXRlIF9ncmlkRGF0YTogT0RhdGFSZXN1bHQ8TElTVEVEX0VOVElUWT4gfCBMSVNURURfRU5USVRZW10gPSBbXTtcbiAgcHVibGljIGdyaWREYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8XG4gICAgT0RhdGFSZXN1bHQ8TElTVEVEX0VOVElUWT4gfCBMSVNURURfRU5USVRZW11cbiAgPih7IGRhdGE6IFtdLCB0b3RhbDogMCB9KTtcbiAgcHVibGljIGdldCBncmlkRGF0YSgpOiBPRGF0YVJlc3VsdDxMSVNURURfRU5USVRZPiB8IExJU1RFRF9FTlRJVFlbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2dyaWREYXRhO1xuICB9XG4gIHB1YmxpYyBzZXQgZ3JpZERhdGEodmFsdWU6IE9EYXRhUmVzdWx0PExJU1RFRF9FTlRJVFk+IHwgTElTVEVEX0VOVElUWVtdKSB7XG4gICAgdGhpcy5fZ3JpZERhdGEgPSB2YWx1ZTtcbiAgICB0aGlzLmdyaWREYXRhJC5uZXh0KHZhbHVlKTtcbiAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiB8IG51bGwgPSBudWxsXG4gICkgeyB9XG5cbiAgcHVibGljIHJlYWRvbmx5IG1hcmtGb3JDaGVjayA9ICgpOiB2b2lkID0+XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZj8ubWFya0ZvckNoZWNrKCk7XG5cbiAgcHVibGljIGRhdGFTdGF0ZUNoYW5nZShzdGF0ZTogRGF0YVN0YXRlQ2hhbmdlRXZlbnQgfCBTdGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICB0aGlzLmdyaWREYXRhID0gcHJvY2Vzcyh0aGlzLl9kZXRhaWwsIHRoaXMuc3RhdGUpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBwdWJsaWMgcGFnZUNoYW5nZSh0OiBQYWdlQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICAvL1RoaXMgaXMgaW50ZW50aW9uYWxcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgcHVibGljIGZpbHRlckNoYW5nZSh0OiBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yKTogdm9pZCB7XG4gICAgLy9UaGlzIGlzIGludGVudGlvbmFsXG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHB1YmxpYyBzb3J0Q2hhbmdlKHQ6IFNvcnREZXNjcmlwdG9yW10pOiB2b2lkIHtcbiAgICAvL1RoaXMgaXMgaW50ZW50aW9uYWxcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmFsbFN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmVBbGwoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,84 @@
1
+ import { Directive, Input, } from '@angular/core';
2
+ import { GridComponent, } from '@progress/kendo-angular-grid';
3
+ import { Subscriptions } from 'imng-ngrx-utils';
4
+ import { hasHiddenColumns } from 'imng-kendo-grid';
5
+ import { KendoArrayBasedComponent } from './kendo-array-base-component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@progress/kendo-angular-grid";
8
+ export class ImngArrayGridDirective {
9
+ constructor(gridComponent) {
10
+ this.gridComponent = gridComponent;
11
+ this.allSubscriptions = new Subscriptions();
12
+ this.pageable = true;
13
+ }
14
+ ngOnInit() {
15
+ this.gridComponent.reorderable = true;
16
+ this.gridComponent.resizable = true;
17
+ this.gridComponent.filterable = 'menu';
18
+ this.gridComponent.sortable = {
19
+ allowUnsort: true,
20
+ mode: 'multiple',
21
+ };
22
+ this.gridComponent.navigable = true;
23
+ this.gridComponent.pageable = this.pageable || {
24
+ info: true,
25
+ type: 'numeric',
26
+ pageSizes: [5, 10, 20, 50, 100], //NOSONAR
27
+ };
28
+ this.allSubscriptions.push(this.gridComponent.dataStateChange.subscribe((t) => {
29
+ this.gridComponent.sort = t.sort || [];
30
+ this.gridComponent.pageSize = t.take;
31
+ this.gridComponent.skip = t.skip;
32
+ if (this.arrayComponent?.state) {
33
+ this.arrayComponent.state = t;
34
+ this.arrayComponent.dataStateChange(t);
35
+ this.arrayComponent.markForCheck();
36
+ }
37
+ }), this.gridComponent.pageChange.subscribe((t) => {
38
+ this.arrayComponent?.pageChange(t);
39
+ }), this.gridComponent.sortChange.subscribe((t) => {
40
+ this.arrayComponent?.sortChange(t);
41
+ }), this.gridComponent.filterChange.subscribe((t) => {
42
+ this.gridComponent.filter = t;
43
+ if (this.arrayComponent) {
44
+ this.arrayComponent.state.filter = t;
45
+ this.arrayComponent.markForCheck();
46
+ this.arrayComponent.filterChange(t);
47
+ }
48
+ }), this.arrayComponent?.gridData$.subscribe((t) => {
49
+ this.gridComponent.data = t;
50
+ }));
51
+ this.gridComponent.pageSize = this.arrayComponent?.state.take || 20; //NOSONAR
52
+ this.gridComponent.filter = this.arrayComponent?.state.filter || {
53
+ logic: 'and',
54
+ filters: [],
55
+ };
56
+ this.gridComponent.skip = this.arrayComponent?.state.skip || 0;
57
+ this.gridComponent.sort = this.arrayComponent?.state.sort || [];
58
+ this.gridComponent.data = this.arrayComponent?.gridData || [];
59
+ if (this.arrayComponent) {
60
+ this.arrayComponent.hasHiddenColumns$ =
61
+ this.gridComponent.columnVisibilityChange.pipe(hasHiddenColumns(this.gridComponent));
62
+ }
63
+ }
64
+ ngAfterViewInit() {
65
+ this.arrayComponent?.markForCheck();
66
+ }
67
+ ngOnDestroy() {
68
+ this.allSubscriptions.unsubscribeAll();
69
+ }
70
+ }
71
+ ImngArrayGridDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngArrayGridDirective, deps: [{ token: i1.GridComponent }], target: i0.ɵɵFactoryTarget.Directive });
72
+ ImngArrayGridDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: ImngArrayGridDirective, selector: "[imngArrayGrid]", inputs: { arrayComponent: ["imngArrayGrid", "arrayComponent"], pageable: "pageable" }, ngImport: i0 });
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngArrayGridDirective, decorators: [{
74
+ type: Directive,
75
+ args: [{
76
+ selector: '[imngArrayGrid]',
77
+ }]
78
+ }], ctorParameters: function () { return [{ type: i1.GridComponent }]; }, propDecorators: { arrayComponent: [{
79
+ type: Input,
80
+ args: ['imngArrayGrid']
81
+ }], pageable: [{
82
+ type: Input
83
+ }] } });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VuZG8tYXJyYXktZ3JpZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZ3JpZC1hcnJheS9zcmMvbGliL2tlbmRvLWFycmF5LWdyaWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxHQUlOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxhQUFhLEdBR2QsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQWdCLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBd0IsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBU3hFLE1BQU0sT0FBTyxzQkFBc0I7SUFRakMsWUFBNEIsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFOeEMscUJBQWdCLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUt2QyxhQUFRLEdBQTRCLElBQUksQ0FBQztJQUNHLENBQUM7SUFFN0QsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN0QyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHO1lBQzVCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSTtZQUM3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OUQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCO2dCQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FDNUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUNyQyxDQUFDO1NBQ0w7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxjQUFjLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDekMsQ0FBQzs7bUhBaEZVLHNCQUFzQjt1R0FBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7b0dBSWdDLGNBQWM7c0JBQTVDLEtBQUs7dUJBQUMsZUFBZTtnQkFJTixRQUFRO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIEFmdGVyVmlld0luaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgR3JpZENvbXBvbmVudCxcbiAgUGFnZUNoYW5nZUV2ZW50LFxuICBQYWdlclNldHRpbmdzLFxufSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1ncmlkJztcbmltcG9ydCB7IFN1YnNjcmliYWJsZSwgU3Vic2NyaXB0aW9ucyB9IGZyb20gJ2ltbmctbmdyeC11dGlscyc7XG5pbXBvcnQgeyBHcmlkU3RhdGVDaGFuZ2VFdmVudCwgaGFzSGlkZGVuQ29sdW1ucyB9IGZyb20gJ2ltbmcta2VuZG8tZ3JpZCc7XG5pbXBvcnQgeyBLZW5kb0FycmF5QmFzZWRDb21wb25lbnQgfSBmcm9tICcuL2tlbmRvLWFycmF5LWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7XG4gIENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3IsXG4gIFNvcnREZXNjcmlwdG9yLFxufSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tZGF0YS1xdWVyeSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tpbW5nQXJyYXlHcmlkXScsXG59KVxuZXhwb3J0IGNsYXNzIEltbmdBcnJheUdyaWREaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgU3Vic2NyaWJhYmxlIHtcbiAgcHVibGljIHJlYWRvbmx5IGFsbFN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9ucygpO1xuICBASW5wdXQoJ2ltbmdBcnJheUdyaWQnKSBwdWJsaWMgYXJyYXlDb21wb25lbnQ/OiBLZW5kb0FycmF5QmFzZWRDb21wb25lbnQ8XG4gICAgb2JqZWN0LFxuICAgIG9iamVjdFxuICA+O1xuICBASW5wdXQoKSBwdWJsaWMgcGFnZWFibGU6IGJvb2xlYW4gfCBQYWdlclNldHRpbmdzID0gdHJ1ZTtcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGdyaWRDb21wb25lbnQ6IEdyaWRDb21wb25lbnQpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ3JpZENvbXBvbmVudC5yZW9yZGVyYWJsZSA9IHRydWU7XG4gICAgdGhpcy5ncmlkQ29tcG9uZW50LnJlc2l6YWJsZSA9IHRydWU7XG4gICAgdGhpcy5ncmlkQ29tcG9uZW50LmZpbHRlcmFibGUgPSAnbWVudSc7XG4gICAgdGhpcy5ncmlkQ29tcG9uZW50LnNvcnRhYmxlID0ge1xuICAgICAgYWxsb3dVbnNvcnQ6IHRydWUsXG4gICAgICBtb2RlOiAnbXVsdGlwbGUnLFxuICAgIH07XG4gICAgdGhpcy5ncmlkQ29tcG9uZW50Lm5hdmlnYWJsZSA9IHRydWU7XG4gICAgdGhpcy5ncmlkQ29tcG9uZW50LnBhZ2VhYmxlID0gdGhpcy5wYWdlYWJsZSB8fCB7XG4gICAgICBpbmZvOiB0cnVlLFxuICAgICAgdHlwZTogJ251bWVyaWMnLFxuICAgICAgcGFnZVNpemVzOiBbNSwgMTAsIDIwLCA1MCwgMTAwXSwgLy9OT1NPTkFSXG4gICAgfTtcbiAgICB0aGlzLmFsbFN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuZ3JpZENvbXBvbmVudC5kYXRhU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKFxuICAgICAgICAodDogR3JpZFN0YXRlQ2hhbmdlRXZlbnQpID0+IHtcbiAgICAgICAgICB0aGlzLmdyaWRDb21wb25lbnQuc29ydCA9IHQuc29ydCB8fCBbXTtcbiAgICAgICAgICB0aGlzLmdyaWRDb21wb25lbnQucGFnZVNpemUgPSB0LnRha2U7XG4gICAgICAgICAgdGhpcy5ncmlkQ29tcG9uZW50LnNraXAgPSB0LnNraXA7XG4gICAgICAgICAgaWYgKHRoaXMuYXJyYXlDb21wb25lbnQ/LnN0YXRlKSB7XG4gICAgICAgICAgICB0aGlzLmFycmF5Q29tcG9uZW50LnN0YXRlID0gdDtcbiAgICAgICAgICAgIHRoaXMuYXJyYXlDb21wb25lbnQuZGF0YVN0YXRlQ2hhbmdlKHQpO1xuICAgICAgICAgICAgdGhpcy5hcnJheUNvbXBvbmVudC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICksXG4gICAgICB0aGlzLmdyaWRDb21wb25lbnQucGFnZUNoYW5nZS5zdWJzY3JpYmUoKHQ6IFBhZ2VDaGFuZ2VFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLmFycmF5Q29tcG9uZW50Py5wYWdlQ2hhbmdlKHQpO1xuICAgICAgfSksXG4gICAgICB0aGlzLmdyaWRDb21wb25lbnQuc29ydENoYW5nZS5zdWJzY3JpYmUoKHQ6IFNvcnREZXNjcmlwdG9yW10pID0+IHtcbiAgICAgICAgdGhpcy5hcnJheUNvbXBvbmVudD8uc29ydENoYW5nZSh0KTtcbiAgICAgIH0pLFxuICAgICAgdGhpcy5ncmlkQ29tcG9uZW50LmZpbHRlckNoYW5nZS5zdWJzY3JpYmUoXG4gICAgICAgICh0OiBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yKSA9PiB7XG4gICAgICAgICAgdGhpcy5ncmlkQ29tcG9uZW50LmZpbHRlciA9IHQ7XG4gICAgICAgICAgaWYgKHRoaXMuYXJyYXlDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuYXJyYXlDb21wb25lbnQuc3RhdGUuZmlsdGVyID0gdDtcbiAgICAgICAgICAgIHRoaXMuYXJyYXlDb21wb25lbnQubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB0aGlzLmFycmF5Q29tcG9uZW50LmZpbHRlckNoYW5nZSh0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICksXG4gICAgICB0aGlzLmFycmF5Q29tcG9uZW50Py5ncmlkRGF0YSQuc3Vic2NyaWJlKCh0KSA9PiB7XG4gICAgICAgIHRoaXMuZ3JpZENvbXBvbmVudC5kYXRhID0gdDtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuZ3JpZENvbXBvbmVudC5wYWdlU2l6ZSA9IHRoaXMuYXJyYXlDb21wb25lbnQ/LnN0YXRlLnRha2UgfHwgMjA7IC8vTk9TT05BUlxuICAgIHRoaXMuZ3JpZENvbXBvbmVudC5maWx0ZXIgPSB0aGlzLmFycmF5Q29tcG9uZW50Py5zdGF0ZS5maWx0ZXIgfHwge1xuICAgICAgbG9naWM6ICdhbmQnLFxuICAgICAgZmlsdGVyczogW10sXG4gICAgfTtcbiAgICB0aGlzLmdyaWRDb21wb25lbnQuc2tpcCA9IHRoaXMuYXJyYXlDb21wb25lbnQ/LnN0YXRlLnNraXAgfHwgMDtcbiAgICB0aGlzLmdyaWRDb21wb25lbnQuc29ydCA9IHRoaXMuYXJyYXlDb21wb25lbnQ/LnN0YXRlLnNvcnQgfHwgW107XG4gICAgdGhpcy5ncmlkQ29tcG9uZW50LmRhdGEgPSB0aGlzLmFycmF5Q29tcG9uZW50Py5ncmlkRGF0YSB8fCBbXTtcbiAgICBpZiAodGhpcy5hcnJheUNvbXBvbmVudCkge1xuICAgICAgdGhpcy5hcnJheUNvbXBvbmVudC5oYXNIaWRkZW5Db2x1bW5zJCA9XG4gICAgICAgIHRoaXMuZ3JpZENvbXBvbmVudC5jb2x1bW5WaXNpYmlsaXR5Q2hhbmdlLnBpcGUoXG4gICAgICAgICAgaGFzSGlkZGVuQ29sdW1ucyh0aGlzLmdyaWRDb21wb25lbnQpXG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYXJyYXlDb21wb25lbnQ/Lm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5hbGxTdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlQWxsKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,175 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, Input, NgModule, Component } from '@angular/core';
3
+ import { CommonModule } from '@angular/common';
4
+ import { Subscriptions } from 'imng-ngrx-utils';
5
+ import { hasHiddenColumns, ImngKendoGridModule } from 'imng-kendo-grid';
6
+ import * as i1 from '@progress/kendo-angular-grid';
7
+ import { GridModule } from '@progress/kendo-angular-grid';
8
+ import { process } from '@progress/kendo-data-query';
9
+ import { BehaviorSubject } from 'rxjs';
10
+
11
+ class ImngArrayGridDirective {
12
+ constructor(gridComponent) {
13
+ this.gridComponent = gridComponent;
14
+ this.allSubscriptions = new Subscriptions();
15
+ this.pageable = true;
16
+ }
17
+ ngOnInit() {
18
+ var _a, _b, _c, _d, _e, _f;
19
+ this.gridComponent.reorderable = true;
20
+ this.gridComponent.resizable = true;
21
+ this.gridComponent.filterable = 'menu';
22
+ this.gridComponent.sortable = {
23
+ allowUnsort: true,
24
+ mode: 'multiple',
25
+ };
26
+ this.gridComponent.navigable = true;
27
+ this.gridComponent.pageable = this.pageable || {
28
+ info: true,
29
+ type: 'numeric',
30
+ pageSizes: [5, 10, 20, 50, 100], //NOSONAR
31
+ };
32
+ this.allSubscriptions.push(this.gridComponent.dataStateChange.subscribe((t) => {
33
+ var _a;
34
+ this.gridComponent.sort = t.sort || [];
35
+ this.gridComponent.pageSize = t.take;
36
+ this.gridComponent.skip = t.skip;
37
+ if ((_a = this.arrayComponent) === null || _a === void 0 ? void 0 : _a.state) {
38
+ this.arrayComponent.state = t;
39
+ this.arrayComponent.dataStateChange(t);
40
+ this.arrayComponent.markForCheck();
41
+ }
42
+ }), this.gridComponent.pageChange.subscribe((t) => {
43
+ var _a;
44
+ (_a = this.arrayComponent) === null || _a === void 0 ? void 0 : _a.pageChange(t);
45
+ }), this.gridComponent.sortChange.subscribe((t) => {
46
+ var _a;
47
+ (_a = this.arrayComponent) === null || _a === void 0 ? void 0 : _a.sortChange(t);
48
+ }), this.gridComponent.filterChange.subscribe((t) => {
49
+ this.gridComponent.filter = t;
50
+ if (this.arrayComponent) {
51
+ this.arrayComponent.state.filter = t;
52
+ this.arrayComponent.markForCheck();
53
+ this.arrayComponent.filterChange(t);
54
+ }
55
+ }), (_a = this.arrayComponent) === null || _a === void 0 ? void 0 : _a.gridData$.subscribe((t) => {
56
+ this.gridComponent.data = t;
57
+ }));
58
+ this.gridComponent.pageSize = ((_b = this.arrayComponent) === null || _b === void 0 ? void 0 : _b.state.take) || 20; //NOSONAR
59
+ this.gridComponent.filter = ((_c = this.arrayComponent) === null || _c === void 0 ? void 0 : _c.state.filter) || {
60
+ logic: 'and',
61
+ filters: [],
62
+ };
63
+ this.gridComponent.skip = ((_d = this.arrayComponent) === null || _d === void 0 ? void 0 : _d.state.skip) || 0;
64
+ this.gridComponent.sort = ((_e = this.arrayComponent) === null || _e === void 0 ? void 0 : _e.state.sort) || [];
65
+ this.gridComponent.data = ((_f = this.arrayComponent) === null || _f === void 0 ? void 0 : _f.gridData) || [];
66
+ if (this.arrayComponent) {
67
+ this.arrayComponent.hasHiddenColumns$ =
68
+ this.gridComponent.columnVisibilityChange.pipe(hasHiddenColumns(this.gridComponent));
69
+ }
70
+ }
71
+ ngAfterViewInit() {
72
+ var _a;
73
+ (_a = this.arrayComponent) === null || _a === void 0 ? void 0 : _a.markForCheck();
74
+ }
75
+ ngOnDestroy() {
76
+ this.allSubscriptions.unsubscribeAll();
77
+ }
78
+ }
79
+ ImngArrayGridDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngArrayGridDirective, deps: [{ token: i1.GridComponent }], target: i0.ɵɵFactoryTarget.Directive });
80
+ ImngArrayGridDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: ImngArrayGridDirective, selector: "[imngArrayGrid]", inputs: { arrayComponent: ["imngArrayGrid", "arrayComponent"], pageable: "pageable" }, ngImport: i0 });
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngArrayGridDirective, decorators: [{
82
+ type: Directive,
83
+ args: [{
84
+ selector: '[imngArrayGrid]',
85
+ }]
86
+ }], ctorParameters: function () { return [{ type: i1.GridComponent }]; }, propDecorators: { arrayComponent: [{
87
+ type: Input,
88
+ args: ['imngArrayGrid']
89
+ }], pageable: [{
90
+ type: Input
91
+ }] } });
92
+
93
+ class ImngKendoGridArrayModule {
94
+ }
95
+ ImngKendoGridArrayModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngKendoGridArrayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
96
+ ImngKendoGridArrayModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngKendoGridArrayModule, declarations: [ImngArrayGridDirective], imports: [CommonModule, ImngKendoGridModule, GridModule], exports: [ImngArrayGridDirective] });
97
+ ImngKendoGridArrayModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngKendoGridArrayModule, imports: [[CommonModule, ImngKendoGridModule, GridModule]] });
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngKendoGridArrayModule, decorators: [{
99
+ type: NgModule,
100
+ args: [{
101
+ declarations: [ImngArrayGridDirective],
102
+ imports: [CommonModule, ImngKendoGridModule, GridModule],
103
+ exports: [ImngArrayGridDirective],
104
+ }]
105
+ }] });
106
+
107
+ // eslint-disable-next-line @angular-eslint/directive-class-suffix
108
+ class KendoArrayBasedComponent {
109
+ constructor(changeDetectorRef = null) {
110
+ this.changeDetectorRef = changeDetectorRef;
111
+ this.allSubscriptions = new Subscriptions();
112
+ this._detail = [];
113
+ this.state = {
114
+ skip: 0,
115
+ take: 10,
116
+ };
117
+ this.sortSettings = {
118
+ allowUnsort: true,
119
+ mode: 'multiple',
120
+ };
121
+ this._gridData = [];
122
+ this.gridData$ = new BehaviorSubject({ data: [], total: 0 });
123
+ this.markForCheck = () => { var _a; return (_a = this.changeDetectorRef) === null || _a === void 0 ? void 0 : _a.markForCheck(); };
124
+ }
125
+ set detail(value) {
126
+ var _a;
127
+ this._detail = value || [];
128
+ this.gridData = process(this._detail, this.state);
129
+ (_a = this.changeDetectorRef) === null || _a === void 0 ? void 0 : _a.markForCheck();
130
+ }
131
+ get gridData() {
132
+ return this._gridData;
133
+ }
134
+ set gridData(value) {
135
+ this._gridData = value;
136
+ this.gridData$.next(value);
137
+ this.markForCheck();
138
+ }
139
+ dataStateChange(state) {
140
+ this.state = state;
141
+ this.gridData = process(this._detail, this.state);
142
+ }
143
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
144
+ pageChange(t) {
145
+ //This is intentional
146
+ }
147
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
148
+ filterChange(t) {
149
+ //This is intentional
150
+ }
151
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
152
+ sortChange(t) {
153
+ //This is intentional
154
+ }
155
+ ngOnDestroy() {
156
+ this.allSubscriptions.unsubscribeAll();
157
+ }
158
+ }
159
+ KendoArrayBasedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: KendoArrayBasedComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
160
+ KendoArrayBasedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: KendoArrayBasedComponent, selector: "ng-component", inputs: { item: "item", detail: "detail" }, ngImport: i0, template: '', isInline: true });
161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: KendoArrayBasedComponent, decorators: [{
162
+ type: Component,
163
+ args: [{ template: '' }]
164
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { item: [{
165
+ type: Input
166
+ }], detail: [{
167
+ type: Input
168
+ }] } });
169
+
170
+ /**
171
+ * Generated bundle index. Do not edit.
172
+ */
173
+
174
+ export { ImngArrayGridDirective, ImngKendoGridArrayModule, KendoArrayBasedComponent };
175
+ //# sourceMappingURL=imng-kendo-grid-array.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imng-kendo-grid-array.mjs","sources":["../../../../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/lib/kendo-array-base-component.ts","../../../../libs/imng-kendo-grid-array/src/imng-kendo-grid-array.ts"],"sourcesContent":["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})\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","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, Subscriptions } from 'imng-ngrx-utils';\n\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\n@Component({ template: '' })\nexport abstract class KendoArrayBasedComponent<PARENT_ENTITY, LISTED_ENTITY>\n implements OnDestroy, Subscribable {\n public readonly allSubscriptions = new Subscriptions();\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\n ) { }\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 {\n //This is intentional\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public filterChange(t: CompositeFilterDescriptor): void {\n //This is intentional\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public sortChange(t: SortDescriptor[]): void {\n //This is intentional\n }\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":[],"mappings":"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"}
@@ -0,0 +1,169 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, Input, Directive, NgModule } from '@angular/core';
3
+ import { CommonModule } from '@angular/common';
4
+ import * as i1 from '@progress/kendo-angular-grid';
5
+ import { GridModule } from '@progress/kendo-angular-grid';
6
+ import { Subscriptions } from 'imng-ngrx-utils';
7
+ import { hasHiddenColumns, ImngKendoGridModule } from 'imng-kendo-grid';
8
+ import { process } from '@progress/kendo-data-query';
9
+ import { BehaviorSubject } from 'rxjs';
10
+
11
+ // eslint-disable-next-line @angular-eslint/directive-class-suffix
12
+ class KendoArrayBasedComponent {
13
+ constructor(changeDetectorRef = null) {
14
+ this.changeDetectorRef = changeDetectorRef;
15
+ this.allSubscriptions = new Subscriptions();
16
+ this._detail = [];
17
+ this.state = {
18
+ skip: 0,
19
+ take: 10,
20
+ };
21
+ this.sortSettings = {
22
+ allowUnsort: true,
23
+ mode: 'multiple',
24
+ };
25
+ this._gridData = [];
26
+ this.gridData$ = new BehaviorSubject({ data: [], total: 0 });
27
+ this.markForCheck = () => this.changeDetectorRef?.markForCheck();
28
+ }
29
+ set detail(value) {
30
+ this._detail = value || [];
31
+ this.gridData = process(this._detail, this.state);
32
+ this.changeDetectorRef?.markForCheck();
33
+ }
34
+ get gridData() {
35
+ return this._gridData;
36
+ }
37
+ set gridData(value) {
38
+ this._gridData = value;
39
+ this.gridData$.next(value);
40
+ this.markForCheck();
41
+ }
42
+ dataStateChange(state) {
43
+ this.state = state;
44
+ this.gridData = process(this._detail, this.state);
45
+ }
46
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
47
+ pageChange(t) {
48
+ //This is intentional
49
+ }
50
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
51
+ filterChange(t) {
52
+ //This is intentional
53
+ }
54
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
55
+ sortChange(t) {
56
+ //This is intentional
57
+ }
58
+ ngOnDestroy() {
59
+ this.allSubscriptions.unsubscribeAll();
60
+ }
61
+ }
62
+ KendoArrayBasedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: KendoArrayBasedComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
63
+ KendoArrayBasedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: KendoArrayBasedComponent, selector: "ng-component", inputs: { item: "item", detail: "detail" }, ngImport: i0, template: '', isInline: true });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: KendoArrayBasedComponent, decorators: [{
65
+ type: Component,
66
+ args: [{ template: '' }]
67
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { item: [{
68
+ type: Input
69
+ }], detail: [{
70
+ type: Input
71
+ }] } });
72
+
73
+ class ImngArrayGridDirective {
74
+ constructor(gridComponent) {
75
+ this.gridComponent = gridComponent;
76
+ this.allSubscriptions = new Subscriptions();
77
+ this.pageable = true;
78
+ }
79
+ ngOnInit() {
80
+ this.gridComponent.reorderable = true;
81
+ this.gridComponent.resizable = true;
82
+ this.gridComponent.filterable = 'menu';
83
+ this.gridComponent.sortable = {
84
+ allowUnsort: true,
85
+ mode: 'multiple',
86
+ };
87
+ this.gridComponent.navigable = true;
88
+ this.gridComponent.pageable = this.pageable || {
89
+ info: true,
90
+ type: 'numeric',
91
+ pageSizes: [5, 10, 20, 50, 100], //NOSONAR
92
+ };
93
+ this.allSubscriptions.push(this.gridComponent.dataStateChange.subscribe((t) => {
94
+ this.gridComponent.sort = t.sort || [];
95
+ this.gridComponent.pageSize = t.take;
96
+ this.gridComponent.skip = t.skip;
97
+ if (this.arrayComponent?.state) {
98
+ this.arrayComponent.state = t;
99
+ this.arrayComponent.dataStateChange(t);
100
+ this.arrayComponent.markForCheck();
101
+ }
102
+ }), this.gridComponent.pageChange.subscribe((t) => {
103
+ this.arrayComponent?.pageChange(t);
104
+ }), this.gridComponent.sortChange.subscribe((t) => {
105
+ this.arrayComponent?.sortChange(t);
106
+ }), this.gridComponent.filterChange.subscribe((t) => {
107
+ this.gridComponent.filter = t;
108
+ if (this.arrayComponent) {
109
+ this.arrayComponent.state.filter = t;
110
+ this.arrayComponent.markForCheck();
111
+ this.arrayComponent.filterChange(t);
112
+ }
113
+ }), this.arrayComponent?.gridData$.subscribe((t) => {
114
+ this.gridComponent.data = t;
115
+ }));
116
+ this.gridComponent.pageSize = this.arrayComponent?.state.take || 20; //NOSONAR
117
+ this.gridComponent.filter = this.arrayComponent?.state.filter || {
118
+ logic: 'and',
119
+ filters: [],
120
+ };
121
+ this.gridComponent.skip = this.arrayComponent?.state.skip || 0;
122
+ this.gridComponent.sort = this.arrayComponent?.state.sort || [];
123
+ this.gridComponent.data = this.arrayComponent?.gridData || [];
124
+ if (this.arrayComponent) {
125
+ this.arrayComponent.hasHiddenColumns$ =
126
+ this.gridComponent.columnVisibilityChange.pipe(hasHiddenColumns(this.gridComponent));
127
+ }
128
+ }
129
+ ngAfterViewInit() {
130
+ this.arrayComponent?.markForCheck();
131
+ }
132
+ ngOnDestroy() {
133
+ this.allSubscriptions.unsubscribeAll();
134
+ }
135
+ }
136
+ ImngArrayGridDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngArrayGridDirective, deps: [{ token: i1.GridComponent }], target: i0.ɵɵFactoryTarget.Directive });
137
+ ImngArrayGridDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: ImngArrayGridDirective, selector: "[imngArrayGrid]", inputs: { arrayComponent: ["imngArrayGrid", "arrayComponent"], pageable: "pageable" }, ngImport: i0 });
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngArrayGridDirective, decorators: [{
139
+ type: Directive,
140
+ args: [{
141
+ selector: '[imngArrayGrid]',
142
+ }]
143
+ }], ctorParameters: function () { return [{ type: i1.GridComponent }]; }, propDecorators: { arrayComponent: [{
144
+ type: Input,
145
+ args: ['imngArrayGrid']
146
+ }], pageable: [{
147
+ type: Input
148
+ }] } });
149
+
150
+ class ImngKendoGridArrayModule {
151
+ }
152
+ ImngKendoGridArrayModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngKendoGridArrayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
153
+ ImngKendoGridArrayModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngKendoGridArrayModule, declarations: [ImngArrayGridDirective], imports: [CommonModule, ImngKendoGridModule, GridModule], exports: [ImngArrayGridDirective] });
154
+ ImngKendoGridArrayModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngKendoGridArrayModule, imports: [[CommonModule, ImngKendoGridModule, GridModule]] });
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngKendoGridArrayModule, decorators: [{
156
+ type: NgModule,
157
+ args: [{
158
+ declarations: [ImngArrayGridDirective],
159
+ imports: [CommonModule, ImngKendoGridModule, GridModule],
160
+ exports: [ImngArrayGridDirective],
161
+ }]
162
+ }] });
163
+
164
+ /**
165
+ * Generated bundle index. Do not edit.
166
+ */
167
+
168
+ export { ImngArrayGridDirective, ImngKendoGridArrayModule, KendoArrayBasedComponent };
169
+ //# sourceMappingURL=imng-kendo-grid-array.mjs.map
@@ -0,0 +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, Subscriptions } from 'imng-ngrx-utils';\n\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\n@Component({ template: '' })\nexport abstract class KendoArrayBasedComponent<PARENT_ENTITY, LISTED_ENTITY>\n implements OnDestroy, Subscribable {\n public readonly allSubscriptions = new Subscriptions();\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\n ) { }\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 {\n //This is intentional\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public filterChange(t: CompositeFilterDescriptor): void {\n //This is intentional\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public sortChange(t: SortDescriptor[]): void {\n //This is intentional\n }\n\n public ngOnDestroy(): void {\n this.allSubscriptions.unsubscribeAll();\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})\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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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="imng-kendo-grid-array" />
5
+ export * from './index';
package/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export * from './lib/imng-kendo-grid-array.module';
2
+ export * from './lib/kendo-array-base-component';
3
+ export * from './lib/kendo-array-grid.directive';
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./kendo-array-grid.directive";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "imng-kendo-grid";
5
+ import * as i4 from "@progress/kendo-angular-grid";
6
+ export declare class ImngKendoGridArrayModule {
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<ImngKendoGridArrayModule, never>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ImngKendoGridArrayModule, [typeof i1.ImngArrayGridDirective], [typeof i2.CommonModule, typeof i3.ImngKendoGridModule, typeof i4.GridModule], [typeof i1.ImngArrayGridDirective]>;
9
+ static ɵinj: i0.ɵɵInjectorDeclaration<ImngKendoGridArrayModule>;
10
+ }
@@ -0,0 +1,38 @@
1
+ import { DataStateChangeEvent, SortSettings, PageChangeEvent } from '@progress/kendo-angular-grid';
2
+ import { ChangeDetectorRef, OnDestroy } from '@angular/core';
3
+ import { State, CompositeFilterDescriptor, SortDescriptor } from '@progress/kendo-data-query';
4
+ import { ODataResult } from 'imng-kendo-odata';
5
+ import { BehaviorSubject, Observable } from 'rxjs';
6
+ import { Subscribable, Subscriptions } from 'imng-ngrx-utils';
7
+ import * as i0 from "@angular/core";
8
+ export declare abstract class KendoArrayBasedComponent<PARENT_ENTITY, LISTED_ENTITY> implements OnDestroy, Subscribable {
9
+ readonly changeDetectorRef: ChangeDetectorRef | null;
10
+ readonly allSubscriptions: Subscriptions;
11
+ /**
12
+ * This will allow you to provide a visual indicator that some of the columns have been hidden.
13
+ */
14
+ hasHiddenColumns$: Observable<boolean> | undefined;
15
+ item?: PARENT_ENTITY;
16
+ private _detail;
17
+ set detail(value: LISTED_ENTITY[]);
18
+ /**
19
+ * A properties enum to make kendo grid columns definitions type safe
20
+ * {@example <kendo-grid-column [field]="props.FIELD_NAME">}
21
+ */
22
+ abstract readonly props: any;
23
+ state: State;
24
+ readonly sortSettings: SortSettings;
25
+ private _gridData;
26
+ gridData$: BehaviorSubject<LISTED_ENTITY[] | ODataResult<LISTED_ENTITY>>;
27
+ get gridData(): ODataResult<LISTED_ENTITY> | LISTED_ENTITY[];
28
+ set gridData(value: ODataResult<LISTED_ENTITY> | LISTED_ENTITY[]);
29
+ constructor(changeDetectorRef?: ChangeDetectorRef | null);
30
+ readonly markForCheck: () => void;
31
+ dataStateChange(state: DataStateChangeEvent | State): void;
32
+ pageChange(t: PageChangeEvent): void;
33
+ filterChange(t: CompositeFilterDescriptor): void;
34
+ sortChange(t: SortDescriptor[]): void;
35
+ ngOnDestroy(): void;
36
+ static ɵfac: i0.ɵɵFactoryDeclaration<KendoArrayBasedComponent<any, any>, never>;
37
+ static ɵcmp: i0.ɵɵComponentDeclaration<KendoArrayBasedComponent<any, any>, "ng-component", never, { "item": "item"; "detail": "detail"; }, {}, never, never>;
38
+ }
@@ -0,0 +1,17 @@
1
+ import { OnInit, OnDestroy, AfterViewInit } from '@angular/core';
2
+ import { GridComponent, PagerSettings } from '@progress/kendo-angular-grid';
3
+ import { Subscribable, Subscriptions } from 'imng-ngrx-utils';
4
+ import { KendoArrayBasedComponent } from './kendo-array-base-component';
5
+ import * as i0 from "@angular/core";
6
+ export declare class ImngArrayGridDirective implements OnInit, AfterViewInit, OnDestroy, Subscribable {
7
+ readonly gridComponent: GridComponent;
8
+ readonly allSubscriptions: Subscriptions;
9
+ arrayComponent?: KendoArrayBasedComponent<object, object>;
10
+ pageable: boolean | PagerSettings;
11
+ constructor(gridComponent: GridComponent);
12
+ ngOnInit(): void;
13
+ ngAfterViewInit(): void;
14
+ ngOnDestroy(): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<ImngArrayGridDirective, never>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ImngArrayGridDirective, "[imngArrayGrid]", never, { "arrayComponent": "imngArrayGrid"; "pageable": "pageable"; }, {}, never>;
17
+ }
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "imng-kendo-grid-array",
3
+ "version": "4.102.10",
4
+ "keywords": [
5
+ "Angular",
6
+ "NGRX",
7
+ "Kendo",
8
+ "DataGrid"
9
+ ],
10
+ "peerDependencies": {
11
+ "@angular/common": "^13.2.0",
12
+ "@angular/core": "^13.2.0",
13
+ "imng-kendo-grid": "4.102.10"
14
+ },
15
+ "dependencies": {
16
+ "tslib": "^2.3.0"
17
+ },
18
+ "license": "MIT",
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "https://github.com/ikemtz/AngularMonoRepo.git"
22
+ },
23
+ "icon": "https://avatars.githubusercontent.com/u/6444182?v=4",
24
+ "private": false,
25
+ "author": {
26
+ "name": "Isaac Martinez <@ikemtz>",
27
+ "url": "https://github.com/ikemtz"
28
+ },
29
+ "module": "fesm2015/imng-kendo-grid-array.mjs",
30
+ "es2020": "fesm2020/imng-kendo-grid-array.mjs",
31
+ "esm2020": "esm2020/imng-kendo-grid-array.mjs",
32
+ "fesm2020": "fesm2020/imng-kendo-grid-array.mjs",
33
+ "fesm2015": "fesm2015/imng-kendo-grid-array.mjs",
34
+ "typings": "imng-kendo-grid-array.d.ts",
35
+ "exports": {
36
+ "./package.json": {
37
+ "default": "./package.json"
38
+ },
39
+ ".": {
40
+ "types": "./imng-kendo-grid-array.d.ts",
41
+ "esm2020": "./esm2020/imng-kendo-grid-array.mjs",
42
+ "es2020": "./fesm2020/imng-kendo-grid-array.mjs",
43
+ "es2015": "./fesm2015/imng-kendo-grid-array.mjs",
44
+ "node": "./fesm2015/imng-kendo-grid-array.mjs",
45
+ "default": "./fesm2020/imng-kendo-grid-array.mjs"
46
+ }
47
+ },
48
+ "sideEffects": false
49
+ }