@one-paragon/angular-utilities 2.0.5 → 2.0.7-beta.1

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.
@@ -1,5 +1,5 @@
1
- import { Injector } from "@angular/core";
2
- import { Action, MemoizedSelector } from "@ngrx/store";
1
+ import { EnvironmentInjector, Injector } from "@angular/core";
2
+ import { Action, MemoizedSelector, Store } from "@ngrx/store";
3
3
  /**
4
4
  * Creates a selector that can dispatch an action if conditions are met.
5
5
  * Note: The props of the selector factory must include the props of the action.
@@ -16,6 +16,7 @@ export declare const clearActionableSelectorRequestCache: () => {};
16
16
  export declare function defaultFilter(data: any): boolean;
17
17
  export declare function provideActionableSelector(): import("@angular/core").EnvironmentProviders;
18
18
  export declare const setUpStoreFactory: () => void;
19
+ export declare function setUpStoreFactoryOld(store: Store, env: EnvironmentInjector): () => Promise<unknown>;
19
20
  export interface CreateActionResultsOptions<State, Result, Props extends any[]> {
20
21
  selectorFactory: (...props: Props) => MemoizedSelector<State, Result>;
21
22
  action: (...props: Props) => () => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@one-paragon/angular-utilities",
3
- "version": "2.0.5",
3
+ "version": "2.0.7-beta.1",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "19.0.0",
6
6
  "@angular/core": "19.0.0",
@@ -1,17 +1,16 @@
1
- import { Injector } from "@angular/core";
2
- export declare class GeneralTableSettings implements TableBuilderSettings {
3
- headerSettings: TableWrapperHeaderSettings;
4
- footerSettings: TableWrapperFooterSettings;
5
- columnHeaderSettings: TableColumnHeaderSettings;
6
- tableSettings: TableSettings;
7
- injector?: Injector;
8
- }
9
1
  export interface TableBuilderSettings {
10
2
  headerSettings?: Partial<TableWrapperHeaderSettings>;
11
3
  footerSettings?: Partial<TableWrapperFooterSettings>;
12
4
  columnHeaderSettings?: Partial<TableColumnHeaderSettings>;
5
+ columnFooterSettings?: Partial<TableColumnFooterSettings>;
13
6
  tableSettings?: Partial<TableSettings>;
14
- injector?: Injector;
7
+ }
8
+ export declare class GeneralTableSettings implements TableBuilderSettings {
9
+ headerSettings: TableWrapperHeaderSettings;
10
+ footerSettings: TableWrapperFooterSettings;
11
+ columnHeaderSettings: TableColumnHeaderSettings;
12
+ columnFooterSettings: TableColumnFooterSettings;
13
+ tableSettings: TableSettings;
15
14
  }
16
15
  export declare class TableWrapperHeaderSettings {
17
16
  hideExport: boolean;
@@ -27,10 +26,18 @@ export declare class TableWrapperFooterSettings {
27
26
  collapse: boolean;
28
27
  }
29
28
  export declare class TableColumnHeaderSettings {
29
+ stickyHeaderRow: boolean;
30
30
  noFilters: boolean;
31
31
  noHeader: boolean;
32
32
  }
33
+ export declare class TableColumnFooterSettings {
34
+ stickyFooterRow: boolean;
35
+ }
33
36
  export declare class TableSettings {
37
+ tableId?: string | undefined;
38
+ trackBy?: string | undefined;
39
+ includeIndexColumn: boolean;
40
+ includeSelectionColumn: boolean;
34
41
  usePaginator: boolean | undefined;
35
42
  useVirtualScroll: boolean | undefined;
36
43
  paginatorSettings: Partial<PaginatorOptions> | undefined;
@@ -1,17 +1,22 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { MetaData, ReportDef } from '../interfaces/report-def';
3
3
  import { TableBuilderSettings } from './table-builder-general-settings';
4
- import { Signal } from '@angular/core';
4
+ import { Injector, Signal } from '@angular/core';
5
5
  export declare class TableBuilder<T = any> {
6
- metaData$: Observable<MetaData<T>[]>;
7
- data$: Observable<T[]>;
8
- settings$: Observable<TableBuilderSettings>;
9
- constructor(data: TableBuilderArgs<T[]>, metaData?: TableBuilderArgs<MetaData<T, any>[]>, settings?: TableBuilderArgs<TableBuilderSettings>);
10
- getData$(): Observable<any[]>;
6
+ #private;
7
+ private data;
8
+ private metaData?;
9
+ private settings;
10
+ $metaData: Signal<false | MetaData<T>[]>;
11
+ $settings: Signal<TableBuilderSettings | undefined>;
12
+ metaNeeds: boolean;
13
+ dataObs: boolean;
14
+ settingsObs: boolean;
15
+ $inited: import("@angular/core").WritableSignal<boolean>;
16
+ constructor(data: TableBuilderArgs<T[]>, metaData?: TableBuilderArgs<MetaData<T, any>[]> | undefined, settings?: TableBuilderArgs<TableBuilderSettings>);
17
+ prep(injector: Injector): void;
18
+ $data: Signal<T[]>;
11
19
  createMetaData(obj: any): MetaData[];
12
- coerceToObservable<T>(arg: TableBuilderArgs<T>, settings: Observable<TableBuilderSettings>): Observable<T>;
13
- coerceSettingsToObservable(settings: TableBuilderArgs<TableBuilderSettings>): Observable<TableBuilderSettings>;
14
- assertInjector(s: TableBuilderSettings): void;
15
20
  }
16
21
  export declare const CreateTableBuilder: (reportDef$: Observable<ReportDef>) => TableBuilder;
17
22
  type TableBuilderArgs<T> = T | Observable<T> | Signal<T>;
@@ -24,12 +24,13 @@ export declare class TableStore extends ComponentStore<TableState> {
24
24
  $getUserDefinedWidths: Signal<Dictionary<number>>;
25
25
  $tableSettingsMinWidth: Signal<number | undefined>;
26
26
  $getUserDefinedWidth: (key: string) => Signal<number>;
27
- $filters: Signal<Dictionary<FilterInfo<any, any> | CustomFilter<any>>>;
28
- filters$: Observable<Dictionary<FilterInfo<any, any> | CustomFilter<any>>>;
27
+ $filters: Signal<Dictionary<CustomFilter<any> | FilterInfo<any, any>>>;
28
+ filters$: Observable<Dictionary<CustomFilter<any> | FilterInfo<any, any>>>;
29
29
  $getFilter: (filterId: string) => Signal<FilterInfo | CustomFilter | undefined>;
30
30
  $preSort: Signal<Sort[]>;
31
31
  $selectSorted: Signal<Sort[]>;
32
32
  selectSorted$: Observable<Sort[]>;
33
+ $getSorts: Signal<Sort[]>;
33
34
  sort$: Observable<Sort[]>;
34
35
  $getUserDefinedTableWidth: Signal<number | undefined>;
35
36
  getUserDefinedTableWidth$: Observable<number | undefined>;
@@ -42,6 +43,7 @@ export declare class TableStore extends ComponentStore<TableState> {
42
43
  $groupByKeys: Signal<string[]>;
43
44
  groupByKeys$: Observable<string[]>;
44
45
  expandedGroups$: Observable<GroupedData[]>;
46
+ $expandGroups: Signal<GroupedData[]>;
45
47
  $getIsExpanded: (columnKey: string, groupHeaderKey: string) => Signal<boolean>;
46
48
  $currentPage: Signal<number>;
47
49
  $pageSize: Signal<number>;
@@ -84,8 +86,8 @@ export declare class TableStore extends ComponentStore<TableState> {
84
86
  }>) => import("rxjs").Subscription;
85
87
  readonly setUserDefinedRowHeight: (observableOrValue: number | Observable<number>) => import("rxjs").Subscription;
86
88
  readonly setUserDefinedHeaderHeight: (observableOrValue: number | Observable<number>) => import("rxjs").Subscription;
87
- readonly addFilter: (observableOrValue: FilterInfo<any, any> | CustomFilter<any> | Observable<FilterInfo<any, any> | CustomFilter<any>>) => import("rxjs").Subscription;
88
- readonly addFilters: (observableOrValue: (FilterInfo<any, any> | CustomFilter<any>)[] | Observable<(FilterInfo<any, any> | CustomFilter<any>)[]>) => import("rxjs").Subscription;
89
+ readonly addFilter: (observableOrValue: CustomFilter<any> | FilterInfo<any, any> | Observable<CustomFilter<any> | FilterInfo<any, any>>) => import("rxjs").Subscription;
90
+ readonly addFilters: (observableOrValue: (CustomFilter<any> | FilterInfo<any, any>)[] | Observable<(CustomFilter<any> | FilterInfo<any, any>)[]>) => import("rxjs").Subscription;
89
91
  readonly removeFilter: (observableOrValue: string | Observable<string>) => import("rxjs").Subscription;
90
92
  readonly removeFilters: (observableOrValue: string[] | Observable<string[]>) => import("rxjs").Subscription;
91
93
  readonly clearFilters: () => void;
@@ -6,7 +6,7 @@ import { Dictionary } from '@ngrx/entity';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class ColumnBuilderComponent {
8
8
  FieldType: typeof FieldType;
9
- private transformCreator;
9
+ private config;
10
10
  private table;
11
11
  private state;
12
12
  private templateService;
@@ -12,7 +12,7 @@ export declare class GenericTableComponent {
12
12
  protected state: TableStore;
13
13
  private dataStore;
14
14
  private viewContainer;
15
- private transformCreator;
15
+ private config;
16
16
  private _injector;
17
17
  smallFooter: number;
18
18
  $headerRow: import("@angular/core").Signal<MatHeaderRowDef | undefined>;
@@ -41,6 +41,7 @@ export declare class GenericTableComponent {
41
41
  drop(event: CdkDragDrop<string[]>): void;
42
42
  $usePaginator: import("@angular/core").Signal<boolean>;
43
43
  $useVirtualScroll: import("@angular/core").Signal<boolean>;
44
+ $virtualStart: import("@angular/core").Signal<number>;
44
45
  $offsetIndex: import("@angular/core").Signal<number>;
45
46
  isGroupHeader(_: number, row: {
46
47
  isGroupHeader: boolean;
@@ -15,7 +15,7 @@ export declare class ResetMenuComponent {
15
15
  $widthsSet: import("@angular/core").Signal<number>;
16
16
  $rowHeightSet: import("@angular/core").Signal<number | undefined>;
17
17
  headerHeightSet: import("@angular/core").Signal<number | undefined>;
18
- pageSizeSet: import("@angular/core").Signal<number | undefined>;
18
+ pageSizeSet: import("@angular/core").Signal<boolean | 0 | undefined>;
19
19
  showAllSet: import("@angular/core").Signal<boolean | undefined>;
20
20
  $set: import("@angular/core").Signal<("Sorting" | "Filters" | "Group By" | "Hidden Columns" | "Column Widths" | "Column Order" | "Row Height" | "Header Height" | "Page Size" | "Show All")[]>;
21
21
  resetable: readonly ["Sorting", "Filters", "Group By", "Hidden Columns", "Column Widths", "Column Order", "Row Height", "Header Height", "Page Size", "Show All"];
@@ -1,30 +1,45 @@
1
1
  import { CdkVirtualScrollViewport, VirtualScrollStrategy } from '@angular/cdk/scrolling';
2
- import { Observable, Subject } from 'rxjs';
2
+ import { Subject } from 'rxjs';
3
3
  import { VirtualScrollContainer } from './table-container/virtual-scroll-container';
4
4
  import { Signal } from '@angular/core';
5
+ import { DataStore } from '../classes/data-store';
5
6
  export declare class TableVirtualScrollStrategy implements VirtualScrollStrategy {
6
7
  #private;
7
- scrolledIndexChange: Observable<number>;
8
- private dataLength;
8
+ constructor(scrollContainer: VirtualScrollContainer, dataStore: DataStore);
9
+ private dataStore;
9
10
  private readonly indexChange;
10
- private viewport?;
11
+ scrolledIndexChange: import("rxjs").Observable<number>;
12
+ private viewport;
13
+ private $dataLength;
14
+ $dataLengthChange: import("@angular/core").WritableSignal<{
15
+ curr: number;
16
+ previous: number;
17
+ }>;
11
18
  $rowHeight: Signal<number>;
12
19
  $rowHeightChange: import("@angular/core").WritableSignal<{
13
20
  curr: number;
14
21
  previous: number;
15
22
  }>;
16
23
  $headerHeight: Signal<number>;
17
- constructor(scrollContainer: VirtualScrollContainer);
18
- attach(viewport: CdkVirtualScrollViewport): void;
19
- contentScrolled$: Subject<void>;
24
+ $headerHeightChange: import("@angular/core").WritableSignal<{
25
+ curr: number;
26
+ previous: number;
27
+ }>;
28
+ contentScrolled$: Subject<number>;
20
29
  sub: import("../../rxjs").Subscriber;
21
30
  onContentScrolled(): void;
31
+ $currentRange: import("@angular/core").WritableSignal<{
32
+ start: number;
33
+ end: number;
34
+ }>;
35
+ private updateContent;
36
+ update(trigger: ScrollStrategyTrigger, viewport: CdkVirtualScrollViewport, needsScroll?: boolean): void;
37
+ attach(viewport: CdkVirtualScrollViewport): void;
22
38
  onDataLengthChanged(): void;
23
- setDataLength(length: number): void;
24
39
  detach(): void;
25
40
  onContentRendered(): void;
26
41
  onRenderedOffsetChanged(): void;
27
42
  scrollToIndex(index: number, behavior: ScrollBehavior): void;
28
- private updateContent;
29
- update(trigger: string): void;
30
43
  }
44
+ type ScrollStrategyTrigger = 'scroll' | 'data length' | 'header height' | 'row height';
45
+ export {};
@@ -1,9 +1,9 @@
1
- import { Predicate, TemplateRef, OnDestroy, Injector, ElementRef } from '@angular/core';
2
- import { BehaviorSubject, Observable } from 'rxjs';
1
+ import { Predicate, TemplateRef, OnDestroy, Injector, ElementRef, OnInit } from '@angular/core';
3
2
  import { TableBuilder } from '../../classes/table-builder';
4
3
  import { MatRowDef } from '@angular/material/table';
5
4
  import { CustomCellDirective, TableCustomFilterDirective, TableFilterDirective } from '../../directives';
6
5
  import { TableStore } from '../../classes/table-store';
6
+ import { GroupedData } from '../../classes/TableState';
7
7
  import { CustomFilter, FilterInfo } from '../../classes/filter-info';
8
8
  import { TableWrapperDirective } from '../../directives/table-wrapper.directive';
9
9
  import { TableBuilderStateStore } from '../../ngrx/tableBuilderStateStore';
@@ -14,7 +14,7 @@ import { GenericTableComponent } from '../generic-table/generic-table.component'
14
14
  import { SelectionChange } from '@angular/cdk/collections';
15
15
  import { MatMenu } from '@angular/material/menu';
16
16
  import * as i0 from "@angular/core";
17
- export declare class TableContainerComponent<T = any> implements OnDestroy {
17
+ export declare class TableContainerComponent<T = any> implements OnDestroy, OnInit {
18
18
  #private;
19
19
  state: TableStore;
20
20
  private dataStore;
@@ -33,27 +33,27 @@ export declare class TableContainerComponent<T = any> implements OnDestroy {
33
33
  $menu: import("@angular/core").Signal<MatMenu>;
34
34
  menuInjector: Injector;
35
35
  $tableBuilder: import("@angular/core").InputSignal<TableBuilder<T>>;
36
- $tableId: import("@angular/core").InputSignal<string | undefined>;
37
- $trackBy: import("@angular/core").InputSignal<string | undefined>;
38
- $inputFilters: import("@angular/core").ModelSignal<(FilterInfo<any, any> | CustomFilter<any> | Predicate<T>)[]>;
39
- predicateInputFilters$: Observable<((...args: any[]) => any)[]>;
40
- $filterInfoInputs: import("@angular/core").Signal<(FilterInfo<any, any> | CustomFilter<any>)[]>;
41
- $indexColumn: import("@angular/core").InputSignal<boolean>;
42
- $selectionColumn: import("@angular/core").InputSignal<boolean>;
43
- $isSticky: import("@angular/core").InputSignal<boolean>;
44
- $stickyFooter: import("@angular/core").InputSignal<boolean>;
36
+ $tableIdInput: import("@angular/core").InputSignal<string | undefined>;
37
+ $trackByInput: import("@angular/core").InputSignal<string | undefined>;
38
+ $inputFilters: import("@angular/core").InputSignal<(Predicate<T> | CustomFilter<T> | FilterInfo<any, T>)[]>;
39
+ predicateInputFilters$: import("rxjs").Observable<((...args: any[]) => any)[]>;
40
+ $filterInfoInputs: import("@angular/core").Signal<(CustomFilter<any> | FilterInfo<any, any>)[]>;
41
+ $indexColumnInput: import("@angular/core").InputSignal<boolean>;
42
+ $selectionColumnInput: import("@angular/core").InputSignal<boolean>;
43
+ $stickyHeaderInput: import("@angular/core").InputSignal<boolean>;
44
+ $stickyFooterInput: import("@angular/core").InputSignal<boolean>;
45
45
  $groupHeaderTemplate: import("@angular/core").InputSignal<TemplateRef<any> | undefined>;
46
46
  $groupHeaderHeight: import("@angular/core").InputSignal<number | undefined>;
47
47
  $pageSize: import("@angular/core").InputSignal<number | undefined>;
48
- $props: import("@angular/core").Signal<TableProps>;
49
48
  selection$: import("@angular/core").OutputEmitterRef<SelectionChange<T>>;
50
49
  onStateReset$: import("@angular/core").OutputEmitterRef<null>;
51
50
  onSaveState$: import("@angular/core").OutputEmitterRef<null>;
52
- _state$: Observable<import("../../classes/TableState").PersistedTableState>;
51
+ _state$: import("rxjs").Observable<import("../../classes/TableState").PersistedTableState>;
53
52
  state$: import("@angular/core").OutputRef<import("../../classes/TableState").PersistedTableState>;
54
- _data$: BehaviorSubject<T[]>;
55
- data$: import("@angular/core").OutputRef<T[]>;
56
53
  $data: import("@angular/core").Signal<T[]>;
54
+ _data$: import("rxjs").Observable<T[]>;
55
+ data$: import("@angular/core").OutputRef<T[]>;
56
+ private $displayData;
57
57
  clearSelections(): void;
58
58
  firstPage(): void;
59
59
  lastPage(): void;
@@ -67,18 +67,42 @@ export declare class TableContainerComponent<T = any> implements OnDestroy {
67
67
  protected $collapsedFooter: import("@angular/core").Signal<boolean>;
68
68
  protected $collapsedHeader: import("@angular/core").Signal<boolean>;
69
69
  protected $displayDataLength: import("@angular/core").Signal<number>;
70
+ $tableBuilderSettings: import("@angular/core").Signal<import("../../classes/table-builder-general-settings").TableBuilderSettings | undefined>;
71
+ $trackBy: import("@angular/core").Signal<string | undefined>;
72
+ $tableId: import("@angular/core").Signal<string | undefined>;
73
+ $includeSelectionColumn: import("@angular/core").Signal<boolean>;
74
+ $includeIndexColumn: import("@angular/core").Signal<boolean>;
75
+ $stickyHeader: import("@angular/core").Signal<boolean>;
76
+ $stickyFooter: import("@angular/core").Signal<boolean>;
77
+ $props: import("@angular/core").Signal<TableProps>;
70
78
  private $persistedState;
71
79
  private $allFilterDirectives;
72
- private allNotSavableFilterDirectivesFilters$;
73
- private tableBuilderMetaData$;
74
80
  private $tableBuilderMetaData;
75
81
  private $allMetaDatas;
76
- private $displayData;
82
+ ngOnInit(): void;
77
83
  ngOnDestroy(): void;
78
- private initializeData;
84
+ private $preds;
85
+ private $predicateFiltersState;
86
+ private $savableFiltersState;
87
+ private $allFilterStatesTimeStamped;
88
+ private $sortStateTimeStamped;
89
+ private $allData;
90
+ private $allDataTimeStamped;
91
+ private $allTimeStamped;
92
+ private $sortedAndFilteredData;
93
+ $timestampedGroups: import("@angular/core").Signal<{
94
+ value: string[];
95
+ timestamp: number;
96
+ }>;
97
+ $timestampedExpanded: import("@angular/core").Signal<{
98
+ value: GroupedData[];
99
+ timestamp: number;
100
+ }>;
101
+ private $dataAndGroupsTimestamped;
102
+ private $filteredSortedAndGrouped;
79
103
  private $isInitializationState;
80
104
  static headerId: string;
81
105
  headerId: string;
82
106
  static ɵfac: i0.ɵɵFactoryDeclaration<TableContainerComponent<any>, never>;
83
- 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>;
107
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableContainerComponent<any>, "tb-table-container", never, { "$tableBuilder": { "alias": "tableBuilder"; "required": true; "isSignal": true; }; "$tableIdInput": { "alias": "tableId"; "required": false; "isSignal": true; }; "$trackByInput": { "alias": "trackBy"; "required": false; "isSignal": true; }; "$inputFilters": { "alias": "inputFilters"; "required": false; "isSignal": true; }; "$indexColumnInput": { "alias": "indexColumn"; "required": false; "isSignal": true; }; "$selectionColumnInput": { "alias": "selectionColumn"; "required": false; "isSignal": true; }; "$stickyHeaderInput": { "alias": "stickyHeader"; "required": false; "isSignal": true; }; "$stickyFooterInput": { "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; }; }, { "selection$": "selection"; "onStateReset$": "onStateReset"; "onSaveState$": "onSaveState"; "state$": "state"; "data$": "data"; }, ["$filterDirectives", "$customFilterDirectives", "_$customRows", "$customCells"], ["[before]", ".tb-header-title"], true, never>;
84
108
  }
@@ -1,6 +1,7 @@
1
- import { Observable } from "rxjs";
1
+ import { Observable, Timestamp } from "rxjs";
2
2
  import { SortState } from "./sort-state.helpers";
3
3
  import { FilterPredicateState } from "./filter-state.helpers";
4
4
  import { MetaData } from "../../../interfaces/report-def";
5
- export declare const sortAndFilterData: <T>(data: Observable<T[]>, sortState: Observable<SortState>, filterState: Observable<FilterPredicateState<T>>) => Observable<T[]>;
5
+ export declare const _sortAndFilterData: <T>(data: Observable<T[]>, sortState: Observable<SortState>, filterState: Observable<FilterPredicateState<T>>) => Observable<T[]>;
6
+ export declare const sortAndFilterData: <T>(data: Timestamp<T[]>, filters: Timestamp<FilterPredicateState<T>>, sort: Timestamp<SortState>, firstRun: boolean, resultData: T[]) => T[];
6
7
  export declare const createDataCleaners: <T>(metadatas: MetaData<T>[], mutate?: boolean) => (data: T) => T;
@@ -1,10 +1,18 @@
1
1
  import { Timestamp } from "rxjs";
2
2
  import { Group, GroupedData } from "../../../classes/TableState";
3
- export declare function updateGroupByState({ groupedData }: GroupByState, [data, groups, expandedGroups]: [Timestamp<any[]>, Timestamp<string[]>, Timestamp<GroupedData[]>], index: number): {
3
+ export declare function updateGroupByState<T = any>(groupedData: any[], { data, groups, expanded }: {
4
+ data: Timestamp<T[]>;
5
+ groups: Timestamp<string[]>;
6
+ expanded: Timestamp<GroupedData[]>;
7
+ }, firstRun: boolean): {
4
8
  displayData: any[];
5
9
  groupedData: any[];
6
10
  };
7
- interface GroupByState {
11
+ export declare function _updateGroupByState({ groupedData }: GroupByState, [data, groups, expanded]: [Timestamp<any[]>, Timestamp<string[]>, Timestamp<GroupedData[]>], index: number): {
12
+ displayData: any[];
13
+ groupedData: any[];
14
+ };
15
+ export interface GroupByState {
8
16
  displayData: any[];
9
17
  groupedData: any[];
10
18
  }
@@ -14,4 +22,3 @@ export declare const initialGroupByState: {
14
22
  };
15
23
  export declare const getAllGroupHeaderNames: (data: any[]) => import("lodash").Dictionary<Group[]>;
16
24
  export declare const getAllGroupHeaderNamesByKeys: (data: any[], keys: string[]) => import("lodash").Dictionary<Group[]>;
17
- export {};
@@ -1,6 +1,5 @@
1
1
  import { ElementRef, OnDestroy } from '@angular/core';
2
2
  import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
3
- import { Subject } from 'rxjs';
4
3
  import { TableVirtualScrollStrategy } from '../scroll-strategy';
5
4
  import { VirtualScrollOptions } from '../../classes/table-builder-general-settings';
6
5
  import * as i0 from "@angular/core";
@@ -20,16 +19,12 @@ export declare class VirtualScrollContainer implements OnDestroy {
20
19
  viewPort$: import("rxjs").Observable<CdkVirtualScrollViewport>;
21
20
  $scrolledIndexChange: import("@angular/core").Signal<number | undefined>;
22
21
  $renderedRange: import("@angular/core").Signal<import("@angular/cdk/collections").ListRange | undefined>;
23
- $virtualScrollOptions: import("@angular/core").Signal<VirtualScrollOptions>;
22
+ $virtualScrollOptions: import("@angular/core").Signal<VirtualScrollOptions | undefined>;
23
+ $optionsSet: import("@angular/core").Signal<boolean>;
24
24
  $dataLength: import("@angular/core").Signal<number>;
25
25
  constructor();
26
- setViewportEffect: import("@angular/core").EffectRef;
27
- subscriber: import("../../../rxjs").Subscriber;
28
- $offset: import("@angular/core").Signal<number>;
29
26
  ngOnDestroy(): void;
30
- setSize(el: ElementRef<HTMLElement>): void;
31
- calcDynamic$: Subject<ElementRef<any>>;
32
- $calcDynamic: import("@angular/core").Signal<ElementRef<any> | undefined>;
27
+ setSize(el: ElementRef<HTMLElement>, trigger: SetSizeTrigger): void;
33
28
  calcDynamic(el: ElementRef<HTMLElement>): void;
34
29
  setHeight(height: number, el: ElementRef<HTMLElement>): void;
35
30
  resizeHandler: () => void;
@@ -41,3 +36,5 @@ export declare class VirtualScrollContainer implements OnDestroy {
41
36
  static ɵfac: i0.ɵɵFactoryDeclaration<VirtualScrollContainer, never>;
42
37
  static ɵcmp: i0.ɵɵComponentDeclaration<VirtualScrollContainer, "tb-virtual-scroll-container", never, {}, {}, ["genericTable"], ["*"], true, never>;
43
38
  }
39
+ type SetSizeTrigger = 'initial' | 'rendered range' | 'resize';
40
+ export {};
@@ -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 | TableFilterDirective)[]>;
4
+ $registrations: import("@angular/core").WritableSignal<(TableFilterDirective | TableCustomFilterDirective)[]>;
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,4 +1,4 @@
1
- import { Predicate, SimpleChanges } from "@angular/core";
1
+ import { Predicate, Signal, SimpleChanges } from "@angular/core";
2
2
  import { Observable, ReplaySubject } from "rxjs";
3
3
  import { CustomFilter, FilterInfo } from "../classes/filter-info";
4
4
  import { FilterType } from "../enums/filterTypes";
@@ -8,6 +8,7 @@ import { TableWrapperDirective } from "./table-wrapper.directive";
8
8
  import * as i0 from "@angular/core";
9
9
  export declare abstract class TableCustomFilterDirective {
10
10
  abstract filter$: Observable<CustomFilter>;
11
+ abstract $filter: Signal<CustomFilter | undefined>;
11
12
  filterId: string;
12
13
  savable: boolean;
13
14
  abstract active: boolean;
@@ -21,6 +22,7 @@ export declare class TableFilterDirective {
21
22
  constructor();
22
23
  reset(): void;
23
24
  filter$: ReplaySubject<FilterInfo<any, any>>;
25
+ $filter: Signal<FilterInfo<any, any> | undefined>;
24
26
  filterType: FilterType;
25
27
  key: string;
26
28
  fieldType: FieldType;
@@ -48,6 +50,7 @@ export declare class TableFilterStringContainsDirective extends TableFilterDirec
48
50
  }
49
51
  export declare abstract class TableCustomFilterDirectiveBase<T = any> extends TableCustomFilterDirective {
50
52
  filter$: ReplaySubject<CustomFilter<any>>;
53
+ $filter: Signal<CustomFilter<any> | undefined>;
51
54
  filter: CustomFilter;
52
55
  _predicate: Predicate<T>;
53
56
  set predicate(val: Predicate<T>);
@@ -1,6 +1,5 @@
1
1
  import { Sort } from "@angular/material/sort";
2
2
  import { Predicate } from "@angular/core";
3
- export type direc = 'asc' | 'desc' | boolean;
4
3
  export declare function sortData<T>(data: T[], sorted: Sort[]): T[];
5
4
  export declare function filterData<T>(data: T[], filters: Predicate<T>[], resetAll?: boolean): T[];
6
5
  export declare const tbNoShowSymbol: unique symbol;
@@ -1,15 +1,7 @@
1
1
  import { PipeTransform } from '@angular/core';
2
2
  import { MetaData } from '../interfaces/report-def';
3
- import * as i0 from "@angular/core";
3
+ import { TableBuilderConfig } from '../classes/TableBuilderConfig';
4
4
  export declare function isPipe(o: any): o is PipeTransform;
5
- export declare class TransformCreator {
6
- private datePipe;
7
- private currencyPipe;
8
- private phonePipe;
9
- private config;
10
- createTransformer(metaData: MetaData<any, any>, noIcons?: boolean, forItem?: boolean): ((value: any, ...args: any[]) => any);
11
- createItemTransformer: <T = any, AdditionalFields extends string[] = []>(metaData: MetaData<T, AdditionalFields>, noIcons?: boolean, mutate?: boolean) => (t: T) => void;
12
- createItemTransformers: <T = any, AdditionalFields extends string[] = []>(metaDatas: MetaData<T, AdditionalFields>[], noIcons?: boolean, mutate?: boolean) => (t: T) => T;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<TransformCreator, never>;
14
- static ɵprov: i0.ɵɵInjectableDeclaration<TransformCreator>;
15
- }
5
+ export declare function createTransformer(metaData: MetaData<any, any>, config: TableBuilderConfig, noIcons?: boolean, forItem?: boolean): ((value: any, ...args: any[]) => any);
6
+ export declare function createItemTransformer<T = any, AdditionalFields extends string[] = []>(metaData: MetaData<T, AdditionalFields>, config: TableBuilderConfig, noIcons?: boolean, mutate?: boolean): (t: T) => void;
7
+ export declare function createItemTransformers<T = any, AdditionalFields extends string[] = []>(metaDatas: MetaData<T, AdditionalFields>[], config: TableBuilderConfig, noIcons?: boolean, mutate?: boolean): (t: T) => T;
@@ -1,21 +1,14 @@
1
1
  import { ModuleWithProviders } from '@angular/core';
2
2
  import { TableBuilderConfig } from './classes/TableBuilderConfig';
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/material/dialog";
6
- import * as i3 from "@angular/material/core";
7
- import * as i4 from "@angular/router";
8
- import * as i5 from "./components/table-container/table-container";
9
- import * as i6 from "./components/generic-table/generic-table.component";
10
- import * as i7 from "./directives/custom-cell-directive";
11
- import * as i8 from "./components/filter/filter.component";
12
- import * as i9 from "./directives/tb-filter.directive";
13
- import * as i10 from "./directives/table-wrapper.directive";
14
- import * as i11 from "./directives/resize-column.directive";
15
- import * as i12 from "../utilities/module";
4
+ import * as i1 from "./components/table-container/table-container";
5
+ import * as i2 from "./directives/custom-cell-directive";
6
+ import * as i3 from "./directives/tb-filter.directive";
7
+ import * as i4 from "./directives/table-wrapper.directive";
8
+ import * as i5 from "../utilities/module";
16
9
  export declare class TableBuilderModule {
17
10
  static forRoot(config: TableBuilderConfig): ModuleWithProviders<TableBuilderModule>;
18
11
  static ɵfac: i0.ɵɵFactoryDeclaration<TableBuilderModule, never>;
19
- static ɵmod: i0.ɵɵNgModuleDeclaration<TableBuilderModule, never, [typeof i1.CommonModule, typeof i2.MatDialogModule, typeof i3.MatNativeDateModule, typeof i4.RouterModule, typeof i5.TableContainerComponent, typeof i6.GenericTableComponent, typeof i5.TableContainerComponent, typeof i7.CustomCellDirective, typeof i8.FilterComponent, typeof i9.MatSlideToggleTbFilterDirective, typeof i9.MatRadioButtonTbFilterDirective, typeof i9.MatOptionTbFilterDirective, typeof i9.MatCheckboxTbFilterDirective, typeof i9.MatButtonToggleFilterDirective, typeof i9.TableFilterDirective, typeof i9.TableFilterStringContainsDirective, typeof i10.TableWrapperDirective, typeof i11.ResizeColumnDirective, typeof i12.UtilitiesModule], [typeof i6.GenericTableComponent, typeof i5.TableContainerComponent, typeof i7.CustomCellDirective, typeof i8.FilterComponent, typeof i9.MatSlideToggleTbFilterDirective, typeof i9.MatRadioButtonTbFilterDirective, typeof i9.MatOptionTbFilterDirective, typeof i9.MatCheckboxTbFilterDirective, typeof i9.MatButtonToggleFilterDirective, typeof i9.TableFilterDirective, typeof i9.TableFilterStringContainsDirective, typeof i10.TableWrapperDirective, typeof i11.ResizeColumnDirective, typeof i12.UtilitiesModule]>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TableBuilderModule, never, [typeof i1.TableContainerComponent, typeof i2.CustomCellDirective, typeof i3.TableFilterDirective, typeof i3.TableFilterStringContainsDirective, typeof i4.TableWrapperDirective], [typeof i1.TableContainerComponent, typeof i2.CustomCellDirective, typeof i3.TableFilterStringContainsDirective, typeof i4.TableWrapperDirective, typeof i5.UtilitiesModule]>;
20
13
  static ɵinj: i0.ɵɵInjectorDeclaration<TableBuilderModule>;
21
14
  }
@@ -5,3 +5,4 @@ export declare class PhoneNumberPipe implements PipeTransform {
5
5
  static ɵfac: i0.ɵɵFactoryDeclaration<PhoneNumberPipe, never>;
6
6
  static ɵpipe: i0.ɵɵPipeDeclaration<PhoneNumberPipe, "phone", true>;
7
7
  }
8
+ export declare function phoneFormatter(phoneNum: string): string;