@one-paragon/angular-utilities 1.3.1 → 2.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/action-state/ngrx.d.ts +1 -1
  2. package/fesm2022/one-paragon-angular-utilities.mjs +1095 -1091
  3. package/fesm2022/one-paragon-angular-utilities.mjs.map +1 -1
  4. package/ngrx/actionable-selector.d.ts +3 -3
  5. package/package.json +7 -8
  6. package/table-builder/classes/TableBuilderDataSource.d.ts +8 -2
  7. package/table-builder/classes/TableState.d.ts +1 -0
  8. package/table-builder/classes/filter-info.d.ts +3 -1
  9. package/table-builder/classes/table-builder-general-settings.d.ts +18 -6
  10. package/table-builder/classes/table-builder.d.ts +1 -1
  11. package/table-builder/classes/table-store.d.ts +61 -66
  12. package/table-builder/classes/table-store.helpers.d.ts +29 -0
  13. package/table-builder/components/column-builder/column-builder.component.d.ts +19 -29
  14. package/table-builder/components/filter/filter.component.d.ts +3 -3
  15. package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +9 -10
  16. package/table-builder/components/generic-table/generic-table.component.d.ts +27 -39
  17. package/table-builder/components/generic-table/paginator.component.d.ts +2 -5
  18. package/table-builder/components/header-menu/header-menu.component.d.ts +3 -5
  19. package/table-builder/components/in-filter/in-filter.component.d.ts +2 -2
  20. package/table-builder/components/number-filter/number-filter.component.d.ts +3 -3
  21. package/table-builder/components/sort-menu/sort-menu.component-store.d.ts +4 -4
  22. package/table-builder/components/sort-menu/sort-menu.component.d.ts +6 -11
  23. package/table-builder/components/table-container/table-container-imports.d.ts +2 -3
  24. package/table-builder/components/table-container/table-container.d.ts +56 -52
  25. package/table-builder/components/table-container/table-container.helpers/filter-state.helpers.d.ts +2 -0
  26. package/table-builder/components/table-container/table-container.helpers/meta-data.helpers.d.ts +2 -0
  27. package/table-builder/components/table-container/tableProps.d.ts +0 -2
  28. package/table-builder/components/table-container/virtual-scroll-container.d.ts +12 -3
  29. package/table-builder/components/table-container-filter/filter-list/filter-list.component.d.ts +1 -1
  30. package/table-builder/components/table-container-filter/table-wrapper-filter-store.d.ts +1 -1
  31. package/table-builder/directives/custom-cell-directive.d.ts +17 -16
  32. package/table-builder/directives/multi-sort.directive.d.ts +1 -1
  33. package/table-builder/directives/table-wrapper.directive.d.ts +1 -1
  34. package/table-builder/directives/tb-filter.directive.d.ts +13 -15
  35. package/table-builder/interfaces/report-def.d.ts +13 -2
  36. package/table-builder/pipes/format-filter-value.pipe.d.ts +1 -2
  37. package/table-builder/pipes/key-display.d.ts +1 -2
  38. package/table-builder/services/transform-creator.d.ts +1 -2
  39. package/utilities/pipes/function.pipe.d.ts +5 -1
@@ -1,11 +1,9 @@
1
- import { ElementRef } from '@angular/core';
2
1
  import { MatPaginator, PageEvent } from '@angular/material/paginator';
3
2
  import * as i0 from "@angular/core";
4
3
  export declare class PaginatorComponent {
5
4
  private state;
6
5
  private data;
7
6
  $paginator: import("@angular/core").Signal<MatPaginator | undefined>;
8
- $tableElRef: import("@angular/core").InputSignal<ElementRef<HTMLDivElement>>;
9
7
  $dataLength: import("@angular/core").Signal<number>;
10
8
  pageEvent$: import("rxjs").Observable<PageEvent>;
11
9
  $pageEvent: import("@angular/core").Signal<PageEvent | undefined>;
@@ -21,10 +19,9 @@ export declare class PaginatorComponent {
21
19
  onMetaPageSizeEffect: import("@angular/core").EffectRef;
22
20
  onDataLengthEffect: import("@angular/core").EffectRef;
23
21
  $collapseFooter: import("@angular/core").Signal<boolean>;
24
- $showAllOption: import("@angular/core").Signal<boolean>;
22
+ $showAllOption: import("@angular/core").Signal<boolean | undefined>;
25
23
  $showAll: import("@angular/core").Signal<boolean>;
26
- updatePaginator: () => void;
27
24
  showAll(): void;
28
25
  static ɵfac: i0.ɵɵFactoryDeclaration<PaginatorComponent, never>;
29
- static ɵcmp: i0.ɵɵComponentDeclaration<PaginatorComponent, "tb-paginator", never, { "$tableElRef": { "alias": "tableElRef"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<PaginatorComponent, "tb-paginator", never, {}, {}, never, never, true, never>;
30
27
  }
@@ -36,10 +36,8 @@ export declare class HeaderMenuComponent {
36
36
  readonly Custom: "Custom";
37
37
  };
38
38
  myFilterType: FilterType;
39
- myFilterValue: any;
40
- filter: Partial<FilterInfo>;
41
- metaData: MetaData;
42
- trigger: MatMenuTrigger;
39
+ $metaData: import("@angular/core").InputSignal<MetaData>;
40
+ $trigger: import("@angular/core").Signal<MatMenuTrigger | undefined>;
43
41
  hideField(key: string): void;
44
42
  ngOnInit(): void;
45
43
  resetFilterType(): void;
@@ -47,5 +45,5 @@ export declare class HeaderMenuComponent {
47
45
  setFilterType(filterType: FilterType): void;
48
46
  onEnter(filter: FilterInfo): void;
49
47
  static ɵfac: i0.ɵɵFactoryDeclaration<HeaderMenuComponent, never>;
50
- static ɵcmp: i0.ɵɵComponentDeclaration<HeaderMenuComponent, "tb-header-menu", never, { "metaData": { "alias": "metaData"; "required": false; }; }, {}, never, never, true, never>;
48
+ static ɵcmp: i0.ɵɵComponentDeclaration<HeaderMenuComponent, "tb-header-menu", never, { "$metaData": { "alias": "metaData"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
51
49
  }
@@ -4,7 +4,7 @@ import * as i0 from "@angular/core";
4
4
  export declare class InFilterComponent implements ControlValueAccessor {
5
5
  private ref;
6
6
  FieldType: typeof FieldType;
7
- type: FieldType;
7
+ $type: import("@angular/core").InputSignal<FieldType>;
8
8
  value: (string | number | undefined)[];
9
9
  constructor();
10
10
  writeValue(obj: any[]): void;
@@ -16,5 +16,5 @@ export declare class InFilterComponent implements ControlValueAccessor {
16
16
  removeInput(index: number): void;
17
17
  onValueChange(i: number, value: number | string): void;
18
18
  static ɵfac: i0.ɵɵFactoryDeclaration<InFilterComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<InFilterComponent, "lib-in-filter", never, { "type": { "alias": "type"; "required": false; }; }, {}, never, never, true, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<InFilterComponent, "lib-in-filter", never, { "$type": { "alias": "type"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
20
20
  }
@@ -32,8 +32,8 @@ export declare class NumberFilterComponent {
32
32
  readonly Custom: "Custom";
33
33
  };
34
34
  FieldType: typeof FieldType;
35
- CurrentFilterType: FilterType;
36
- info: PartialFilter;
35
+ $currentFilterType: import("@angular/core").InputSignal<FilterType>;
36
+ $info: import("@angular/core").InputSignal<PartialFilter>;
37
37
  static ɵfac: i0.ɵɵFactoryDeclaration<NumberFilterComponent, never>;
38
- static ɵcmp: i0.ɵɵComponentDeclaration<NumberFilterComponent, "tb-number-filter", never, { "CurrentFilterType": { "alias": "CurrentFilterType"; "required": false; }; "info": { "alias": "info"; "required": false; }; }, {}, never, never, true, never>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<NumberFilterComponent, "tb-number-filter", never, { "$currentFilterType": { "alias": "CurrentFilterType"; "required": true; "isSignal": true; }; "$info": { "alias": "info"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
39
39
  }
@@ -3,14 +3,14 @@ import { ComponentStore } from '@ngrx/component-store';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class SortMenuComponentStore extends ComponentStore<ComponentStoreState> {
5
5
  private tableState;
6
+ setStoreStateEffect: import("@angular/core").EffectRef;
7
+ setStateFromTableStore: () => void;
6
8
  constructor();
7
- private set;
8
9
  setSorted: (observableOrValue: SortWithName[] | import("rxjs").Observable<SortWithName[]>) => import("rxjs").Subscription;
9
10
  setNotSorted: (observableOrValue: SortWithName[] | import("rxjs").Observable<SortWithName[]>) => import("rxjs").Subscription;
10
- sorted$: import("rxjs").Observable<SortWithName[]>;
11
- notSorted$: import("rxjs").Observable<SortWithName[]>;
11
+ $sorted: import("@angular/core").Signal<SortWithName[]>;
12
+ $notSorted: import("@angular/core").Signal<SortWithName[]>;
12
13
  setDirection: (observableOrValue: SortWithName | import("rxjs").Observable<SortWithName>) => import("rxjs").Subscription;
13
- metaDataArr$: import("rxjs").Observable<import("../../interfaces/report-def").MetaData[]>;
14
14
  reset: () => void;
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<SortMenuComponentStore, never>;
16
16
  static ɵprov: i0.ɵɵInjectableDeclaration<SortMenuComponentStore>;
@@ -1,23 +1,18 @@
1
1
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
2
- import { OnInit } from '@angular/core';
3
- import { BehaviorSubject } from 'rxjs';
4
- import { Observable } from 'rxjs';
5
2
  import { SortDirection } from '../../interfaces/report-def';
6
3
  import { SortMenuComponentStore, SortWithName } from './sort-menu.component-store';
7
4
  import * as i0 from "@angular/core";
8
- export declare class SortMenuComponent implements OnInit {
5
+ export declare class SortMenuComponent {
6
+ SortDirection: typeof SortDirection;
9
7
  private tableState;
10
8
  protected store: SortMenuComponentStore;
11
- sorted$: Observable<SortWithName[]>;
12
- notSorted$: Observable<SortWithName[]>;
13
- SortDirection: typeof SortDirection;
14
- dirty$: BehaviorSubject<boolean>;
15
- constructor();
9
+ $sorted: import("@angular/core").Signal<SortWithName[]>;
10
+ $notSorted: import("@angular/core").Signal<SortWithName[]>;
11
+ $dirty: import("@angular/core").WritableSignal<boolean>;
16
12
  reset(): void;
17
- ngOnInit(): void;
18
13
  dropIntoSorted(event: CdkDragDrop<SortWithName[]>): void;
19
14
  dropIntoNotSorted(event: CdkDragDrop<SortWithName[]>): void;
20
- apply: (observableOrValue: Observable<null> | null) => import("rxjs").Subscription;
15
+ apply: () => void;
21
16
  setDirection(sort: SortWithName): void;
22
17
  static ɵfac: i0.ɵɵFactoryDeclaration<SortMenuComponent, never>;
23
18
  static ɵcmp: i0.ɵɵComponentDeclaration<SortMenuComponent, "tb-sort-menu", never, {}, {}, never, never, true, never>;
@@ -1,5 +1,4 @@
1
- import { AsyncPipe, NgTemplateOutlet } from "@angular/common";
2
- import { LetDirective } from "@ngrx/component";
1
+ import { NgTemplateOutlet } from "@angular/common";
3
2
  import { MultiSortDirective } from "../../directives";
4
3
  import { GroupByListComponent } from "../group-by-list/group-by-list.component";
5
4
  import { FilterChipsComponent } from "../table-container-filter/filter-list/filter-list.component";
@@ -11,4 +10,4 @@ import { SortMenuComponent } from "../sort-menu/sort-menu.component";
11
10
  import { StopPropagationDirective } from "../../../utilities";
12
11
  import { PaginatorComponent } from "../generic-table/paginator.component";
13
12
  import { VirtualScrollContainer } from "./virtual-scroll-container";
14
- export declare const containerImports: (typeof AsyncPipe | typeof NgTemplateOutlet | typeof MatButtonModule | typeof MultiSortDirective | typeof StopPropagationDirective | typeof GenColDisplayerComponent | typeof GenFilterDisplayerComponent | typeof LetDirective | typeof FilterChipsComponent | typeof GenericTableComponent | typeof GroupByListComponent | typeof SortMenuComponent | typeof PaginatorComponent | typeof VirtualScrollContainer)[];
13
+ export declare const containerImports: (typeof GenericTableComponent | typeof VirtualScrollContainer | typeof MatButtonModule | typeof NgTemplateOutlet | typeof MultiSortDirective | typeof StopPropagationDirective | typeof GenColDisplayerComponent | typeof GenFilterDisplayerComponent | typeof FilterChipsComponent | typeof GroupByListComponent | typeof SortMenuComponent | typeof PaginatorComponent)[];
@@ -1,81 +1,85 @@
1
- import { EventEmitter, Predicate, TemplateRef, ElementRef, OnInit, OnDestroy, Injector } from '@angular/core';
2
- import { BehaviorSubject, Observable, ReplaySubject } from 'rxjs';
3
- import { MetaData } from '../../interfaces/report-def';
1
+ import { Predicate, TemplateRef, OnDestroy, Injector, ElementRef } from '@angular/core';
2
+ import { BehaviorSubject, Observable } from 'rxjs';
4
3
  import { TableBuilder } from '../../classes/table-builder';
5
4
  import { MatRowDef } from '@angular/material/table';
6
5
  import { CustomCellDirective, TableCustomFilterDirective, TableFilterDirective } from '../../directives';
7
6
  import { TableStore } from '../../classes/table-store';
8
7
  import { ExportToCsvService } from '../../services/export-to-csv.service';
9
- import { InitializationState, TableState } from '../../classes/TableState';
8
+ import { CustomFilter, FilterInfo } from '../../classes/filter-info';
10
9
  import { TableWrapperDirective } from '../../directives/table-wrapper.directive';
11
10
  import { TableBuilderStateStore } from '../../ngrx/tableBuilderStateStore';
12
11
  import { TableProps } from './tableProps';
13
12
  import { PaginatorComponent } from '../generic-table/paginator.component';
13
+ import { TableBuilderDataSource } from '../../classes/TableBuilderDataSource';
14
14
  import { GenericTableComponent } from '../generic-table/generic-table.component';
15
+ import { SelectionChange } from '@angular/cdk/collections';
15
16
  import * as i0 from "@angular/core";
16
- export declare class TableContainerComponent<T = any> implements OnInit, OnDestroy {
17
- props: TableProps;
18
- data: BehaviorSubject<T[]>;
17
+ export declare class TableContainerComponent<T = any> implements OnDestroy {
18
+ #private;
19
19
  state: TableStore;
20
20
  private dataStore;
21
- config: import("../../classes/TableBuilderConfig").TableBuilderConfig;
22
21
  exportToCsvService: ExportToCsvService<T>;
23
22
  wrapper: TableWrapperDirective | null;
24
23
  stateService: TableBuilderStateStore;
25
24
  injector: Injector;
26
- filterDirectives: import("@angular/core").Signal<readonly TableFilterDirective[]>;
27
- customFilterDirectives: import("@angular/core").Signal<readonly TableCustomFilterDirective<any>[]>;
28
- $allFilterDirectives: import("@angular/core").Signal<(TableCustomFilterDirective<any> | TableFilterDirective)[]>;
29
- $isInitializationState: (state: InitializationState) => import("@angular/core").Signal<boolean>;
30
- allFilterDirectivesEffect: import("@angular/core").EffectRef;
31
- paginatorComponent?: PaginatorComponent;
32
- genericTable?: GenericTableComponent;
25
+ elementRef: ElementRef<any>;
26
+ protected dataSource: TableBuilderDataSource<T>;
27
+ $filterDirectives: import("@angular/core").Signal<readonly TableFilterDirective[]>;
28
+ $customFilterDirectives: import("@angular/core").Signal<readonly TableCustomFilterDirective[]>;
29
+ $paginatorComponent: import("@angular/core").Signal<PaginatorComponent | undefined>;
30
+ $genericTable: import("@angular/core").Signal<GenericTableComponent | undefined>;
33
31
  _$customRows: import("@angular/core").Signal<readonly MatRowDef<any>[]>;
34
32
  $customRows: import("@angular/core").Signal<MatRowDef<any>[]>;
35
33
  $customCells: import("@angular/core").Signal<readonly CustomCellDirective<any>[]>;
36
- $myColumns: import("@angular/core").Signal<{
37
- metaData: MetaData;
38
- customCell: CustomCellDirective<any> | undefined;
39
- }[]>;
40
- tableElRef: ElementRef;
41
- tableBuilder: TableBuilder;
34
+ $tableBuilder: import("@angular/core").InputSignal<TableBuilder<T>>;
42
35
  $tableId: import("@angular/core").InputSignal<string | undefined>;
43
- set indexColumn(val: boolean);
44
- set selectionColumn(val: boolean);
45
- set isSticky(val: boolean);
46
- set stickyFooter(val: boolean);
47
- set pageSize(value: number);
48
- set groupHeaderTemplate(template: TemplateRef<any>);
49
- set groupHeaderHeight(value: number);
50
- trackBy: string;
51
- inputFilters?: Observable<Array<Predicate<T>>>;
52
- selection$: EventEmitter<any>;
36
+ $trackBy: import("@angular/core").InputSignal<string | undefined>;
37
+ $inputFilters: import("@angular/core").ModelSignal<(FilterInfo<any, any> | CustomFilter<any> | Predicate<T>)[]>;
38
+ predicateInputFilters$: Observable<((...args: any[]) => any)[]>;
39
+ $filterInfoInputs: import("@angular/core").Signal<(FilterInfo<any, any> | CustomFilter<any>)[]>;
40
+ $indexColumn: import("@angular/core").InputSignal<boolean>;
41
+ $selectionColumn: import("@angular/core").InputSignal<boolean>;
42
+ $isSticky: import("@angular/core").InputSignal<boolean>;
43
+ $stickyFooter: import("@angular/core").InputSignal<boolean>;
44
+ $groupHeaderTemplate: import("@angular/core").InputSignal<TemplateRef<any> | undefined>;
45
+ $groupHeaderHeight: import("@angular/core").InputSignal<number | undefined>;
46
+ $pageSize: import("@angular/core").InputSignal<number | undefined>;
47
+ $props: import("@angular/core").Signal<TableProps>;
48
+ selection$: import("@angular/core").OutputEmitterRef<SelectionChange<T>>;
49
+ onStateReset$: import("@angular/core").OutputEmitterRef<null>;
50
+ onSaveState$: import("@angular/core").OutputEmitterRef<null>;
51
+ _state$: Observable<import("../../classes/TableState").PersistedTableState>;
52
+ state$: import("@angular/core").OutputRef<import("../../classes/TableState").PersistedTableState>;
53
+ _data$: BehaviorSubject<T[]>;
54
+ data$: import("@angular/core").OutputRef<T[]>;
53
55
  $data: import("@angular/core").Signal<T[]>;
54
- onStateReset: EventEmitter<any>;
55
- onSaveState: EventEmitter<any>;
56
- state$: Observable<import("../../classes/TableState").PersistedTableState>;
57
56
  clearSelections(): void;
58
- displayData: ReplaySubject<T[]>;
59
- $displayData: import("@angular/core").Signal<T[]>;
60
- $collapseFooter: import("@angular/core").Signal<boolean>;
61
- $collapseHeader: import("@angular/core").Signal<boolean>;
62
- ngOnDestroy(): void;
63
57
  firstPage(): void;
64
58
  lastPage(): void;
65
- resetState(): void;
66
- $persistedState: import("@angular/core").Signal<import("../../classes/TableState").PersistedTableState | null | undefined>;
67
- private initializeStateEffect;
68
- customFilters$: BehaviorSubject<Predicate<T>[]>;
69
- initializeData(): void;
70
- ngOnInit(): void;
71
- mergeMetaData(metaData1: MetaData, metaData2?: MetaData): MetaData;
72
- exportToCsv(): void;
73
59
  expandAllGroups: () => void;
74
60
  collapseAllGroups: () => void;
75
- ngAfterContentInit(): void;
76
- mapArrayFieldsMetaDatas: (meta: MetaData<T>) => MetaData<T>;
77
- addFilterDirectives: (state: TableState) => void;
78
- $useVirtual: import("@angular/core").Signal<boolean>;
61
+ protected $myColumns: import("@angular/core").Signal<{
62
+ metaData: import("../../interfaces/report-def").MetaData;
63
+ customCell: CustomCellDirective<any> | undefined;
64
+ }[]>;
65
+ protected $useVirtual: import("@angular/core").Signal<boolean | undefined>;
66
+ protected $collapsedFooter: import("@angular/core").Signal<boolean>;
67
+ protected $collapsedHeader: import("@angular/core").Signal<boolean>;
68
+ protected $displayDataLength: import("@angular/core").Signal<number>;
69
+ protected resetState(): void;
70
+ protected exportToCsv(): void;
71
+ private $persistedState;
72
+ private $allFilterDirectives;
73
+ private allNotSavableFilterDirectivesFilters$;
74
+ private tableBuilderMetaData$;
75
+ private $tableBuilderMetaData;
76
+ private $allMetaDatas;
77
+ private $displayData;
78
+ ngOnDestroy(): void;
79
+ private initializeData;
80
+ private $isInitializationState;
81
+ static headerId: string;
82
+ headerId: string;
79
83
  static ɵfac: i0.ɵɵFactoryDeclaration<TableContainerComponent<any>, never>;
80
- static ɵcmp: i0.ɵɵComponentDeclaration<TableContainerComponent<any>, "tb-table-container", never, { "tableBuilder": { "alias": "tableBuilder"; "required": true; }; "$tableId": { "alias": "tableId"; "required": false; "isSignal": true; }; "indexColumn": { "alias": "indexColumn"; "required": false; }; "selectionColumn": { "alias": "selectionColumn"; "required": false; }; "isSticky": { "alias": "isSticky"; "required": false; }; "stickyFooter": { "alias": "stickyFooter"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "groupHeaderTemplate": { "alias": "groupHeaderTemplate"; "required": false; }; "groupHeaderHeight": { "alias": "groupHeaderHeight"; "required": false; }; "trackBy": { "alias": "trackBy"; "required": false; }; "inputFilters": { "alias": "inputFilters"; "required": false; }; }, { "data": "data"; "selection$": "selection$"; "onStateReset": "onStateReset"; "onSaveState": "onSaveState"; "state$": "state$"; }, ["filterDirectives", "customFilterDirectives", "_$customRows", "$customCells", "tableElRef"], ["[before]", ".tb-header-title"], true, never>;
84
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableContainerComponent<any>, "tb-table-container", never, { "$tableBuilder": { "alias": "tableBuilder"; "required": true; "isSignal": true; }; "$tableId": { "alias": "tableId"; "required": false; "isSignal": true; }; "$trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; "$inputFilters": { "alias": "inputFilters"; "required": false; "isSignal": true; }; "$indexColumn": { "alias": "indexColumn"; "required": false; "isSignal": true; }; "$selectionColumn": { "alias": "selectionColumn"; "required": false; "isSignal": true; }; "$isSticky": { "alias": "isSticky"; "required": false; "isSignal": true; }; "$stickyFooter": { "alias": "stickyFooter"; "required": false; "isSignal": true; }; "$groupHeaderTemplate": { "alias": "groupHeaderTemplate"; "required": false; "isSignal": true; }; "$groupHeaderHeight": { "alias": "groupHeaderHeight"; "required": false; "isSignal": true; }; "$pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; }, { "$inputFilters": "inputFiltersChange"; "selection$": "selection"; "onStateReset$": "onStateReset"; "onSaveState$": "onSaveState"; "state$": "state"; "data$": "data"; }, ["$filterDirectives", "$customFilterDirectives", "_$customRows", "$customCells"], ["[before]", ".tb-header-title"], true, never>;
81
85
  }
@@ -2,10 +2,12 @@ import { Timestamp } from "rxjs";
2
2
  import { CustomFilter, FilterInfo } from "../../../classes/filter-info";
3
3
  import { Dictionary } from "../../../interfaces/dictionary";
4
4
  import { Predicate } from "@angular/core";
5
+ import { TableCustomFilterDirective, TableFilterDirective } from "../../../directives";
5
6
  export declare const updateFilterInfoState: <T>(previousState: FilterInfoState<T>, filterInfos: FilterInfoDict) => FilterInfoState<T>;
6
7
  export declare const mapFilterInfoStateToPredicateState: <T>(s: FilterInfoState<T>) => FilterPredicateState<T>;
7
8
  export declare const updateFilterPredicateState: <T>(previousState: FilterPredicateState<T>, filters: Predicate<any>[]) => FilterPredicateState<T>;
8
9
  export declare const updateFilterState: <T>(filterInfos: Timestamp<FilterInfoState<T>>, predicates: Timestamp<FilterPredicateState<T>>) => FilterPredicateState<T>;
10
+ export declare function patchDirectiveFromState(directive: (TableCustomFilterDirective | TableFilterDirective), stateFilter: FilterInfo | CustomFilter): void;
9
11
  export interface FilterInfoState<T> {
10
12
  allFilters: FilterInfoDict<T>;
11
13
  onlyAddedFilters?: FilterInfoDict<T> | undefined;
@@ -0,0 +1,2 @@
1
+ import { CustomCellMeta, MetaData } from "../../../interfaces/report-def";
2
+ export declare function mergeCustomCellMetaData(metaData1: CustomCellMeta, metaData2?: MetaData): MetaData;
@@ -1,12 +1,10 @@
1
1
  import { TemplateRef } from '@angular/core';
2
- import { TableBuilderDataSource } from '../../classes/TableBuilderDataSource';
3
2
  export interface TableProps {
4
3
  indexColumn: boolean;
5
4
  selectionColumn: boolean;
6
5
  isSticky: boolean;
7
6
  stickyFooter: boolean;
8
7
  groupHeaderTemplate?: TemplateRef<any>;
9
- dataSource?: TableBuilderDataSource<any>;
10
8
  groupHeaderHeight?: number;
11
9
  }
12
10
  export declare const defaultProps: TableProps;
@@ -1,13 +1,16 @@
1
1
  import { ElementRef, OnDestroy } from '@angular/core';
2
2
  import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
3
+ import { Subject } from 'rxjs';
3
4
  import { TableVirtualScrollStrategy } from '../scroll-strategy';
4
5
  import { VirtualScrollOptions } from '../../classes/table-builder-general-settings';
5
6
  import * as i0 from "@angular/core";
6
7
  export declare class VirtualScrollContainer implements OnDestroy {
8
+ #private;
7
9
  private state;
8
10
  private dataStore;
9
11
  viewport: import("@angular/core").Signal<CdkVirtualScrollViewport | undefined>;
10
12
  private genericTable;
13
+ private tableContainer;
11
14
  defaultOptions: VirtualScrollOptions;
12
15
  scrollStrategy: TableVirtualScrollStrategy;
13
16
  $usePaginator: import("@angular/core").Signal<boolean>;
@@ -15,6 +18,10 @@ export declare class VirtualScrollContainer implements OnDestroy {
15
18
  $currentPage: import("@angular/core").Signal<number>;
16
19
  $showAll: import("@angular/core").Signal<boolean>;
17
20
  $stateDataLength: import("@angular/core").Signal<number>;
21
+ viewPort$: import("rxjs").Observable<CdkVirtualScrollViewport>;
22
+ $scrolledIndexChange: import("@angular/core").Signal<number | undefined>;
23
+ $renderedRange: import("@angular/core").Signal<import("@angular/cdk/collections").ListRange | undefined>;
24
+ $virtualScrollOptions: import("@angular/core").Signal<VirtualScrollOptions>;
18
25
  $dataLength: import("@angular/core").Signal<number>;
19
26
  constructor();
20
27
  setViewportEffect: import("@angular/core").EffectRef;
@@ -22,15 +29,17 @@ export declare class VirtualScrollContainer implements OnDestroy {
22
29
  onRenderedRangeEffect: import("@angular/core").EffectRef;
23
30
  onDataLengthEffect: import("@angular/core").EffectRef;
24
31
  onOffsetEffect: import("@angular/core").EffectRef;
25
- viewPort$: import("rxjs").Observable<CdkVirtualScrollViewport>;
26
- $scrolledIndexChange: import("@angular/core").Signal<number | undefined>;
27
- $renderedRange: import("@angular/core").Signal<import("@angular/cdk/collections").ListRange | undefined>;
28
32
  $offset: import("@angular/core").Signal<number>;
29
33
  ngOnDestroy(): void;
30
34
  setSize(el: ElementRef<HTMLElement>): void;
35
+ calcDynamic$: Subject<ElementRef<any>>;
36
+ $calcDynamic: import("@angular/core").Signal<ElementRef<any> | undefined>;
37
+ calcDynamic(el: ElementRef<HTMLElement>): void;
38
+ setHeight(height: number, el: ElementRef<HTMLElement>): void;
31
39
  resizeHandler: () => void;
32
40
  computedRowHeight(): number;
33
41
  computedHeaderHeight(): number;
42
+ computedFooterHeight(): number;
34
43
  static ɵfac: i0.ɵɵFactoryDeclaration<VirtualScrollContainer, never>;
35
44
  static ɵcmp: i0.ɵɵComponentDeclaration<VirtualScrollContainer, "tb-virtual-scroll-container", never, {}, {}, ["genericTable"], ["*"], true, never>;
36
45
  }
@@ -9,7 +9,7 @@ export declare class FilterChipsComponent {
9
9
  deleteByIndex(index: number): void;
10
10
  addFilter(filter: FilterInfo<any>): void;
11
11
  clearAll(): void;
12
- currentFilters$: import("rxjs").Observable<import("../../../classes/filter-info").PartialFilter[]>;
12
+ $currentFilters: import("@angular/core").Signal<import("../../../classes/filter-info").PartialFilter[]>;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<FilterChipsComponent, never>;
14
14
  static ɵcmp: i0.ɵɵComponentDeclaration<FilterChipsComponent, "lib-filter-list", never, {}, {}, never, never, true, never>;
15
15
  }
@@ -7,7 +7,7 @@ export declare class WrapperFilterStore extends ComponentStore<{
7
7
  constructor();
8
8
  clearAll: () => void;
9
9
  deleteByIndex: (observableOrValue: number | import("rxjs").Observable<number>) => import("rxjs").Subscription;
10
- currentFilters$: import("rxjs").Observable<PartialFilter[]>;
10
+ $currentFilters: import("@angular/core").Signal<PartialFilter[]>;
11
11
  addFilter: (observableOrValue: PartialFilter | import("rxjs").Observable<PartialFilter>) => import("rxjs").Subscription;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<WrapperFilterStore, never>;
13
13
  static ɵprov: i0.ɵɵInjectableDeclaration<WrapperFilterStore>;
@@ -1,33 +1,34 @@
1
- import { TemplateRef, OnInit } from '@angular/core';
1
+ import { TemplateRef } from '@angular/core';
2
2
  import { CdkColumnDef } from '@angular/cdk/table';
3
- import { SortDef, MetaData } from '../interfaces/report-def';
3
+ import { CustomCellMeta, SortDef } from '../interfaces/report-def';
4
4
  import { TableBuilder } from '../classes/table-builder';
5
- import { ReplaySubject } from 'rxjs';
6
5
  import * as i0 from "@angular/core";
7
6
  interface CustomCellContext<T> {
8
7
  $implicit: T;
9
8
  element: T;
10
9
  }
11
- export declare class CustomCellDirective<T = any> implements OnInit {
10
+ export declare class CustomCellDirective<T = any> {
12
11
  private templateRef;
13
12
  columnDef: CdkColumnDef | null;
14
- customCell: string;
15
- displayName?: string;
16
- preSort?: SortDef;
17
- TemplateRef: TemplateRef<any>;
18
- customCellOrder?: number;
19
- customCellWidth?: string;
20
- customCellTableRef?: TableBuilder<T>;
13
+ $customCell: import("@angular/core").InputSignal<string>;
14
+ $displayName: import("@angular/core").InputSignal<string | undefined>;
15
+ $preSort: import("@angular/core").InputSignal<SortDef | undefined>;
16
+ $templateRef: import("@angular/core").InputSignal<TemplateRef<any> | undefined>;
17
+ $customCellOrder: import("@angular/core").InputSignal<number | undefined>;
18
+ $customCellWidth: import("@angular/core").InputSignal<string | undefined>;
19
+ /**
20
+ * for type safety, this is a reference to the table builder instance.
21
+ */
22
+ $customCellTableRef: import("@angular/core").InputSignal<TableBuilder<T> | undefined>;
21
23
  /**
22
24
  * true if column not mapped to a property in the data source. Default is false.
23
25
  */
24
- customCellNotMapped: boolean;
25
- constructor();
26
+ $customCellNotMapped: import("@angular/core").InputSignalWithTransform<boolean, any>;
27
+ $metaData: import("@angular/core").Signal<CustomCellMeta | undefined>;
28
+ $inited: import("@angular/core").WritableSignal<boolean>;
26
29
  ngOnInit(): void;
27
- $metaData: ReplaySubject<MetaData>;
28
- getMetaData: () => MetaData;
29
30
  static ngTemplateContextGuard<T>(dir: CustomCellDirective<T>, ctx: any): ctx is CustomCellContext<T>;
30
31
  static ɵfac: i0.ɵɵFactoryDeclaration<CustomCellDirective<any>, never>;
31
- static ɵdir: i0.ɵɵDirectiveDeclaration<CustomCellDirective<any>, "[customCell]", never, { "customCell": { "alias": "customCell"; "required": false; }; "displayName": { "alias": "displayName"; "required": false; }; "preSort": { "alias": "preSort"; "required": false; }; "TemplateRef": { "alias": "TemplateRef"; "required": false; }; "customCellOrder": { "alias": "customCellOrder"; "required": false; }; "customCellWidth": { "alias": "customCellWidth"; "required": false; }; "customCellTableRef": { "alias": "customCellTableRef"; "required": false; }; "customCellNotMapped": { "alias": "customCellNotMapped"; "required": false; }; }, {}, never, never, true, never>;
32
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CustomCellDirective<any>, "[customCell]", never, { "$customCell": { "alias": "customCell"; "required": true; "isSignal": true; }; "$displayName": { "alias": "customCellDisplayName"; "required": false; "isSignal": true; }; "$preSort": { "alias": "preSort"; "required": false; "isSignal": true; }; "$templateRef": { "alias": "templateRef"; "required": false; "isSignal": true; }; "$customCellOrder": { "alias": "customCellOrder"; "required": false; "isSignal": true; }; "$customCellWidth": { "alias": "customCellWidth"; "required": false; "isSignal": true; }; "$customCellTableRef": { "alias": "customCellTableRef"; "required": false; "isSignal": true; }; "$customCellNotMapped": { "alias": "customCellNotMapped"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
32
33
  }
33
34
  export {};
@@ -7,4 +7,4 @@ export declare class MultiSortDirective extends MatSort implements OnInit, OnDes
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<MultiSortDirective, never>;
8
8
  static ɵdir: i0.ɵɵDirectiveDeclaration<MultiSortDirective, "[multiSort]", ["multiSort"], { "disabled": { "alias": "matSortDisabled"; "required": false; }; }, {}, never, never, true, never>;
9
9
  }
10
- export declare function isDifferent(a: Sort[], b: Sort[]): boolean;
10
+ export declare function sortsAreSame(a: Sort[], b: Sort[]): boolean;
@@ -1,7 +1,7 @@
1
1
  import { TableCustomFilterDirective, TableFilterDirective } from "./tb-filter.directive";
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TableWrapperDirective {
4
- $registrations: import("@angular/core").WritableSignal<(TableCustomFilterDirective<any> | TableFilterDirective)[]>;
4
+ $registrations: import("@angular/core").WritableSignal<(TableCustomFilterDirective | TableFilterDirective)[]>;
5
5
  register(filter: TableCustomFilterDirective | TableFilterDirective): void;
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<TableWrapperDirective, never>;
7
7
  static ɵdir: i0.ɵɵDirectiveDeclaration<TableWrapperDirective, "[tbWrapper]", never, {}, {}, never, never, true, never>;
@@ -1,27 +1,26 @@
1
1
  import { Predicate, SimpleChanges } from "@angular/core";
2
- import { Observable, ReplaySubject, Subject } from "rxjs";
2
+ import { Observable, ReplaySubject } from "rxjs";
3
3
  import { CustomFilter, FilterInfo } from "../classes/filter-info";
4
4
  import { FilterType } from "../enums/filterTypes";
5
5
  import { FieldType } from "../interfaces/report-def";
6
6
  import { NgControl } from "@angular/forms";
7
7
  import { TableWrapperDirective } from "./table-wrapper.directive";
8
8
  import * as i0 from "@angular/core";
9
- export declare abstract class TableCustomFilterDirective<T = any> {
9
+ export declare abstract class TableCustomFilterDirective {
10
10
  abstract filter$: Observable<CustomFilter>;
11
11
  filterId: string;
12
12
  savable: boolean;
13
- used: boolean;
14
13
  abstract active: boolean;
15
14
  abstract reset(): void;
16
- static ɵfac: i0.ɵɵFactoryDeclaration<TableCustomFilterDirective<any>, never>;
17
- static ɵdir: i0.ɵɵDirectiveDeclaration<TableCustomFilterDirective<any>, " ", never, {}, {}, never, never, true, never>;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableCustomFilterDirective, never>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TableCustomFilterDirective, "tb-abstract", never, {}, {}, never, never, true, never>;
18
17
  }
19
18
  export declare class TableFilterDirective {
20
19
  protected model: NgControl | null;
21
20
  private wrapper;
22
21
  constructor();
23
22
  reset(): void;
24
- filter$: Subject<FilterInfo<any, any>>;
23
+ filter$: ReplaySubject<FilterInfo<any, any>>;
25
24
  filterType: FilterType;
26
25
  key: string;
27
26
  fieldType: FieldType;
@@ -29,7 +28,6 @@ export declare class TableFilterDirective {
29
28
  active: boolean;
30
29
  filterValue: any;
31
30
  setFilterValue(value: any): void;
32
- used: boolean;
33
31
  savable: boolean;
34
32
  ready: boolean;
35
33
  _userActive: boolean;
@@ -48,8 +46,8 @@ export declare class TableFilterStringContainsDirective extends TableFilterDirec
48
46
  static ɵfac: i0.ɵɵFactoryDeclaration<TableFilterStringContainsDirective, never>;
49
47
  static ɵdir: i0.ɵɵDirectiveDeclaration<TableFilterStringContainsDirective, "[tbFilterStringContains]", never, { "key": { "alias": "tbFilterStringContains"; "required": false; }; "filterValue": { "alias": "filterValue"; "required": false; }; "filterId": { "alias": "filterId"; "required": false; }; "active": { "alias": "active"; "required": false; }; }, {}, never, never, true, never>;
50
48
  }
51
- export declare abstract class TableCustomFilterDirectiveBase<T = any> extends TableCustomFilterDirective<T> {
52
- filter$: Subject<CustomFilter>;
49
+ export declare abstract class TableCustomFilterDirectiveBase<T = any> extends TableCustomFilterDirective {
50
+ filter$: ReplaySubject<CustomFilter<any>>;
53
51
  filter: CustomFilter;
54
52
  _predicate: Predicate<T>;
55
53
  set predicate(val: Predicate<T>);
@@ -62,7 +60,7 @@ export declare abstract class TableCustomFilterDirectiveBase<T = any> extends Ta
62
60
  static ɵfac: i0.ɵɵFactoryDeclaration<TableCustomFilterDirectiveBase<any>, never>;
63
61
  static ɵdir: i0.ɵɵDirectiveDeclaration<TableCustomFilterDirectiveBase<any>, "[tbCustomFilter]", never, { "predicate": { "alias": "tbCustomFilter"; "required": false; }; "active": { "alias": "active"; "required": false; }; }, {}, never, never, true, never>;
64
62
  }
65
- export declare abstract class TbSelectedFilterDirective<T = any> extends TableCustomFilterDirectiveBase<T> {
63
+ export declare abstract class TbSelectedFilterDirective extends TableCustomFilterDirectiveBase {
66
64
  private change;
67
65
  private isActive;
68
66
  protected wrapper: TableWrapperDirective | null;
@@ -71,8 +69,8 @@ export declare abstract class TbSelectedFilterDirective<T = any> extends TableCu
71
69
  destroySubject$: ReplaySubject<void>;
72
70
  ngOnDestroy(): void;
73
71
  ngOnInit(): void;
74
- static ɵfac: i0.ɵɵFactoryDeclaration<TbSelectedFilterDirective<any>, never>;
75
- static ɵdir: i0.ɵɵDirectiveDeclaration<TbSelectedFilterDirective<any>, never, never, {}, {}, never, never, true, never>;
72
+ static ɵfac: i0.ɵɵFactoryDeclaration<TbSelectedFilterDirective, never>;
73
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TbSelectedFilterDirective, never, never, {}, {}, never, never, true, never>;
76
74
  }
77
75
  export declare class MatCheckboxTbFilterDirective extends TbSelectedFilterDirective {
78
76
  private matCheckbox;
@@ -81,13 +79,13 @@ export declare class MatCheckboxTbFilterDirective extends TbSelectedFilterDirect
81
79
  static ɵfac: i0.ɵɵFactoryDeclaration<MatCheckboxTbFilterDirective, never>;
82
80
  static ɵdir: i0.ɵɵDirectiveDeclaration<MatCheckboxTbFilterDirective, "mat-checkbox[tbCustomFilter]", never, { "predicate": { "alias": "tbCustomFilter"; "required": false; }; "filterId": { "alias": "filterId"; "required": false; }; }, {}, never, never, true, never>;
83
81
  }
84
- export declare class MatSlideToggleTbFilterDirective<T = any> extends TbSelectedFilterDirective<T> {
82
+ export declare class MatSlideToggleTbFilterDirective extends TbSelectedFilterDirective {
85
83
  private matSlideToggle;
86
84
  set active(val: boolean);
87
85
  constructor();
88
86
  ngOnInit(): void;
89
- static ɵfac: i0.ɵɵFactoryDeclaration<MatSlideToggleTbFilterDirective<any>, never>;
90
- static ɵdir: i0.ɵɵDirectiveDeclaration<MatSlideToggleTbFilterDirective<any>, "mat-slide-toggle[tbCustomFilter]", never, { "predicate": { "alias": "tbCustomFilter"; "required": false; }; "filterId": { "alias": "filterId"; "required": false; }; }, {}, never, never, true, never>;
87
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatSlideToggleTbFilterDirective, never>;
88
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatSlideToggleTbFilterDirective, "mat-slide-toggle[tbCustomFilter]", never, { "predicate": { "alias": "tbCustomFilter"; "required": false; }; "filterId": { "alias": "filterId"; "required": false; }; }, {}, never, never, true, never>;
91
89
  }
92
90
  export declare class MatRadioButtonTbFilterDirective extends TbSelectedFilterDirective {
93
91
  private matRadioButton;
@@ -54,9 +54,16 @@ interface BaseMeta<T = any> {
54
54
  useIcon?: boolean;
55
55
  map?: (t: T) => any;
56
56
  }
57
- interface MappedMetaData<T = any, AdditionalFields extends string[] = []> extends BaseMeta<T> {
58
- key: (keyof T | AdditionalFields[number]) & string;
57
+ type Path<T, U = never, P = never> = (T extends P ? never : T extends object ? {
58
+ [K in keyof T]: K extends string | number ? `${K}` | (T[K] extends (Array<any> | undefined) ? `${K}.${keyof Array<any> & (string | number)}` : `${K}.${Path<T[K], T[K], P | U>}`) : never;
59
+ }[keyof T] : never);
60
+ export interface MappedMetaData<T = any, AdditionalFields extends string[] = []> extends BaseMeta<T> {
61
+ key: (Path<T> | AdditionalFields[number]) & string;
59
62
  fieldType: Exclude<typeof FieldType[keyof typeof FieldType], FieldType.NotMapped | FieldType.Expression>;
63
+ /**
64
+ * if used with map, `mapItem` will only be used where the row is not available, ex. group header
65
+ */
66
+ mapItem?: (i: string) => any;
60
67
  }
61
68
  export type MetaData<T = any, AdditionalFields extends string[] = []> = MappedMetaData<T, AdditionalFields> | NotMappedMetaData<T>;
62
69
  export interface NotMappedMetaData<T = any> extends BaseMeta<T> {
@@ -144,4 +151,8 @@ export interface ArrayAdditional extends Additional {
144
151
  arrayStyle?: ArrayStyle;
145
152
  }
146
153
  export declare function metaDataArrToDict<T = MetaData>(arr: MetaData[], transform?: (m: MetaData) => T): Dictionary<T>;
154
+ export interface CustomCellMeta extends Pick<MetaData, 'key' | 'displayName' | 'preSort' | 'fieldType' | 'order' | 'width'> {
155
+ customCell: true;
156
+ noExport?: boolean;
157
+ }
147
158
  export {};
@@ -1,12 +1,11 @@
1
1
  import { PipeTransform } from '@angular/core';
2
2
  import { TableStore } from '../classes/table-store';
3
- import { Observable } from 'rxjs';
4
3
  import { FilterType } from '../enums/filterTypes';
5
4
  import * as i0 from "@angular/core";
6
5
  export declare class FormatFilterValuePipe implements PipeTransform {
7
6
  tableState: TableStore;
8
7
  private datePipe;
9
- transform(value: any, key: string, filterType: FilterType): Observable<string>;
8
+ transform(value: any, key: string, filterType: FilterType): import("@angular/core").Signal<string>;
10
9
  static ɵfac: i0.ɵɵFactoryDeclaration<FormatFilterValuePipe, never>;
11
10
  static ɵpipe: i0.ɵɵPipeDeclaration<FormatFilterValuePipe, "formatFilterValue", true>;
12
11
  }
@@ -1,10 +1,9 @@
1
1
  import { PipeTransform } from '@angular/core';
2
2
  import { TableStore } from '../classes/table-store';
3
- import { Observable } from 'rxjs';
4
3
  import * as i0 from "@angular/core";
5
4
  export declare class KeyDisplayPipe implements PipeTransform {
6
5
  tableState: TableStore;
7
- transform(key: string): Observable<string>;
6
+ transform: (key: string) => import("@angular/core").Signal<string>;
8
7
  static ɵfac: i0.ɵɵFactoryDeclaration<KeyDisplayPipe, never>;
9
8
  static ɵpipe: i0.ɵɵPipeDeclaration<KeyDisplayPipe, "keyDisplay", true>;
10
9
  }