@recursyve/nice-data-filter-kit 14.0.6 → 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 (49) hide show
  1. package/esm2020/lib/components/base-list/base-list.module.mjs +1 -1
  2. package/esm2020/lib/components/multi-state-list/multi-state-list.module.mjs +10 -6
  3. package/esm2020/lib/components/nice-filter-view/components/common/data.directive.mjs +14 -0
  4. package/esm2020/lib/components/nice-filter-view/components/custom-data-view/custom-data-view.component.mjs +22 -0
  5. package/esm2020/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.mjs +85 -0
  6. package/esm2020/lib/components/nice-filter-view/components/export-buttons/export.directive.mjs +27 -0
  7. package/esm2020/lib/components/nice-filter-view/components/infinite-scroll-data-view/infinite-scroll-data-view.component.mjs +33 -0
  8. package/esm2020/lib/components/nice-filter-view/components/search/search.component.mjs +54 -0
  9. package/esm2020/lib/components/nice-filter-view/directives/mat-paginator.mjs +48 -0
  10. package/esm2020/lib/components/nice-filter-view/directives/mat-sort.mjs +58 -0
  11. package/esm2020/lib/components/nice-filter-view/directives/mat-tables.mjs +22 -0
  12. package/esm2020/lib/components/nice-filter-view/directives/query-params.directive.mjs +81 -0
  13. package/esm2020/lib/components/nice-filter-view/nice-base-filter-view.component.mjs +89 -0
  14. package/esm2020/lib/components/nice-filter-view/nice-filter-view.component.mjs +34 -0
  15. package/esm2020/lib/components/nice-filter-view/nice-filter-view.constant.mjs +5 -0
  16. package/esm2020/lib/components/nice-filter-view/nice-filter-view.module.mjs +143 -0
  17. package/esm2020/lib/components/nice-filter-view/public-api.mjs +16 -0
  18. package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.query.mjs +29 -0
  19. package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.service.mjs +229 -0
  20. package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.store.mjs +119 -0
  21. package/esm2020/lib/components/public-api.mjs +2 -1
  22. package/esm2020/lib/utils/query-params.utils.mjs +5 -1
  23. package/fesm2015/recursyve-nice-data-filter-kit.mjs +967 -22
  24. package/fesm2015/recursyve-nice-data-filter-kit.mjs.map +1 -1
  25. package/fesm2020/recursyve-nice-data-filter-kit.mjs +980 -20
  26. package/fesm2020/recursyve-nice-data-filter-kit.mjs.map +1 -1
  27. package/lib/components/multi-state-list/multi-state-list.module.d.ts +2 -0
  28. package/lib/components/nice-filter-view/components/common/data.directive.d.ts +8 -0
  29. package/lib/components/nice-filter-view/components/custom-data-view/custom-data-view.component.d.ts +11 -0
  30. package/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.d.ts +25 -0
  31. package/lib/components/nice-filter-view/components/export-buttons/export.directive.d.ts +11 -0
  32. package/lib/components/nice-filter-view/components/infinite-scroll-data-view/infinite-scroll-data-view.component.d.ts +14 -0
  33. package/lib/components/nice-filter-view/components/search/search.component.d.ts +20 -0
  34. package/lib/components/nice-filter-view/directives/mat-paginator.d.ts +16 -0
  35. package/lib/components/nice-filter-view/directives/mat-sort.d.ts +16 -0
  36. package/lib/components/nice-filter-view/directives/mat-tables.d.ts +12 -0
  37. package/lib/components/nice-filter-view/directives/query-params.directive.d.ts +21 -0
  38. package/lib/components/nice-filter-view/nice-base-filter-view.component.d.ts +55 -0
  39. package/lib/components/nice-filter-view/nice-filter-view.component.d.ts +12 -0
  40. package/lib/components/nice-filter-view/nice-filter-view.constant.d.ts +4 -0
  41. package/lib/components/nice-filter-view/nice-filter-view.module.d.ts +40 -0
  42. package/lib/components/nice-filter-view/public-api.d.ts +15 -0
  43. package/lib/components/nice-filter-view/store/nice-filter-view.query.d.ts +15 -0
  44. package/lib/components/nice-filter-view/store/nice-filter-view.service.d.ts +36 -0
  45. package/lib/components/nice-filter-view/store/nice-filter-view.store.d.ts +31 -0
  46. package/lib/components/public-api.d.ts +1 -0
  47. package/lib/utils/query-params.utils.d.ts +3 -0
  48. package/package.json +1 -1
  49. 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,15 +2614,15 @@ 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
  }] } });
2618
2622
 
2619
2623
  class NiceMultiStateListModule {
2620
2624
  static providerFactory(options) {
2621
- var _a;
2625
+ var _a, _b;
2622
2626
  return [
2623
2627
  {
2624
2628
  provide: NiceMultiStateFilterService,
@@ -2633,18 +2637,22 @@ 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,
2640
2644
  csv: true
2641
2645
  }
2642
2646
  },
2647
+ {
2648
+ provide: DISABLE_QUERY_PARAMS,
2649
+ useValue: (_b = options.disableQueryParams) !== null && _b !== void 0 ? _b : false
2650
+ },
2651
+ options.disableQueryBuilder !== undefined ? {
2652
+ provide: ENABLE_QUERY_BUILDER,
2653
+ useValue: !options.disableQueryBuilder
2654
+ } : null,
2643
2655
  ...(options.queryBuilder ? [
2644
- {
2645
- provide: ENABLE_QUERY_BUILDER,
2646
- useValue: true
2647
- },
2648
2656
  {
2649
2657
  provide: NiceFilterGroupService,
2650
2658
  useClass: options.queryBuilder.filterGroupService
@@ -2728,6 +2736,943 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
2728
2736
  }]
2729
2737
  }] });
2730
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
+
2731
3676
  class StringUtils {
2732
3677
  }
2733
3678
  // tslint:disable-next-line:max-line-length
@@ -2744,5 +3689,5 @@ String.prototype.toTableColumn = function (sortableOrOptions, nullLast) {
2744
3689
  * Generated bundle index. Do not edit.
2745
3690
  */
2746
3691
 
2747
- 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 };
2748
3693
  //# sourceMappingURL=recursyve-nice-data-filter-kit.mjs.map