@onecx/angular-accelerator 5.7.0 → 5.9.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.
Files changed (27) hide show
  1. package/esm2022/lib/components/column-group-selection/column-group-selection.component.mjs +17 -2
  2. package/esm2022/lib/components/custom-group-column-selector/custom-group-column-selector.component.mjs +30 -4
  3. package/esm2022/lib/components/data-layout-selection/data-layout-selection.component.mjs +11 -2
  4. package/esm2022/lib/components/data-list-grid/data-list-grid.component.mjs +26 -3
  5. package/esm2022/lib/components/data-list-grid-sorting/data-list-grid-sorting.component.mjs +17 -3
  6. package/esm2022/lib/components/data-table/data-table.component.mjs +223 -40
  7. package/esm2022/lib/components/data-view/data-view.component.mjs +110 -4
  8. package/esm2022/lib/components/diagram/diagram.component.mjs +8 -2
  9. package/esm2022/lib/components/group-by-count-diagram/group-by-count-diagram.component.mjs +8 -2
  10. package/esm2022/lib/components/interactive-data-view/interactive-data-view.component.mjs +139 -9
  11. package/esm2022/lib/components/search-header/search-header.component.mjs +11 -2
  12. package/esm2022/lib/utils/rxjs-utils.mjs +13 -0
  13. package/fesm2022/onecx-angular-accelerator.mjs +598 -60
  14. package/fesm2022/onecx-angular-accelerator.mjs.map +1 -1
  15. package/lib/components/column-group-selection/column-group-selection.component.d.ts +6 -1
  16. package/lib/components/custom-group-column-selector/custom-group-column-selector.component.d.ts +13 -3
  17. package/lib/components/data-layout-selection/data-layout-selection.component.d.ts +5 -1
  18. package/lib/components/data-list-grid/data-list-grid.component.d.ts +16 -9
  19. package/lib/components/data-list-grid-sorting/data-list-grid-sorting.component.d.ts +12 -2
  20. package/lib/components/data-table/data-table.component.d.ts +63 -2
  21. package/lib/components/data-view/data-view.component.d.ts +41 -4
  22. package/lib/components/diagram/diagram.component.d.ts +5 -1
  23. package/lib/components/group-by-count-diagram/group-by-count-diagram.component.d.ts +5 -1
  24. package/lib/components/interactive-data-view/interactive-data-view.component.d.ts +46 -7
  25. package/lib/components/search-header/search-header.component.d.ts +6 -1
  26. package/lib/utils/rxjs-utils.d.ts +3 -0
  27. package/package.json +2 -1
@@ -1,18 +1,26 @@
1
1
  import { AfterContentInit, EventEmitter, OnInit, QueryList, TemplateRef } from '@angular/core';
2
- import { PrimeTemplate } from 'primeng/api';
2
+ import { BehaviorSubject, Observable, ReplaySubject } from 'rxjs';
3
3
  import { DataAction } from '../../model/data-action';
4
4
  import { DataSortDirection } from '../../model/data-sort-direction';
5
5
  import { DataTableColumn } from '../../model/data-table-column.model';
6
- import { GroupSelectionChangedEvent } from '../column-group-selection/column-group-selection.component';
7
- import { ActionColumnChangedEvent, ColumnSelectionChangedEvent } from '../custom-group-column-selector/custom-group-column-selector.component';
6
+ import { ColumnGroupSelectionComponentState, GroupSelectionChangedEvent } from '../column-group-selection/column-group-selection.component';
7
+ import { PrimeTemplate } from 'primeng/api';
8
+ import { ActionColumnChangedEvent, ColumnSelectionChangedEvent, CustomGroupColumnSelectorComponentState } from '../custom-group-column-selector/custom-group-column-selector.component';
9
+ import { DataLayoutSelectionComponentState } from '../data-layout-selection/data-layout-selection.component';
10
+ import { DataListGridSortingComponentState } from '../data-list-grid-sorting/data-list-grid-sorting.component';
8
11
  import { Filter, Row, Sort } from '../data-table/data-table.component';
9
- import { DataViewComponent, RowListGridData } from '../data-view/data-view.component';
10
- import { BehaviorSubject } from 'rxjs';
12
+ import { DataViewComponent, DataViewComponentState, RowListGridData } from '../data-view/data-view.component';
11
13
  import * as i0 from "@angular/core";
14
+ export type InteractiveDataViewComponentState = ColumnGroupSelectionComponentState & CustomGroupColumnSelectorComponentState & DataLayoutSelectionComponentState & DataListGridSortingComponentState & DataViewComponentState;
12
15
  export declare class InteractiveDataViewComponent implements OnInit, AfterContentInit {
13
16
  _dataViewComponent: DataViewComponent | undefined;
14
17
  set dataView(ref: DataViewComponent | undefined);
15
18
  get dataView(): DataViewComponent | undefined;
19
+ columnGroupSelectionComponentState$: ReplaySubject<ColumnGroupSelectionComponentState>;
20
+ customGroupColumnSelectorComponentState$: ReplaySubject<CustomGroupColumnSelectorComponentState>;
21
+ dataLayoutComponentState$: ReplaySubject<DataLayoutSelectionComponentState>;
22
+ dataListGridSortingComponentState$: ReplaySubject<DataListGridSortingComponentState>;
23
+ dataViewComponentState$: ReplaySubject<DataViewComponentState>;
16
24
  deletePermission: string | undefined;
17
25
  editPermission: string | undefined;
18
26
  viewPermission: string | undefined;
@@ -49,7 +57,15 @@ export declare class InteractiveDataViewComponent implements OnInit, AfterConten
49
57
  tablePaginator: boolean;
50
58
  page: number;
51
59
  selectedRows: Row[];
52
- displayedColumns: DataTableColumn[];
60
+ displayedColumnKeys$: BehaviorSubject<string[]>;
61
+ displayedColumns$: Observable<DataTableColumn[]> | undefined;
62
+ get displayedColumnKeys(): string[];
63
+ set displayedColumnKeys(value: string[]);
64
+ /**
65
+ * @deprecated Use `displayedColumnKeys` and pass in column ids instead of `DataTableColumn` objects
66
+ */
67
+ get displayedColumns(): DataTableColumn[];
68
+ set displayedColumns(value: DataTableColumn[]);
53
69
  frozenActionColumn: boolean;
54
70
  actionColumnPosition: 'left' | 'right';
55
71
  tableCell: TemplateRef<any> | undefined;
@@ -93,6 +109,18 @@ export declare class InteractiveDataViewComponent implements OnInit, AfterConten
93
109
  customListValue: TemplateRef<any> | undefined;
94
110
  stringListValue: TemplateRef<any> | undefined;
95
111
  dateListValue: TemplateRef<any> | undefined;
112
+ tableFilterCell: TemplateRef<any> | undefined;
113
+ dateTableFilterCell: TemplateRef<any> | undefined;
114
+ relativeDateTableFilterCell: TemplateRef<any> | undefined;
115
+ translationKeyTableFilterCell: TemplateRef<any> | undefined;
116
+ stringTableFilterCell: TemplateRef<any> | undefined;
117
+ numberTableFilterCell: TemplateRef<any> | undefined;
118
+ /**
119
+ * @deprecated Will be removed and instead to change the template of a specific column filter
120
+ * use the new approach instead by following the naming convention column id + IdTableFilterCell
121
+ * e.g. for a column with the id 'status' in DataTable use pTemplate="statusIdTableFilterCell"
122
+ */
123
+ customTableFilterCell: TemplateRef<any> | undefined;
96
124
  templates$: BehaviorSubject<QueryList<PrimeTemplate> | undefined>;
97
125
  set templates(value: QueryList<PrimeTemplate> | undefined);
98
126
  filtered: EventEmitter<Filter[]>;
@@ -102,8 +130,11 @@ export declare class InteractiveDataViewComponent implements OnInit, AfterConten
102
130
  editItem: EventEmitter<RowListGridData>;
103
131
  dataViewLayoutChange: EventEmitter<"grid" | "list" | "table">;
104
132
  displayedColumnsChange: EventEmitter<DataTableColumn[]>;
133
+ displayedColumnKeysChange: EventEmitter<string[]>;
105
134
  selectionChanged: EventEmitter<Row[]>;
106
135
  pageChanged: EventEmitter<number>;
136
+ pageSizeChanged: EventEmitter<number>;
137
+ componentStateChanged: EventEmitter<InteractiveDataViewComponentState>;
107
138
  selectedGroupKey: string;
108
139
  isDeleteItemObserved: boolean | undefined;
109
140
  isViewItemObserved: boolean | undefined;
@@ -132,6 +163,13 @@ export declare class InteractiveDataViewComponent implements OnInit, AfterConten
132
163
  get _customListValue(): TemplateRef<any> | undefined;
133
164
  get _stringListValue(): TemplateRef<any> | undefined;
134
165
  get _dateListValue(): TemplateRef<any> | undefined;
166
+ get _tableFilterCell(): TemplateRef<any> | undefined;
167
+ get _dateTableFilterCell(): TemplateRef<any> | undefined;
168
+ get _relativeDateTableFilterCell(): TemplateRef<any> | undefined;
169
+ get _translationKeyTableFilterCell(): TemplateRef<any> | undefined;
170
+ get _stringTableFilterCell(): TemplateRef<any> | undefined;
171
+ get _numberTableFilterCell(): TemplateRef<any> | undefined;
172
+ get _customTableFilterCell(): TemplateRef<any> | undefined;
135
173
  _data: RowListGridData[];
136
174
  get data(): RowListGridData[];
137
175
  set data(value: RowListGridData[]);
@@ -151,6 +189,7 @@ export declare class InteractiveDataViewComponent implements OnInit, AfterConten
151
189
  onActionColumnConfigChange(event: ActionColumnChangedEvent): void;
152
190
  onRowSelectionChange(event: Row[]): void;
153
191
  onPageChange(event: number): void;
192
+ onPageSizeChange(event: number): void;
154
193
  static ɵfac: i0.ɵɵFactoryDeclaration<InteractiveDataViewComponent, never>;
155
- static ɵcmp: i0.ɵɵComponentDeclaration<InteractiveDataViewComponent, "ocx-interactive-data-view", never, { "deletePermission": { "alias": "deletePermission"; "required": false; }; "editPermission": { "alias": "editPermission"; "required": false; }; "viewPermission": { "alias": "viewPermission"; "required": false; }; "deleteActionVisibleField": { "alias": "deleteActionVisibleField"; "required": false; }; "deleteActionEnabledField": { "alias": "deleteActionEnabledField"; "required": false; }; "viewActionVisibleField": { "alias": "viewActionVisibleField"; "required": false; }; "viewActionEnabledField": { "alias": "viewActionEnabledField"; "required": false; }; "editActionVisibleField": { "alias": "editActionVisibleField"; "required": false; }; "editActionEnabledField": { "alias": "editActionEnabledField"; "required": false; }; "name": { "alias": "name"; "required": false; }; "titleLineId": { "alias": "titleLineId"; "required": false; }; "subtitleLineIds": { "alias": "subtitleLineIds"; "required": false; }; "supportedViewLayouts": { "alias": "supportedViewLayouts"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "emptyResultsMessage": { "alias": "emptyResultsMessage"; "required": false; }; "clientSideSorting": { "alias": "clientSideSorting"; "required": false; }; "clientSideFiltering": { "alias": "clientSideFiltering"; "required": false; }; "fallbackImage": { "alias": "fallbackImage"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; "sortDirection": { "alias": "sortDirection"; "required": false; }; "sortField": { "alias": "sortField"; "required": false; }; "sortStates": { "alias": "sortStates"; "required": false; }; "pageSizes": { "alias": "pageSizes"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "totalRecordsOnServer": { "alias": "totalRecordsOnServer"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "defaultGroupKey": { "alias": "defaultGroupKey"; "required": false; }; "customGroupKey": { "alias": "customGroupKey"; "required": false; }; "groupSelectionNoGroupSelectedKey": { "alias": "groupSelectionNoGroupSelectedKey"; "required": false; }; "currentPageShowingKey": { "alias": "currentPageShowingKey"; "required": false; }; "currentPageShowingWithTotalOnServerKey": { "alias": "currentPageShowingWithTotalOnServerKey"; "required": false; }; "additionalActions": { "alias": "additionalActions"; "required": false; }; "listGridPaginator": { "alias": "listGridPaginator"; "required": false; }; "tablePaginator": { "alias": "tablePaginator"; "required": false; }; "page": { "alias": "page"; "required": false; }; "selectedRows": { "alias": "selectedRows"; "required": false; }; "displayedColumns": { "alias": "displayedColumns"; "required": false; }; "frozenActionColumn": { "alias": "frozenActionColumn"; "required": false; }; "actionColumnPosition": { "alias": "actionColumnPosition"; "required": false; }; "paginator": { "alias": "paginator"; "required": false; }; "data": { "alias": "data"; "required": false; }; }, { "filtered": "filtered"; "sorted": "sorted"; "deleteItem": "deleteItem"; "viewItem": "viewItem"; "editItem": "editItem"; "dataViewLayoutChange": "dataViewLayoutChange"; "displayedColumnsChange": "displayedColumnsChange"; "selectionChanged": "selectionChanged"; "pageChanged": "pageChanged"; }, ["tableCell", "tableDateCell", "dateTableCell", "tableRelativeDateCell", "relativeDateTableCell", "tableTranslationKeyCell", "translationKeyTableCell", "gridItemSubtitleLines", "listItemSubtitleLines", "stringTableCell", "numberTableCell", "customTableCell", "gridItem", "listItem", "topCenter", "listValue", "translationKeyListValue", "numberListValue", "relativeDateListValue", "customListValue", "stringListValue", "dateListValue", "templates"], never, false, never>;
194
+ static ɵcmp: i0.ɵɵComponentDeclaration<InteractiveDataViewComponent, "ocx-interactive-data-view", never, { "deletePermission": { "alias": "deletePermission"; "required": false; }; "editPermission": { "alias": "editPermission"; "required": false; }; "viewPermission": { "alias": "viewPermission"; "required": false; }; "deleteActionVisibleField": { "alias": "deleteActionVisibleField"; "required": false; }; "deleteActionEnabledField": { "alias": "deleteActionEnabledField"; "required": false; }; "viewActionVisibleField": { "alias": "viewActionVisibleField"; "required": false; }; "viewActionEnabledField": { "alias": "viewActionEnabledField"; "required": false; }; "editActionVisibleField": { "alias": "editActionVisibleField"; "required": false; }; "editActionEnabledField": { "alias": "editActionEnabledField"; "required": false; }; "name": { "alias": "name"; "required": false; }; "titleLineId": { "alias": "titleLineId"; "required": false; }; "subtitleLineIds": { "alias": "subtitleLineIds"; "required": false; }; "supportedViewLayouts": { "alias": "supportedViewLayouts"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "emptyResultsMessage": { "alias": "emptyResultsMessage"; "required": false; }; "clientSideSorting": { "alias": "clientSideSorting"; "required": false; }; "clientSideFiltering": { "alias": "clientSideFiltering"; "required": false; }; "fallbackImage": { "alias": "fallbackImage"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; "sortDirection": { "alias": "sortDirection"; "required": false; }; "sortField": { "alias": "sortField"; "required": false; }; "sortStates": { "alias": "sortStates"; "required": false; }; "pageSizes": { "alias": "pageSizes"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "totalRecordsOnServer": { "alias": "totalRecordsOnServer"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "defaultGroupKey": { "alias": "defaultGroupKey"; "required": false; }; "customGroupKey": { "alias": "customGroupKey"; "required": false; }; "groupSelectionNoGroupSelectedKey": { "alias": "groupSelectionNoGroupSelectedKey"; "required": false; }; "currentPageShowingKey": { "alias": "currentPageShowingKey"; "required": false; }; "currentPageShowingWithTotalOnServerKey": { "alias": "currentPageShowingWithTotalOnServerKey"; "required": false; }; "additionalActions": { "alias": "additionalActions"; "required": false; }; "listGridPaginator": { "alias": "listGridPaginator"; "required": false; }; "tablePaginator": { "alias": "tablePaginator"; "required": false; }; "page": { "alias": "page"; "required": false; }; "selectedRows": { "alias": "selectedRows"; "required": false; }; "displayedColumnKeys": { "alias": "displayedColumnKeys"; "required": false; }; "displayedColumns": { "alias": "displayedColumns"; "required": false; }; "frozenActionColumn": { "alias": "frozenActionColumn"; "required": false; }; "actionColumnPosition": { "alias": "actionColumnPosition"; "required": false; }; "paginator": { "alias": "paginator"; "required": false; }; "data": { "alias": "data"; "required": false; }; }, { "filtered": "filtered"; "sorted": "sorted"; "deleteItem": "deleteItem"; "viewItem": "viewItem"; "editItem": "editItem"; "dataViewLayoutChange": "dataViewLayoutChange"; "displayedColumnsChange": "displayedColumnsChange"; "displayedColumnKeysChange": "displayedColumnKeysChange"; "selectionChanged": "selectionChanged"; "pageChanged": "pageChanged"; "pageSizeChanged": "pageSizeChanged"; "componentStateChanged": "componentStateChanged"; }, ["tableCell", "tableDateCell", "dateTableCell", "tableRelativeDateCell", "relativeDateTableCell", "tableTranslationKeyCell", "translationKeyTableCell", "gridItemSubtitleLines", "listItemSubtitleLines", "stringTableCell", "numberTableCell", "customTableCell", "gridItem", "listItem", "topCenter", "listValue", "translationKeyListValue", "numberListValue", "relativeDateListValue", "customListValue", "stringListValue", "dateListValue", "tableFilterCell", "dateTableFilterCell", "relativeDateTableFilterCell", "translationKeyTableFilterCell", "stringTableFilterCell", "numberTableFilterCell", "customTableFilterCell", "templates"], never, false, never>;
156
195
  }
@@ -2,6 +2,10 @@ import { AfterViewInit, ElementRef, EventEmitter, TemplateRef } from '@angular/c
2
2
  import { Action } from '../page-header/page-header.component';
3
3
  import { SearchConfigInfo } from '../../model/search-config-info';
4
4
  import * as i0 from "@angular/core";
5
+ export interface SearchHeaderComponentState {
6
+ activeViewMode?: 'basic' | 'advanced';
7
+ selectedSearchConfig?: SearchConfigInfo;
8
+ }
5
9
  /**
6
10
  * To trigger the search when Enter key is pressed inside a search parameter field,
7
11
  * an EventListener for keyup enter event is added for HTML elements which have an input.
@@ -28,6 +32,7 @@ export declare class SearchHeaderComponent implements AfterViewInit {
28
32
  resetted: EventEmitter<any>;
29
33
  selectedSearchConfigChanged: EventEmitter<SearchConfigInfo>;
30
34
  viewModeChanged: EventEmitter<'basic' | 'advanced'>;
35
+ componentStateChanged: EventEmitter<SearchHeaderComponentState>;
31
36
  additionalToolbarContent: TemplateRef<any> | undefined;
32
37
  get _additionalToolbarContent(): TemplateRef<any> | undefined;
33
38
  additionalToolbarContentLeft: TemplateRef<any> | undefined;
@@ -44,5 +49,5 @@ export declare class SearchHeaderComponent implements AfterViewInit {
44
49
  onSearchKeyup(event: any): void;
45
50
  confirmSearchConfig(searchConfig: SearchConfigInfo): void;
46
51
  static ɵfac: i0.ɵɵFactoryDeclaration<SearchHeaderComponent, never>;
47
- static ɵcmp: i0.ɵɵComponentDeclaration<SearchHeaderComponent, "ocx-search-header", never, { "searchConfigs": { "alias": "searchConfigs"; "required": false; }; "header": { "alias": "header"; "required": false; }; "headline": { "alias": "headline"; "required": false; }; "subheader": { "alias": "subheader"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; "manualBreadcrumbs": { "alias": "manualBreadcrumbs"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "searchButtonDisabled": { "alias": "searchButtonDisabled"; "required": false; }; "resetButtonDisabled": { "alias": "resetButtonDisabled"; "required": false; }; }, { "searched": "searched"; "resetted": "resetted"; "selectedSearchConfigChanged": "selectedSearchConfigChanged"; "viewModeChanged": "viewModeChanged"; }, ["additionalToolbarContent", "additionalToolbarContentLeft"], ["*"], false, never>;
52
+ static ɵcmp: i0.ɵɵComponentDeclaration<SearchHeaderComponent, "ocx-search-header", never, { "searchConfigs": { "alias": "searchConfigs"; "required": false; }; "header": { "alias": "header"; "required": false; }; "headline": { "alias": "headline"; "required": false; }; "subheader": { "alias": "subheader"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; "manualBreadcrumbs": { "alias": "manualBreadcrumbs"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "searchButtonDisabled": { "alias": "searchButtonDisabled"; "required": false; }; "resetButtonDisabled": { "alias": "resetButtonDisabled"; "required": false; }; }, { "searched": "searched"; "resetted": "resetted"; "selectedSearchConfigChanged": "selectedSearchConfigChanged"; "viewModeChanged": "viewModeChanged"; "componentStateChanged": "componentStateChanged"; }, ["additionalToolbarContent", "additionalToolbarContentLeft"], ["*"], false, never>;
48
53
  }
@@ -0,0 +1,3 @@
1
+ import { Timestamp } from 'rxjs';
2
+ export declare function orderValuesByTimestamp(valuesWithTimestamp: Timestamp<any>[]): any[];
3
+ export declare function orderAndMergeValuesByTimestamp(valuesWithTimestamp: Timestamp<any>[]): any;
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@onecx/angular-accelerator",
3
- "version": "5.7.0",
3
+ "version": "5.9.0",
4
+ "license": "Apache-2.0",
4
5
  "peerDependencies": {
5
6
  "@angular/common": "^18.0.5",
6
7
  "@angular/core": "^18.0.5",