@dmlibs/dm-cmps 0.0.4 → 0.1.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.
- package/fesm2022/dmlibs-dm-cmps.mjs +1398 -58
- package/fesm2022/dmlibs-dm-cmps.mjs.map +1 -1
- package/package.json +1 -1
- package/types/dmlibs-dm-cmps.d.ts +670 -4
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { InputSignal, InputSignalWithTransform, ModelSignal, OutputEmitterRef, OnDestroy, Renderer2 } from '@angular/core';
|
|
2
|
+
import { Signal, InputSignal, InputSignalWithTransform, ModelSignal, OutputEmitterRef, OnDestroy, Renderer2, Type, TemplateRef } from '@angular/core';
|
|
3
3
|
import { MatSelectChange } from '@angular/material/select';
|
|
4
4
|
import { FormControl } from '@angular/forms';
|
|
5
5
|
import { MatOptionSelectionChange } from '@angular/material/core';
|
|
6
6
|
import { MatCheckboxChange } from '@angular/material/checkbox';
|
|
7
7
|
import { TooltipPosition } from '@angular/material/tooltip';
|
|
8
|
+
import { MatSlideToggleChange } from '@angular/material/slide-toggle';
|
|
9
|
+
import { MatMenuTrigger } from '@angular/material/menu';
|
|
10
|
+
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
8
11
|
|
|
9
12
|
interface DmCmpsDataSourceSort {
|
|
13
|
+
id?: string;
|
|
10
14
|
direction: 'asc' | 'desc';
|
|
11
15
|
field: string;
|
|
12
16
|
sortFn?: (a: any, b: any) => number;
|
|
@@ -16,6 +20,7 @@ declare class DmCmpsDataSource<T> implements DmCmpsDataSourceConfig<T> {
|
|
|
16
20
|
private filteredData;
|
|
17
21
|
private _resultData;
|
|
18
22
|
result: _angular_core.WritableSignal<T[]>;
|
|
23
|
+
resultVersion: _angular_core.WritableSignal<number>;
|
|
19
24
|
private paginationEnabled;
|
|
20
25
|
private currentPageIndex;
|
|
21
26
|
private pageSize;
|
|
@@ -24,7 +29,8 @@ declare class DmCmpsDataSource<T> implements DmCmpsDataSourceConfig<T> {
|
|
|
24
29
|
private searchTerm;
|
|
25
30
|
private speratedSearch;
|
|
26
31
|
private filterPredicate;
|
|
27
|
-
|
|
32
|
+
isLoading: _angular_core.WritableSignal<boolean>;
|
|
33
|
+
private objectToFilterBy;
|
|
28
34
|
private fieldsToSearchIn;
|
|
29
35
|
private sortMap;
|
|
30
36
|
private sortFn;
|
|
@@ -41,6 +47,7 @@ declare class DmCmpsDataSource<T> implements DmCmpsDataSourceConfig<T> {
|
|
|
41
47
|
setAutoPaginationAboveItemsCount(count: number): void;
|
|
42
48
|
applyPagination(pageSize?: number): void;
|
|
43
49
|
setPageSize(pageSize: number): void;
|
|
50
|
+
getPageSize(): number;
|
|
44
51
|
disablePagination(): void;
|
|
45
52
|
nextPage(): number;
|
|
46
53
|
previousPage(): number;
|
|
@@ -48,8 +55,14 @@ declare class DmCmpsDataSource<T> implements DmCmpsDataSourceConfig<T> {
|
|
|
48
55
|
lastPage(): number;
|
|
49
56
|
getCurrentPageIndex(): number;
|
|
50
57
|
getTotalPagesCount(): number;
|
|
58
|
+
getFirstItemIndexInPage(): number;
|
|
59
|
+
getLastItemIndexInPage(): number;
|
|
60
|
+
getTotalResultElementsCount(): number;
|
|
61
|
+
isPaginationEnabled(): boolean;
|
|
51
62
|
setSearchDebounceTime(milliseconds: number): void;
|
|
52
63
|
setDatasource(newData: T[]): void;
|
|
64
|
+
getDatasource(): T[];
|
|
65
|
+
getResultData(): T[];
|
|
53
66
|
private updateResultSignal;
|
|
54
67
|
search(filterTerm: string): void;
|
|
55
68
|
private applySearch;
|
|
@@ -60,6 +73,7 @@ declare class DmCmpsDataSource<T> implements DmCmpsDataSourceConfig<T> {
|
|
|
60
73
|
sortByFields(sortMap: DmCmpsDataSourceSort[]): void;
|
|
61
74
|
resetSorting(): void;
|
|
62
75
|
setFilterByObjectFields(filterObj: Partial<T> | null): void;
|
|
76
|
+
getObjectToFilterBy(): Partial<T> | null;
|
|
63
77
|
private applyObjectFilter;
|
|
64
78
|
applySperatedSearch(enabled: boolean): void;
|
|
65
79
|
setPropertiesToSkipInSearch(...props: string[]): void;
|
|
@@ -69,6 +83,10 @@ interface DmCmpsDataSourceConfig<T = any> {
|
|
|
69
83
|
* Disconnects the data source and performs any necessary cleanup.
|
|
70
84
|
*/
|
|
71
85
|
disconnect: () => void;
|
|
86
|
+
/**
|
|
87
|
+
* A Signal that emits the loading state of the data source.
|
|
88
|
+
*/
|
|
89
|
+
isLoading: Signal<boolean>;
|
|
72
90
|
/**
|
|
73
91
|
* Sets auto pagination threshold.
|
|
74
92
|
* When the number of items exceeds the given count, pagination will be enabled automatically.
|
|
@@ -90,6 +108,11 @@ interface DmCmpsDataSourceConfig<T = any> {
|
|
|
90
108
|
* @param pageSize Number of items per page, must be at least 5
|
|
91
109
|
*/
|
|
92
110
|
setPageSize: (pageSize: number) => void;
|
|
111
|
+
/**
|
|
112
|
+
* Gets the page size.
|
|
113
|
+
* @returns page size
|
|
114
|
+
*/
|
|
115
|
+
getPageSize: () => number;
|
|
93
116
|
/**
|
|
94
117
|
* Disables pagination.
|
|
95
118
|
*/
|
|
@@ -124,6 +147,26 @@ interface DmCmpsDataSourceConfig<T = any> {
|
|
|
124
147
|
* @returns Total pages count
|
|
125
148
|
*/
|
|
126
149
|
getTotalPagesCount: () => number;
|
|
150
|
+
/**
|
|
151
|
+
* Gets the index of the first item in the current page.
|
|
152
|
+
* @returns Index of the first item in the current page
|
|
153
|
+
*/
|
|
154
|
+
getFirstItemIndexInPage: () => number;
|
|
155
|
+
/**
|
|
156
|
+
* Gets the index of the last item in the current page.
|
|
157
|
+
* @returns Index of the last item in the current page
|
|
158
|
+
*/
|
|
159
|
+
getLastItemIndexInPage: () => number;
|
|
160
|
+
/**
|
|
161
|
+
* Gets the total number of elements after filtering, without pagination applied.
|
|
162
|
+
* @returns Total number of result elements
|
|
163
|
+
*/
|
|
164
|
+
getTotalResultElementsCount: () => number;
|
|
165
|
+
/**
|
|
166
|
+
* Checks if pagination is enabled.
|
|
167
|
+
* @returns true if pagination is enabled, false otherwise
|
|
168
|
+
*/
|
|
169
|
+
isPaginationEnabled: () => boolean;
|
|
127
170
|
/**
|
|
128
171
|
* Sets the debounce time for search input.
|
|
129
172
|
* @param milliseconds Debounce time in milliseconds
|
|
@@ -135,6 +178,16 @@ interface DmCmpsDataSourceConfig<T = any> {
|
|
|
135
178
|
* @param newData New data array
|
|
136
179
|
*/
|
|
137
180
|
setDatasource: (newData: T[]) => void;
|
|
181
|
+
/**
|
|
182
|
+
* Gets the current data source array.
|
|
183
|
+
* @returns Current data array
|
|
184
|
+
*/
|
|
185
|
+
getDatasource: () => T[];
|
|
186
|
+
/**
|
|
187
|
+
* Get the result data after filtering, sorting, without pagination applied.
|
|
188
|
+
* @returns Result data array
|
|
189
|
+
*/
|
|
190
|
+
getResultData: () => T[];
|
|
138
191
|
/**
|
|
139
192
|
* Performs a search with the given filter term.
|
|
140
193
|
* @param filterTerm The term to filter the data
|
|
@@ -177,6 +230,11 @@ interface DmCmpsDataSourceConfig<T = any> {
|
|
|
177
230
|
* @default null (no filtering)
|
|
178
231
|
*/
|
|
179
232
|
setFilterByObjectFields: (filterObj: Partial<T> | null) => void;
|
|
233
|
+
/**
|
|
234
|
+
* Gets the object used for filtering by fields.
|
|
235
|
+
* @returns Partial object used for filtering or null if no filtering is applied
|
|
236
|
+
*/
|
|
237
|
+
getObjectToFilterBy: () => Partial<T> | null;
|
|
180
238
|
/**
|
|
181
239
|
* Enables or disables separated search.
|
|
182
240
|
* When enabled, the search term is split by spaces and each term is searched separately.
|
|
@@ -669,5 +727,613 @@ declare class DmSpinner {
|
|
|
669
727
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DmSpinner, "dm-spinner", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "gifSrc": { "alias": "gifSrc"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "shapeSize": { "alias": "shapeSize"; "required": false; "isSignal": true; }; "speed": { "alias": "speed"; "required": false; "isSignal": true; }; "borderThikness": { "alias": "borderThikness"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "textColor": { "alias": "textColor"; "required": false; "isSignal": true; }; "fontSize": { "alias": "fontSize"; "required": false; "isSignal": true; }; "textPosition": { "alias": "textPosition"; "required": false; "isSignal": true; }; "colors": { "alias": "colors"; "required": false; "isSignal": true; }; "backgroundBlur": { "alias": "backgroundBlur"; "required": false; "isSignal": true; }; "textPositionYOffset": { "alias": "textPositionYOffset"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
670
728
|
}
|
|
671
729
|
|
|
672
|
-
|
|
673
|
-
|
|
730
|
+
type DmTableNgClass = string | string[] | Set<string> | {
|
|
731
|
+
[key: string]: any;
|
|
732
|
+
};
|
|
733
|
+
interface DmCellContext<T extends object> {
|
|
734
|
+
$implicit: T;
|
|
735
|
+
row: T;
|
|
736
|
+
column: DmTableColumn<T>;
|
|
737
|
+
}
|
|
738
|
+
type DmTableColumnType = 'date' | 'component' | 'tel' | 'mail' | 'link' | 'whatsapp' | 'customHtml' | 'actions' | 'slideToggle' | 'input';
|
|
739
|
+
type DmTableInputColumnType = 'text' | 'number' | 'select' | 'checkbox';
|
|
740
|
+
interface DmTableInputCellSelectOption {
|
|
741
|
+
label: string;
|
|
742
|
+
value: any;
|
|
743
|
+
}
|
|
744
|
+
interface DmTableColumnState {
|
|
745
|
+
id: string;
|
|
746
|
+
visible: boolean;
|
|
747
|
+
order: number;
|
|
748
|
+
}
|
|
749
|
+
interface DmTableColumnBase<T extends object> {
|
|
750
|
+
id?: string;
|
|
751
|
+
field: keyof T;
|
|
752
|
+
valueGetter?: (row: T) => any;
|
|
753
|
+
dateFormat?: string;
|
|
754
|
+
component?: Type<any>;
|
|
755
|
+
valueSetter?: (row: T, payload: any) => void;
|
|
756
|
+
customHtml?: string;
|
|
757
|
+
customCellTemplate?: TemplateRef<any>;
|
|
758
|
+
actionsButtons?: DmTableRowActionButton<T>[];
|
|
759
|
+
sortable?: boolean;
|
|
760
|
+
sortFn?: (a: T, b: T) => number;
|
|
761
|
+
visible?: boolean;
|
|
762
|
+
cellStyle?: {
|
|
763
|
+
[key: string]: any;
|
|
764
|
+
} | ((row: T) => {
|
|
765
|
+
[key: string]: any;
|
|
766
|
+
});
|
|
767
|
+
headerStyle?: {
|
|
768
|
+
[key: string]: any;
|
|
769
|
+
} | ((datasource: DmCmpsDataSource<T>) => {
|
|
770
|
+
[key: string]: any;
|
|
771
|
+
});
|
|
772
|
+
cellContentStyle?: {
|
|
773
|
+
[key: string]: any;
|
|
774
|
+
} | ((row: T) => {
|
|
775
|
+
[key: string]: any;
|
|
776
|
+
});
|
|
777
|
+
headerContentStyle?: {
|
|
778
|
+
[key: string]: any;
|
|
779
|
+
} | ((datasource: DmCmpsDataSource<T>) => {
|
|
780
|
+
[key: string]: any;
|
|
781
|
+
});
|
|
782
|
+
totalCellStyle?: {
|
|
783
|
+
[key: string]: any;
|
|
784
|
+
} | ((datasource: DmCmpsDataSource<T>) => {
|
|
785
|
+
[key: string]: any;
|
|
786
|
+
});
|
|
787
|
+
onCellClick?: (row: T, event: Event) => void;
|
|
788
|
+
onCellDoubleClick?: (row: T, event: Event) => void;
|
|
789
|
+
onCellContentClick?: (row: T, event: Event) => void;
|
|
790
|
+
onCellContentDoubleClick?: (row: T, event: Event) => void;
|
|
791
|
+
cellContextMenu?: (row: T, event: Event) => void;
|
|
792
|
+
cellContentContextMenu?: (row: T, event: Event) => void;
|
|
793
|
+
onHeaderClick?: (datasource: DmCmpsDataSource<T>, event: Event) => void;
|
|
794
|
+
onHeaderDoubleClick?: (datasource: DmCmpsDataSource<T>, event: Event) => void;
|
|
795
|
+
onHeaderContentClick?: (datasource: DmCmpsDataSource<T>, event: Event) => void;
|
|
796
|
+
onHeaderContentDoubleClick?: (datasource: DmCmpsDataSource<T>, event: Event) => void;
|
|
797
|
+
headerContextMenu?: (datasource: DmCmpsDataSource<T>, event: Event) => void;
|
|
798
|
+
headerContentContextMenu?: (datasource: DmCmpsDataSource<T>, event: Event) => void;
|
|
799
|
+
totalRowValueType?: 'string' | 'html';
|
|
800
|
+
totalRowValueGetter?: (datasource: DmCmpsDataSource<T>) => any;
|
|
801
|
+
inputType?: DmTableInputColumnType;
|
|
802
|
+
inputValidator?: (row: T, value: any) => boolean;
|
|
803
|
+
onInputValidatorFailed?: (row: T, value: any) => void;
|
|
804
|
+
selectOptions?: DmTableInputCellSelectOption[];
|
|
805
|
+
inputStyle?: {
|
|
806
|
+
[key: string]: any;
|
|
807
|
+
} | ((row: T) => {
|
|
808
|
+
[key: string]: any;
|
|
809
|
+
});
|
|
810
|
+
headerMenuItems?: DmTableColumnHeaderMenuItem<T>[];
|
|
811
|
+
headerMenuTooltip?: string;
|
|
812
|
+
slideToggleTooltip?: string | ((row: T) => string);
|
|
813
|
+
onSlideToggleChange?: (row: T, change: MatSlideToggleChange) => void;
|
|
814
|
+
}
|
|
815
|
+
type DmTableIndexColumn<T extends object> = {
|
|
816
|
+
type: '$index' | 'actions';
|
|
817
|
+
header: string;
|
|
818
|
+
} & Omit<DmTableColumnBase<T>, 'field'> & {
|
|
819
|
+
field?: keyof T;
|
|
820
|
+
};
|
|
821
|
+
type DmTableDataColumn<T extends object> = {
|
|
822
|
+
type?: DmTableColumnType;
|
|
823
|
+
header: string;
|
|
824
|
+
} & DmTableColumnBase<T>;
|
|
825
|
+
type DmTableColumn<T extends object> = DmTableIndexColumn<T> | DmTableDataColumn<T>;
|
|
826
|
+
type DmTableRuntimeColumn<T extends object> = Omit<DmTableColumn<T>, 'id'> & {
|
|
827
|
+
id: string;
|
|
828
|
+
__cache?: WeakMap<T, any>;
|
|
829
|
+
};
|
|
830
|
+
interface DmTableColumnHeaderMenuItem<T extends object> {
|
|
831
|
+
label: string;
|
|
832
|
+
icon?: string;
|
|
833
|
+
onClick?: (datasource: DmCmpsDataSource<T>, event: Event, closeParentMenus: () => void) => void;
|
|
834
|
+
color?: string;
|
|
835
|
+
backgroundColor?: string;
|
|
836
|
+
helpText?: string;
|
|
837
|
+
showIf?: (datasource: DmCmpsDataSource<T>) => boolean;
|
|
838
|
+
children?: DmTableColumnHeaderMenuItem<T>[];
|
|
839
|
+
}
|
|
840
|
+
type DmTableRowActionButton<T extends object> = {
|
|
841
|
+
label: string;
|
|
842
|
+
buttonType?: 'filled' | 'outlined' | 'tonal' | 'elevated' | 'text';
|
|
843
|
+
icon?: string;
|
|
844
|
+
tooltip?: string;
|
|
845
|
+
backgroundColor?: string;
|
|
846
|
+
color?: string;
|
|
847
|
+
onClick?: (row: T, event: Event, closeParentMenus: () => void) => void;
|
|
848
|
+
children?: DmTableRowActionButton<T>[];
|
|
849
|
+
showIf?: (columns: DmTableColumn<T>[], datasource: DmCmpsDataSource<T>) => boolean;
|
|
850
|
+
} | {
|
|
851
|
+
buttonType?: 'icon';
|
|
852
|
+
icon?: string;
|
|
853
|
+
tooltip?: string;
|
|
854
|
+
backgroundColor?: string;
|
|
855
|
+
color?: string;
|
|
856
|
+
onClick?: (row: T, event: Event, closeParentMenus: () => void) => void;
|
|
857
|
+
children?: DmTableRowActionButton<T>[];
|
|
858
|
+
showIf?: (columns: DmTableColumn<T>[], datasource: DmCmpsDataSource<T>) => boolean;
|
|
859
|
+
};
|
|
860
|
+
type DmTableActionButton<T extends object> = {
|
|
861
|
+
label: string;
|
|
862
|
+
buttonType?: 'filled' | 'outlined' | 'tonal' | 'elevated' | 'text';
|
|
863
|
+
icon?: string;
|
|
864
|
+
tooltip?: string;
|
|
865
|
+
backgroundColor?: string;
|
|
866
|
+
color?: string;
|
|
867
|
+
onClick?: (columns: DmTableColumn<T>[], datasource: DmCmpsDataSource<T>, event: Event, closeParentMenus: () => void) => void;
|
|
868
|
+
children?: DmTableActionButton<T>[];
|
|
869
|
+
showIf?: (columns: DmTableColumn<T>[], datasource: DmCmpsDataSource<T>) => boolean;
|
|
870
|
+
} | {
|
|
871
|
+
buttonType?: 'icon';
|
|
872
|
+
icon?: string;
|
|
873
|
+
tooltip?: string;
|
|
874
|
+
backgroundColor?: string;
|
|
875
|
+
color?: string;
|
|
876
|
+
onClick?: (columns: DmTableColumn<T>[], datasource: DmCmpsDataSource<T>, event: Event, closeParentMenus: () => void) => void;
|
|
877
|
+
children?: DmTableActionButton<T>[];
|
|
878
|
+
showIf?: (columns: DmTableColumn<T>[], datasource: DmCmpsDataSource<T>) => boolean;
|
|
879
|
+
};
|
|
880
|
+
interface DmTablePaginatorSettings {
|
|
881
|
+
pageSize?: number;
|
|
882
|
+
pageSizeOptions?: number[];
|
|
883
|
+
showFirstAndLastPagesButtons?: boolean;
|
|
884
|
+
firstPageButtonLabel?: string;
|
|
885
|
+
lastPageButtonLabel?: string;
|
|
886
|
+
nextPageButtonLabel?: string;
|
|
887
|
+
previousPageButtonLabel?: string;
|
|
888
|
+
numberOfItemsPerPageLabel?: string;
|
|
889
|
+
}
|
|
890
|
+
interface DmTableStyle {
|
|
891
|
+
tableWrapper?: {
|
|
892
|
+
[key: string]: any;
|
|
893
|
+
};
|
|
894
|
+
table?: {
|
|
895
|
+
root?: {
|
|
896
|
+
[key: string]: any;
|
|
897
|
+
};
|
|
898
|
+
thead?: {
|
|
899
|
+
root?: {
|
|
900
|
+
[key: string]: any;
|
|
901
|
+
};
|
|
902
|
+
tr?: {
|
|
903
|
+
[key: string]: any;
|
|
904
|
+
};
|
|
905
|
+
th?: {
|
|
906
|
+
[key: string]: any;
|
|
907
|
+
};
|
|
908
|
+
};
|
|
909
|
+
tbody?: {
|
|
910
|
+
root?: {
|
|
911
|
+
[key: string]: any;
|
|
912
|
+
};
|
|
913
|
+
tr?: {
|
|
914
|
+
[key: string]: any;
|
|
915
|
+
};
|
|
916
|
+
td?: {
|
|
917
|
+
[key: string]: any;
|
|
918
|
+
};
|
|
919
|
+
even_row_style?: {
|
|
920
|
+
tr?: {
|
|
921
|
+
[key: string]: any;
|
|
922
|
+
};
|
|
923
|
+
td?: {
|
|
924
|
+
[key: string]: any;
|
|
925
|
+
};
|
|
926
|
+
};
|
|
927
|
+
odd_row_style?: {
|
|
928
|
+
tr?: {
|
|
929
|
+
[key: string]: any;
|
|
930
|
+
};
|
|
931
|
+
td?: {
|
|
932
|
+
[key: string]: any;
|
|
933
|
+
};
|
|
934
|
+
};
|
|
935
|
+
hovered_row_style?: {
|
|
936
|
+
tr?: {
|
|
937
|
+
[key: string]: any;
|
|
938
|
+
};
|
|
939
|
+
td?: {
|
|
940
|
+
[key: string]: any;
|
|
941
|
+
};
|
|
942
|
+
};
|
|
943
|
+
input?: {
|
|
944
|
+
[key: string]: any;
|
|
945
|
+
};
|
|
946
|
+
};
|
|
947
|
+
tfoot?: {
|
|
948
|
+
root?: {
|
|
949
|
+
[key: string]: any;
|
|
950
|
+
};
|
|
951
|
+
tr?: {
|
|
952
|
+
[key: string]: any;
|
|
953
|
+
};
|
|
954
|
+
td?: {
|
|
955
|
+
[key: string]: any;
|
|
956
|
+
};
|
|
957
|
+
};
|
|
958
|
+
};
|
|
959
|
+
total_row_style?: {
|
|
960
|
+
[key: string]: any;
|
|
961
|
+
};
|
|
962
|
+
paginator?: {
|
|
963
|
+
root?: {
|
|
964
|
+
[key: string]: any;
|
|
965
|
+
};
|
|
966
|
+
p?: {
|
|
967
|
+
[key: string]: any;
|
|
968
|
+
};
|
|
969
|
+
mat_form_field?: {
|
|
970
|
+
[key: string]: any;
|
|
971
|
+
};
|
|
972
|
+
mat_select?: {
|
|
973
|
+
[key: string]: any;
|
|
974
|
+
};
|
|
975
|
+
mat_option?: {
|
|
976
|
+
[key: string]: any;
|
|
977
|
+
};
|
|
978
|
+
button?: {
|
|
979
|
+
[key: string]: any;
|
|
980
|
+
};
|
|
981
|
+
};
|
|
982
|
+
scrollbar?: {
|
|
983
|
+
width?: string;
|
|
984
|
+
color?: string;
|
|
985
|
+
hoverColor?: string;
|
|
986
|
+
backgroundColor?: string;
|
|
987
|
+
borderRadius?: string;
|
|
988
|
+
};
|
|
989
|
+
}
|
|
990
|
+
interface DmTableClasses {
|
|
991
|
+
tableWrapper?: DmTableNgClass;
|
|
992
|
+
table?: {
|
|
993
|
+
root?: DmTableNgClass;
|
|
994
|
+
thead?: {
|
|
995
|
+
root?: DmTableNgClass;
|
|
996
|
+
tr?: DmTableNgClass;
|
|
997
|
+
th?: DmTableNgClass;
|
|
998
|
+
};
|
|
999
|
+
tbody?: {
|
|
1000
|
+
root?: DmTableNgClass;
|
|
1001
|
+
tr?: DmTableNgClass;
|
|
1002
|
+
td?: DmTableNgClass;
|
|
1003
|
+
};
|
|
1004
|
+
tfoot?: {
|
|
1005
|
+
root?: DmTableNgClass;
|
|
1006
|
+
tr?: DmTableNgClass;
|
|
1007
|
+
td?: DmTableNgClass;
|
|
1008
|
+
};
|
|
1009
|
+
};
|
|
1010
|
+
paginator?: {
|
|
1011
|
+
root?: DmTableNgClass;
|
|
1012
|
+
p?: DmTableNgClass;
|
|
1013
|
+
mat_form_field?: DmTableNgClass;
|
|
1014
|
+
mat_select?: DmTableNgClass;
|
|
1015
|
+
mat_option?: DmTableNgClass;
|
|
1016
|
+
button?: DmTableNgClass;
|
|
1017
|
+
};
|
|
1018
|
+
}
|
|
1019
|
+
interface DmTableInterface<T extends object> {
|
|
1020
|
+
/**
|
|
1021
|
+
* Table id - An unique identifier for the table, used to store the table state in the localStorage.
|
|
1022
|
+
* @default undefined
|
|
1023
|
+
*/
|
|
1024
|
+
tableId: InputSignal<string | undefined>;
|
|
1025
|
+
/**
|
|
1026
|
+
* Table data source - An array of objects that will be displayed in the table.
|
|
1027
|
+
*/
|
|
1028
|
+
dataSource: InputSignal<T[]>;
|
|
1029
|
+
/**
|
|
1030
|
+
* Table columns - An array of objects that define the columns of the table.
|
|
1031
|
+
*/
|
|
1032
|
+
columns: InputSignal<DmTableColumn<T>[]>;
|
|
1033
|
+
/**
|
|
1034
|
+
* No data message - The message to display when the table is empty.
|
|
1035
|
+
* @default 'אין נתונים להצגה'
|
|
1036
|
+
*/
|
|
1037
|
+
noDataMessage: InputSignal<string>;
|
|
1038
|
+
/**
|
|
1039
|
+
* Enable search - Whether to enable search functionality.
|
|
1040
|
+
* @default false
|
|
1041
|
+
*/
|
|
1042
|
+
enableSearch: InputSignalWithTransform<boolean, unknown>;
|
|
1043
|
+
/**
|
|
1044
|
+
* Search placeholder - The placeholder text to display in the search input.
|
|
1045
|
+
* @default 'חיפוש...'
|
|
1046
|
+
*/
|
|
1047
|
+
searchPlaceholder: InputSignal<string>;
|
|
1048
|
+
/**
|
|
1049
|
+
* Clear search tooltip - The tooltip text to display when hovering over the clear search button.
|
|
1050
|
+
* @default 'נקה חיפוש'
|
|
1051
|
+
*/
|
|
1052
|
+
clearSearchTooltip: InputSignal<string>;
|
|
1053
|
+
/**
|
|
1054
|
+
* Search input appearance - The appearance of the search input.
|
|
1055
|
+
* @default 'fill'
|
|
1056
|
+
*/
|
|
1057
|
+
searchInputAppearance: InputSignal<'fill' | 'outline'>;
|
|
1058
|
+
/**
|
|
1059
|
+
* Filter predicate - A function that defines how to filter the table data.
|
|
1060
|
+
* when undefined, the default filter predicate will be used.
|
|
1061
|
+
* @default null
|
|
1062
|
+
*/
|
|
1063
|
+
filterPredicate: InputSignal<((row: T, filterText: string) => boolean) | null>;
|
|
1064
|
+
/**
|
|
1065
|
+
* Action buttons - An array of objects that define the action buttons of the table.
|
|
1066
|
+
* - will be displayed on the left side above the table.
|
|
1067
|
+
* @default []
|
|
1068
|
+
*/
|
|
1069
|
+
actionButtons: InputSignal<DmTableActionButton<T>[]>;
|
|
1070
|
+
/**
|
|
1071
|
+
* Enable pagination - Whether to enable pagination functionality.
|
|
1072
|
+
* @default false
|
|
1073
|
+
*/
|
|
1074
|
+
enablePagination: InputSignalWithTransform<boolean, unknown>;
|
|
1075
|
+
/**
|
|
1076
|
+
* Auto pagination above rows count - The number of rows above which pagination will be enabled automatically.
|
|
1077
|
+
* @default 100
|
|
1078
|
+
*/
|
|
1079
|
+
autoPaginationAboveRowsCount: InputSignalWithTransform<number, unknown>;
|
|
1080
|
+
/**
|
|
1081
|
+
* Paginator settings - An object that defines the paginator settings of the table.
|
|
1082
|
+
* @default null
|
|
1083
|
+
*/
|
|
1084
|
+
paginatorSettings: InputSignal<DmTablePaginatorSettings>;
|
|
1085
|
+
/**
|
|
1086
|
+
* Enable loading progressbar - whether to enable loading progressbar.
|
|
1087
|
+
* @default true
|
|
1088
|
+
*/
|
|
1089
|
+
enableLoadingProgressbar: InputSignalWithTransform<boolean, unknown>;
|
|
1090
|
+
/**
|
|
1091
|
+
* Enable columns drag and drop - whether to enable columns drag and drop, to change columns order.
|
|
1092
|
+
* @default false
|
|
1093
|
+
*/
|
|
1094
|
+
enableColumnsDragAndDrop: InputSignalWithTransform<boolean, unknown>;
|
|
1095
|
+
/**
|
|
1096
|
+
* Enable columns drag handle - if true, a drag handle will be displayed on the left side of the column header.
|
|
1097
|
+
* @default false
|
|
1098
|
+
*/
|
|
1099
|
+
enableColumnsDragHandle: InputSignalWithTransform<boolean, unknown>;
|
|
1100
|
+
/**
|
|
1101
|
+
* Enable total row - whether to enable total row.
|
|
1102
|
+
* @default false
|
|
1103
|
+
*/
|
|
1104
|
+
enableTotalRow: InputSignalWithTransform<boolean, unknown>;
|
|
1105
|
+
/**
|
|
1106
|
+
* Table style - An object that defines the style of the table.
|
|
1107
|
+
* ```
|
|
1108
|
+
* @default {
|
|
1109
|
+
tableWrapper: {
|
|
1110
|
+
'max-height': '800px',
|
|
1111
|
+
|
|
1112
|
+
width: 'calc(100% - 10px)',
|
|
1113
|
+
display: 'block',
|
|
1114
|
+
'overflow-x': 'auto',
|
|
1115
|
+
padding: '0 5px',
|
|
1116
|
+
},
|
|
1117
|
+
table: {
|
|
1118
|
+
root: {
|
|
1119
|
+
width: '100%',
|
|
1120
|
+
'border-collapse': 'collapse',
|
|
1121
|
+
'border-spacing': 0,
|
|
1122
|
+
'box-shadow': '0px 5px 5px -3px #003, 0 8px 10px 1px #00000024, 0 3px 14px 2px #0000001f',
|
|
1123
|
+
padding: 0,
|
|
1124
|
+
'font-size': '1rem',
|
|
1125
|
+
'border-radius': '8px',
|
|
1126
|
+
'page-break-inside': 'auto',
|
|
1127
|
+
},
|
|
1128
|
+
thead: {
|
|
1129
|
+
root: {
|
|
1130
|
+
'background-color': '#f5f5f5',
|
|
1131
|
+
},
|
|
1132
|
+
th: {
|
|
1133
|
+
padding: '20px 15px',
|
|
1134
|
+
'text-align': 'start',
|
|
1135
|
+
'max-width': 'none',
|
|
1136
|
+
},
|
|
1137
|
+
},
|
|
1138
|
+
tbody: {
|
|
1139
|
+
hovered_row_style: {
|
|
1140
|
+
tr: {
|
|
1141
|
+
'background-color': '#f5f5f5',
|
|
1142
|
+
},
|
|
1143
|
+
},
|
|
1144
|
+
even_row_style: {
|
|
1145
|
+
tr: {
|
|
1146
|
+
'background-color': '#ffffff',
|
|
1147
|
+
},
|
|
1148
|
+
},
|
|
1149
|
+
odd_row_style: {
|
|
1150
|
+
tr: {
|
|
1151
|
+
'background-color': '#fafafa',
|
|
1152
|
+
},
|
|
1153
|
+
},
|
|
1154
|
+
tr: {
|
|
1155
|
+
'border-bottom': '1px solid #e0e0e0',
|
|
1156
|
+
'page-break-inside': 'avoid',
|
|
1157
|
+
},
|
|
1158
|
+
td: {
|
|
1159
|
+
padding: '7px 15px',
|
|
1160
|
+
'text-align': 'start',
|
|
1161
|
+
'max-width': 'none',
|
|
1162
|
+
'text-overflow': 'ellipsis',
|
|
1163
|
+
overflow: 'hidden',
|
|
1164
|
+
'white-space': 'nowrap',
|
|
1165
|
+
},
|
|
1166
|
+
input: {
|
|
1167
|
+
background: 'white',
|
|
1168
|
+
border: '1px solid',
|
|
1169
|
+
'border-radius': '3px',
|
|
1170
|
+
},
|
|
1171
|
+
},
|
|
1172
|
+
tfoot: {
|
|
1173
|
+
root: {
|
|
1174
|
+
'background-color': '#f5f5f5',
|
|
1175
|
+
},
|
|
1176
|
+
td: {
|
|
1177
|
+
padding: '20px 15px',
|
|
1178
|
+
'text-align': 'start',
|
|
1179
|
+
'max-width': 'none',
|
|
1180
|
+
},
|
|
1181
|
+
},
|
|
1182
|
+
},
|
|
1183
|
+
paginator: {
|
|
1184
|
+
root: {
|
|
1185
|
+
'background-color': '#f5f5f5',
|
|
1186
|
+
},
|
|
1187
|
+
p: {
|
|
1188
|
+
'margin-bottom': '0',
|
|
1189
|
+
},
|
|
1190
|
+
},
|
|
1191
|
+
total_row_style: {},
|
|
1192
|
+
scrollbar: {},
|
|
1193
|
+
};
|
|
1194
|
+
```
|
|
1195
|
+
*/
|
|
1196
|
+
tableStyle: InputSignal<DmTableStyle>;
|
|
1197
|
+
/**
|
|
1198
|
+
* Table classes - An object that defines the classes of the table.
|
|
1199
|
+
* @default undefined
|
|
1200
|
+
*/
|
|
1201
|
+
tableClasses: InputSignal<DmTableClasses | undefined>;
|
|
1202
|
+
/**
|
|
1203
|
+
* Row style function - A function that defines the style of the rows of the table.
|
|
1204
|
+
* @default null
|
|
1205
|
+
*/
|
|
1206
|
+
rowStyleFn: InputSignal<((row: T) => {
|
|
1207
|
+
[key: string]: any;
|
|
1208
|
+
}) | null>;
|
|
1209
|
+
/**
|
|
1210
|
+
* Edit columns visibility - whether to enable edit columns visibility.
|
|
1211
|
+
* @default false
|
|
1212
|
+
*/
|
|
1213
|
+
editColumnsVisibility: InputSignalWithTransform<boolean, unknown>;
|
|
1214
|
+
/**
|
|
1215
|
+
* Edit columns visibility button - The button to display when edit columns visibility is enabled.
|
|
1216
|
+
* @default null
|
|
1217
|
+
*/
|
|
1218
|
+
editColumnsVisibilityButton: InputSignal<DmTableActionButton<T>>;
|
|
1219
|
+
/**
|
|
1220
|
+
* Edit columns visibility select all label - The label to display when select all is enabled.
|
|
1221
|
+
* @default 'הצג את כל העמודות'
|
|
1222
|
+
*/
|
|
1223
|
+
editColumnsVisibilitySelectAllLabel: InputSignal<string>;
|
|
1224
|
+
/**
|
|
1225
|
+
* Get modified rows - A function that returns the modified rows of the table.
|
|
1226
|
+
* @returns {T[]} The modified rows of the table.
|
|
1227
|
+
*/
|
|
1228
|
+
getModifiedRows: () => T[];
|
|
1229
|
+
}
|
|
1230
|
+
|
|
1231
|
+
declare class DmTable<T extends object> implements DmTableInterface<T> {
|
|
1232
|
+
protected shiftKeyPressed: _angular_core.WritableSignal<boolean>;
|
|
1233
|
+
protected onShiftKeyDown(event: Event): void;
|
|
1234
|
+
protected onShiftKeyUp(event: Event): void;
|
|
1235
|
+
protected DEFAULT_PAGINATOR_SETTINGS: DmTablePaginatorSettings;
|
|
1236
|
+
protected DEFAULT_TABLE_STYLE: DmTableStyle;
|
|
1237
|
+
tableId: _angular_core.InputSignal<string | undefined>;
|
|
1238
|
+
dataSource: _angular_core.InputSignal<T[]>;
|
|
1239
|
+
columns: _angular_core.InputSignal<DmTableColumn<T>[]>;
|
|
1240
|
+
noDataMessage: _angular_core.InputSignal<string>;
|
|
1241
|
+
enableSearch: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1242
|
+
searchPlaceholder: _angular_core.InputSignal<string>;
|
|
1243
|
+
clearSearchTooltip: _angular_core.InputSignal<string>;
|
|
1244
|
+
searchInputAppearance: _angular_core.InputSignal<"fill" | "outline">;
|
|
1245
|
+
filterPredicate: _angular_core.InputSignal<((row: T, filterText: string) => boolean) | null>;
|
|
1246
|
+
private _filterPredicate;
|
|
1247
|
+
actionButtons: _angular_core.InputSignal<DmTableActionButton<T>[]>;
|
|
1248
|
+
enablePrint: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1249
|
+
printButton: _angular_core.InputSignal<DmTableActionButton<T>>;
|
|
1250
|
+
enablePagination: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1251
|
+
autoPaginationAboveRowsCount: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
1252
|
+
paginatorSettings: _angular_core.InputSignal<any>;
|
|
1253
|
+
enableLoadingProgressbar: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1254
|
+
enableColumnsDragAndDrop: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1255
|
+
enableColumnsDragHandle: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1256
|
+
enableTotalRow: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1257
|
+
tableStyle: _angular_core.InputSignal<DmTableStyle>;
|
|
1258
|
+
tableClasses: _angular_core.InputSignal<DmTableClasses | undefined>;
|
|
1259
|
+
rowStyleFn: _angular_core.InputSignal<((row: T) => {
|
|
1260
|
+
[key: string]: any;
|
|
1261
|
+
}) | null>;
|
|
1262
|
+
editColumnsVisibility: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1263
|
+
editColumnsVisibilityButton: _angular_core.InputSignal<DmTableActionButton<T>>;
|
|
1264
|
+
editColumnsVisibilitySelectAllLabel: _angular_core.InputSignal<string>;
|
|
1265
|
+
protected columnsSortState: _angular_core.WritableSignal<DmCmpsDataSourceSort[]>;
|
|
1266
|
+
protected mergedTableStyle: _angular_core.Signal<DmTableStyle>;
|
|
1267
|
+
private saveScrollbarStyle;
|
|
1268
|
+
protected hoveredRowIndex: _angular_core.WritableSignal<number | null>;
|
|
1269
|
+
protected datasource: _angular_core.WritableSignal<DmCmpsDataSource<T>>;
|
|
1270
|
+
protected readonly runtimeColumns: _angular_core.Signal<DmTableRuntimeColumn<T>[]>;
|
|
1271
|
+
protected hoveredColumnHeaderIndex: _angular_core.WritableSignal<number | null>;
|
|
1272
|
+
private columnStateStorage;
|
|
1273
|
+
protected columnState: _angular_core.WritableSignal<DmTableColumnState[] | null>;
|
|
1274
|
+
protected readonly visibleRuntimeColumns: _angular_core.Signal<DmTableRuntimeColumn<T>[]>;
|
|
1275
|
+
protected readonly visibleColumns: _angular_core.Signal<DmTableColumn<T>[]>;
|
|
1276
|
+
private prevColumns;
|
|
1277
|
+
rowIdentifierField: _angular_core.InputSignal<keyof T>;
|
|
1278
|
+
private modifiedRowsIds;
|
|
1279
|
+
protected searchTerm: _angular_core.WritableSignal<string>;
|
|
1280
|
+
protected readonly totalRowValues: _angular_core.Signal<Map<string, any>>;
|
|
1281
|
+
protected readonly totalRowStyles: _angular_core.Signal<Map<string, Record<string, any>>>;
|
|
1282
|
+
constructor();
|
|
1283
|
+
private runEffects;
|
|
1284
|
+
private initColumnState;
|
|
1285
|
+
private normalizeColumns;
|
|
1286
|
+
private isSameColumnDefinition;
|
|
1287
|
+
private reconcileColumns;
|
|
1288
|
+
private setFilterPredicate;
|
|
1289
|
+
protected createCellContext: (row: T, column: DmTableRuntimeColumn<T>) => DmCellContext<T>;
|
|
1290
|
+
protected resetRowCache(row: T): void;
|
|
1291
|
+
protected resolveCellValue<T extends object>(row: T, column: DmTableRuntimeColumn<T>): any;
|
|
1292
|
+
protected applySearchFilter(event: Event): void;
|
|
1293
|
+
protected resetSearch(): void;
|
|
1294
|
+
printTable: () => void;
|
|
1295
|
+
protected onPageSizeChange(event: MatOptionSelectionChange, option: number): void;
|
|
1296
|
+
protected getFooterTdStyle(column: DmTableRuntimeColumn<T>): {
|
|
1297
|
+
[x: string]: any;
|
|
1298
|
+
};
|
|
1299
|
+
protected getHeaderThStyle(column: DmTableRuntimeColumn<T>): any;
|
|
1300
|
+
protected getHeaderThContentStyle(column: DmTableRuntimeColumn<T>): any;
|
|
1301
|
+
protected getBodyTdStyle(i: number, column: DmTableRuntimeColumn<T>, row: T): Record<string, any>;
|
|
1302
|
+
protected getBodyTdContentStyle(i: number, column: DmTableRuntimeColumn<T>, row: T): Record<string, any>;
|
|
1303
|
+
protected getBodyRowStyle(i: number, row: T): Record<string, any>;
|
|
1304
|
+
protected getInputStyle(column: DmTableRuntimeColumn<T>): Record<string, any>;
|
|
1305
|
+
protected headerClickHandler(column: DmTableRuntimeColumn<T>, event: Event): void;
|
|
1306
|
+
protected headerDoubleClickHandler(column: DmTableRuntimeColumn<T>, event: Event): void;
|
|
1307
|
+
protected headerContextMenuHandler(column: DmTableRuntimeColumn<T>, event: Event): void;
|
|
1308
|
+
protected headerContentClickHandler(column: DmTableRuntimeColumn<T>, event: Event): void;
|
|
1309
|
+
protected headerContentDoubleClickHandler(column: DmTableRuntimeColumn<T>, event: Event): void;
|
|
1310
|
+
protected headerContentContextMenuHandler(column: DmTableRuntimeColumn<T>, event: Event): void;
|
|
1311
|
+
protected cellClickHandler(row: T, column: DmTableRuntimeColumn<T>, event: Event): void;
|
|
1312
|
+
protected cellDoubleClickHandler(row: T, column: DmTableRuntimeColumn<T>, event: Event): void;
|
|
1313
|
+
protected cellContextMenuHandler(row: T, column: DmTableRuntimeColumn<T>, event: Event): void;
|
|
1314
|
+
protected cellContentClickHandler(row: T, column: DmTableRuntimeColumn<T>, event: Event): void;
|
|
1315
|
+
protected cellContentDoubleClickHandler(row: T, column: DmTableRuntimeColumn<T>, event: Event): void;
|
|
1316
|
+
protected cellContentContextMenuHandler(row: T, column: DmTableRuntimeColumn<T>, event: Event): void;
|
|
1317
|
+
protected getCloseParentMenusFn: (rootTrigger: MatMenuTrigger) => (() => void);
|
|
1318
|
+
protected onColumnDrop(event: CdkDragDrop<DmTableRuntimeColumn<T>[]>): void;
|
|
1319
|
+
protected isAllColumnsVisible(): boolean;
|
|
1320
|
+
protected toggleAllColumnsVisibility(event: MatCheckboxChange): void;
|
|
1321
|
+
protected isColumnVisible(column: DmTableRuntimeColumn<T>): boolean;
|
|
1322
|
+
protected toggleColumnVisibility(event: MatCheckboxChange, column: DmTableRuntimeColumn<T>): void;
|
|
1323
|
+
protected isColumnSorted(column: DmTableRuntimeColumn<T>): (DmCmpsDataSourceSort & {
|
|
1324
|
+
index: number;
|
|
1325
|
+
}) | null;
|
|
1326
|
+
protected columnHeaderSortClickHandler(column: DmTableRuntimeColumn<T>, event: Event): void;
|
|
1327
|
+
private markRowAsModified;
|
|
1328
|
+
getModifiedRows(): T[];
|
|
1329
|
+
protected inputCellSelectOptionChangeHandler(row: T, column: DmTableRuntimeColumn<T>, option: DmTableInputCellSelectOption, event: MatOptionSelectionChange): void;
|
|
1330
|
+
protected inputCellChangeHandler(row: T, column: DmTableRuntimeColumn<T>, event: Event): void;
|
|
1331
|
+
protected inputCellCheckboxChangeHandler(row: T, column: DmTableRuntimeColumn<T>, event: MatCheckboxChange): void;
|
|
1332
|
+
protected getSlideToggleTooltip(row: T, column: DmTableRuntimeColumn<T>): string;
|
|
1333
|
+
protected onSlideToggleChange(row: T, column: DmTableRuntimeColumn<T>, change: MatSlideToggleChange): void;
|
|
1334
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DmTable<any>, never>;
|
|
1335
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DmTable<any>, "dm-table", never, { "tableId": { "alias": "tableId"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "noDataMessage": { "alias": "noDataMessage"; "required": false; "isSignal": true; }; "enableSearch": { "alias": "enableSearch"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "clearSearchTooltip": { "alias": "clearSearchTooltip"; "required": false; "isSignal": true; }; "searchInputAppearance": { "alias": "searchInputAppearance"; "required": false; "isSignal": true; }; "filterPredicate": { "alias": "filterPredicate"; "required": false; "isSignal": true; }; "actionButtons": { "alias": "actionButtons"; "required": false; "isSignal": true; }; "enablePrint": { "alias": "enablePrint"; "required": false; "isSignal": true; }; "printButton": { "alias": "printButton"; "required": false; "isSignal": true; }; "enablePagination": { "alias": "enablePagination"; "required": false; "isSignal": true; }; "autoPaginationAboveRowsCount": { "alias": "autoPaginationAboveRowsCount"; "required": false; "isSignal": true; }; "paginatorSettings": { "alias": "paginatorSettings"; "required": false; "isSignal": true; }; "enableLoadingProgressbar": { "alias": "enableLoadingProgressbar"; "required": false; "isSignal": true; }; "enableColumnsDragAndDrop": { "alias": "enableColumnsDragAndDrop"; "required": false; "isSignal": true; }; "enableColumnsDragHandle": { "alias": "enableColumnsDragHandle"; "required": false; "isSignal": true; }; "enableTotalRow": { "alias": "enableTotalRow"; "required": false; "isSignal": true; }; "tableStyle": { "alias": "tableStyle"; "required": false; "isSignal": true; }; "tableClasses": { "alias": "tableClasses"; "required": false; "isSignal": true; }; "rowStyleFn": { "alias": "rowStyleFn"; "required": false; "isSignal": true; }; "editColumnsVisibility": { "alias": "editColumnsVisibility"; "required": false; "isSignal": true; }; "editColumnsVisibilityButton": { "alias": "editColumnsVisibilityButton"; "required": false; "isSignal": true; }; "editColumnsVisibilitySelectAllLabel": { "alias": "editColumnsVisibilitySelectAllLabel"; "required": false; "isSignal": true; }; "rowIdentifierField": { "alias": "rowIdentifierField"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1338
|
+
export { DmCmpsDataSource, DmColorPicker, DmMatSelect, DmSpinner, DmSpinnerService, DmTable };
|
|
1339
|
+
export type { DmCmpsDataSourceSort, DmTableActionButton, DmTableColumn };
|