@elderbyte/ngx-starter 19.4.1 → 19.5.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.
- package/fesm2022/elderbyte-ngx-starter.mjs +1364 -1246
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/data/data-context/data-context-continuable-base.d.ts +3 -2
- package/lib/common/data/data-context/data-context-continuable-paged.d.ts +0 -1
- package/lib/common/data/data-context/data-context-continuable-token.d.ts +2 -0
- package/lib/common/data/data-context/data-context.d.ts +6 -0
- package/lib/common/data/data-context/mat-table-data-context-binding.d.ts +6 -1
- package/lib/common/data/token-chunk-request.d.ts +12 -1
- package/lib/components/data-view/base/elder-data-view-base.d.ts +5 -16
- package/lib/components/data-view/common/elder-continuator/elder-continuator.component.d.ts +14 -0
- package/lib/components/data-view/common/public_api.d.ts +1 -0
- package/lib/components/data-view/common/selection/data-context-selection.directive.d.ts +3 -1
- package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +7 -5
- package/lib/components/data-view/table/columns/elder-table-selection-cell/elder-table-selection-cell.component.d.ts +30 -0
- package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +7 -5
- package/lib/components/data-view/table/elder-table-row.directive.d.ts +23 -12
- package/lib/components/data-view/table/elder-table.module.d.ts +1 -0
- package/package.json +1 -1
- package/src/lib/components/data-view/common/elder-continuator/elder-continuator.component.scss +17 -0
- package/src/lib/components/data-view/table/columns/elder-table-selection-cell/elder-table-selection-cell.component.scss +0 -0
- package/theming/abstracts/_elder-design-tokens.scss +3 -139
- package/theming/abstracts/_elder-m3-color-tokens.scss +130 -0
- package/theming/components/_elder-toolbar-theme.scss +21 -0
|
@@ -15,7 +15,7 @@ export declare abstract class DataContextContinuableBase<T> extends DataContextB
|
|
|
15
15
|
* *
|
|
16
16
|
**************************************************************************/
|
|
17
17
|
private readonly cblogger;
|
|
18
|
-
private _chunkSize
|
|
18
|
+
private readonly _chunkSize$;
|
|
19
19
|
/***************************************************************************
|
|
20
20
|
* *
|
|
21
21
|
* Constructors *
|
|
@@ -28,7 +28,8 @@ export declare abstract class DataContextContinuableBase<T> extends DataContextB
|
|
|
28
28
|
* *
|
|
29
29
|
**************************************************************************/
|
|
30
30
|
loadAll(sorts?: Sort[], filters?: Filter[]): void;
|
|
31
|
-
get chunkSize(): number
|
|
31
|
+
get chunkSize$(): Observable<number>;
|
|
32
|
+
get chunkSize(): number | undefined;
|
|
32
33
|
set chunkSize(size: number);
|
|
33
34
|
/***************************************************************************
|
|
34
35
|
* *
|
|
@@ -47,7 +47,6 @@ export declare class DataContextContinuablePaged<T> extends DataContextContinuab
|
|
|
47
47
|
* *
|
|
48
48
|
**************************************************************************/
|
|
49
49
|
private checkHasMoreData;
|
|
50
|
-
protected onChunkSizeChanged(newSize: number): void;
|
|
51
50
|
protected reloadInternal(): Observable<any>;
|
|
52
51
|
protected clearAll(silent?: boolean): void;
|
|
53
52
|
private fetchPage;
|
|
@@ -40,6 +40,8 @@ export declare class DataContextContinuableToken<T> extends DataContextContinuab
|
|
|
40
40
|
protected clearAll(silent?: boolean): void;
|
|
41
41
|
protected reloadInternal(): Observable<any>;
|
|
42
42
|
private fetchNextChunk;
|
|
43
|
+
private onChunkFetched;
|
|
44
|
+
private onChunkFetchError;
|
|
43
45
|
/**
|
|
44
46
|
* Load the data from the given page into the current data context
|
|
45
47
|
*/
|
|
@@ -146,6 +146,12 @@ export interface IDataContextContinuable<T> extends IDataContext<T> {
|
|
|
146
146
|
* paged context loads page by page until finished.
|
|
147
147
|
*/
|
|
148
148
|
loadAll(sorts?: Sort[], filters?: Filter[]): void;
|
|
149
|
+
/**
|
|
150
|
+
* Set the desired chunk size
|
|
151
|
+
*/
|
|
152
|
+
set chunkSize(size: number | undefined);
|
|
153
|
+
get chunkSize(): number;
|
|
154
|
+
get chunkSize$(): Observable<number | undefined>;
|
|
149
155
|
}
|
|
150
156
|
export interface IDataContextActivePage<T> extends IDataContext<T> {
|
|
151
157
|
/**
|
|
@@ -2,6 +2,7 @@ import { MatPaginator } from '@angular/material/paginator';
|
|
|
2
2
|
import { MatSort } from '@angular/material/sort';
|
|
3
3
|
import { IDataContext } from './data-context';
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
|
+
import { ElderContinuatorComponent } from '../../../components/data-view/common/elder-continuator/elder-continuator.component';
|
|
5
6
|
export declare class MatTableDataContextBindingBuilder {
|
|
6
7
|
/***************************************************************************
|
|
7
8
|
* *
|
|
@@ -12,6 +13,7 @@ export declare class MatTableDataContextBindingBuilder {
|
|
|
12
13
|
private _dataContext$;
|
|
13
14
|
private _sorts$;
|
|
14
15
|
private _matPaginator$;
|
|
16
|
+
private _continuator$;
|
|
15
17
|
/***************************************************************************
|
|
16
18
|
* *
|
|
17
19
|
* Static Builder *
|
|
@@ -26,12 +28,14 @@ export declare class MatTableDataContextBindingBuilder {
|
|
|
26
28
|
**************************************************************************/
|
|
27
29
|
withSorts(sorts$: Observable<MatSort[]>): this;
|
|
28
30
|
withPaginator(paginator$: Observable<MatPaginator>): this;
|
|
31
|
+
withContinuator(continuator$: Observable<ElderContinuatorComponent>): this;
|
|
29
32
|
bindUntil(destroy$: Observable<any>): MatTableDataContextBinding;
|
|
30
33
|
}
|
|
31
34
|
export declare class MatTableDataContextBinding {
|
|
32
35
|
private readonly _dataContext$;
|
|
33
36
|
private readonly _matSorts$;
|
|
34
37
|
private readonly _matPaginator$;
|
|
38
|
+
private readonly _continuator$;
|
|
35
39
|
/***************************************************************************
|
|
36
40
|
* *
|
|
37
41
|
* Fields *
|
|
@@ -43,7 +47,7 @@ export declare class MatTableDataContextBinding {
|
|
|
43
47
|
* Constructor *
|
|
44
48
|
* *
|
|
45
49
|
**************************************************************************/
|
|
46
|
-
constructor(_dataContext$: Observable<IDataContext<any>>, _matSorts$: Observable<MatSort[]> | null, _matPaginator$: Observable<MatPaginator> | null, destroy$: Observable<any>);
|
|
50
|
+
constructor(_dataContext$: Observable<IDataContext<any>>, _matSorts$: Observable<MatSort[]> | null, _matPaginator$: Observable<MatPaginator> | null, _continuator$: Observable<ElderContinuatorComponent> | null, destroy$: Observable<any>);
|
|
47
51
|
/***************************************************************************
|
|
48
52
|
* *
|
|
49
53
|
* Private methods *
|
|
@@ -55,6 +59,7 @@ export declare class MatTableDataContextBinding {
|
|
|
55
59
|
private updateMatSort;
|
|
56
60
|
private bindMatSortsToDataContextUntil;
|
|
57
61
|
private bindPaginatorUntil;
|
|
62
|
+
private bindContinuatorUntil;
|
|
58
63
|
private toMatDirection;
|
|
59
64
|
private fromMatDirection;
|
|
60
65
|
}
|
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
import { Sort } from './sort';
|
|
2
2
|
import { Filter } from './filters/filter';
|
|
3
|
+
import { ContinuableListing } from './continuable-listing';
|
|
3
4
|
export declare class TokenChunkRequest {
|
|
4
5
|
readonly nextContinuationToken: string | null | undefined;
|
|
5
6
|
readonly filters: Filter[];
|
|
6
7
|
readonly sorts: Sort[];
|
|
7
|
-
|
|
8
|
+
readonly chunkSize: number | undefined;
|
|
9
|
+
static first(filters: Filter[], sorts: Sort[], chunkSize: number | undefined): TokenChunkRequest;
|
|
10
|
+
static nextIfAvailable(listing: ContinuableListing<any>, filters: Filter[], sorts: Sort[]): TokenChunkRequest | undefined;
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @param nextContinuationToken The continuation token. If not defined, fetches the first chunk.
|
|
14
|
+
* @param filters Filters to send with the request.
|
|
15
|
+
* @param sorts Sorts to send with the request.
|
|
16
|
+
* @param chunkSize The desired chunk size. Since servers are in control of chunk-size (performance), this is only considered a hint which might be ignored.
|
|
17
|
+
*/
|
|
18
|
+
constructor(nextContinuationToken: string | null | undefined, filters: Filter[], sorts: Sort[], chunkSize: number | undefined);
|
|
8
19
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { BooleanInput } from '@angular/cdk/coercion';
|
|
2
1
|
import { OnDestroy, OnInit, Signal } from '@angular/core';
|
|
3
2
|
import { Observable, Subject } from 'rxjs';
|
|
4
3
|
import { IDataContext, IDataContextActivePage, IDataContextContinuable } from '../../../common/data/data-context/data-context';
|
|
@@ -31,12 +30,8 @@ export declare abstract class ElderDataViewBaseComponent<T = any> implements IEl
|
|
|
31
30
|
* In more advanced scenarios where you plan to reuse the same data-context
|
|
32
31
|
* set this to false and release the resources yourself. (dataContext.close)
|
|
33
32
|
*/
|
|
34
|
-
cleanUp: boolean
|
|
35
|
-
|
|
36
|
-
* If true, this table is in dense mode.
|
|
37
|
-
* Heights are generally reduced.
|
|
38
|
-
*/
|
|
39
|
-
private _dense;
|
|
33
|
+
readonly cleanUp: import("@angular/core").InputSignalWithTransform<boolean, import("@angular/cdk/coercion").BooleanInput>;
|
|
34
|
+
readonly dense: import("@angular/core").InputSignalWithTransform<boolean, import("@angular/cdk/coercion").BooleanInput>;
|
|
40
35
|
private readonly _itemClickSubject;
|
|
41
36
|
private readonly EntityIdKeyFn;
|
|
42
37
|
protected readonly destroy$: Subject<void>;
|
|
@@ -46,7 +41,9 @@ export declare abstract class ElderDataViewBaseComponent<T = any> implements IEl
|
|
|
46
41
|
readonly canLoadMore: Signal<boolean | undefined>;
|
|
47
42
|
readonly viewData: Signal<T[] | undefined>;
|
|
48
43
|
readonly currentPage: Signal<PageRequest | undefined>;
|
|
44
|
+
readonly currentChunkSize: Signal<number | undefined>;
|
|
49
45
|
readonly currentSelection: Signal<T[] | undefined>;
|
|
46
|
+
readonly selectionSingleChange: Observable<any>;
|
|
50
47
|
/***************************************************************************
|
|
51
48
|
* *
|
|
52
49
|
* Constructor *
|
|
@@ -80,7 +77,6 @@ export declare abstract class ElderDataViewBaseComponent<T = any> implements IEl
|
|
|
80
77
|
set selectableEvaluatorFn(selectableEvaluatorFn: (entity: any) => boolean);
|
|
81
78
|
set selection(selection: any[]);
|
|
82
79
|
get selectionChange(): Observable<any[]>;
|
|
83
|
-
get selectionSingleChange(): Observable<any>;
|
|
84
80
|
set selectionMultiEnabled(enableMultiSelection: boolean);
|
|
85
81
|
abstract get selectionVisible(): boolean;
|
|
86
82
|
abstract set selectionVisible(selectionVisible: boolean);
|
|
@@ -90,13 +86,6 @@ export declare abstract class ElderDataViewBaseComponent<T = any> implements IEl
|
|
|
90
86
|
* *
|
|
91
87
|
**************************************************************************/
|
|
92
88
|
get itemClick(): Observable<any>;
|
|
93
|
-
/***************************************************************************
|
|
94
|
-
* *
|
|
95
|
-
* Style Properties *
|
|
96
|
-
* *
|
|
97
|
-
**************************************************************************/
|
|
98
|
-
set dense(value: BooleanInput);
|
|
99
|
-
get dense(): boolean;
|
|
100
89
|
/***************************************************************************
|
|
101
90
|
* *
|
|
102
91
|
* Event Entry Points *
|
|
@@ -124,5 +113,5 @@ export declare abstract class ElderDataViewBaseComponent<T = any> implements IEl
|
|
|
124
113
|
*/
|
|
125
114
|
protected autoCleanUp(): void;
|
|
126
115
|
static ɵfac: i0.ɵɵFactoryDeclaration<ElderDataViewBaseComponent<any>, never>;
|
|
127
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<ElderDataViewBaseComponent<any>, never, never, { "interactionMode": { "alias": "interactionMode"; "required": false; }; "cleanUp": { "alias": "cleanUp"; "required": false; }; "
|
|
116
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ElderDataViewBaseComponent<any>, never, never, { "interactionMode": { "alias": "interactionMode"; "required": false; }; "cleanUp": { "alias": "cleanUp"; "required": false; "isSignal": true; }; "dense": { "alias": "dense"; "required": false; "isSignal": true; }; "selectableEvaluatorFn": { "alias": "selectableEvaluatorFn"; "required": false; }; "selection": { "alias": "selection"; "required": false; }; "selectionMultiEnabled": { "alias": "selectionMultiEnabled"; "required": false; }; }, { "selectionSingleChange": "selectionSingleChange"; "selectionChange": "selectionChange"; "itemClick": "itemClick"; }, never, never, true, never>;
|
|
128
117
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class ElderContinuatorComponent {
|
|
3
|
+
readonly loadedCount: import("@angular/core").InputSignal<number>;
|
|
4
|
+
readonly total: import("@angular/core").InputSignal<string | number>;
|
|
5
|
+
readonly canLoadMore: import("@angular/core").InputSignal<boolean>;
|
|
6
|
+
readonly chunkSizeOptions: import("@angular/core").InputSignal<number[]>;
|
|
7
|
+
readonly chunkSize: import("@angular/core").InputSignal<number>;
|
|
8
|
+
readonly canModifyChunkSize: import("@angular/core").Signal<boolean>;
|
|
9
|
+
readonly loadMoreRequested: import("@angular/core").OutputEmitterRef<void>;
|
|
10
|
+
readonly chunkSizeChange: import("@angular/core").OutputEmitterRef<number>;
|
|
11
|
+
onChunkSizeChange(newSize: undefined | number): void;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ElderContinuatorComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ElderContinuatorComponent, "elder-continuator", never, { "loadedCount": { "alias": "loadedCount"; "required": false; "isSignal": true; }; "total": { "alias": "total"; "required": false; "isSignal": true; }; "canLoadMore": { "alias": "canLoadMore"; "required": false; "isSignal": true; }; "chunkSizeOptions": { "alias": "chunkSizeOptions"; "required": false; "isSignal": true; }; "chunkSize": { "alias": "chunkSize"; "required": false; "isSignal": true; }; }, { "loadMoreRequested": "loadMoreRequested"; "chunkSizeChange": "chunkSizeChange"; }, never, never, true, never>;
|
|
14
|
+
}
|
|
@@ -9,3 +9,4 @@ export { DataContextSelectionDirective } from './selection/data-context-selectio
|
|
|
9
9
|
export { DataContextStateIndicatorComponent } from './data-context-state-indicator/data-context-state-indicator.component';
|
|
10
10
|
export * from './activation/public_api';
|
|
11
11
|
export { ElderDataCommonModule } from './elder-data-common.module';
|
|
12
|
+
export { ElderContinuatorComponent } from './elder-continuator/elder-continuator.component';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Signal } from '@angular/core';
|
|
2
2
|
import { SelectionModel } from '../../../../common/selection/selection-model';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
3
4
|
import { IDataContext } from '../../../../common/data/data-context/data-context';
|
|
4
5
|
import { MasterSelectionState } from './master-selection-state';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
@@ -10,7 +11,7 @@ export declare class DataContextSelectionDirective {
|
|
|
10
11
|
* *
|
|
11
12
|
**************************************************************************/
|
|
12
13
|
private readonly log;
|
|
13
|
-
private readonly
|
|
14
|
+
private readonly _selectionModel$;
|
|
14
15
|
private readonly dataContext$;
|
|
15
16
|
readonly selectionState: Signal<MasterSelectionState>;
|
|
16
17
|
/***************************************************************************
|
|
@@ -25,6 +26,7 @@ export declare class DataContextSelectionDirective {
|
|
|
25
26
|
* *
|
|
26
27
|
**************************************************************************/
|
|
27
28
|
set selectionModel(model: SelectionModel<any>);
|
|
29
|
+
get selectionModel$(): Observable<SelectionModel<any>>;
|
|
28
30
|
get selectionModel(): SelectionModel<any>;
|
|
29
31
|
set dataContext(dataContext: IDataContext<any>);
|
|
30
32
|
/** Whether the number of selected elements matches the totalSnapshot number of selectable rows. */
|
|
@@ -9,6 +9,7 @@ import { ElderDataViewOptionsProvider } from '../../base/elder-data-view-options
|
|
|
9
9
|
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
10
10
|
import { CompositeSort } from '../../common/composite-sort/composite-sort';
|
|
11
11
|
import { ElderTileComponent } from '../elder-tile/elder-tile.component';
|
|
12
|
+
import { ElderContinuatorComponent } from '../../common/elder-continuator/elder-continuator.component';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
13
14
|
declare class GridRow<T> {
|
|
14
15
|
readonly id: string;
|
|
@@ -51,9 +52,9 @@ export declare class ElderGridComponent<T = any> extends ElderDataViewBaseCompon
|
|
|
51
52
|
dataRows$: Observable<GridRow<T>[]>;
|
|
52
53
|
tileTemplateQuery: TemplateRef<any>;
|
|
53
54
|
private _tileTemplate;
|
|
54
|
-
toolbarVisible: boolean
|
|
55
|
-
footerVisible: boolean
|
|
56
|
-
itemHeight: number
|
|
55
|
+
readonly toolbarVisible: import("@angular/core").InputSignalWithTransform<boolean, import("@angular/cdk/coercion").BooleanInput>;
|
|
56
|
+
readonly footerVisible: import("@angular/core").InputSignalWithTransform<boolean, import("@angular/cdk/coercion").BooleanInput>;
|
|
57
|
+
readonly itemHeight: import("@angular/core").InputSignal<number>;
|
|
57
58
|
readonly tileOutlined: import("@angular/core").InputSignalWithTransform<boolean, import("@angular/cdk/coercion").BooleanInput>;
|
|
58
59
|
readonly responsiveColumnCount: import("@angular/core").InputSignalWithTransform<boolean, import("@angular/cdk/coercion").BooleanInput>;
|
|
59
60
|
virtualScrollViewPort: CdkVirtualScrollViewport;
|
|
@@ -63,8 +64,9 @@ export declare class ElderGridComponent<T = any> extends ElderDataViewBaseCompon
|
|
|
63
64
|
sortTranslationPrefix: string;
|
|
64
65
|
hiddenField: string;
|
|
65
66
|
selectionVisible: boolean;
|
|
66
|
-
pageSizeOptions: number[]
|
|
67
|
+
readonly pageSizeOptions: import("@angular/core").InputSignal<number[]>;
|
|
67
68
|
matPaginator: MatPaginator;
|
|
69
|
+
elderContinuator: ElderContinuatorComponent;
|
|
68
70
|
toolbarTemplateQuery: TemplateRef<any>;
|
|
69
71
|
private _toolbarTemplate;
|
|
70
72
|
readonly activeColumnCount$: Observable<number>;
|
|
@@ -116,6 +118,6 @@ export declare class ElderGridComponent<T = any> extends ElderDataViewBaseCompon
|
|
|
116
118
|
private initialColumnCount;
|
|
117
119
|
private getTileForItem;
|
|
118
120
|
static ɵfac: i0.ɵɵFactoryDeclaration<ElderGridComponent<any>, [{ optional: true; }, { optional: true; skipSelf: true; }, null]>;
|
|
119
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ElderGridComponent<any>, "elder-grid", never, { "toolbarVisible": { "alias": "toolbarVisible"; "required": false; }; "footerVisible": { "alias": "footerVisible"; "required": false; }; "itemHeight": { "alias": "itemHeight"; "required": false; }; "tileOutlined": { "alias": "tileOutlined"; "required": false; "isSignal": true; }; "responsiveColumnCount": { "alias": "responsiveColumnCount"; "required": false; "isSignal": true; }; "availableSorts": { "alias": "availableSorts"; "required": false; }; "sortTranslationPrefix": { "alias": "sortTranslationPrefix"; "required": false; }; "hiddenField": { "alias": "hiddenField"; "required": false; }; "selectionVisible": { "alias": "selectionVisible"; "required": false; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; }; "tileTemplate": { "alias": "tileTemplate"; "required": false; }; "toolbarTemplate": { "alias": "toolbarTemplate"; "required": false; }; "data": { "alias": "data"; "required": false; }; "columnCount": { "alias": "columnCount"; "required": false; }; }, {}, ["tileTemplateQuery", "toolbarTemplateQuery"], never, true, never>;
|
|
121
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ElderGridComponent<any>, "elder-grid", never, { "toolbarVisible": { "alias": "toolbarVisible"; "required": false; "isSignal": true; }; "footerVisible": { "alias": "footerVisible"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "tileOutlined": { "alias": "tileOutlined"; "required": false; "isSignal": true; }; "responsiveColumnCount": { "alias": "responsiveColumnCount"; "required": false; "isSignal": true; }; "availableSorts": { "alias": "availableSorts"; "required": false; }; "sortTranslationPrefix": { "alias": "sortTranslationPrefix"; "required": false; }; "hiddenField": { "alias": "hiddenField"; "required": false; }; "selectionVisible": { "alias": "selectionVisible"; "required": false; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "tileTemplate": { "alias": "tileTemplate"; "required": false; }; "toolbarTemplate": { "alias": "toolbarTemplate"; "required": false; }; "data": { "alias": "data"; "required": false; }; "columnCount": { "alias": "columnCount"; "required": false; }; }, {}, ["tileTemplateQuery", "toolbarTemplateQuery"], never, true, never>;
|
|
120
122
|
}
|
|
121
123
|
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Signal } from '@angular/core';
|
|
2
|
+
import { MatCheckboxChange } from '@angular/material/checkbox';
|
|
3
|
+
import { DataContextSelectionDirective } from '../../../common/selection/data-context-selection.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class ElderTableSelectionCellComponent<T = any> {
|
|
6
|
+
readonly dataContextSelection: DataContextSelectionDirective;
|
|
7
|
+
/***************************************************************************
|
|
8
|
+
* *
|
|
9
|
+
* Fields *
|
|
10
|
+
* *
|
|
11
|
+
**************************************************************************/
|
|
12
|
+
private readonly log;
|
|
13
|
+
readonly entity: import("@angular/core").InputSignal<T>;
|
|
14
|
+
readonly selected: Signal<boolean>;
|
|
15
|
+
readonly selectable: Signal<boolean>;
|
|
16
|
+
/***************************************************************************
|
|
17
|
+
* *
|
|
18
|
+
* Constructor *
|
|
19
|
+
* *
|
|
20
|
+
**************************************************************************/
|
|
21
|
+
constructor(dataContextSelection: DataContextSelectionDirective);
|
|
22
|
+
/***************************************************************************
|
|
23
|
+
* *
|
|
24
|
+
* Public API *
|
|
25
|
+
* *
|
|
26
|
+
**************************************************************************/
|
|
27
|
+
onCheckboxChange(event: MatCheckboxChange): void;
|
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ElderTableSelectionCellComponent<any>, never>;
|
|
29
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ElderTableSelectionCellComponent<any>, "elder-table-selection-cell", never, { "entity": { "alias": "entity"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
30
|
+
}
|
|
@@ -12,6 +12,7 @@ import { ElderTableModel } from '../model/elder-table-model';
|
|
|
12
12
|
import { ElderTableExtensionDirective } from '../elder-table-extension.directive';
|
|
13
13
|
import { ElderTableColumnDirective } from '../elder-table-column.directive';
|
|
14
14
|
import { ElderDataViewOptionsProvider } from '../../base/elder-data-view-options-provider';
|
|
15
|
+
import { ElderContinuatorComponent } from '../../common/elder-continuator/elder-continuator.component';
|
|
15
16
|
import * as i0 from "@angular/core";
|
|
16
17
|
export declare class ElderTableComponent<T = any> extends ElderDataViewBaseComponent<T> implements OnInit, AfterContentInit, AfterViewInit {
|
|
17
18
|
readonly tableModel: ElderTableModel;
|
|
@@ -29,7 +30,9 @@ export declare class ElderTableComponent<T = any> extends ElderDataViewBaseCompo
|
|
|
29
30
|
*/
|
|
30
31
|
private loadNextQueued;
|
|
31
32
|
matTable: CdkTable<any>;
|
|
33
|
+
readonly pageSizeOptions: import("@angular/core").InputSignal<number[]>;
|
|
32
34
|
matPaginator: MatPaginator;
|
|
35
|
+
elderContinuator: ElderContinuatorComponent;
|
|
33
36
|
private readonly _matSort;
|
|
34
37
|
columnDefs: QueryList<CdkColumnDef>;
|
|
35
38
|
elderColumns: QueryList<ElderTableColumnDirective>;
|
|
@@ -57,10 +60,9 @@ export declare class ElderTableComponent<T = any> extends ElderDataViewBaseCompo
|
|
|
57
60
|
*
|
|
58
61
|
*/
|
|
59
62
|
hiddenField: string;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
denseHorizontal: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
63
|
+
readonly keepSelection: import("@angular/core").InputSignalWithTransform<boolean, import("@angular/cdk/coercion").BooleanInput>;
|
|
64
|
+
readonly showFooter: import("@angular/core").InputSignalWithTransform<boolean, import("@angular/cdk/coercion").BooleanInput>;
|
|
65
|
+
readonly denseHorizontal: import("@angular/core").InputSignalWithTransform<boolean, import("@angular/cdk/coercion").BooleanInput>;
|
|
64
66
|
/**
|
|
65
67
|
* The table toolbar
|
|
66
68
|
*/
|
|
@@ -128,5 +130,5 @@ export declare class ElderTableComponent<T = any> extends ElderDataViewBaseCompo
|
|
|
128
130
|
private setupSelectionLifeCycle;
|
|
129
131
|
private getRowForItem;
|
|
130
132
|
static ɵfac: i0.ɵɵFactoryDeclaration<ElderTableComponent<any>, [null, { optional: true; }, { optional: true; skipSelf: true; }, { optional: true; }, { optional: true; skipSelf: true; }, null, null]>;
|
|
131
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ElderTableComponent<any>, "elder-table", never, { "
|
|
133
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ElderTableComponent<any>, "elder-table", never, { "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "idField": { "alias": "idField"; "required": false; }; "removingField": { "alias": "removingField"; "required": false; }; "hiddenField": { "alias": "hiddenField"; "required": false; }; "keepSelection": { "alias": "keepSelection"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "denseHorizontal": { "alias": "denseHorizontal"; "required": false; "isSignal": true; }; "toolbarTemplate": { "alias": "toolbarTemplate"; "required": false; }; "data": { "alias": "data"; "required": false; }; "displayedColumns": { "alias": "displayedColumns"; "required": false; }; "selectionVisible": { "alias": "selectionVisible"; "required": false; }; }, {}, ["columnDefs", "elderColumns", "rowDefs", "toolbarRowTemplateQuery"], never, true, never>;
|
|
132
134
|
}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import { ElementRef, Renderer2 } from '@angular/core';
|
|
1
|
+
import { DestroyRef, ElementRef, OnInit, Renderer2 } from '@angular/core';
|
|
2
2
|
import { ActivationModel } from '../common/activation/model/activation-model';
|
|
3
|
+
import { DataContextSelectionDirective } from '../common/selection/data-context-selection.directive';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class ElderTableRowDirective<T> {
|
|
5
|
+
export declare class ElderTableRowDirective<T> implements OnInit {
|
|
5
6
|
private readonly rowRef;
|
|
7
|
+
private readonly destroyRef;
|
|
6
8
|
private readonly renderer;
|
|
7
9
|
private readonly activationModel;
|
|
10
|
+
private readonly dataContextSelection;
|
|
8
11
|
/***************************************************************************
|
|
9
12
|
* *
|
|
10
13
|
* Fields *
|
|
@@ -12,17 +15,24 @@ export declare class ElderTableRowDirective<T> {
|
|
|
12
15
|
**************************************************************************/
|
|
13
16
|
private readonly logger;
|
|
14
17
|
private _activated;
|
|
15
|
-
|
|
18
|
+
readonly entity: import("@angular/core").InputSignal<T>;
|
|
19
|
+
readonly highlightSelection: import("@angular/core").InputSignal<boolean>;
|
|
16
20
|
private readonly _focused;
|
|
21
|
+
private readonly highlightSelection$;
|
|
22
|
+
private readonly entity$;
|
|
17
23
|
/***************************************************************************
|
|
18
24
|
* *
|
|
19
25
|
* Constructor *
|
|
20
26
|
* *
|
|
21
27
|
**************************************************************************/
|
|
22
|
-
constructor(rowRef: ElementRef<HTMLTableRowElement>, renderer: Renderer2, activationModel: ActivationModel);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
28
|
+
constructor(rowRef: ElementRef<HTMLTableRowElement>, destroyRef: DestroyRef, renderer: Renderer2, activationModel: ActivationModel, dataContextSelection: DataContextSelectionDirective);
|
|
29
|
+
/***************************************************************************
|
|
30
|
+
* *
|
|
31
|
+
* Life Cycle *
|
|
32
|
+
* *
|
|
33
|
+
**************************************************************************/
|
|
34
|
+
ngOnInit(): void;
|
|
35
|
+
private bindHighlightSelection;
|
|
26
36
|
/***************************************************************************
|
|
27
37
|
* *
|
|
28
38
|
* Host Listener *
|
|
@@ -43,8 +53,6 @@ export declare class ElderTableRowDirective<T> {
|
|
|
43
53
|
* Properties *
|
|
44
54
|
* *
|
|
45
55
|
**************************************************************************/
|
|
46
|
-
set model(model: T);
|
|
47
|
-
get model(): T;
|
|
48
56
|
get hasFocus(): boolean;
|
|
49
57
|
/***************************************************************************
|
|
50
58
|
* *
|
|
@@ -58,8 +66,11 @@ export declare class ElderTableRowDirective<T> {
|
|
|
58
66
|
* Private methods *
|
|
59
67
|
* *
|
|
60
68
|
**************************************************************************/
|
|
69
|
+
private handleActivationEvent;
|
|
70
|
+
private isItemActive;
|
|
71
|
+
private updateRowActivation;
|
|
61
72
|
private enableRowFocus;
|
|
62
|
-
private
|
|
63
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ElderTableRowDirective<any>, [null, null, { optional: true; }]>;
|
|
64
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<ElderTableRowDirective<any>, "tr[elderTableRow]", ["elderTableRow"], { "
|
|
73
|
+
private updateHostClass;
|
|
74
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ElderTableRowDirective<any>, [null, null, null, { optional: true; }, null]>;
|
|
75
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ElderTableRowDirective<any>, "tr[elderTableRow]", ["elderTableRow"], { "entity": { "alias": "elderTableRow"; "required": true; "isSignal": true; }; "highlightSelection": { "alias": "highlightSelection"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
65
76
|
}
|
|
@@ -32,6 +32,7 @@ import * as i30 from "./elder-table-column.directive";
|
|
|
32
32
|
import * as i31 from "./elder-table-root.directive";
|
|
33
33
|
import * as i32 from "./activation/elder-delete-active.directive";
|
|
34
34
|
export * from './model/elder-table-model';
|
|
35
|
+
export * from './columns/elder-table-selection-cell/elder-table-selection-cell.component';
|
|
35
36
|
export * from './model/elder-table-model-provider';
|
|
36
37
|
export * from './model/elder-table-model-cdk-table-binding';
|
|
37
38
|
export * from './model/elder-table-model-query-group';
|
package/package.json
CHANGED
package/src/lib/components/data-view/common/elder-continuator/elder-continuator.component.scss
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
@use '@angular/material' as mat;
|
|
2
|
+
|
|
3
|
+
.loaded-info-text {
|
|
4
|
+
color: var(--md-sys-color-outline);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.elder-chunk-size-select.mat-mdc-form-field {
|
|
8
|
+
width: 84px;
|
|
9
|
+
@include mat.form-field-density(-5);
|
|
10
|
+
|
|
11
|
+
.mat-mdc-select {
|
|
12
|
+
--mat-select-trigger-text-size: var(
|
|
13
|
+
--mat-paginator-container-text-size,
|
|
14
|
+
var(--mat-sys-body-small-size)
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
}
|