@recursyve/nice-data-filter-kit 15.1.1 → 15.2.0

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.
Files changed (26) hide show
  1. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.component.mjs +24 -1
  2. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/button/advanced-filters-button.component.mjs +5 -5
  3. package/esm2020/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.mjs +6 -7
  4. package/esm2020/lib/components/nice-filter-view/directives/mat-paginator.mjs +13 -24
  5. package/esm2020/lib/components/nice-filter-view/directives/mat-sort.mjs +15 -28
  6. package/esm2020/lib/components/nice-filter-view/nice-base-filter-view.component.mjs +43 -2
  7. package/esm2020/lib/components/nice-filter-view/nice-nested-filter-view.mjs +46 -0
  8. package/esm2020/lib/components/nice-filter-view/public-api.mjs +2 -1
  9. package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.service.mjs +29 -2
  10. package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.store.mjs +9 -1
  11. package/esm2020/lib/models/filter.model.mjs +1 -1
  12. package/fesm2015/recursyve-nice-data-filter-kit.mjs +264 -131
  13. package/fesm2015/recursyve-nice-data-filter-kit.mjs.map +1 -1
  14. package/fesm2020/recursyve-nice-data-filter-kit.mjs +262 -140
  15. package/fesm2020/recursyve-nice-data-filter-kit.mjs.map +1 -1
  16. package/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.component.d.ts +1 -0
  17. package/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.d.ts +1 -2
  18. package/lib/components/nice-filter-view/directives/mat-paginator.d.ts +4 -9
  19. package/lib/components/nice-filter-view/directives/mat-sort.d.ts +4 -9
  20. package/lib/components/nice-filter-view/nice-base-filter-view.component.d.ts +19 -0
  21. package/lib/components/nice-filter-view/nice-nested-filter-view.d.ts +23 -0
  22. package/lib/components/nice-filter-view/public-api.d.ts +1 -0
  23. package/lib/components/nice-filter-view/store/nice-filter-view.service.d.ts +4 -0
  24. package/lib/components/nice-filter-view/store/nice-filter-view.store.d.ts +1 -0
  25. package/lib/models/filter.model.d.ts +11 -11
  26. package/package.json +1 -1
@@ -1,10 +1,10 @@
1
1
  import { plainToInstance } from 'class-transformer';
2
- import { map, takeUntil, debounceTime, switchMap, distinctUntilChanged, withLatestFrom } from 'rxjs/operators';
2
+ import { map, takeUntil, debounceTime, switchMap, distinctUntilChanged, combineLatestWith } from 'rxjs/operators';
3
3
  import { HttpParams } from '@angular/common/http';
4
4
  import * as i5$1 from '@recursyve/nice-ui-kit.v2';
5
5
  import { isNullOrUndefined, ObjectUtils, FileUtils, ArrayUtils, ExportBottomSheetComponent, NiceLoadingSpinnerModule, NiceTypeaheadModule, NiceExportBottomSheetModule, NiceAsyncTypeaheadProvider, NICE_ASYNC_TYPEAHEAD_PROVIDER, NiceAsyncTypeaheadModule } from '@recursyve/nice-ui-kit.v2';
6
6
  import * as i0 from '@angular/core';
7
- import { Directive, Input, NgModule, Injectable, Inject, InjectionToken, Optional, Pipe, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Output, HostListener, forwardRef, TemplateRef, ContentChild, ContentChildren, QueryList, ViewChild } from '@angular/core';
7
+ import { Directive, Input, NgModule, Injectable, Inject, InjectionToken, Optional, Pipe, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Output, HostListener, forwardRef, TemplateRef, ContentChild, ContentChildren, inject, QueryList, ViewChild } from '@angular/core';
8
8
  import { Store, StoreConfig, Query, arrayAdd, arrayUpsert, arrayRemove, EntityStore, transaction, QueryEntity, EntityActions } from '@datorama/akita';
9
9
  import { combineLatest, Subject, firstValueFrom, of, lastValueFrom, startWith, tap, distinct, take } from 'rxjs';
10
10
  import { __decorate, __metadata } from 'tslib';
@@ -2789,6 +2789,14 @@ class NiceFilterViewStore extends EntityStore {
2789
2789
  setParameters(filterParameters) {
2790
2790
  this.update({ filterParameters });
2791
2791
  }
2792
+ patchParameters(filterParameters) {
2793
+ this.update(({ filterParameters: currentFilterParameters }) => ({
2794
+ filterParameters: {
2795
+ ...currentFilterParameters,
2796
+ ...filterParameters
2797
+ }
2798
+ }));
2799
+ }
2792
2800
  setResult(filterResult) {
2793
2801
  const { mode, resetResult, initialLoadCompleted } = this.getValue();
2794
2802
  if (mode === "accumulated") {
@@ -3129,6 +3137,9 @@ class NiceFilterViewService {
3129
3137
  this.filter();
3130
3138
  }
3131
3139
  }
3140
+ patchParameters(filterParameters) {
3141
+ this.store.patchParameters(filterParameters);
3142
+ }
3132
3143
  resetPaging() {
3133
3144
  const { filterParameters } = this.store.getValue();
3134
3145
  this.setParameters({
@@ -3148,6 +3159,30 @@ class NiceFilterViewService {
3148
3159
  this.filter();
3149
3160
  }
3150
3161
  }
3162
+ addBaseRule(rule, reload) {
3163
+ this.store.update(({ baseRules }) => ({
3164
+ baseRules: arrayAdd(baseRules ?? [], rule)
3165
+ }));
3166
+ if (reload) {
3167
+ this.filter();
3168
+ }
3169
+ }
3170
+ upsertBaseRules(rule, reload) {
3171
+ this.store.update(({ baseRules }) => ({
3172
+ baseRules: arrayUpsert(baseRules ?? [], rule.id, rule)
3173
+ }));
3174
+ if (reload) {
3175
+ this.filter();
3176
+ }
3177
+ }
3178
+ removeBaseRules(key, reload) {
3179
+ this.store.update(({ baseRules }) => ({
3180
+ baseRules: arrayRemove(baseRules ?? [], key)
3181
+ }));
3182
+ if (reload) {
3183
+ this.filter();
3184
+ }
3185
+ }
3151
3186
  setRules(rules) {
3152
3187
  if (!Array.isArray(rules)) {
3153
3188
  rules = [rules];
@@ -3478,7 +3513,7 @@ class NiceAdvancedFiltersButtonComponent {
3478
3513
  this.query = query;
3479
3514
  this.service = service;
3480
3515
  this.shouldShowAdvancedFilters$ = this.query.selectSubState("showAdvancedFilters");
3481
- this.hasParameters$ = this.query.selectFilterParameters().pipe(withLatestFrom(this.query.selectFilterConfig()), map(([parameter, config]) => !!parameter
3516
+ this.hasParameters$ = this.query.selectFilterParameters().pipe(combineLatestWith(this.query.selectFilterConfig()), map(([parameter, config]) => !!parameter
3482
3517
  .rules
3483
3518
  ?.filter((rule) => config.some((conf) => conf?.id === rule.rules[0]?.id))
3484
3519
  ?.length));
@@ -3493,10 +3528,10 @@ class NiceAdvancedFiltersButtonComponent {
3493
3528
  }
3494
3529
  }
3495
3530
  NiceAdvancedFiltersButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceAdvancedFiltersButtonComponent, deps: [{ token: ADVANCED_FILTER_ICONS, optional: true }, { token: NiceFilterViewQuery }, { token: NiceFilterViewService }], target: i0.ɵɵFactoryTarget.Component });
3496
- NiceAdvancedFiltersButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NiceAdvancedFiltersButtonComponent, selector: "nice-advanced-filters-button", ngImport: i0, template: "<div class=\"relative\">\n <ng-container *ngIf=\"(hasParameters$ | async) && (shouldShowAdvancedFilters$ | async) !== true\">\n <div class=\"absolute top-2 right-2 w-1 h-1 rounded bg-accent\"></div>\n\n <button mat-icon-button (click)=\"clickToggleShowAdvancedFilters()\">\n <mat-icon [svgIcon]=\"icons.queryBuilder.svgIcon\">{{ icons.queryBuilder.matIcon }}</mat-icon>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"shouldShowAdvancedFilters$ | async\">\n <button mat-icon-button (click)=\"clickToggleShowAdvancedFilters()\">\n <mat-icon [svgIcon]=\"icons.close.svgIcon\">{{ icons.close.matIcon }}</mat-icon>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"(hasParameters$ | async) !== true && (shouldShowAdvancedFilters$ | async) !== true\">\n <button mat-icon-button niceAdvancedFiltersTrigger (advancedFilterSelected)=\"onSelectedFilter($event)\">\n <mat-icon [svgIcon]=\"icons.queryBuilder.svgIcon\">{{ icons.queryBuilder.matIcon }}</mat-icon>\n </button>\n </ng-container>\n</div>\n", styles: ["nice-advanced-filters-button{width:40px;height:40px}\n"], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: AdvancedFiltersTriggerDirective, selector: "[niceAdvancedFiltersTrigger]", inputs: ["position"], outputs: ["advancedFilterSelected"], exportAs: ["niceAdvancedFiltersTrigger"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3531
+ NiceAdvancedFiltersButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NiceAdvancedFiltersButtonComponent, selector: "nice-advanced-filters-button", ngImport: i0, template: "<div class=\"relative\">\n <ng-container *ngIf=\"(hasParameters$ | async) && (shouldShowAdvancedFilters$ | async) !== true\">\n <div class=\"absolute top-1 right-1 w-2 h-2 z-10 rounded bg-accent\"></div>\n\n <button mat-icon-button (click)=\"clickToggleShowAdvancedFilters()\">\n <mat-icon [svgIcon]=\"icons.queryBuilder.svgIcon\">{{ icons.queryBuilder.matIcon }}</mat-icon>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"shouldShowAdvancedFilters$ | async\">\n <button mat-icon-button (click)=\"clickToggleShowAdvancedFilters()\">\n <mat-icon [svgIcon]=\"icons.close.svgIcon\">{{ icons.close.matIcon }}</mat-icon>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"(hasParameters$ | async) !== true && (shouldShowAdvancedFilters$ | async) !== true\">\n <button mat-icon-button niceAdvancedFiltersTrigger (advancedFilterSelected)=\"onSelectedFilter($event)\">\n <mat-icon [svgIcon]=\"icons.queryBuilder.svgIcon\">{{ icons.queryBuilder.matIcon }}</mat-icon>\n </button>\n </ng-container>\n</div>\n", styles: ["nice-advanced-filters-button{width:40px;height:40px}\n"], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: AdvancedFiltersTriggerDirective, selector: "[niceAdvancedFiltersTrigger]", inputs: ["position"], outputs: ["advancedFilterSelected"], exportAs: ["niceAdvancedFiltersTrigger"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3497
3532
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceAdvancedFiltersButtonComponent, decorators: [{
3498
3533
  type: Component,
3499
- args: [{ selector: "nice-advanced-filters-button", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"relative\">\n <ng-container *ngIf=\"(hasParameters$ | async) && (shouldShowAdvancedFilters$ | async) !== true\">\n <div class=\"absolute top-2 right-2 w-1 h-1 rounded bg-accent\"></div>\n\n <button mat-icon-button (click)=\"clickToggleShowAdvancedFilters()\">\n <mat-icon [svgIcon]=\"icons.queryBuilder.svgIcon\">{{ icons.queryBuilder.matIcon }}</mat-icon>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"shouldShowAdvancedFilters$ | async\">\n <button mat-icon-button (click)=\"clickToggleShowAdvancedFilters()\">\n <mat-icon [svgIcon]=\"icons.close.svgIcon\">{{ icons.close.matIcon }}</mat-icon>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"(hasParameters$ | async) !== true && (shouldShowAdvancedFilters$ | async) !== true\">\n <button mat-icon-button niceAdvancedFiltersTrigger (advancedFilterSelected)=\"onSelectedFilter($event)\">\n <mat-icon [svgIcon]=\"icons.queryBuilder.svgIcon\">{{ icons.queryBuilder.matIcon }}</mat-icon>\n </button>\n </ng-container>\n</div>\n", styles: ["nice-advanced-filters-button{width:40px;height:40px}\n"] }]
3534
+ args: [{ selector: "nice-advanced-filters-button", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"relative\">\n <ng-container *ngIf=\"(hasParameters$ | async) && (shouldShowAdvancedFilters$ | async) !== true\">\n <div class=\"absolute top-1 right-1 w-2 h-2 z-10 rounded bg-accent\"></div>\n\n <button mat-icon-button (click)=\"clickToggleShowAdvancedFilters()\">\n <mat-icon [svgIcon]=\"icons.queryBuilder.svgIcon\">{{ icons.queryBuilder.matIcon }}</mat-icon>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"shouldShowAdvancedFilters$ | async\">\n <button mat-icon-button (click)=\"clickToggleShowAdvancedFilters()\">\n <mat-icon [svgIcon]=\"icons.close.svgIcon\">{{ icons.close.matIcon }}</mat-icon>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"(hasParameters$ | async) !== true && (shouldShowAdvancedFilters$ | async) !== true\">\n <button mat-icon-button niceAdvancedFiltersTrigger (advancedFilterSelected)=\"onSelectedFilter($event)\">\n <mat-icon [svgIcon]=\"icons.queryBuilder.svgIcon\">{{ icons.queryBuilder.matIcon }}</mat-icon>\n </button>\n </ng-container>\n</div>\n", styles: ["nice-advanced-filters-button{width:40px;height:40px}\n"] }]
3500
3535
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
3501
3536
  type: Optional
3502
3537
  }, {
@@ -3897,6 +3932,7 @@ class NiceAdvancedFiltersComponent {
3897
3932
  }
3898
3933
  }
3899
3934
  onClose() {
3935
+ this.removeEmptyRules();
3900
3936
  this.service.updateSubState("showAdvancedFilters", false);
3901
3937
  }
3902
3938
  onRefresh() {
@@ -3904,6 +3940,28 @@ class NiceAdvancedFiltersComponent {
3904
3940
  this.service.resetResult(true);
3905
3941
  this.service.filter();
3906
3942
  }
3943
+ removeEmptyRules() {
3944
+ if (this.rulesFormArray.length !== 1) {
3945
+ return;
3946
+ }
3947
+ const values = this.rulesFormArray.get([0, "values"]).getRawValue();
3948
+ if (values.length !== 1) {
3949
+ return;
3950
+ }
3951
+ const value = values[0];
3952
+ if (value.value || value.value === false || value.secondValue || value.secondValue === true) {
3953
+ return;
3954
+ }
3955
+ this.rulesFormArray.removeAt(0);
3956
+ const { filterParameters } = this.query.getValue();
3957
+ if (!filterParameters.rules.length || !filterParameters.rules[0].rules.length) {
3958
+ return;
3959
+ }
3960
+ this.service.setRules([]);
3961
+ if (filterParameters.rules[0].rules[0].value) {
3962
+ this.service.filter();
3963
+ }
3964
+ }
3907
3965
  }
3908
3966
  NiceAdvancedFiltersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceAdvancedFiltersComponent, deps: [{ token: ADVANCED_FILTER_ICONS, optional: true }, { token: i1$3.GeneratedFormGroup }, { token: NiceFilterViewQuery }, { token: NiceFilterViewService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3909
3967
  NiceAdvancedFiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NiceAdvancedFiltersComponent, selector: "nice-advanced-filters", providers: [
@@ -4387,11 +4445,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
4387
4445
  }] }, { type: i2.ActivatedRoute }, { type: i2.Router }]; } });
4388
4446
 
4389
4447
  class NiceFilterExportButtonsComponent {
4390
- constructor(icons, exportsSettings, niceFilterViewQuery, niceFilterViewService, selectableListService, query, service, bottomSheet) {
4448
+ constructor(icons, exportsSettings, niceFilterViewQuery, selectableListService, query, service, bottomSheet) {
4391
4449
  this.icons = icons;
4392
4450
  this.exportsSettings = exportsSettings;
4393
4451
  this.niceFilterViewQuery = niceFilterViewQuery;
4394
- this.niceFilterViewService = niceFilterViewService;
4395
4452
  this.selectableListService = selectableListService;
4396
4453
  this.query = query;
4397
4454
  this.service = service;
@@ -4466,7 +4523,7 @@ class NiceFilterExportButtonsComponent {
4466
4523
  this.service.downloadData("pdf", this.downloadFileName, ids);
4467
4524
  }
4468
4525
  }
4469
- NiceFilterExportButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterExportButtonsComponent, deps: [{ token: FILTER_VIEW_ICONS }, { token: EXPORTS_SETTINGS }, { token: NiceFilterViewQuery }, { token: NiceFilterViewService }, { token: NiceSelectableListService }, { token: NiceFilterViewQuery }, { token: NiceFilterViewService }, { token: i4$1.MatBottomSheet }], target: i0.ɵɵFactoryTarget.Component });
4526
+ NiceFilterExportButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterExportButtonsComponent, deps: [{ token: FILTER_VIEW_ICONS }, { token: EXPORTS_SETTINGS }, { token: NiceFilterViewQuery }, { token: NiceSelectableListService }, { token: NiceFilterViewQuery }, { token: NiceFilterViewService }, { token: i4$1.MatBottomSheet }], target: i0.ɵɵFactoryTarget.Component });
4470
4527
  NiceFilterExportButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NiceFilterExportButtonsComponent, selector: "nice-filter-export-buttons, div[nice-filter-export-buttons]", inputs: { customExport: "customExport", downloadFileName: "downloadFileName", canPrint: "canPrint" }, ngImport: i0, template: "<button\n *ngIf=\"canPrint\"\n (click)=\"clickPrint()\"\n [disabled]=\"loading$ | async\"\n [matTooltip]=\"'general.print' | translate\"\n class=\"export-button\"\n mat-mini-fab\n>\n <mat-icon [svgIcon]=\"icons.print.svgIcon\">{{ icons.print.matIcon }}</mat-icon>\n</button>\n\n<button\n (click)=\"clickExport()\"\n [disabled]=\"loading$ | async\"\n [matTooltip]=\"'general.export' | translate\"\n class=\"export-button\"\n mat-mini-fab\n>\n <mat-icon [svgIcon]=\"icons.download.svgIcon\">{{ icons.download.matIcon }}</mat-icon>\n</button>\n", styles: [""], dependencies: [{ kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i8.MatMiniFabButton, selector: "button[mat-mini-fab]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
4471
4528
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterExportButtonsComponent, decorators: [{
4472
4529
  type: Component,
@@ -4477,7 +4534,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
4477
4534
  }] }, { type: undefined, decorators: [{
4478
4535
  type: Inject,
4479
4536
  args: [EXPORTS_SETTINGS]
4480
- }] }, { type: NiceFilterViewQuery }, { type: NiceFilterViewService }, { type: NiceSelectableListService }, { type: NiceFilterViewQuery }, { type: NiceFilterViewService }, { type: i4$1.MatBottomSheet }]; }, propDecorators: { customExport: [{
4537
+ }] }, { type: NiceFilterViewQuery }, { type: NiceSelectableListService }, { type: NiceFilterViewQuery }, { type: NiceFilterViewService }, { type: i4$1.MatBottomSheet }]; }, propDecorators: { customExport: [{
4481
4538
  type: Input
4482
4539
  }], downloadFileName: [{
4483
4540
  type: Input
@@ -4583,113 +4640,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
4583
4640
  type: Input
4584
4641
  }] } });
4585
4642
 
4586
- class NiceFilterMatPaginatorPaginationDirective {
4587
- constructor(query, service, paginator) {
4588
- this.query = query;
4589
- this.service = service;
4590
- this.paginator = paginator;
4591
- this.unsubscribeAll$ = new Subject();
4592
- }
4593
- ngOnInit() {
4594
- this.query.selectFilterResult().pipe(takeUntil(this.unsubscribeAll$)).subscribe((res) => {
4595
- if (!res) {
4596
- return;
4597
- }
4598
- const { page, total } = res;
4599
- this.paginator.pageIndex = page.number;
4600
- this.paginator.pageSize = page.size;
4601
- this.paginator.length = total;
4602
- });
4603
- this.paginator.page.pipe(takeUntil(this.unsubscribeAll$)).subscribe((page) => {
4604
- const { filterParameters } = this.query.getValue();
4605
- this.service.setParameters({
4606
- ...filterParameters,
4607
- start: page.pageIndex * page.pageSize,
4608
- length: page.pageSize
4609
- });
4610
- this.service.filter();
4611
- });
4612
- }
4613
- ngOnDestroy() {
4614
- this.unsubscribeAll$.next();
4615
- this.unsubscribeAll$.complete();
4616
- }
4617
- }
4618
- NiceFilterMatPaginatorPaginationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterMatPaginatorPaginationDirective, deps: [{ token: NiceFilterViewQuery }, { token: NiceFilterViewService }, { token: i12.MatPaginator }], target: i0.ɵɵFactoryTarget.Directive });
4619
- NiceFilterMatPaginatorPaginationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NiceFilterMatPaginatorPaginationDirective, selector: "mat-paginator[niceFilterPagination]", ngImport: i0 });
4620
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterMatPaginatorPaginationDirective, decorators: [{
4621
- type: Directive,
4622
- args: [{ selector: "mat-paginator[niceFilterPagination]" }]
4623
- }], ctorParameters: function () { return [{ type: NiceFilterViewQuery }, { type: NiceFilterViewService }, { type: i12.MatPaginator }]; } });
4624
-
4625
- class NiceFilterMatSortSortingDirective {
4626
- constructor(query, service, sort) {
4627
- this.query = query;
4628
- this.service = service;
4629
- this.sort = sort;
4630
- this.unsubscribeAll$ = new Subject();
4631
- }
4632
- ngOnInit() {
4633
- this.query.selectFilterParameters().pipe(takeUntil(this.unsubscribeAll$)).subscribe((res) => {
4634
- if (!res) {
4635
- return;
4636
- }
4637
- const { order } = res;
4638
- if (!order) {
4639
- return;
4640
- }
4641
- this.sort.direction = order.direction;
4642
- this.sort.active = order.column;
4643
- });
4644
- this.sort.sortChange.pipe(takeUntil(this.unsubscribeAll$)).subscribe((sort) => {
4645
- const { filterParameters } = this.query.getValue();
4646
- if (!sort.direction) {
4647
- const { order, ...values } = filterParameters;
4648
- this.service.setParameters({
4649
- ...values,
4650
- order: {}
4651
- });
4652
- }
4653
- else {
4654
- this.service.setParameters({
4655
- ...filterParameters,
4656
- order: {
4657
- column: sort.active,
4658
- direction: sort.direction
4659
- }
4660
- });
4661
- }
4662
- this.service.filter();
4663
- });
4664
- }
4665
- ngOnDestroy() {
4666
- this.unsubscribeAll$.next();
4667
- this.unsubscribeAll$.complete();
4668
- }
4669
- }
4670
- NiceFilterMatSortSortingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterMatSortSortingDirective, deps: [{ token: NiceFilterViewQuery }, { token: NiceFilterViewService }, { token: i14.MatSort }], target: i0.ɵɵFactoryTarget.Directive });
4671
- NiceFilterMatSortSortingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NiceFilterMatSortSortingDirective, selector: "mat-table[matSort][niceFilterSorting]", ngImport: i0 });
4672
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterMatSortSortingDirective, decorators: [{
4673
- type: Directive,
4674
- args: [{ selector: "mat-table[matSort][niceFilterSorting]" }]
4675
- }], ctorParameters: function () { return [{ type: NiceFilterViewQuery }, { type: NiceFilterViewService }, { type: i14.MatSort }]; } });
4676
-
4677
- class NiceFilterMatTableViewDirective {
4678
- constructor(query, table) {
4679
- this.query = query;
4680
- this.table = table;
4681
- }
4682
- ngOnInit() {
4683
- this.table.dataSource = this.query.selectAll();
4684
- }
4685
- }
4686
- NiceFilterMatTableViewDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterMatTableViewDirective, deps: [{ token: NiceFilterViewQuery }, { token: i13.MatTable }], target: i0.ɵɵFactoryTarget.Directive });
4687
- NiceFilterMatTableViewDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NiceFilterMatTableViewDirective, selector: "mat-table[niceFilterDataView]", ngImport: i0 });
4688
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterMatTableViewDirective, decorators: [{
4689
- type: Directive,
4690
- args: [{ selector: "mat-table[niceFilterDataView]" }]
4691
- }], ctorParameters: function () { return [{ type: NiceFilterViewQuery }, { type: i13.MatTable }]; } });
4692
-
4693
4643
  class NiceFilterQueryParamsDirective {
4694
4644
  get initialized() {
4695
4645
  return this._initialized;
@@ -4769,33 +4719,136 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
4769
4719
  type: Output
4770
4720
  }] } });
4771
4721
 
4772
- class NiceFilterViewComponent {
4773
- constructor(service) {
4774
- this.service = service;
4775
- this.queryParams = {};
4722
+ class NiceNestedFilterView {
4723
+ constructor() {
4724
+ this._afterQueryParamHooks = new Set();
4725
+ this.unsubscribeAll$ = new Subject();
4726
+ this.filterViewService = inject(NiceFilterViewService);
4727
+ this.filterViewQuery = inject(NiceFilterViewQuery);
4728
+ this.queryParams = inject(NiceFilterQueryParamsDirective, { optional: true });
4776
4729
  }
4777
- ngOnChanges(changes) {
4778
- if ("queryParams" in changes) {
4779
- this.service.setQueryParams(this.queryParams);
4730
+ ngOnInit() {
4731
+ this.filterViewLoading$ = this.filterViewQuery.selectLoading();
4732
+ this.filterViewCount$ = this.filterViewQuery.selectCount();
4733
+ if (!this.queryParams || this.queryParams?.initialized) {
4734
+ this.onInit();
4735
+ return;
4736
+ }
4737
+ this.queryParams.init.pipe(take(1)).subscribe(() => this.onInit());
4738
+ }
4739
+ ngOnDestroy() {
4740
+ this.unsubscribeAll$.next();
4741
+ this.unsubscribeAll$.complete();
4742
+ }
4743
+ afterInit(fn) {
4744
+ if (!this.queryParams || this.queryParams?.initialized) {
4745
+ fn.bind(this)();
4746
+ return;
4747
+ }
4748
+ this._afterQueryParamHooks.add(fn);
4749
+ }
4750
+ onInit() {
4751
+ for (const hook of this._afterQueryParamHooks) {
4752
+ hook.bind(this)();
4780
4753
  }
4781
4754
  }
4782
4755
  }
4783
- NiceFilterViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterViewComponent, deps: [{ token: NiceFilterViewService }], target: i0.ɵɵFactoryTarget.Component });
4784
- NiceFilterViewComponentcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NiceFilterViewComponent, selector: "nice-filter-view", inputs: { queryParams: "queryParams" }, providers: [
4785
- NiceFilterViewQuery,
4786
- NiceFilterViewService,
4787
- NiceFilterViewStore
4788
- ], usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], encapsulation: i0.ViewEncapsulation.None });
4789
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterViewComponent, decorators: [{
4790
- type: Component,
4791
- args: [{ selector: "nice-filter-view", encapsulation: ViewEncapsulation.None, providers: [
4792
- NiceFilterViewQuery,
4793
- NiceFilterViewService,
4794
- NiceFilterViewStore
4795
- ], template: "<ng-content></ng-content>\n" }]
4796
- }], ctorParameters: function () { return [{ type: NiceFilterViewService }]; }, propDecorators: { queryParams: [{
4797
- type: Input
4798
- }] } });
4756
+ NiceNestedFilterView.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceNestedFilterView, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4757
+ NiceNestedFilterViewdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NiceNestedFilterView, ngImport: i0 });
4758
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceNestedFilterView, decorators: [{
4759
+ type: Directive
4760
+ }] });
4761
+
4762
+ class NiceFilterMatPaginatorPaginationDirective extends NiceNestedFilterView {
4763
+ constructor(paginator) {
4764
+ super();
4765
+ this.paginator = paginator;
4766
+ }
4767
+ ngOnInit() {
4768
+ super.ngOnInit();
4769
+ this.filterViewQuery.selectFilterResult().pipe(takeUntil(this.unsubscribeAll$)).subscribe((res) => {
4770
+ if (!res) {
4771
+ return;
4772
+ }
4773
+ const { page, total } = res;
4774
+ this.paginator.pageIndex = page.number;
4775
+ this.paginator.pageSize = page.size;
4776
+ this.paginator.length = total;
4777
+ });
4778
+ this.paginator.page.pipe(takeUntil(this.unsubscribeAll$)).subscribe((page) => {
4779
+ this.filterViewService.patchParameters({
4780
+ start: page.pageIndex * page.pageSize,
4781
+ length: page.pageSize
4782
+ });
4783
+ this.filterViewService.filter();
4784
+ });
4785
+ }
4786
+ }
4787
+ NiceFilterMatPaginatorPaginationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterMatPaginatorPaginationDirective, deps: [{ token: i12.MatPaginator }], target: i0.ɵɵFactoryTarget.Directive });
4788
+ NiceFilterMatPaginatorPaginationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NiceFilterMatPaginatorPaginationDirective, selector: "mat-paginator[niceFilterPagination]", usesInheritance: true, ngImport: i0 });
4789
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterMatPaginatorPaginationDirective, decorators: [{
4790
+ type: Directive,
4791
+ args: [{ selector: "mat-paginator[niceFilterPagination]" }]
4792
+ }], ctorParameters: function () { return [{ type: i12.MatPaginator }]; } });
4793
+
4794
+ class NiceFilterMatSortSortingDirective extends NiceNestedFilterView {
4795
+ constructor(sort) {
4796
+ super();
4797
+ this.sort = sort;
4798
+ }
4799
+ ngOnInit() {
4800
+ super.ngOnInit();
4801
+ this.filterViewQuery.selectFilterParameters().pipe(takeUntil(this.unsubscribeAll$)).subscribe((res) => {
4802
+ if (!res) {
4803
+ return;
4804
+ }
4805
+ const { order } = res;
4806
+ if (!order) {
4807
+ return;
4808
+ }
4809
+ this.sort.direction = order.direction;
4810
+ this.sort.active = order.column;
4811
+ });
4812
+ this.sort.sortChange.pipe(takeUntil(this.unsubscribeAll$)).subscribe((sort) => {
4813
+ if (!sort.direction) {
4814
+ this.filterViewService.patchParameters({
4815
+ order: null
4816
+ });
4817
+ }
4818
+ else {
4819
+ this.filterViewService.patchParameters({
4820
+ order: {
4821
+ column: sort.active,
4822
+ direction: sort.direction
4823
+ }
4824
+ });
4825
+ }
4826
+ this.filterViewService.filter();
4827
+ });
4828
+ }
4829
+ }
4830
+ NiceFilterMatSortSortingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterMatSortSortingDirective, deps: [{ token: i14.MatSort }], target: i0.ɵɵFactoryTarget.Directive });
4831
+ NiceFilterMatSortSortingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NiceFilterMatSortSortingDirective, selector: "mat-table[matSort][niceFilterSorting]", usesInheritance: true, ngImport: i0 });
4832
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterMatSortSortingDirective, decorators: [{
4833
+ type: Directive,
4834
+ args: [{ selector: "mat-table[matSort][niceFilterSorting]" }]
4835
+ }], ctorParameters: function () { return [{ type: i14.MatSort }]; } });
4836
+
4837
+ class NiceFilterMatTableViewDirective {
4838
+ constructor(query, table) {
4839
+ this.query = query;
4840
+ this.table = table;
4841
+ }
4842
+ ngOnInit() {
4843
+ this.table.dataSource = this.query.selectAll();
4844
+ }
4845
+ }
4846
+ NiceFilterMatTableViewDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterMatTableViewDirective, deps: [{ token: NiceFilterViewQuery }, { token: i13.MatTable }], target: i0.ɵɵFactoryTarget.Directive });
4847
+ NiceFilterMatTableViewDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NiceFilterMatTableViewDirective, selector: "mat-table[niceFilterDataView]", ngImport: i0 });
4848
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterMatTableViewDirective, decorators: [{
4849
+ type: Directive,
4850
+ args: [{ selector: "mat-table[niceFilterDataView]" }]
4851
+ }], ctorParameters: function () { return [{ type: NiceFilterViewQuery }, { type: i13.MatTable }]; } });
4799
4852
 
4800
4853
  class NiceSelectableListContentService {
4801
4854
  constructor() {
@@ -5039,7 +5092,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
5039
5092
  args: [NiceSelectableListCheckboxDirective, { descendants: true }]
5040
5093
  }] } });
5041
5094
 
5095
+ class NiceFilterViewComponent {
5096
+ constructor(service) {
5097
+ this.service = service;
5098
+ this.queryParams = {};
5099
+ }
5100
+ ngOnChanges(changes) {
5101
+ if ("queryParams" in changes) {
5102
+ this.service.setQueryParams(this.queryParams);
5103
+ }
5104
+ }
5105
+ }
5106
+ NiceFilterViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterViewComponent, deps: [{ token: NiceFilterViewService }], target: i0.ɵɵFactoryTarget.Component });
5107
+ NiceFilterViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NiceFilterViewComponent, selector: "nice-filter-view", inputs: { queryParams: "queryParams" }, providers: [
5108
+ NiceFilterViewQuery,
5109
+ NiceFilterViewService,
5110
+ NiceFilterViewStore
5111
+ ], usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], encapsulation: i0.ViewEncapsulation.None });
5112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterViewComponent, decorators: [{
5113
+ type: Component,
5114
+ args: [{ selector: "nice-filter-view", encapsulation: ViewEncapsulation.None, providers: [
5115
+ NiceFilterViewQuery,
5116
+ NiceFilterViewService,
5117
+ NiceFilterViewStore
5118
+ ], template: "<ng-content></ng-content>\n" }]
5119
+ }], ctorParameters: function () { return [{ type: NiceFilterViewService }]; }, propDecorators: { queryParams: [{
5120
+ type: Input
5121
+ }] } });
5122
+
5042
5123
  class NiceBaseFilterViewComponent {
5124
+ constructor() {
5125
+ this._afterQueryParamHooks = new Set();
5126
+ }
5043
5127
  ngOnInit(autoLoad = true, { mode, loadConfig, configQueryParams } = {}) {
5044
5128
  if (mode) {
5045
5129
  this.filterViewService.setMode(mode);
@@ -5051,6 +5135,11 @@ class NiceBaseFilterViewComponent {
5051
5135
  if (this.selectableListDirective) {
5052
5136
  this.filterViewService.updateSubState("selectable", { stateName: this.selectableListDirective.state });
5053
5137
  }
5138
+ if (!this.queryParams || this.queryParams?.initialized) {
5139
+ this.onInit();
5140
+ return;
5141
+ }
5142
+ this.queryParams.init.pipe(take(1)).subscribe(() => this.onInit());
5054
5143
  }
5055
5144
  /**
5056
5145
  * Call the filter endpoint with the current filter parameters.
@@ -5083,6 +5172,27 @@ class NiceBaseFilterViewComponent {
5083
5172
  setBaseRules(rule, reload = true) {
5084
5173
  this.filterViewService.setBaseRules(rule, reload);
5085
5174
  }
5175
+ /**
5176
+ * Add a rule to the set of rules that won't be saved in the current filterParameters config.
5177
+ * NOTE: These rules will be injected in each filter request.
5178
+ */
5179
+ addBaseRule(rule, reload = true) {
5180
+ this.filterViewService.addBaseRule(rule, reload);
5181
+ }
5182
+ /**
5183
+ * Add a rule to the set of rules that won't be saved in the current filterParameters config.
5184
+ * NOTE: These rules will be injected in each filter request.
5185
+ */
5186
+ upsertBaseRule(rule, reload = true) {
5187
+ this.filterViewService.upsertBaseRules(rule, reload);
5188
+ }
5189
+ /**
5190
+ * Remove a rule to the set of rules that won't be saved in the current filterParameters config.
5191
+ * NOTE: These rules will be injected in each filter request.
5192
+ */
5193
+ removeBaseRule(id, reload = true) {
5194
+ this.filterViewService.removeBaseRules(id, reload);
5195
+ }
5086
5196
  /**
5087
5197
  * Reset all rules with a new set of rules.
5088
5198
  */
@@ -5112,6 +5222,13 @@ class NiceBaseFilterViewComponent {
5112
5222
  this.filterViewService.filter();
5113
5223
  }
5114
5224
  }
5225
+ afterInit(fn) {
5226
+ if (!this.queryParams || this.queryParams?.initialized) {
5227
+ fn.bind(this)();
5228
+ return;
5229
+ }
5230
+ this._afterQueryParamHooks.add(fn);
5231
+ }
5115
5232
  autoLoad(autoLoad) {
5116
5233
  const { autoLoad: defaultAutoLoad } = this.filterViewQuery.getValue();
5117
5234
  if (!this.queryParams) {
@@ -5141,6 +5258,11 @@ class NiceBaseFilterViewComponent {
5141
5258
  this.filterViewService.loadConfig(configQueryParams);
5142
5259
  }
5143
5260
  }
5261
+ onInit() {
5262
+ for (const hook of this._afterQueryParamHooks) {
5263
+ hook.bind(this)();
5264
+ }
5265
+ }
5144
5266
  }
5145
5267
  NiceBaseFilterViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceBaseFilterViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5146
5268
  NiceBaseFilterViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NiceBaseFilterViewComponent, selector: "ng-component", viewQueries: [{ propertyName: "filterViewService", first: true, predicate: NiceFilterViewComponent, descendants: true, read: NiceFilterViewService, static: true }, { propertyName: "filterViewQuery", first: true, predicate: NiceFilterViewComponent, descendants: true, read: NiceFilterViewQuery, static: true }, { propertyName: "queryParams", first: true, predicate: NiceFilterQueryParamsDirective, descendants: true, static: true }, { propertyName: "advancedFiltersButton", first: true, predicate: NiceAdvancedFiltersButtonComponent, descendants: true, static: true }, { propertyName: "advancedFilters", first: true, predicate: NiceAdvancedFiltersComponent, descendants: true, static: true }, { propertyName: "selectableListDirective", first: true, predicate: NiceSelectableListDirective, descendants: true, static: true }], ngImport: i0, template: ``, isInline: true });
@@ -5421,5 +5543,5 @@ String.prototype.toTableColumn = function (sortableOrOptions, nullLast) {
5421
5543
  * Generated bundle index. Do not edit.
5422
5544
  */
5423
5545
 
5424
- export { AdvancedFiltersForm, AdvancedFiltersTriggerDirective, DateFilterComponent, FilterComponent$1 as FilterComponent, FilterForm, FilterFormValues, FilterGroupIconPipe, FilterOperatorTypes, FilterSelectionComponent, FilterType, FilterUtils, LayoutContent, NiceAdvancedFiltersButtonComponent, NiceAdvancedFiltersComponent, NiceAdvancedFiltersModule, NiceBaseFilterViewComponent, NiceBaseListButtonsDirective, NiceBaseListCardsDirective, NiceBaseListComponent, NiceBaseListCustomContentDirective, NiceBaseListDirectiveModule, NiceBaseListEmptySearchResultStateDirective, NiceBaseListEmptyStateDirective, NiceBaseListFiltersDirective, NiceBaseListModule, NiceBaseListQuery, NiceBaseListService, NiceBaseListStore, NiceBaseListTableDirective, NiceBaseListTitleDirective, NiceCustomDateAdapter, NiceFilterApi, NiceFilterCustomDataViewComponent, NiceFilterDataDirective, NiceFilterExportButtonsComponent, NiceFilterExportDirective, NiceFilterGroupService, NiceFilterInfiniteScrollDataViewComponent, NiceFilterMatPaginatorPaginationDirective, NiceFilterMatSortSortingDirective, NiceFilterMatTableViewDirective, NiceFilterQueryParamsDirective, NiceFilterSearchComponent, NiceFilterService, NiceFilterViewComponent, NiceFilterViewModule, NiceFilterViewQuery, NiceFilterViewService, NiceListState, NiceMultiStateFilterService, NiceMultiStateListComponent, NiceMultiStateListModule, NiceMultiStateListQuery, NiceMultiStateListService, NiceMultiStateListStore, NicePreloadSelectedEntitiesProvider, NiceQueryBuilderComponent, NiceQueryBuilderModule, NiceSavedReportService, NiceSelectableListCheckboxDirective, NiceSelectableListDirective, NiceSelectableListIsEmptyDirective, NiceSelectableListModule, NiceSelectableListSelectAllDirective, NiceSelectableListService, NiceSelectableListStateQuery, NiceSelectableListStateService, NumberFilterComponent, OrderUtils, QBFilterUtils, QueryBuilderTriggerDirective, RadioFilterComponent, RuleComponent, SelectFilterComponent, StringUtils, TableColumns, TextFilterComponent, defaultLayout, initialBaseListState, initialValue$1 as initialValue, mixinNiceFilterApi };
5546
+ export { AdvancedFiltersForm, AdvancedFiltersTriggerDirective, DateFilterComponent, FilterComponent$1 as FilterComponent, FilterForm, FilterFormValues, FilterGroupIconPipe, FilterOperatorTypes, FilterSelectionComponent, FilterType, FilterUtils, LayoutContent, NiceAdvancedFiltersButtonComponent, NiceAdvancedFiltersComponent, NiceAdvancedFiltersModule, NiceBaseFilterViewComponent, NiceBaseListButtonsDirective, NiceBaseListCardsDirective, NiceBaseListComponent, NiceBaseListCustomContentDirective, NiceBaseListDirectiveModule, NiceBaseListEmptySearchResultStateDirective, NiceBaseListEmptyStateDirective, NiceBaseListFiltersDirective, NiceBaseListModule, NiceBaseListQuery, NiceBaseListService, NiceBaseListStore, NiceBaseListTableDirective, NiceBaseListTitleDirective, NiceCustomDateAdapter, NiceFilterApi, NiceFilterCustomDataViewComponent, NiceFilterDataDirective, NiceFilterExportButtonsComponent, NiceFilterExportDirective, NiceFilterGroupService, NiceFilterInfiniteScrollDataViewComponent, NiceFilterMatPaginatorPaginationDirective, NiceFilterMatSortSortingDirective, NiceFilterMatTableViewDirective, NiceFilterQueryParamsDirective, NiceFilterSearchComponent, NiceFilterService, NiceFilterViewComponent, NiceFilterViewModule, NiceFilterViewQuery, NiceFilterViewService, NiceListState, NiceMultiStateFilterService, NiceMultiStateListComponent, NiceMultiStateListModule, NiceMultiStateListQuery, NiceMultiStateListService, NiceMultiStateListStore, NiceNestedFilterView, NicePreloadSelectedEntitiesProvider, NiceQueryBuilderComponent, NiceQueryBuilderModule, NiceSavedReportService, NiceSelectableListCheckboxDirective, NiceSelectableListDirective, NiceSelectableListIsEmptyDirective, NiceSelectableListModule, NiceSelectableListSelectAllDirective, NiceSelectableListService, NiceSelectableListStateQuery, NiceSelectableListStateService, NumberFilterComponent, OrderUtils, QBFilterUtils, QueryBuilderTriggerDirective, RadioFilterComponent, RuleComponent, SelectFilterComponent, StringUtils, TableColumns, TextFilterComponent, defaultLayout, initialBaseListState, initialValue$1 as initialValue, mixinNiceFilterApi };
5425
5547
  //# sourceMappingURL=recursyve-nice-data-filter-kit.mjs.map