@recursyve/nice-data-filter-kit 14.0.7 → 14.1.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 (46) hide show
  1. package/esm2020/lib/components/nice-filter-view/components/common/data.directive.mjs +14 -0
  2. package/esm2020/lib/components/nice-filter-view/components/custom-data-view/custom-data-view.component.mjs +22 -0
  3. package/esm2020/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.mjs +85 -0
  4. package/esm2020/lib/components/nice-filter-view/components/export-buttons/export.directive.mjs +27 -0
  5. package/esm2020/lib/components/nice-filter-view/components/infinite-scroll-data-view/infinite-scroll-data-view.component.mjs +33 -0
  6. package/esm2020/lib/components/nice-filter-view/components/search/search.component.mjs +54 -0
  7. package/esm2020/lib/components/nice-filter-view/directives/mat-paginator.mjs +48 -0
  8. package/esm2020/lib/components/nice-filter-view/directives/mat-sort.mjs +58 -0
  9. package/esm2020/lib/components/nice-filter-view/directives/mat-tables.mjs +22 -0
  10. package/esm2020/lib/components/nice-filter-view/directives/query-params.directive.mjs +81 -0
  11. package/esm2020/lib/components/nice-filter-view/nice-base-filter-view.component.mjs +89 -0
  12. package/esm2020/lib/components/nice-filter-view/nice-filter-view.component.mjs +34 -0
  13. package/esm2020/lib/components/nice-filter-view/nice-filter-view.constant.mjs +5 -0
  14. package/esm2020/lib/components/nice-filter-view/nice-filter-view.module.mjs +143 -0
  15. package/esm2020/lib/components/nice-filter-view/public-api.mjs +16 -0
  16. package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.query.mjs +29 -0
  17. package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.service.mjs +229 -0
  18. package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.store.mjs +119 -0
  19. package/esm2020/lib/components/public-api.mjs +2 -1
  20. package/esm2020/lib/utils/query-params.utils.mjs +5 -1
  21. package/fesm2015/recursyve-nice-data-filter-kit.mjs +958 -17
  22. package/fesm2015/recursyve-nice-data-filter-kit.mjs.map +1 -1
  23. package/fesm2020/recursyve-nice-data-filter-kit.mjs +972 -16
  24. package/fesm2020/recursyve-nice-data-filter-kit.mjs.map +1 -1
  25. package/lib/components/nice-filter-view/components/common/data.directive.d.ts +8 -0
  26. package/lib/components/nice-filter-view/components/custom-data-view/custom-data-view.component.d.ts +11 -0
  27. package/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.d.ts +25 -0
  28. package/lib/components/nice-filter-view/components/export-buttons/export.directive.d.ts +11 -0
  29. package/lib/components/nice-filter-view/components/infinite-scroll-data-view/infinite-scroll-data-view.component.d.ts +14 -0
  30. package/lib/components/nice-filter-view/components/search/search.component.d.ts +20 -0
  31. package/lib/components/nice-filter-view/directives/mat-paginator.d.ts +16 -0
  32. package/lib/components/nice-filter-view/directives/mat-sort.d.ts +16 -0
  33. package/lib/components/nice-filter-view/directives/mat-tables.d.ts +12 -0
  34. package/lib/components/nice-filter-view/directives/query-params.directive.d.ts +21 -0
  35. package/lib/components/nice-filter-view/nice-base-filter-view.component.d.ts +55 -0
  36. package/lib/components/nice-filter-view/nice-filter-view.component.d.ts +12 -0
  37. package/lib/components/nice-filter-view/nice-filter-view.constant.d.ts +4 -0
  38. package/lib/components/nice-filter-view/nice-filter-view.module.d.ts +40 -0
  39. package/lib/components/nice-filter-view/public-api.d.ts +15 -0
  40. package/lib/components/nice-filter-view/store/nice-filter-view.query.d.ts +15 -0
  41. package/lib/components/nice-filter-view/store/nice-filter-view.service.d.ts +36 -0
  42. package/lib/components/nice-filter-view/store/nice-filter-view.store.d.ts +31 -0
  43. package/lib/components/public-api.d.ts +1 -0
  44. package/lib/utils/query-params.utils.d.ts +3 -0
  45. package/package.json +1 -1
  46. package/src/lib/nice-data-filter.theme.scss +25 -0
@@ -4,16 +4,16 @@ 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 } 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 } from '@angular/core';
8
- import { Store, StoreConfig, Query, arrayAdd, arrayUpsert, arrayRemove } from '@datorama/akita';
9
- import { combineLatest, Subject, firstValueFrom, of } from 'rxjs';
10
- import { __decorate, __metadata, __awaiter } from 'tslib';
7
+ import { Directive, Input, NgModule, Injectable, Inject, InjectionToken, Optional, Pipe, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Output, HostListener, forwardRef, TemplateRef, ContentChild, ContentChildren, ViewChild } from '@angular/core';
8
+ import { Store, StoreConfig, Query, arrayAdd, arrayUpsert, arrayRemove, EntityStore, QueryEntity } from '@datorama/akita';
9
+ import { combineLatest, Subject, firstValueFrom, of, tap } from 'rxjs';
10
+ import { __decorate, __metadata, __awaiter, __rest } from 'tslib';
11
11
  import * as i2 from '@angular/router';
12
12
  import { RouterModule } from '@angular/router';
13
- import * as i4$2 from '@angular/material/bottom-sheet';
13
+ import * as i3$3 from '@angular/material/bottom-sheet';
14
14
  import { MatBottomSheetModule } from '@angular/material/bottom-sheet';
15
15
  import * as i6 from '@angular/common';
16
- import { CommonModule } from '@angular/common';
16
+ import { CommonModule, AsyncPipe, NgIf, NgTemplateOutlet } from '@angular/common';
17
17
  import * as i1$1 from '@angular/forms';
18
18
  import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
19
19
  import * as i8 from '@angular/material/button';
@@ -57,6 +57,10 @@ import * as i18 from '@angular/material/badge';
57
57
  import { MatBadgeModule } from '@angular/material/badge';
58
58
 
59
59
  class QueryParamsUtils {
60
+ static hasFilterParameters(params) {
61
+ const keys = ["start", "length", "order", "search", "rules"];
62
+ return Object.keys(params).some(key => keys.includes(key));
63
+ }
60
64
  static extractFilterParameters(params) {
61
65
  const filters = {};
62
66
  if (!isNullOrUndefined(params.start)) {
@@ -704,7 +708,7 @@ const DEFAULT_RULES = new InjectionToken("default_rules");
704
708
  const DEFAULT_PARAMETERS = new InjectionToken("default_parameters");
705
709
  const LIST_TABLE = new InjectionToken("list_table");
706
710
  const TABLE_COLUMNS = new InjectionToken("table_columns");
707
- const EXPORTS_SETTINGS = new InjectionToken("exports_settings");
711
+ const EXPORTS_SETTINGS$1 = new InjectionToken("exports_settings");
708
712
  const ENABLE_QUERY_BUILDER = new InjectionToken("enable_query_builder");
709
713
  const DISABLE_QUERY_PARAMS = new InjectionToken("disable_query_param");
710
714
 
@@ -2075,7 +2079,7 @@ class NiceBaseListComponent {
2075
2079
  }
2076
2080
  }
2077
2081
  }
2078
- NiceBaseListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceBaseListComponent, deps: [{ token: ENABLE_QUERY_BUILDER, optional: true }, { token: BASE_LIST_ICONS }, { token: BASE_LIST_LAYOUT }, { token: TABLE_COLUMNS }, { token: EXPORTS_SETTINGS }, { token: NiceBaseListQuery }, { token: NiceBaseListService }, { token: i2.ActivatedRoute }, { token: i4$2.MatBottomSheet }, { token: i2.Router }, { token: i5$1.NiceMediaWatcherService }], target: i0.ɵɵFactoryTarget.Component });
2082
+ NiceBaseListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceBaseListComponent, deps: [{ token: ENABLE_QUERY_BUILDER, optional: true }, { token: BASE_LIST_ICONS }, { token: BASE_LIST_LAYOUT }, { token: TABLE_COLUMNS }, { token: EXPORTS_SETTINGS$1 }, { token: NiceBaseListQuery }, { token: NiceBaseListService }, { token: i2.ActivatedRoute }, { token: i3$3.MatBottomSheet }, { token: i2.Router }, { token: i5$1.NiceMediaWatcherService }], target: i0.ɵɵFactoryTarget.Component });
2079
2083
  NiceBaseListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceBaseListComponent, selector: "nice-base-list", inputs: { mode: "mode", layout: "layout", layoutContent: "layoutContent", autoChangeLayout: "autoChangeLayout", baseRoute: "baseRoute", routeFn: "routeFn", navigateFn: "navigateFn", autoLoad: "autoLoad", pageTitle: "pageTitle", canExport: "canExport", disableRouting: "disableRouting", customExport: "customExport", queryParams: "queryParams", configQueryParams: "configQueryParams" }, outputs: { newPage: "newPage" }, providers: [
2080
2084
  NiceBaseListQuery,
2081
2085
  NiceBaseListService,
@@ -2105,8 +2109,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
2105
2109
  args: [TABLE_COLUMNS]
2106
2110
  }] }, { type: undefined, decorators: [{
2107
2111
  type: Inject,
2108
- args: [EXPORTS_SETTINGS]
2109
- }] }, { type: NiceBaseListQuery }, { type: NiceBaseListService }, { type: i2.ActivatedRoute }, { type: i4$2.MatBottomSheet }, { type: i2.Router }, { type: i5$1.NiceMediaWatcherService }];
2112
+ args: [EXPORTS_SETTINGS$1]
2113
+ }] }, { type: NiceBaseListQuery }, { type: NiceBaseListService }, { type: i2.ActivatedRoute }, { type: i3$3.MatBottomSheet }, { type: i2.Router }, { type: i5$1.NiceMediaWatcherService }];
2110
2114
  }, propDecorators: { title: [{
2111
2115
  type: ContentChild,
2112
2116
  args: [NiceBaseListTitleDirective, { read: TemplateRef }]
@@ -2389,7 +2393,7 @@ class NiceBaseListModule {
2389
2393
  useValue: options.layout
2390
2394
  } : undefined,
2391
2395
  {
2392
- provide: EXPORTS_SETTINGS,
2396
+ provide: EXPORTS_SETTINGS$1,
2393
2397
  useValue: (_a = options.exports) !== null && _a !== void 0 ? _a : {
2394
2398
  pdf: true,
2395
2399
  xlsx: true,
@@ -2501,7 +2505,7 @@ class NiceMultiStateFilterService extends NiceFilterService {
2501
2505
  }
2502
2506
  }
2503
2507
 
2504
- const initialValue = Object.assign({}, initialBaseListState);
2508
+ const initialValue$1 = Object.assign({}, initialBaseListState);
2505
2509
  let NiceMultiStateListStore = class NiceMultiStateListStore extends NiceBaseListStore {
2506
2510
  constructor() {
2507
2511
  super(null, []);
@@ -2583,7 +2587,7 @@ class NiceMultiStateListComponent extends NiceBaseListComponent {
2583
2587
  this.setColumns(columns);
2584
2588
  }
2585
2589
  }
2586
- NiceMultiStateListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceMultiStateListComponent, deps: [{ token: ENABLE_QUERY_BUILDER, optional: true }, { token: BASE_LIST_ICONS }, { token: BASE_LIST_LAYOUT }, { token: EXPORTS_SETTINGS }, { token: NiceMultiStateListQuery }, { token: i2.ActivatedRoute }, { token: i4$2.MatBottomSheet }, { token: i2.Router }, { token: i5$1.NiceMediaWatcherService }, { token: NiceMultiStateListService }], target: i0.ɵɵFactoryTarget.Component });
2590
+ NiceMultiStateListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceMultiStateListComponent, deps: [{ token: ENABLE_QUERY_BUILDER, optional: true }, { token: BASE_LIST_ICONS }, { token: BASE_LIST_LAYOUT }, { token: EXPORTS_SETTINGS$1 }, { token: NiceMultiStateListQuery }, { token: i2.ActivatedRoute }, { token: i3$3.MatBottomSheet }, { token: i2.Router }, { token: i5$1.NiceMediaWatcherService }, { token: NiceMultiStateListService }], target: i0.ɵɵFactoryTarget.Component });
2587
2591
  NiceMultiStateListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceMultiStateListComponent, selector: "nice-multi-state-list", inputs: { state: "state" }, providers: [
2588
2592
  NiceMultiStateListQuery,
2589
2593
  NiceMultiStateListService,
@@ -2610,8 +2614,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
2610
2614
  args: [BASE_LIST_LAYOUT]
2611
2615
  }] }, { type: undefined, decorators: [{
2612
2616
  type: Inject,
2613
- args: [EXPORTS_SETTINGS]
2614
- }] }, { type: NiceMultiStateListQuery }, { type: i2.ActivatedRoute }, { type: i4$2.MatBottomSheet }, { type: i2.Router }, { type: i5$1.NiceMediaWatcherService }, { type: NiceMultiStateListService }];
2617
+ args: [EXPORTS_SETTINGS$1]
2618
+ }] }, { type: NiceMultiStateListQuery }, { type: i2.ActivatedRoute }, { type: i3$3.MatBottomSheet }, { type: i2.Router }, { type: i5$1.NiceMediaWatcherService }, { type: NiceMultiStateListService }];
2615
2619
  }, propDecorators: { state: [{
2616
2620
  type: Input
2617
2621
  }] } });
@@ -2633,7 +2637,7 @@ class NiceMultiStateListModule {
2633
2637
  useValue: options.layout
2634
2638
  } : undefined,
2635
2639
  {
2636
- provide: EXPORTS_SETTINGS,
2640
+ provide: EXPORTS_SETTINGS$1,
2637
2641
  useValue: (_a = options.exports) !== null && _a !== void 0 ? _a : {
2638
2642
  pdf: true,
2639
2643
  xlsx: true,
@@ -2732,6 +2736,943 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
2732
2736
  }]
2733
2737
  }] });
2734
2738
 
2739
+ class NiceFilterDataDirective {
2740
+ constructor(template) {
2741
+ this.template = template;
2742
+ }
2743
+ }
2744
+ NiceFilterDataDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterDataDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
2745
+ NiceFilterDataDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterDataDirective, selector: "[niceFilterData]", ngImport: i0 });
2746
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterDataDirective, decorators: [{
2747
+ type: Directive,
2748
+ args: [{ selector: "[niceFilterData]" }]
2749
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
2750
+
2751
+ const EXPORTS_SETTINGS = new InjectionToken("exports_settings");
2752
+ const FILTER_VIEW_ICONS = new InjectionToken("filter_view_icons");
2753
+ const FILTER_VIEW_STATE = new InjectionToken("filter_view_state");
2754
+
2755
+ const initialValue = {
2756
+ subStates: {},
2757
+ mode: "paginated",
2758
+ autoLoad: true,
2759
+ disabled: false,
2760
+ filterConfigLoading: false,
2761
+ filterConfig: [],
2762
+ filterResult: null,
2763
+ filterParameters: {
2764
+ start: 0,
2765
+ length: 10,
2766
+ order: {},
2767
+ search: "",
2768
+ rules: [],
2769
+ data: {}
2770
+ },
2771
+ baseRules: [],
2772
+ queryParams: null,
2773
+ resetResult: false
2774
+ };
2775
+ let NiceFilterViewStore = class NiceFilterViewStore extends EntityStore {
2776
+ constructor(state) {
2777
+ super(Object.assign(Object.assign({}, initialValue), state));
2778
+ }
2779
+ setFilterConfigLoading(loading) {
2780
+ this.update({ filterConfigLoading: loading });
2781
+ }
2782
+ setParameters(filterParameters) {
2783
+ this.update({ filterParameters });
2784
+ }
2785
+ setResult(filterResult) {
2786
+ const { mode, resetResult } = this.getValue();
2787
+ if (mode === "accumulated") {
2788
+ this.update((state) => {
2789
+ var _a, _b;
2790
+ return ({
2791
+ filterResult: {
2792
+ page: filterResult.page,
2793
+ total: filterResult.total,
2794
+ values: [
2795
+ ...(resetResult ? [] : (_b = (_a = state.filterResult) === null || _a === void 0 ? void 0 : _a.values) !== null && _b !== void 0 ? _b : []),
2796
+ ...filterResult.values
2797
+ ]
2798
+ },
2799
+ resetResult: false
2800
+ });
2801
+ });
2802
+ }
2803
+ else {
2804
+ this.update({
2805
+ filterResult
2806
+ });
2807
+ }
2808
+ if (mode === "accumulated") {
2809
+ this.add(filterResult.values);
2810
+ }
2811
+ else {
2812
+ this.set(filterResult.values);
2813
+ }
2814
+ }
2815
+ addValue(value, opts) {
2816
+ const { filterResult } = this.getValue();
2817
+ if (!filterResult) {
2818
+ return;
2819
+ }
2820
+ this.update({
2821
+ filterResult: Object.assign(Object.assign({}, filterResult), { values: arrayAdd(filterResult.values, value, opts) })
2822
+ });
2823
+ this.add(value, opts);
2824
+ }
2825
+ upsertValue(value, key = "id") {
2826
+ const { filterResult } = this.getValue();
2827
+ if (!filterResult) {
2828
+ return;
2829
+ }
2830
+ this.update({
2831
+ filterResult: Object.assign(Object.assign({}, filterResult), { values: arrayUpsert(filterResult.values, value[key], value) })
2832
+ });
2833
+ this.upsert(value[key], value);
2834
+ }
2835
+ removeValue(value, key = "id") {
2836
+ const { filterResult } = this.getValue();
2837
+ if (!filterResult) {
2838
+ return;
2839
+ }
2840
+ this.update({
2841
+ filterResult: Object.assign(Object.assign({}, filterResult), { values: arrayRemove(filterResult.values, value[key]) })
2842
+ });
2843
+ this.remove(value[key]);
2844
+ }
2845
+ };
2846
+ NiceFilterViewStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewStore, deps: [{ token: FILTER_VIEW_STATE }], target: i0.ɵɵFactoryTarget.Injectable });
2847
+ NiceFilterViewStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewStore });
2848
+ NiceFilterViewStore = __decorate([
2849
+ StoreConfig({ name: "nice-filter-view", resettable: true }),
2850
+ __metadata("design:paramtypes", [Object])
2851
+ ], NiceFilterViewStore);
2852
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewStore, decorators: [{
2853
+ type: Injectable
2854
+ }], ctorParameters: function () {
2855
+ return [{ type: undefined, decorators: [{
2856
+ type: Inject,
2857
+ args: [FILTER_VIEW_STATE]
2858
+ }] }];
2859
+ } });
2860
+
2861
+ class NiceFilterViewQuery extends QueryEntity {
2862
+ constructor(store) {
2863
+ super(store);
2864
+ this.store = store;
2865
+ }
2866
+ selectFilterConfigLoading() {
2867
+ return this.select("filterConfigLoading");
2868
+ }
2869
+ selectFilterConfig() {
2870
+ return this.select("filterConfig");
2871
+ }
2872
+ selectFilterParameters() {
2873
+ return this.select("filterParameters");
2874
+ }
2875
+ selectFilterResult() {
2876
+ return this.select("filterResult");
2877
+ }
2878
+ }
2879
+ NiceFilterViewQuery.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewQuery, deps: [{ token: NiceFilterViewStore }], target: i0.ɵɵFactoryTarget.Injectable });
2880
+ NiceFilterViewQuery.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewQuery });
2881
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewQuery, decorators: [{
2882
+ type: Injectable
2883
+ }], ctorParameters: function () { return [{ type: NiceFilterViewStore }]; } });
2884
+
2885
+ class NiceFilterCustomDataViewComponent {
2886
+ constructor(query) {
2887
+ this.query = query;
2888
+ this.data$ = this.query.selectAll();
2889
+ }
2890
+ }
2891
+ NiceFilterCustomDataViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterCustomDataViewComponent, deps: [{ token: NiceFilterViewQuery }], target: i0.ɵɵFactoryTarget.Component });
2892
+ NiceFilterCustomDataViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterCustomDataViewComponent, selector: "nice-filter-custom-data-view, div[nice-filter-custom-data-view]", queries: [{ propertyName: "content", first: true, predicate: NiceFilterDataDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"content\">\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: data$ | async }\"></ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
2893
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterCustomDataViewComponent, decorators: [{
2894
+ type: Component,
2895
+ args: [{ selector: "nice-filter-custom-data-view, div[nice-filter-custom-data-view]", encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"content\">\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: data$ | async }\"></ng-container>\n</ng-container>\n" }]
2896
+ }], ctorParameters: function () { return [{ type: NiceFilterViewQuery }]; }, propDecorators: { content: [{
2897
+ type: ContentChild,
2898
+ args: [NiceFilterDataDirective, { read: TemplateRef }]
2899
+ }] } });
2900
+
2901
+ class NiceFilterViewService {
2902
+ constructor(store, filterService) {
2903
+ this.store = store;
2904
+ this.filterService = filterService;
2905
+ }
2906
+ reset() {
2907
+ this.store.reset();
2908
+ }
2909
+ disable() {
2910
+ this.store.update({
2911
+ disabled: true
2912
+ });
2913
+ }
2914
+ enable() {
2915
+ this.store.update({
2916
+ disabled: false
2917
+ });
2918
+ }
2919
+ setAutoLoad(autoLoad) {
2920
+ this.store.update({ autoLoad });
2921
+ }
2922
+ setLoading(loading) {
2923
+ this.store.setLoading(loading);
2924
+ }
2925
+ setMode(mode) {
2926
+ this.store.update({ mode });
2927
+ }
2928
+ loadConfig(configQueryParams = {}) {
2929
+ return __awaiter(this, void 0, void 0, function* () {
2930
+ this.store.setFilterConfigLoading(true);
2931
+ try {
2932
+ const filterConfig = yield firstValueFrom(this.filterService.getFilterConfig({ params: configQueryParams }));
2933
+ this.store.update({
2934
+ filterConfig
2935
+ });
2936
+ }
2937
+ catch (e) {
2938
+ this.store.setError(e);
2939
+ }
2940
+ finally {
2941
+ this.store.setFilterConfigLoading(false);
2942
+ }
2943
+ });
2944
+ }
2945
+ filter() {
2946
+ return __awaiter(this, void 0, void 0, function* () {
2947
+ const { filterParameters, disabled } = this.store.getValue();
2948
+ if (disabled) {
2949
+ return;
2950
+ }
2951
+ try {
2952
+ this.store.setLoading(true);
2953
+ const result = yield firstValueFrom(this.filterService.filter(this.getParameters(filterParameters)));
2954
+ this.store.setResult(result);
2955
+ }
2956
+ catch (e) {
2957
+ this.store.setError(e);
2958
+ }
2959
+ finally {
2960
+ this.store.setLoading(false);
2961
+ }
2962
+ });
2963
+ }
2964
+ downloadData(type, downloadFileName) {
2965
+ return __awaiter(this, void 0, void 0, function* () {
2966
+ const { filterParameters, disabled } = this.store.getValue();
2967
+ if (disabled) {
2968
+ return;
2969
+ }
2970
+ try {
2971
+ this.store.setLoading(true);
2972
+ const result = yield firstValueFrom(this.filterService.getFile(type, this.getParameters(filterParameters)));
2973
+ FileUtils.downloadFile(`${downloadFileName}.${type}`, result);
2974
+ }
2975
+ catch (e) {
2976
+ this.store.setError(e);
2977
+ }
2978
+ finally {
2979
+ this.store.setLoading(false);
2980
+ }
2981
+ });
2982
+ }
2983
+ printData() {
2984
+ return __awaiter(this, void 0, void 0, function* () {
2985
+ const { filterParameters, disabled } = this.store.getValue();
2986
+ if (disabled) {
2987
+ return;
2988
+ }
2989
+ try {
2990
+ this.store.setLoading(true);
2991
+ const result = yield firstValueFrom(this.filterService.getPrintableHtml(this.getParameters(filterParameters)));
2992
+ FileUtils.openPrintableWindow(result);
2993
+ }
2994
+ catch (e) {
2995
+ this.store.setError(e);
2996
+ }
2997
+ finally {
2998
+ this.store.setLoading(false);
2999
+ }
3000
+ });
3001
+ }
3002
+ setParameters(filterParameters, reload = false) {
3003
+ this.store.setParameters(filterParameters);
3004
+ if (reload) {
3005
+ this.filter();
3006
+ }
3007
+ }
3008
+ resetPaging() {
3009
+ const { filterParameters } = this.store.getValue();
3010
+ this.setParameters(Object.assign(Object.assign({}, filterParameters), { start: 0 }), false);
3011
+ this.resetResult(true);
3012
+ }
3013
+ setQueryParams(queryParams) {
3014
+ this.store.update({ queryParams });
3015
+ }
3016
+ setBaseRules(rule, reload) {
3017
+ this.store.update({
3018
+ baseRules: rule
3019
+ });
3020
+ if (reload) {
3021
+ this.filter();
3022
+ }
3023
+ }
3024
+ setRules(rules, reload) {
3025
+ if (!Array.isArray(rules)) {
3026
+ rules = [rules];
3027
+ }
3028
+ const { filterParameters } = this.store.getValue();
3029
+ const newRules = {
3030
+ order: filterParameters.order,
3031
+ rules
3032
+ };
3033
+ this.setParameters(newRules, reload);
3034
+ }
3035
+ upsertRule(id, newRule, reload) {
3036
+ var _a;
3037
+ const { filterParameters } = this.store.getValue();
3038
+ const currentQuery = (_a = filterParameters.rules) === null || _a === void 0 ? void 0 : _a[0];
3039
+ const rule = Object.assign({ id }, newRule);
3040
+ const query = { rules: [rule], condition: "and" };
3041
+ if (!currentQuery || currentQuery.rules.length === 0) {
3042
+ this.setRules(query, reload);
3043
+ return;
3044
+ }
3045
+ const oldRule = currentQuery.rules.find((r) => r.id === id);
3046
+ let newRules = currentQuery.rules;
3047
+ if (oldRule) {
3048
+ if (newRule) {
3049
+ // Array replace
3050
+ newRules = [
3051
+ ...currentQuery.rules.slice(0, currentQuery.rules.indexOf(oldRule)),
3052
+ query,
3053
+ ...currentQuery.rules.slice(currentQuery.rules.indexOf(oldRule) + 1, currentQuery.rules.length)
3054
+ ];
3055
+ }
3056
+ else {
3057
+ newRules = currentQuery.rules.filter((r) => r.id !== id);
3058
+ }
3059
+ }
3060
+ else {
3061
+ newRules = [...newRules, query];
3062
+ }
3063
+ this.setRules({
3064
+ condition: currentQuery.condition,
3065
+ rules: newRules
3066
+ }, reload);
3067
+ }
3068
+ removeRule(id, reload) {
3069
+ var _a;
3070
+ const { filterParameters } = this.store.getValue();
3071
+ const currentQuery = (_a = filterParameters.rules) === null || _a === void 0 ? void 0 : _a[0];
3072
+ const oldRule = currentQuery.rules.find((r) => r.id === id);
3073
+ if (!oldRule) {
3074
+ return;
3075
+ }
3076
+ const newRules = currentQuery.rules.filter((r) => r.id !== id);
3077
+ this.setRules({
3078
+ condition: currentQuery.condition,
3079
+ rules: newRules
3080
+ }, reload);
3081
+ }
3082
+ addValue(value, opts) {
3083
+ this.store.addValue(value, opts);
3084
+ }
3085
+ upsertValue(value, key = "id") {
3086
+ this.store.upsertValue(value, key);
3087
+ }
3088
+ removeValue(value, key = "id") {
3089
+ this.store.removeValue(value, key);
3090
+ }
3091
+ resetResult(waitForNextFilter) {
3092
+ if (!waitForNextFilter) {
3093
+ this.store.update({
3094
+ filterResult: null
3095
+ });
3096
+ }
3097
+ else {
3098
+ this.store.update({
3099
+ resetResult: true
3100
+ });
3101
+ }
3102
+ }
3103
+ getParameters(filterParameters) {
3104
+ const { baseRules } = this.store.getValue();
3105
+ const parameters = Object.assign(Object.assign({}, filterParameters), { rules: (filterParameters === null || filterParameters === void 0 ? void 0 : filterParameters.rules) ? [...filterParameters.rules] : [] });
3106
+ if (baseRules === null || baseRules === void 0 ? void 0 : baseRules.length) {
3107
+ parameters.rules.push({
3108
+ condition: "and",
3109
+ rules: baseRules
3110
+ });
3111
+ }
3112
+ return parameters;
3113
+ }
3114
+ }
3115
+ NiceFilterViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewService, deps: [{ token: NiceFilterViewStore }, { token: NiceFilterService }], target: i0.ɵɵFactoryTarget.Injectable });
3116
+ NiceFilterViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewService });
3117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewService, decorators: [{
3118
+ type: Injectable
3119
+ }], ctorParameters: function () {
3120
+ return [{ type: NiceFilterViewStore }, { type: undefined, decorators: [{
3121
+ type: Inject,
3122
+ args: [NiceFilterService]
3123
+ }] }];
3124
+ } });
3125
+
3126
+ class NiceFilterExportButtonsComponent {
3127
+ constructor(icons, exportsSettings, query, service, bottomSheet) {
3128
+ this.icons = icons;
3129
+ this.exportsSettings = exportsSettings;
3130
+ this.query = query;
3131
+ this.service = service;
3132
+ this.bottomSheet = bottomSheet;
3133
+ this.customExport = [];
3134
+ this.downloadFileName = "data";
3135
+ this.loading$ = this.query.selectLoading();
3136
+ }
3137
+ clickExport() {
3138
+ const exports = [];
3139
+ if (this.exportsSettings.xlsx) {
3140
+ exports.push({
3141
+ type: "xlsx",
3142
+ onClickExport: () => this.clickXlsx()
3143
+ });
3144
+ }
3145
+ if (this.exportsSettings.csv) {
3146
+ exports.push({
3147
+ type: "csv",
3148
+ onClickExport: () => this.clickCsv()
3149
+ });
3150
+ }
3151
+ if (this.exportsSettings.pdf) {
3152
+ exports.push({
3153
+ type: "pdf",
3154
+ onClickExport: () => this.clickPdf()
3155
+ });
3156
+ }
3157
+ this.bottomSheet.open(ExportBottomSheetComponent, {
3158
+ data: {
3159
+ exportStrategies: [
3160
+ ...exports,
3161
+ ...this.customExport
3162
+ ]
3163
+ }
3164
+ });
3165
+ }
3166
+ clickXlsx() {
3167
+ this.service.downloadData("xlsx", this.downloadFileName);
3168
+ }
3169
+ clickCsv() {
3170
+ this.service.downloadData("csv", this.downloadFileName);
3171
+ }
3172
+ clickPrint() {
3173
+ this.service.printData();
3174
+ }
3175
+ clickPdf() {
3176
+ this.service.downloadData("pdf", this.downloadFileName);
3177
+ }
3178
+ }
3179
+ NiceFilterExportButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterExportButtonsComponent, deps: [{ token: FILTER_VIEW_ICONS }, { token: EXPORTS_SETTINGS }, { token: NiceFilterViewQuery }, { token: NiceFilterViewService }, { token: i3$3.MatBottomSheet }], target: i0.ɵɵFactoryTarget.Component });
3180
+ NiceFilterExportButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterExportButtonsComponent, selector: "nice-filter-export-buttons, div[nice-filter-export-buttons]", inputs: { customExport: "customExport", downloadFileName: "downloadFileName" }, ngImport: i0, template: "<button\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: i10.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
3181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterExportButtonsComponent, decorators: [{
3182
+ type: Component,
3183
+ args: [{ selector: "nice-filter-export-buttons, div[nice-filter-export-buttons]", encapsulation: ViewEncapsulation.None, template: "<button\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" }]
3184
+ }], ctorParameters: function () {
3185
+ return [{ type: undefined, decorators: [{
3186
+ type: Inject,
3187
+ args: [FILTER_VIEW_ICONS]
3188
+ }] }, { type: undefined, decorators: [{
3189
+ type: Inject,
3190
+ args: [EXPORTS_SETTINGS]
3191
+ }] }, { type: NiceFilterViewQuery }, { type: NiceFilterViewService }, { type: i3$3.MatBottomSheet }];
3192
+ }, propDecorators: { customExport: [{
3193
+ type: Input
3194
+ }], downloadFileName: [{
3195
+ type: Input
3196
+ }] } });
3197
+
3198
+ class NiceFilterExportDirective {
3199
+ constructor(service) {
3200
+ this.service = service;
3201
+ this.downloadFileName = "data";
3202
+ }
3203
+ onClick() {
3204
+ this.service.downloadData(this.type, this.downloadFileName);
3205
+ }
3206
+ }
3207
+ NiceFilterExportDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterExportDirective, deps: [{ token: NiceFilterViewService }], target: i0.ɵɵFactoryTarget.Directive });
3208
+ NiceFilterExportDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterExportDirective, selector: "[niceFilterExport]", inputs: { type: "type", downloadFileName: "downloadFileName" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
3209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterExportDirective, decorators: [{
3210
+ type: Directive,
3211
+ args: [{ selector: "[niceFilterExport]" }]
3212
+ }], ctorParameters: function () { return [{ type: NiceFilterViewService }]; }, propDecorators: { type: [{
3213
+ type: Input
3214
+ }], downloadFileName: [{
3215
+ type: Input
3216
+ }], onClick: [{
3217
+ type: HostListener,
3218
+ args: ["click"]
3219
+ }] } });
3220
+
3221
+ class NiceFilterInfiniteScrollDataViewComponent {
3222
+ constructor(query, service) {
3223
+ this.query = query;
3224
+ this.service = service;
3225
+ this.data$ = this.query.selectAll();
3226
+ }
3227
+ loadNextPage() {
3228
+ return __awaiter(this, void 0, void 0, function* () {
3229
+ const { filterParameters } = this.query.getValue();
3230
+ this.service.setMode("paginated");
3231
+ yield this.service.setParameters(Object.assign(Object.assign({}, filterParameters), { start: filterParameters.start + filterParameters.length }), true);
3232
+ });
3233
+ }
3234
+ }
3235
+ NiceFilterInfiniteScrollDataViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterInfiniteScrollDataViewComponent, deps: [{ token: NiceFilterViewQuery }, { token: NiceFilterViewService }], target: i0.ɵɵFactoryTarget.Component });
3236
+ NiceFilterInfiniteScrollDataViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterInfiniteScrollDataViewComponent, selector: "nice-filter-infinite-scroll-data-view, div[nice-filter-infinite-scroll-data-view]", queries: [{ propertyName: "content", first: true, predicate: NiceFilterDataDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"content\">\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: data$ | async }\"></ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
3237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterInfiniteScrollDataViewComponent, decorators: [{
3238
+ type: Component,
3239
+ args: [{ selector: "nice-filter-infinite-scroll-data-view, div[nice-filter-infinite-scroll-data-view]", encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"content\">\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: data$ | async }\"></ng-container>\n</ng-container>\n" }]
3240
+ }], ctorParameters: function () { return [{ type: NiceFilterViewQuery }, { type: NiceFilterViewService }]; }, propDecorators: { content: [{
3241
+ type: ContentChild,
3242
+ args: [NiceFilterDataDirective, { read: TemplateRef }]
3243
+ }] } });
3244
+
3245
+ class NiceFilterSearchComponent {
3246
+ constructor(icons, query, service) {
3247
+ this.icons = icons;
3248
+ this.query = query;
3249
+ this.service = service;
3250
+ this.appearance = "default";
3251
+ this.searchQuery$ = this.query.selectFilterParameters().pipe(map(f => f.search));
3252
+ this.unsubscribeAll$ = new Subject();
3253
+ this.searchText$ = new Subject();
3254
+ }
3255
+ ngOnInit() {
3256
+ this.searchText$
3257
+ .pipe(takeUntil(this.unsubscribeAll$), debounceTime(300), distinctUntilChanged(), tap((search) => {
3258
+ const { filterParameters } = this.query.getValue();
3259
+ this.service.setParameters(Object.assign(Object.assign({}, filterParameters), { search }), true);
3260
+ }))
3261
+ .subscribe();
3262
+ }
3263
+ ngOnDestroy() {
3264
+ this.unsubscribeAll$.next();
3265
+ this.unsubscribeAll$.complete();
3266
+ }
3267
+ onUpdateSearch(search) {
3268
+ this.searchText$.next(search);
3269
+ }
3270
+ }
3271
+ NiceFilterSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterSearchComponent, deps: [{ token: FILTER_VIEW_ICONS }, { token: NiceFilterViewQuery }, { token: NiceFilterViewService }], target: i0.ɵɵFactoryTarget.Component });
3272
+ NiceFilterSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterSearchComponent, selector: "nice-filter-search", inputs: { appearance: "appearance" }, ngImport: i0, template: "<div\n class=\"search-wrapper mx-md-0\"\n [class.nice-search-default]=\"appearance === 'default'\"\n [class.nice-search-outlined]=\"appearance === 'outlined'\"\n [class.nice-search-legacy]=\"appearance === 'legacy'\"\n [class.nice-search-custom]=\"appearance === 'custom'\"\n>\n <div class=\"search flex flex-auto justify-start items-center\">\n <mat-icon [svgIcon]=\"icons.search.svgIcon\">{{ icons.search.matIcon }}</mat-icon>\n <input [ngModel]=\"searchQuery$ | async\" (ngModelChange)=\"onUpdateSearch($event)\" [placeholder]=\"'general.search' | translate\" />\n\n <ng-content select=\"[niceFilterSearchButtons]\"></ng-content>\n </div>\n</div>\n", styles: ["nice-filter-search .search-wrapper{width:100%;max-width:480px;overflow:hidden}nice-filter-search .search-wrapper.nice-search-default{box-shadow:0 4px 12px #0000001f;border-radius:5px}nice-filter-search .search-wrapper.nice-search-outlined{border-radius:5px}nice-filter-search .search-wrapper.nice-search-legacy{box-shadow:0 3px 3px -2px #0000000f,0 3px 4px #0000000b,0 1px 8px #00000009;border-radius:28px}nice-filter-search .search-wrapper .search{width:100%;height:48px;line-height:48px;padding:0 18px}nice-filter-search .search-wrapper .search input{width:100%;height:48px;min-height:48px;max-height:48px;padding:0 16px;border:none;outline:none}\n"], dependencies: [{ kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
3273
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterSearchComponent, decorators: [{
3274
+ type: Component,
3275
+ args: [{ selector: "nice-filter-search", encapsulation: ViewEncapsulation.None, template: "<div\n class=\"search-wrapper mx-md-0\"\n [class.nice-search-default]=\"appearance === 'default'\"\n [class.nice-search-outlined]=\"appearance === 'outlined'\"\n [class.nice-search-legacy]=\"appearance === 'legacy'\"\n [class.nice-search-custom]=\"appearance === 'custom'\"\n>\n <div class=\"search flex flex-auto justify-start items-center\">\n <mat-icon [svgIcon]=\"icons.search.svgIcon\">{{ icons.search.matIcon }}</mat-icon>\n <input [ngModel]=\"searchQuery$ | async\" (ngModelChange)=\"onUpdateSearch($event)\" [placeholder]=\"'general.search' | translate\" />\n\n <ng-content select=\"[niceFilterSearchButtons]\"></ng-content>\n </div>\n</div>\n", styles: ["nice-filter-search .search-wrapper{width:100%;max-width:480px;overflow:hidden}nice-filter-search .search-wrapper.nice-search-default{box-shadow:0 4px 12px #0000001f;border-radius:5px}nice-filter-search .search-wrapper.nice-search-outlined{border-radius:5px}nice-filter-search .search-wrapper.nice-search-legacy{box-shadow:0 3px 3px -2px #0000000f,0 3px 4px #0000000b,0 1px 8px #00000009;border-radius:28px}nice-filter-search .search-wrapper .search{width:100%;height:48px;line-height:48px;padding:0 18px}nice-filter-search .search-wrapper .search input{width:100%;height:48px;min-height:48px;max-height:48px;padding:0 16px;border:none;outline:none}\n"] }]
3276
+ }], ctorParameters: function () {
3277
+ return [{ type: undefined, decorators: [{
3278
+ type: Inject,
3279
+ args: [FILTER_VIEW_ICONS]
3280
+ }] }, { type: NiceFilterViewQuery }, { type: NiceFilterViewService }];
3281
+ }, propDecorators: { appearance: [{
3282
+ type: Input
3283
+ }] } });
3284
+
3285
+ class NiceFilterMatPaginatorPaginationDirective {
3286
+ constructor(query, service, paginator) {
3287
+ this.query = query;
3288
+ this.service = service;
3289
+ this.paginator = paginator;
3290
+ this.unsubscribeAll$ = new Subject();
3291
+ }
3292
+ ngOnInit() {
3293
+ this.query.selectFilterResult().pipe(takeUntil(this.unsubscribeAll$)).subscribe((res) => {
3294
+ if (!res) {
3295
+ return;
3296
+ }
3297
+ const { page, total } = res;
3298
+ this.paginator.pageIndex = page.number;
3299
+ this.paginator.pageSize = page.size;
3300
+ this.paginator.length = total;
3301
+ });
3302
+ this.paginator.page.pipe(takeUntil(this.unsubscribeAll$)).subscribe((page) => {
3303
+ const { filterParameters } = this.query.getValue();
3304
+ this.service.setParameters(Object.assign(Object.assign({}, filterParameters), { start: page.pageIndex, length: page.pageSize }), true);
3305
+ });
3306
+ }
3307
+ ngOnDestroy() {
3308
+ this.unsubscribeAll$.next();
3309
+ this.unsubscribeAll$.complete();
3310
+ }
3311
+ }
3312
+ NiceFilterMatPaginatorPaginationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterMatPaginatorPaginationDirective, deps: [{ token: NiceFilterViewQuery }, { token: NiceFilterViewService }, { token: i12.MatPaginator }], target: i0.ɵɵFactoryTarget.Directive });
3313
+ NiceFilterMatPaginatorPaginationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterMatPaginatorPaginationDirective, selector: "mat-paginator[niceFilterPagination]", ngImport: i0 });
3314
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterMatPaginatorPaginationDirective, decorators: [{
3315
+ type: Directive,
3316
+ args: [{ selector: "mat-paginator[niceFilterPagination]" }]
3317
+ }], ctorParameters: function () { return [{ type: NiceFilterViewQuery }, { type: NiceFilterViewService }, { type: i12.MatPaginator }]; } });
3318
+
3319
+ class NiceFilterMatSortSortingDirective {
3320
+ constructor(query, service, sort) {
3321
+ this.query = query;
3322
+ this.service = service;
3323
+ this.sort = sort;
3324
+ this.unsubscribeAll$ = new Subject();
3325
+ }
3326
+ ngOnInit() {
3327
+ this.query.selectFilterParameters().pipe(takeUntil(this.unsubscribeAll$)).subscribe((res) => {
3328
+ if (!res) {
3329
+ return;
3330
+ }
3331
+ const { order } = res;
3332
+ this.sort.direction = order.direction;
3333
+ this.sort.active = order.column;
3334
+ });
3335
+ this.sort.sortChange.pipe(takeUntil(this.unsubscribeAll$)).subscribe((sort) => {
3336
+ const { filterParameters } = this.query.getValue();
3337
+ if (!sort.direction) {
3338
+ const { order } = filterParameters, values = __rest(filterParameters, ["order"]);
3339
+ this.service.setParameters(Object.assign(Object.assign({}, values), { order: {} }), true);
3340
+ }
3341
+ else {
3342
+ this.service.setParameters(Object.assign(Object.assign({}, filterParameters), { order: {
3343
+ column: sort.active,
3344
+ direction: sort.direction
3345
+ } }), true);
3346
+ }
3347
+ });
3348
+ }
3349
+ ngOnDestroy() {
3350
+ this.unsubscribeAll$.next();
3351
+ this.unsubscribeAll$.complete();
3352
+ }
3353
+ }
3354
+ NiceFilterMatSortSortingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterMatSortSortingDirective, deps: [{ token: NiceFilterViewQuery }, { token: NiceFilterViewService }, { token: i14.MatSort }], target: i0.ɵɵFactoryTarget.Directive });
3355
+ NiceFilterMatSortSortingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterMatSortSortingDirective, selector: "mat-table[matSort][niceFilterSorting]", ngImport: i0 });
3356
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterMatSortSortingDirective, decorators: [{
3357
+ type: Directive,
3358
+ args: [{ selector: "mat-table[matSort][niceFilterSorting]" }]
3359
+ }], ctorParameters: function () { return [{ type: NiceFilterViewQuery }, { type: NiceFilterViewService }, { type: i14.MatSort }]; } });
3360
+
3361
+ class NiceFilterMatTableViewDirective {
3362
+ constructor(query, table) {
3363
+ this.query = query;
3364
+ this.table = table;
3365
+ }
3366
+ ngOnInit() {
3367
+ this.table.dataSource = this.query.selectAll();
3368
+ }
3369
+ }
3370
+ NiceFilterMatTableViewDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterMatTableViewDirective, deps: [{ token: NiceFilterViewQuery }, { token: i13.MatTable }], target: i0.ɵɵFactoryTarget.Directive });
3371
+ NiceFilterMatTableViewDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterMatTableViewDirective, selector: "mat-table[niceFilterDataView]", ngImport: i0 });
3372
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterMatTableViewDirective, decorators: [{
3373
+ type: Directive,
3374
+ args: [{ selector: "mat-table[niceFilterDataView]" }]
3375
+ }], ctorParameters: function () { return [{ type: NiceFilterViewQuery }, { type: i13.MatTable }]; } });
3376
+
3377
+ class NiceFilterQueryParamsDirective {
3378
+ constructor(query, service, route, router) {
3379
+ this.query = query;
3380
+ this.service = service;
3381
+ this.route = route;
3382
+ this.router = router;
3383
+ this.init = new EventEmitter();
3384
+ this.unsubscribeAll$ = new Subject();
3385
+ this.initialized = false;
3386
+ }
3387
+ ngOnInit() {
3388
+ this.query.selectFilterParameters().pipe(takeUntil(this.unsubscribeAll$)).subscribe((parameters) => {
3389
+ this.updateQueryParams(parameters);
3390
+ });
3391
+ this.loadQueryParams();
3392
+ }
3393
+ ngOnDestroy() {
3394
+ this.unsubscribeAll$.next();
3395
+ this.unsubscribeAll$.complete();
3396
+ }
3397
+ updateQueryParams(parameters) {
3398
+ if (!this.route) {
3399
+ return;
3400
+ }
3401
+ const params = Object.assign({}, parameters);
3402
+ const { mode } = this.query.getValue();
3403
+ if (mode === "accumulated") {
3404
+ delete params.start;
3405
+ delete params.length;
3406
+ }
3407
+ this.router.navigate([], {
3408
+ relativeTo: this.route,
3409
+ queryParams: QueryParamsUtils.filterParametersToParamsMap(params),
3410
+ queryParamsHandling: "merge"
3411
+ });
3412
+ }
3413
+ loadQueryParams() {
3414
+ this.route.queryParams
3415
+ .pipe(takeUntil(this.unsubscribeAll$), map((params) => {
3416
+ return {
3417
+ params: QueryParamsUtils.extractFilterParameters(params)
3418
+ };
3419
+ }))
3420
+ .subscribe(({ params }) => {
3421
+ if (!QueryParamsUtils.hasFilterParameters(params) || Object.keys(params).length === 0) {
3422
+ params = Object.assign({}, this.query.getValue().filterParameters);
3423
+ }
3424
+ const { filterParameters, filterResult } = this.query.getValue();
3425
+ if (FilterUtils.filterChangeNeedsRefresh(filterParameters, params) ||
3426
+ !filterResult) {
3427
+ this.service.setParameters(params, false);
3428
+ }
3429
+ if (!this.initialized) {
3430
+ this.initialized = true;
3431
+ this.init.emit();
3432
+ this.service.filter();
3433
+ }
3434
+ });
3435
+ }
3436
+ }
3437
+ NiceFilterQueryParamsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterQueryParamsDirective, deps: [{ token: NiceFilterViewQuery }, { token: NiceFilterViewService }, { token: i2.ActivatedRoute }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Directive });
3438
+ NiceFilterQueryParamsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterQueryParamsDirective, selector: "nice-filter-view[niceFilterQueryParams]", outputs: { init: "init" }, ngImport: i0 });
3439
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterQueryParamsDirective, decorators: [{
3440
+ type: Directive,
3441
+ args: [{ selector: "nice-filter-view[niceFilterQueryParams]" }]
3442
+ }], ctorParameters: function () { return [{ type: NiceFilterViewQuery }, { type: NiceFilterViewService }, { type: i2.ActivatedRoute }, { type: i2.Router }]; }, propDecorators: { init: [{
3443
+ type: Output
3444
+ }] } });
3445
+
3446
+ class NiceFilterViewComponent {
3447
+ constructor(service) {
3448
+ this.service = service;
3449
+ this.queryParams = {};
3450
+ }
3451
+ ngOnChanges(changes) {
3452
+ if ("queryParams" in changes) {
3453
+ this.service.setQueryParams(this.queryParams);
3454
+ }
3455
+ }
3456
+ }
3457
+ NiceFilterViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewComponent, deps: [{ token: NiceFilterViewService }], target: i0.ɵɵFactoryTarget.Component });
3458
+ NiceFilterViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterViewComponent, selector: "nice-filter-view", inputs: { queryParams: "queryParams" }, providers: [
3459
+ NiceFilterViewQuery,
3460
+ NiceFilterViewService,
3461
+ NiceFilterViewStore
3462
+ ], usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], encapsulation: i0.ViewEncapsulation.None });
3463
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewComponent, decorators: [{
3464
+ type: Component,
3465
+ args: [{ selector: "nice-filter-view", encapsulation: ViewEncapsulation.None, providers: [
3466
+ NiceFilterViewQuery,
3467
+ NiceFilterViewService,
3468
+ NiceFilterViewStore
3469
+ ], template: "<ng-content></ng-content>\n" }]
3470
+ }], ctorParameters: function () { return [{ type: NiceFilterViewService }]; }, propDecorators: { queryParams: [{
3471
+ type: Input
3472
+ }] } });
3473
+
3474
+ class NiceBaseFilterViewComponent {
3475
+ ngOnInit(autoLoad = true, { mode, loadConfig, configQueryParams } = {}) {
3476
+ if (mode) {
3477
+ this.filterViewService.setMode(mode);
3478
+ }
3479
+ const { autoLoad: defaultAutoLoad } = this.filterViewQuery.getValue();
3480
+ if (autoLoad && defaultAutoLoad) {
3481
+ this.filterViewService.filter();
3482
+ }
3483
+ else {
3484
+ this.filterViewService.setAutoLoad(autoLoad);
3485
+ }
3486
+ if (loadConfig) {
3487
+ this.filterViewService.loadConfig(configQueryParams);
3488
+ }
3489
+ this.filterViewLoading$ = this.filterViewQuery.selectLoading();
3490
+ }
3491
+ /**
3492
+ * Call the filter endpoint with the current filter parameters.
3493
+ */
3494
+ loadData() {
3495
+ this.filterViewService.filter();
3496
+ }
3497
+ /**
3498
+ * Disable the filter view. This will stop calling any api routes.
3499
+ */
3500
+ disable() {
3501
+ this.filterViewService.disable();
3502
+ }
3503
+ /**
3504
+ * Enable the filter view. This will resume calling any api routes.
3505
+ */
3506
+ enable() {
3507
+ this.filterViewService.enable();
3508
+ }
3509
+ /**
3510
+ * Update the loading state
3511
+ */
3512
+ setLoading(loading) {
3513
+ this.filterViewService.setLoading(loading);
3514
+ }
3515
+ /**
3516
+ * Set a set of rules that won't be saved in the current filterParameters config.
3517
+ * NOTE: These rules will be injected in each filter request.
3518
+ */
3519
+ setBaseRules(rule, reload = true) {
3520
+ this.filterViewService.setBaseRules(rule, reload);
3521
+ }
3522
+ /**
3523
+ * Reset all rules with a new set of rules.
3524
+ */
3525
+ setRules(rules, reload = true) {
3526
+ this.filterViewService.setRules(rules, reload);
3527
+ }
3528
+ /**
3529
+ * Add or update a rule.
3530
+ * NOTE: This will only check for rules in the first element of the rules array in the current filterParameters.
3531
+ */
3532
+ upsertRule(id, newRule, reload = true) {
3533
+ this.filterViewService.upsertRule(id, newRule, reload);
3534
+ }
3535
+ /**
3536
+ * Remove a rule.
3537
+ * NOTE: This will only check for rules in the first element of the rules array in the current filterParameters.
3538
+ */
3539
+ removeRule(id, reload = true) {
3540
+ this.filterViewService.removeRule(id, reload);
3541
+ }
3542
+ }
3543
+ NiceBaseFilterViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceBaseFilterViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3544
+ NiceBaseFilterViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", 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 }], ngImport: i0, template: ``, isInline: true });
3545
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceBaseFilterViewComponent, decorators: [{
3546
+ type: Component,
3547
+ args: [{
3548
+ template: ``
3549
+ }]
3550
+ }], propDecorators: { filterViewService: [{
3551
+ type: ViewChild,
3552
+ args: [NiceFilterViewComponent, { read: NiceFilterViewService, static: true }]
3553
+ }], filterViewQuery: [{
3554
+ type: ViewChild,
3555
+ args: [NiceFilterViewComponent, { read: NiceFilterViewQuery, static: true }]
3556
+ }] } });
3557
+
3558
+ class NiceFilterViewModule {
3559
+ static forRoot(options) {
3560
+ var _a;
3561
+ return {
3562
+ ngModule: NiceFilterViewModule,
3563
+ providers: [
3564
+ {
3565
+ provide: FILTER_VIEW_ICONS,
3566
+ useValue: Object.assign(Object.assign({}, defaultIcons), ((_a = options === null || options === void 0 ? void 0 : options.icons) !== null && _a !== void 0 ? _a : {}))
3567
+ }
3568
+ ].filter(x => !!x)
3569
+ };
3570
+ }
3571
+ static providerFactory(options) {
3572
+ var _a, _b;
3573
+ return [
3574
+ {
3575
+ provide: NiceFilterService,
3576
+ useClass: options.filterService
3577
+ },
3578
+ {
3579
+ provide: EXPORTS_SETTINGS,
3580
+ useValue: (_a = options.exports) !== null && _a !== void 0 ? _a : {
3581
+ pdf: true,
3582
+ xlsx: true,
3583
+ csv: true
3584
+ }
3585
+ },
3586
+ {
3587
+ provide: FILTER_VIEW_STATE,
3588
+ useValue: (_b = options.state) !== null && _b !== void 0 ? _b : {}
3589
+ }
3590
+ ].filter(x => !!x);
3591
+ }
3592
+ }
3593
+ NiceFilterViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3594
+ NiceFilterViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewModule, declarations: [NiceFilterViewComponent,
3595
+ NiceFilterCustomDataViewComponent,
3596
+ NiceFilterExportButtonsComponent,
3597
+ NiceFilterInfiniteScrollDataViewComponent,
3598
+ NiceFilterSearchComponent,
3599
+ NiceFilterDataDirective,
3600
+ NiceFilterExportDirective,
3601
+ NiceFilterMatTableViewDirective,
3602
+ NiceFilterMatSortSortingDirective,
3603
+ NiceFilterMatPaginatorPaginationDirective,
3604
+ NiceFilterQueryParamsDirective], imports: [TranslateModule,
3605
+ MatIconModule,
3606
+ FormsModule,
3607
+ AsyncPipe,
3608
+ NgIf,
3609
+ NgTemplateOutlet,
3610
+ MatTooltipModule,
3611
+ MatButtonModule,
3612
+ MatBottomSheetModule,
3613
+ NiceExportBottomSheetModule], exports: [NiceFilterViewComponent,
3614
+ NiceFilterCustomDataViewComponent,
3615
+ NiceFilterExportButtonsComponent,
3616
+ NiceFilterInfiniteScrollDataViewComponent,
3617
+ NiceFilterSearchComponent,
3618
+ NiceFilterDataDirective,
3619
+ NiceFilterExportDirective,
3620
+ NiceFilterMatTableViewDirective,
3621
+ NiceFilterMatSortSortingDirective,
3622
+ NiceFilterMatPaginatorPaginationDirective,
3623
+ NiceFilterQueryParamsDirective] });
3624
+ NiceFilterViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewModule, imports: [TranslateModule,
3625
+ MatIconModule,
3626
+ FormsModule,
3627
+ MatTooltipModule,
3628
+ MatButtonModule,
3629
+ MatBottomSheetModule,
3630
+ NiceExportBottomSheetModule] });
3631
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewModule, decorators: [{
3632
+ type: NgModule,
3633
+ args: [{
3634
+ imports: [
3635
+ TranslateModule,
3636
+ MatIconModule,
3637
+ FormsModule,
3638
+ AsyncPipe,
3639
+ NgIf,
3640
+ NgTemplateOutlet,
3641
+ MatTooltipModule,
3642
+ MatButtonModule,
3643
+ MatBottomSheetModule,
3644
+ NiceExportBottomSheetModule
3645
+ ],
3646
+ declarations: [
3647
+ NiceFilterViewComponent,
3648
+ NiceFilterCustomDataViewComponent,
3649
+ NiceFilterExportButtonsComponent,
3650
+ NiceFilterInfiniteScrollDataViewComponent,
3651
+ NiceFilterSearchComponent,
3652
+ NiceFilterDataDirective,
3653
+ NiceFilterExportDirective,
3654
+ NiceFilterMatTableViewDirective,
3655
+ NiceFilterMatSortSortingDirective,
3656
+ NiceFilterMatPaginatorPaginationDirective,
3657
+ NiceFilterQueryParamsDirective
3658
+ ],
3659
+ providers: [],
3660
+ exports: [
3661
+ NiceFilterViewComponent,
3662
+ NiceFilterCustomDataViewComponent,
3663
+ NiceFilterExportButtonsComponent,
3664
+ NiceFilterInfiniteScrollDataViewComponent,
3665
+ NiceFilterSearchComponent,
3666
+ NiceFilterDataDirective,
3667
+ NiceFilterExportDirective,
3668
+ NiceFilterMatTableViewDirective,
3669
+ NiceFilterMatSortSortingDirective,
3670
+ NiceFilterMatPaginatorPaginationDirective,
3671
+ NiceFilterQueryParamsDirective
3672
+ ],
3673
+ }]
3674
+ }] });
3675
+
2735
3676
  class StringUtils {
2736
3677
  }
2737
3678
  // tslint:disable-next-line:max-line-length
@@ -2748,5 +3689,5 @@ String.prototype.toTableColumn = function (sortableOrOptions, nullLast) {
2748
3689
  * Generated bundle index. Do not edit.
2749
3690
  */
2750
3691
 
2751
- export { DateFilterComponent, FilterComponent, FilterGroupIconPipe, FilterOperatorTypes, FilterSelectionComponent, FilterType, FilterUtils, LayoutContent, NiceBaseListButtonsDirective, NiceBaseListCardsDirective, NiceBaseListComponent, NiceBaseListCustomContentDirective, NiceBaseListDirectiveModule, NiceBaseListEmptySearchResultStateDirective, NiceBaseListEmptyStateDirective, NiceBaseListFiltersDirective, NiceBaseListModule, NiceBaseListQuery, NiceBaseListService, NiceBaseListStore, NiceBaseListTableDirective, NiceBaseListTitleDirective, NiceCustomDateAdapter, NiceFilterApi, NiceFilterGroupService, NiceFilterService, NiceListState, NiceMultiStateFilterService, NiceMultiStateListComponent, NiceMultiStateListModule, NiceMultiStateListQuery, NiceMultiStateListService, NiceMultiStateListStore, NiceQueryBuilderComponent, NiceQueryBuilderModule, NiceSavedReportService, NumberFilterComponent, OrderUtils, QBFilterUtils, QueryBuilderTriggerDirective, RadioFilterComponent, RuleComponent, SelectFilterComponent, StringUtils, TableColumns, TextFilterComponent, defaultLayout, initialBaseListState, initialValue, mixinNiceFilterApi };
3692
+ export { DateFilterComponent, FilterComponent, FilterGroupIconPipe, FilterOperatorTypes, FilterSelectionComponent, FilterType, FilterUtils, LayoutContent, 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, NiceQueryBuilderComponent, NiceQueryBuilderModule, NiceSavedReportService, NumberFilterComponent, OrderUtils, QBFilterUtils, QueryBuilderTriggerDirective, RadioFilterComponent, RuleComponent, SelectFilterComponent, StringUtils, TableColumns, TextFilterComponent, defaultLayout, initialBaseListState, initialValue$1 as initialValue, mixinNiceFilterApi };
2752
3693
  //# sourceMappingURL=recursyve-nice-data-filter-kit.mjs.map