imng-kendo-grid-filtering 9.13.3 → 9.15.5

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.
@@ -3,11 +3,11 @@ import { inject, ChangeDetectorRef, ElementRef, Input, ChangeDetectionStrategy,
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1$1 from '@progress/kendo-angular-grid';
6
- import { FilterService, ColumnComponent, GridModule } from '@progress/kendo-angular-grid';
6
+ import { FilterService, ColumnComponent, KENDO_GRID } from '@progress/kendo-angular-grid';
7
7
  import { distinct, filterBy } from '@progress/kendo-data-query';
8
8
  import { Subscriptions } from 'imng-ngrx-utils';
9
9
 
10
- class MultiSelectFilterComponent {
10
+ class IMNG_KENDO_GRID_MULTISELECT_FILTER {
11
11
  constructor() {
12
12
  this.filterService = inject(FilterService);
13
13
  this.changeDetectorRef = inject(ChangeDetectorRef);
@@ -100,8 +100,8 @@ class MultiSelectFilterComponent {
100
100
  }
101
101
  this.changeDetectorRef.markForCheck();
102
102
  }
103
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: MultiSelectFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
104
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: MultiSelectFilterComponent, isStandalone: false, selector: "imng-multi-select-filter", inputs: { isPrimitive: "isPrimitive", odataState: "odataState", data: "data", textField: "textField", valueField: "valueField", field: "field", showTextFilter: "showTextFilter" }, ngImport: i0, template: `
103
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IMNG_KENDO_GRID_MULTISELECT_FILTER, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
104
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: IMNG_KENDO_GRID_MULTISELECT_FILTER, isStandalone: true, selector: "imng-multi-select-filter", inputs: { isPrimitive: "isPrimitive", odataState: "odataState", data: "data", textField: "textField", valueField: "valueField", field: "field", showTextFilter: "showTextFilter" }, ngImport: i0, template: `
105
105
  <ul>
106
106
  @if (showTextFilter) {
107
107
  <li>
@@ -127,11 +127,11 @@ class MultiSelectFilterComponent {
127
127
  </li>
128
128
  }
129
129
  </ul>
130
- `, isInline: true, styles: ["ul{list-style-type:none;height:200px;overflow-y:scroll;padding-left:0;padding-right:12px}ul>li{padding:8px 12px;border:1px solid rgba(0,0,0,.08);border-bottom:none}ul>li:last-of-type{border-bottom:1px solid rgba(0,0,0,.08)}.k-multiselect-checkbox{pointer-events:none}.k-checkbox{width:14px;height:15px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
130
+ `, isInline: true, styles: ["ul{list-style-type:none;height:200px;overflow-y:scroll;padding-left:0;padding-right:12px}ul>li{padding:8px 12px;border:1px solid rgba(0,0,0,.08);border-bottom:none}ul>li:last-of-type{border-bottom:1px solid rgba(0,0,0,.08)}.k-multiselect-checkbox{pointer-events:none}.k-checkbox{width:14px;height:15px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
131
131
  }
132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: MultiSelectFilterComponent, decorators: [{
132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IMNG_KENDO_GRID_MULTISELECT_FILTER, decorators: [{
133
133
  type: Component,
134
- args: [{ selector: 'imng-multi-select-filter', template: `
134
+ args: [{ selector: 'imng-multi-select-filter', imports: [CommonModule], template: `
135
135
  <ul>
136
136
  @if (showTextFilter) {
137
137
  <li>
@@ -157,7 +157,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
157
157
  </li>
158
158
  }
159
159
  </ul>
160
- `, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: ["ul{list-style-type:none;height:200px;overflow-y:scroll;padding-left:0;padding-right:12px}ul>li{padding:8px 12px;border:1px solid rgba(0,0,0,.08);border-bottom:none}ul>li:last-of-type{border-bottom:1px solid rgba(0,0,0,.08)}.k-multiselect-checkbox{pointer-events:none}.k-checkbox{width:14px;height:15px}\n"] }]
160
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["ul{list-style-type:none;height:200px;overflow-y:scroll;padding-left:0;padding-right:12px}ul>li{padding:8px 12px;border:1px solid rgba(0,0,0,.08);border-bottom:none}ul>li:last-of-type{border-bottom:1px solid rgba(0,0,0,.08)}.k-multiselect-checkbox{pointer-events:none}.k-checkbox{width:14px;height:15px}\n"] }]
161
161
  }], propDecorators: { isPrimitive: [{
162
162
  type: Input
163
163
  }], odataState: [{
@@ -182,15 +182,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
182
182
  </ng-template>
183
183
  <kendo-grid-column>
184
184
  */
185
- class UuidFilterComponent {
185
+ class IMNG_KENDO_GRID_UUID_FILTER {
186
186
  constructor() {
187
187
  this.filterService = inject(FilterService);
188
188
  this.column = inject(ColumnComponent);
189
189
  this.allSubscriptions = new Subscriptions();
190
190
  this.filter = null;
191
191
  }
192
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: UuidFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
193
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: UuidFilterComponent, isStandalone: false, selector: "imng-uuid-filter", inputs: { filter: "filter" }, ngImport: i0, template: `
192
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IMNG_KENDO_GRID_UUID_FILTER, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
193
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: IMNG_KENDO_GRID_UUID_FILTER, isStandalone: true, selector: "imng-uuid-filter", inputs: { filter: "filter" }, ngImport: i0, template: `
194
194
  <kendo-grid-string-filter-menu
195
195
  [column]="column"
196
196
  [filter]="filter"
@@ -199,12 +199,13 @@ class UuidFilterComponent {
199
199
  operator="eq">
200
200
  <kendo-filter-eq-operator />
201
201
  </kendo-grid-string-filter-menu>
202
- `, isInline: true, dependencies: [{ kind: "component", type: i1$1.EqualFilterOperatorComponent, selector: "kendo-filter-eq-operator" }, { kind: "component", type: i1$1.StringFilterMenuComponent, selector: "kendo-grid-string-filter-menu", inputs: ["column", "filter", "extra", "filterService", "placeholder", "extraPlaceholder", "menuTabbingService"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
202
+ `, isInline: true, dependencies: [{ kind: "component", type: i1$1.EqualFilterOperatorComponent, selector: "kendo-filter-eq-operator" }, { kind: "component", type: i1$1.StringFilterMenuComponent, selector: "kendo-grid-string-filter-menu", inputs: ["filter", "extra", "filterService", "placeholder", "extraPlaceholder", "menuTabbingService"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
203
203
  }
204
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: UuidFilterComponent, decorators: [{
204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IMNG_KENDO_GRID_UUID_FILTER, decorators: [{
205
205
  type: Component,
206
206
  args: [{
207
207
  selector: 'imng-uuid-filter',
208
+ imports: [KENDO_GRID],
208
209
  template: `
209
210
  <kendo-grid-string-filter-menu
210
211
  [column]="column"
@@ -216,7 +217,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
216
217
  </kendo-grid-string-filter-menu>
217
218
  `,
218
219
  changeDetection: ChangeDetectionStrategy.OnPush,
219
- standalone: false,
220
220
  }]
221
221
  }], ctorParameters: () => [], propDecorators: { filter: [{
222
222
  type: Input
@@ -224,19 +224,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
224
224
 
225
225
  class ImngKendoGridFilteringModule {
226
226
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ImngKendoGridFilteringModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
227
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: ImngKendoGridFilteringModule, declarations: [MultiSelectFilterComponent,
228
- UuidFilterComponent], imports: [CommonModule, GridModule], exports: [MultiSelectFilterComponent, UuidFilterComponent] }); }
229
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ImngKendoGridFilteringModule, imports: [CommonModule, GridModule] }); }
227
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: ImngKendoGridFilteringModule, imports: [CommonModule,
228
+ IMNG_KENDO_GRID_MULTISELECT_FILTER,
229
+ IMNG_KENDO_GRID_UUID_FILTER], exports: [IMNG_KENDO_GRID_MULTISELECT_FILTER, IMNG_KENDO_GRID_UUID_FILTER] }); }
230
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ImngKendoGridFilteringModule, imports: [CommonModule,
231
+ IMNG_KENDO_GRID_MULTISELECT_FILTER,
232
+ IMNG_KENDO_GRID_UUID_FILTER] }); }
230
233
  }
231
234
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ImngKendoGridFilteringModule, decorators: [{
232
235
  type: NgModule,
233
236
  args: [{
234
- imports: [CommonModule, GridModule],
235
- declarations: [
236
- MultiSelectFilterComponent,
237
- UuidFilterComponent
237
+ imports: [
238
+ CommonModule,
239
+ IMNG_KENDO_GRID_MULTISELECT_FILTER,
240
+ IMNG_KENDO_GRID_UUID_FILTER,
238
241
  ],
239
- exports: [MultiSelectFilterComponent, UuidFilterComponent]
242
+ exports: [IMNG_KENDO_GRID_MULTISELECT_FILTER, IMNG_KENDO_GRID_UUID_FILTER],
240
243
  }]
241
244
  }] });
242
245
 
@@ -244,5 +247,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
244
247
  * Generated bundle index. Do not edit.
245
248
  */
246
249
 
247
- export { ImngKendoGridFilteringModule, MultiSelectFilterComponent, UuidFilterComponent };
250
+ export { IMNG_KENDO_GRID_MULTISELECT_FILTER, IMNG_KENDO_GRID_UUID_FILTER, ImngKendoGridFilteringModule };
248
251
  //# sourceMappingURL=imng-kendo-grid-filtering.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"imng-kendo-grid-filtering.mjs","sources":["../../../../libs/imng-kendo-grid-filtering/src/lib/multi-select-filter/multi-select-filter.component.ts","../../../../libs/imng-kendo-grid-filtering/src/lib/uuid-filter/uuid-filter.component.ts","../../../../libs/imng-kendo-grid-filtering/src/lib/imng-kendo-grid-filtering.module.ts","../../../../libs/imng-kendo-grid-filtering/src/imng-kendo-grid-filtering.ts"],"sourcesContent":["import {\n Component,\n AfterViewInit,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n inject,\n ElementRef,\n} from '@angular/core';\nimport { FilterService } from '@progress/kendo-angular-grid';\nimport {\n CompositeFilterDescriptor,\n distinct,\n filterBy,\n FilterDescriptor,\n} from '@progress/kendo-data-query';\nimport { IdType } from 'imng-nrsrx-client-utils';\nimport { ODataState } from 'imng-kendo-odata';\n\n@Component({\n selector: 'imng-multi-select-filter',\n\n template: `\n <ul>\n @if (showTextFilter) {\n <li>\n <input class=\"k-textbox\" (input)=\"onInput($event)\" />\n </li>\n }\n @for (item of currentData; track item; let i = $index) {\n <li\n #itemElement\n (click)=\"onSelectionChange(valueAccessor(item), itemElement)\"\n [ngClass]=\"{ 'k-state-selected': isItemSelected(item) }\">\n <input\n type=\"checkbox\"\n id=\"chk-{{ valueAccessor(item) }}\"\n (focus)=\"onFocus(itemElement)\"\n class=\"k-checkbox\"\n [checked]=\"isItemSelected(item)\" />\n <label\n class=\"k-multiselect-checkbox k-checkbox-label\"\n for=\"chk-{{ valueAccessor(item) }}\">\n {{ textAccessor(item) }}\n </label>\n </li>\n }\n </ul>\n `,\n styles: [\n `\n ul {\n list-style-type: none;\n height: 200px;\n overflow-y: scroll;\n padding-left: 0;\n padding-right: 12px;\n }\n\n ul > li {\n padding: 8px 12px;\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-bottom: none;\n }\n\n ul > li:last-of-type {\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n }\n\n .k-multiselect-checkbox {\n pointer-events: none;\n }\n .k-checkbox {\n width: 14px;\n height: 15px;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MultiSelectFilterComponent implements AfterViewInit {\n readonly filterService = inject(FilterService);\n readonly changeDetectorRef = inject(ChangeDetectorRef);\n readonly elementRef = inject(ElementRef);\n @Input() public isPrimitive = false;\n @Input() public odataState: ODataState | null = {};\n @Input() public data: unknown[] = [];\n @Input() public textField: string | undefined = undefined;\n @Input() public valueField: string | undefined = undefined;\n @Input() public field = '';\n @Input() public showTextFilter = true;\n\n public currentData: unknown[] = [];\n public value: unknown[] = [];\n\n public textAccessor = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n dataItem: any, //NOSONAR\n ) =>\n this.isPrimitive || !this.textField ? dataItem : dataItem[this.textField];\n public valueAccessor = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n dataItem: any, //NOSONAR\n ) =>\n this.isPrimitive || !this.valueField ? dataItem : dataItem[this.valueField];\n\n public ngAfterViewInit() {\n const submitButton = this.elementRef.nativeElement.parentNode.querySelector(\n '.k-actions > button[type=\"submit\"]',\n );\n if (submitButton) {\n submitButton.style.display = 'none';\n }\n this.currentData = this.data;\n const tempValue = this.odataState?.filter?.filters.map(\n (f: CompositeFilterDescriptor | FilterDescriptor) =>\n (f as CompositeFilterDescriptor).filters\n .filter(\n (x: FilterDescriptor | CompositeFilterDescriptor) =>\n (x as FilterDescriptor).field === this.field,\n )\n .map(\n (x: FilterDescriptor | CompositeFilterDescriptor) =>\n (x as FilterDescriptor).value,\n ),\n );\n this.value = tempValue?.length ? tempValue?.flat() || [] : [];\n\n this.showTextFilter =\n this.showTextFilter &&\n typeof this.textAccessor(this.currentData[0]) === 'string';\n this.changeDetectorRef.markForCheck();\n }\n\n public isItemSelected(item: unknown) {\n return this.value.some((x) => x === this.valueAccessor(item));\n }\n\n public onSelectionChange(item: unknown, li: HTMLLIElement) {\n if (this.value.some((x) => x === item)) {\n this.value = this.value.filter((x) => x !== item);\n } else {\n this.value.push(item);\n }\n const currentFilter: CompositeFilterDescriptor = {\n logic: this.odataState?.filter?.logic ?? 'and',\n filters: this.odataState?.filter?.filters ?? [],\n };\n if (\n currentFilter.filters.some(\n (x: CompositeFilterDescriptor | FilterDescriptor) =>\n (x as CompositeFilterDescriptor).filters.some(\n (f: FilterDescriptor | CompositeFilterDescriptor) =>\n (f as FilterDescriptor).field === this.field,\n ),\n )\n ) {\n currentFilter.filters = currentFilter.filters.filter(\n (x: CompositeFilterDescriptor | FilterDescriptor) =>\n !(x as CompositeFilterDescriptor).filters.some(\n (f: FilterDescriptor | CompositeFilterDescriptor) =>\n (f as FilterDescriptor).field === this.field,\n ),\n );\n }\n if (this.value.length > 0) {\n currentFilter.filters = [\n ...currentFilter.filters,\n {\n logic: 'or',\n filters: this.value.map((value) => ({\n field: this.field,\n operator: 'eq',\n value,\n })),\n },\n ];\n }\n this.filterService.filter(currentFilter);\n\n this.onFocus(li);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public onInput(e: { target: { value: IdType } } | any): void {\n //NOSONAR\n this.currentData = distinct(\n [\n ...this.currentData.filter((dataItem: unknown) =>\n this.value.some((val) => val === this.valueAccessor(dataItem)),\n ),\n ...filterBy(this.data, {\n operator: 'contains',\n field: this.textField,\n value: e.target.value,\n }),\n ],\n this.textField,\n );\n this.changeDetectorRef.markForCheck();\n }\n\n public onFocus(li: HTMLLIElement): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const ul = li.parentNode as any; //NOSONAR\n const below =\n ul.scrollTop + ul.offsetHeight < li.offsetTop + li.offsetHeight;\n const above = li.offsetTop < ul.scrollTop;\n\n // Scroll to focused checkbox\n if (below || above) {\n ul.scrollTop = li.offsetTop;\n }\n this.changeDetectorRef.markForCheck();\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n Input,\n inject,\n} from '@angular/core';\nimport { ColumnComponent, FilterService } from '@progress/kendo-angular-grid';\nimport { CompositeFilterDescriptor } from '@progress/kendo-data-query';\nimport { Subscriptions } from 'imng-ngrx-utils';\n\n/**\n * How To Use:\n * <kendo-grid-column ...>\n * <ng-template kendoGridFilterMenuTemplate let-filter>\n <imng-uuid-filter [filter]=\"filter\"></imng-uuid-filter>\n </ng-template>\n <kendo-grid-column>\n */\n@Component({\n selector: 'imng-uuid-filter',\n template: `\n <kendo-grid-string-filter-menu\n [column]=\"column\"\n [filter]=\"filter\"\n [filterService]=\"filterService\"\n [extra]=\"false\"\n operator=\"eq\">\n <kendo-filter-eq-operator />\n </kendo-grid-string-filter-menu>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class UuidFilterComponent {\n filterService = inject<FilterService>(FilterService);\n column = inject<ColumnComponent>(ColumnComponent);\n\n /**\n * The current menu filter.\n * @type {CompositeFilterDescriptor}\n */\n @Input()\n filter: CompositeFilterDescriptor;\n\n public allSubscriptions = new Subscriptions();\n constructor() {\n this.filter = null as never;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MultiSelectFilterComponent } from './multi-select-filter/multi-select-filter.component';\nimport { GridModule } from '@progress/kendo-angular-grid';\nimport { UuidFilterComponent } from './uuid-filter/uuid-filter.component';\n\n@NgModule({\n imports: [CommonModule, GridModule],\n declarations: [\n MultiSelectFilterComponent,\n UuidFilterComponent\n ],\n exports: [MultiSelectFilterComponent, UuidFilterComponent]\n})\nexport class ImngKendoGridFilteringModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"imng-kendo-grid-filtering.mjs","sources":["../../../../libs/imng-kendo-grid-filtering/src/lib/multi-select-filter/multi-select-filter.component.ts","../../../../libs/imng-kendo-grid-filtering/src/lib/uuid-filter/uuid-filter.component.ts","../../../../libs/imng-kendo-grid-filtering/src/lib/imng-kendo-grid-filtering.module.ts","../../../../libs/imng-kendo-grid-filtering/src/imng-kendo-grid-filtering.ts"],"sourcesContent":["import {\n Component,\n AfterViewInit,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n inject,\n ElementRef,\n} from '@angular/core';\nimport { FilterService } from '@progress/kendo-angular-grid';\nimport {\n CompositeFilterDescriptor,\n distinct,\n filterBy,\n FilterDescriptor,\n} from '@progress/kendo-data-query';\nimport { IdType } from 'imng-nrsrx-client-utils';\nimport { ODataState } from 'imng-kendo-odata';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'imng-multi-select-filter',\n imports: [CommonModule],\n template: `\n <ul>\n @if (showTextFilter) {\n <li>\n <input class=\"k-textbox\" (input)=\"onInput($event)\" />\n </li>\n }\n @for (item of currentData; track item; let i = $index) {\n <li\n #itemElement\n (click)=\"onSelectionChange(valueAccessor(item), itemElement)\"\n [ngClass]=\"{ 'k-state-selected': isItemSelected(item) }\">\n <input\n type=\"checkbox\"\n id=\"chk-{{ valueAccessor(item) }}\"\n (focus)=\"onFocus(itemElement)\"\n class=\"k-checkbox\"\n [checked]=\"isItemSelected(item)\" />\n <label\n class=\"k-multiselect-checkbox k-checkbox-label\"\n for=\"chk-{{ valueAccessor(item) }}\">\n {{ textAccessor(item) }}\n </label>\n </li>\n }\n </ul>\n `,\n styles: [\n `\n ul {\n list-style-type: none;\n height: 200px;\n overflow-y: scroll;\n padding-left: 0;\n padding-right: 12px;\n }\n\n ul > li {\n padding: 8px 12px;\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-bottom: none;\n }\n\n ul > li:last-of-type {\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n }\n\n .k-multiselect-checkbox {\n pointer-events: none;\n }\n .k-checkbox {\n width: 14px;\n height: 15px;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IMNG_KENDO_GRID_MULTISELECT_FILTER implements AfterViewInit {\n readonly filterService = inject(FilterService);\n readonly changeDetectorRef = inject(ChangeDetectorRef);\n readonly elementRef = inject(ElementRef);\n @Input() public isPrimitive = false;\n @Input() public odataState: ODataState | null = {};\n @Input() public data: unknown[] = [];\n @Input() public textField: string | undefined = undefined;\n @Input() public valueField: string | undefined = undefined;\n @Input() public field = '';\n @Input() public showTextFilter = true;\n\n public currentData: unknown[] = [];\n public value: unknown[] = [];\n\n public textAccessor = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n dataItem: any, //NOSONAR\n ) =>\n this.isPrimitive || !this.textField ? dataItem : dataItem[this.textField];\n public valueAccessor = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n dataItem: any, //NOSONAR\n ) =>\n this.isPrimitive || !this.valueField ? dataItem : dataItem[this.valueField];\n\n public ngAfterViewInit() {\n const submitButton = this.elementRef.nativeElement.parentNode.querySelector(\n '.k-actions > button[type=\"submit\"]',\n );\n if (submitButton) {\n submitButton.style.display = 'none';\n }\n this.currentData = this.data;\n const tempValue = this.odataState?.filter?.filters.map(\n (f: CompositeFilterDescriptor | FilterDescriptor) =>\n (f as CompositeFilterDescriptor).filters\n .filter(\n (x: FilterDescriptor | CompositeFilterDescriptor) =>\n (x as FilterDescriptor).field === this.field,\n )\n .map(\n (x: FilterDescriptor | CompositeFilterDescriptor) =>\n (x as FilterDescriptor).value,\n ),\n );\n this.value = tempValue?.length ? tempValue?.flat() || [] : [];\n\n this.showTextFilter =\n this.showTextFilter &&\n typeof this.textAccessor(this.currentData[0]) === 'string';\n this.changeDetectorRef.markForCheck();\n }\n\n public isItemSelected(item: unknown) {\n return this.value.some((x) => x === this.valueAccessor(item));\n }\n\n public onSelectionChange(item: unknown, li: HTMLLIElement) {\n if (this.value.some((x) => x === item)) {\n this.value = this.value.filter((x) => x !== item);\n } else {\n this.value.push(item);\n }\n const currentFilter: CompositeFilterDescriptor = {\n logic: this.odataState?.filter?.logic ?? 'and',\n filters: this.odataState?.filter?.filters ?? [],\n };\n if (\n currentFilter.filters.some(\n (x: CompositeFilterDescriptor | FilterDescriptor) =>\n (x as CompositeFilterDescriptor).filters.some(\n (f: FilterDescriptor | CompositeFilterDescriptor) =>\n (f as FilterDescriptor).field === this.field,\n ),\n )\n ) {\n currentFilter.filters = currentFilter.filters.filter(\n (x: CompositeFilterDescriptor | FilterDescriptor) =>\n !(x as CompositeFilterDescriptor).filters.some(\n (f: FilterDescriptor | CompositeFilterDescriptor) =>\n (f as FilterDescriptor).field === this.field,\n ),\n );\n }\n if (this.value.length > 0) {\n currentFilter.filters = [\n ...currentFilter.filters,\n {\n logic: 'or',\n filters: this.value.map((value) => ({\n field: this.field,\n operator: 'eq',\n value,\n })),\n },\n ];\n }\n this.filterService.filter(currentFilter);\n\n this.onFocus(li);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public onInput(e: { target: { value: IdType } } | any): void {\n //NOSONAR\n this.currentData = distinct(\n [\n ...this.currentData.filter((dataItem: unknown) =>\n this.value.some((val) => val === this.valueAccessor(dataItem)),\n ),\n ...filterBy(this.data, {\n operator: 'contains',\n field: this.textField,\n value: e.target.value,\n }),\n ],\n this.textField,\n );\n this.changeDetectorRef.markForCheck();\n }\n\n public onFocus(li: HTMLLIElement): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const ul = li.parentNode as any; //NOSONAR\n const below =\n ul.scrollTop + ul.offsetHeight < li.offsetTop + li.offsetHeight;\n const above = li.offsetTop < ul.scrollTop;\n\n // Scroll to focused checkbox\n if (below || above) {\n ul.scrollTop = li.offsetTop;\n }\n this.changeDetectorRef.markForCheck();\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n Input,\n inject,\n} from '@angular/core';\nimport {\n ColumnComponent,\n FilterService,\n KENDO_GRID,\n} from '@progress/kendo-angular-grid';\nimport { CompositeFilterDescriptor } from '@progress/kendo-data-query';\nimport { Subscriptions } from 'imng-ngrx-utils';\n\n/**\n * How To Use:\n * <kendo-grid-column ...>\n * <ng-template kendoGridFilterMenuTemplate let-filter>\n <imng-uuid-filter [filter]=\"filter\"></imng-uuid-filter>\n </ng-template>\n <kendo-grid-column>\n */\n@Component({\n selector: 'imng-uuid-filter',\n imports: [KENDO_GRID],\n template: `\n <kendo-grid-string-filter-menu\n [column]=\"column\"\n [filter]=\"filter\"\n [filterService]=\"filterService\"\n [extra]=\"false\"\n operator=\"eq\">\n <kendo-filter-eq-operator />\n </kendo-grid-string-filter-menu>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IMNG_KENDO_GRID_UUID_FILTER {\n filterService = inject<FilterService>(FilterService);\n column = inject<ColumnComponent>(ColumnComponent);\n\n /**\n * The current menu filter.\n * @type {CompositeFilterDescriptor}\n */\n @Input()\n filter: CompositeFilterDescriptor;\n\n public allSubscriptions = new Subscriptions();\n constructor() {\n this.filter = null as never;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IMNG_KENDO_GRID_MULTISELECT_FILTER } from './multi-select-filter/multi-select-filter.component';\nimport { IMNG_KENDO_GRID_UUID_FILTER } from './uuid-filter/uuid-filter.component';\n\n@NgModule({\n imports: [\n CommonModule,\n IMNG_KENDO_GRID_MULTISELECT_FILTER,\n IMNG_KENDO_GRID_UUID_FILTER,\n ],\n exports: [IMNG_KENDO_GRID_MULTISELECT_FILTER, IMNG_KENDO_GRID_UUID_FILTER],\n})\nexport class ImngKendoGridFilteringModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "imng-kendo-grid-filtering",
3
- "version": "9.13.3",
3
+ "version": "9.15.5",
4
4
  "keywords": [
5
5
  "Angular",
6
6
  "NGRX",
@@ -1,14 +1,13 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { AfterViewInit, ChangeDetectorRef, ElementRef } from '@angular/core';
3
- import * as i4 from '@progress/kendo-angular-grid';
3
+ import * as i1 from '@angular/common';
4
4
  import { FilterService, ColumnComponent } from '@progress/kendo-angular-grid';
5
5
  import { IdType } from 'imng-nrsrx-client-utils';
6
6
  import { ODataState } from 'imng-kendo-odata';
7
7
  import { CompositeFilterDescriptor } from '@progress/kendo-data-query';
8
8
  import { Subscriptions } from 'imng-ngrx-utils';
9
- import * as i3 from '@angular/common';
10
9
 
11
- declare class MultiSelectFilterComponent implements AfterViewInit {
10
+ declare class IMNG_KENDO_GRID_MULTISELECT_FILTER implements AfterViewInit {
12
11
  readonly filterService: FilterService;
13
12
  readonly changeDetectorRef: ChangeDetectorRef;
14
13
  readonly elementRef: ElementRef<any>;
@@ -32,8 +31,8 @@ declare class MultiSelectFilterComponent implements AfterViewInit {
32
31
  };
33
32
  } | any): void;
34
33
  onFocus(li: HTMLLIElement): void;
35
- static ɵfac: i0.ɵɵFactoryDeclaration<MultiSelectFilterComponent, never>;
36
- static ɵcmp: i0.ɵɵComponentDeclaration<MultiSelectFilterComponent, "imng-multi-select-filter", never, { "isPrimitive": { "alias": "isPrimitive"; "required": false; }; "odataState": { "alias": "odataState"; "required": false; }; "data": { "alias": "data"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "field": { "alias": "field"; "required": false; }; "showTextFilter": { "alias": "showTextFilter"; "required": false; }; }, {}, never, never, false, never>;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<IMNG_KENDO_GRID_MULTISELECT_FILTER, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<IMNG_KENDO_GRID_MULTISELECT_FILTER, "imng-multi-select-filter", never, { "isPrimitive": { "alias": "isPrimitive"; "required": false; }; "odataState": { "alias": "odataState"; "required": false; }; "data": { "alias": "data"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "field": { "alias": "field"; "required": false; }; "showTextFilter": { "alias": "showTextFilter"; "required": false; }; }, {}, never, never, true, never>;
37
36
  }
38
37
 
39
38
  /**
@@ -44,7 +43,7 @@ declare class MultiSelectFilterComponent implements AfterViewInit {
44
43
  </ng-template>
45
44
  <kendo-grid-column>
46
45
  */
47
- declare class UuidFilterComponent {
46
+ declare class IMNG_KENDO_GRID_UUID_FILTER {
48
47
  filterService: FilterService;
49
48
  column: ColumnComponent;
50
49
  /**
@@ -54,14 +53,14 @@ declare class UuidFilterComponent {
54
53
  filter: CompositeFilterDescriptor;
55
54
  allSubscriptions: Subscriptions;
56
55
  constructor();
57
- static ɵfac: i0.ɵɵFactoryDeclaration<UuidFilterComponent, never>;
58
- static ɵcmp: i0.ɵɵComponentDeclaration<UuidFilterComponent, "imng-uuid-filter", never, { "filter": { "alias": "filter"; "required": false; }; }, {}, never, never, false, never>;
56
+ static ɵfac: i0.ɵɵFactoryDeclaration<IMNG_KENDO_GRID_UUID_FILTER, never>;
57
+ static ɵcmp: i0.ɵɵComponentDeclaration<IMNG_KENDO_GRID_UUID_FILTER, "imng-uuid-filter", never, { "filter": { "alias": "filter"; "required": false; }; }, {}, never, never, true, never>;
59
58
  }
60
59
 
61
60
  declare class ImngKendoGridFilteringModule {
62
61
  static ɵfac: i0.ɵɵFactoryDeclaration<ImngKendoGridFilteringModule, never>;
63
- static ɵmod: i0.ɵɵNgModuleDeclaration<ImngKendoGridFilteringModule, [typeof MultiSelectFilterComponent, typeof UuidFilterComponent], [typeof i3.CommonModule, typeof i4.GridModule], [typeof MultiSelectFilterComponent, typeof UuidFilterComponent]>;
62
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ImngKendoGridFilteringModule, never, [typeof i1.CommonModule, typeof IMNG_KENDO_GRID_MULTISELECT_FILTER, typeof IMNG_KENDO_GRID_UUID_FILTER], [typeof IMNG_KENDO_GRID_MULTISELECT_FILTER, typeof IMNG_KENDO_GRID_UUID_FILTER]>;
64
63
  static ɵinj: i0.ɵɵInjectorDeclaration<ImngKendoGridFilteringModule>;
65
64
  }
66
65
 
67
- export { ImngKendoGridFilteringModule, MultiSelectFilterComponent, UuidFilterComponent };
66
+ export { IMNG_KENDO_GRID_MULTISELECT_FILTER, IMNG_KENDO_GRID_UUID_FILTER, ImngKendoGridFilteringModule };