@dmytrokhylko/tb-cdu-ui 0.2.5 → 0.4.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.
@@ -1,2 +1,54 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { TemplateRef, OnInit } from '@angular/core';
3
+ import { TableRowAction, TableHeaderAction, TableBulkAction, TbCdEntityColumn, TbSubscriptionDatasourcePaginated } from '@dmytrokhylko/tb-cdu-ui/core';
4
+ import { WidgetContext } from '@home/models/widget-component.models';
5
+ import { DataKeyType, EntityKeyType, DataEntry, EntityId, EntityFilter, PageLink, widgetType, KeyFilter } from '@shared/public-api';
1
6
 
2
- export { };
7
+ interface TbCdEntitiesColumnConfig<T = unknown> {
8
+ key: string;
9
+ type: DataKeyType;
10
+ entityKeyType: EntityKeyType;
11
+ title: string;
12
+ sortable?: boolean;
13
+ parseValue?: (dataPoint: DataEntry | null) => unknown;
14
+ cellTemplate?: TemplateRef<{
15
+ $implicit: unknown;
16
+ entity: T;
17
+ }>;
18
+ }
19
+
20
+ declare class TbCdEntitiesTableComponent<T extends {
21
+ id: EntityId;
22
+ name: string;
23
+ }> implements OnInit {
24
+ readonly ctx: _angular_core.InputSignal<WidgetContext>;
25
+ readonly entityFilter: _angular_core.InputSignal<EntityFilter>;
26
+ readonly columns: _angular_core.InputSignal<TbCdEntitiesColumnConfig<T>[]>;
27
+ readonly pageLink: _angular_core.ModelSignal<PageLink>;
28
+ readonly widgetTitle: _angular_core.InputSignal<string>;
29
+ readonly noDataMessage: _angular_core.InputSignal<string>;
30
+ readonly titleStyle: _angular_core.InputSignal<Record<string, string>>;
31
+ readonly columnHeaderStyle: _angular_core.InputSignal<Record<string, string>>;
32
+ readonly backgroundColor: _angular_core.InputSignal<string | null>;
33
+ readonly color: _angular_core.InputSignal<string | null>;
34
+ readonly subscriptionType: _angular_core.InputSignal<widgetType>;
35
+ readonly keyFilters: _angular_core.InputSignal<KeyFilter[]>;
36
+ readonly rowActions: _angular_core.InputSignal<TableRowAction<T>[]>;
37
+ readonly headerActions: _angular_core.InputSignal<TableHeaderAction[]>;
38
+ readonly bulkActions: _angular_core.InputSignal<TableBulkAction<T>[]>;
39
+ readonly selectionEnabled: _angular_core.InputSignal<boolean>;
40
+ readonly enableExport: _angular_core.InputSignal<boolean>;
41
+ readonly rowClick: _angular_core.OutputEmitterRef<T>;
42
+ readonly tableColumns: _angular_core.Signal<TbCdEntityColumn<T>[]>;
43
+ readonly displayedColumns: _angular_core.Signal<string[]>;
44
+ datasource: TbSubscriptionDatasourcePaginated<T>;
45
+ private readonly injector;
46
+ readonly effectiveHeaderActions: _angular_core.Signal<TableHeaderAction[]>;
47
+ ngOnInit(): void;
48
+ private buildExportAction;
49
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TbCdEntitiesTableComponent<any>, never>;
50
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TbCdEntitiesTableComponent<any>, "tb-cd-entities-table", never, { "ctx": { "alias": "ctx"; "required": true; "isSignal": true; }; "entityFilter": { "alias": "entityFilter"; "required": true; "isSignal": true; }; "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "pageLink": { "alias": "pageLink"; "required": false; "isSignal": true; }; "widgetTitle": { "alias": "widgetTitle"; "required": false; "isSignal": true; }; "noDataMessage": { "alias": "noDataMessage"; "required": false; "isSignal": true; }; "titleStyle": { "alias": "titleStyle"; "required": false; "isSignal": true; }; "columnHeaderStyle": { "alias": "columnHeaderStyle"; "required": false; "isSignal": true; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "subscriptionType": { "alias": "subscriptionType"; "required": false; "isSignal": true; }; "keyFilters": { "alias": "keyFilters"; "required": false; "isSignal": true; }; "rowActions": { "alias": "rowActions"; "required": false; "isSignal": true; }; "headerActions": { "alias": "headerActions"; "required": false; "isSignal": true; }; "bulkActions": { "alias": "bulkActions"; "required": false; "isSignal": true; }; "selectionEnabled": { "alias": "selectionEnabled"; "required": false; "isSignal": true; }; "enableExport": { "alias": "enableExport"; "required": false; "isSignal": true; }; }, { "pageLink": "pageLinkChange"; "rowClick": "rowClick"; }, never, never, true, never>;
51
+ }
52
+
53
+ export { TbCdEntitiesTableComponent };
54
+ export type { TbCdEntitiesColumnConfig };