@onecx/angular-accelerator 5.22.2 → 5.23.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.
Files changed (34) hide show
  1. package/assets/i18n/de.json +22 -0
  2. package/assets/i18n/en.json +22 -0
  3. package/esm2022/index.mjs +4 -1
  4. package/esm2022/lib/angular-accelerator-primeng.module.mjs +22 -1
  5. package/esm2022/lib/angular-accelerator.module.mjs +8 -3
  6. package/esm2022/lib/components/data-table/data-table.component.mjs +8 -15
  7. package/esm2022/lib/components/data-view/data-view.component.mjs +1 -1
  8. package/esm2022/lib/components/filter-view/filter-view.component.mjs +252 -0
  9. package/esm2022/lib/components/interactive-data-view/interactive-data-view.component.mjs +25 -3
  10. package/esm2022/lib/directives/if-breakpoint.directive.mjs +12 -4
  11. package/esm2022/lib/model/filter.model.mjs +1 -1
  12. package/esm2022/lib/utils/filter.utils.mjs +6 -0
  13. package/esm2022/lib/utils/template.utils.mjs +11 -0
  14. package/esm2022/testing/data-table.harness.mjs +8 -2
  15. package/esm2022/testing/filter-view.harness.mjs +18 -0
  16. package/esm2022/testing/index.mjs +2 -1
  17. package/fesm2022/onecx-angular-accelerator-testing.mjs +23 -2
  18. package/fesm2022/onecx-angular-accelerator-testing.mjs.map +1 -1
  19. package/fesm2022/onecx-angular-accelerator.mjs +328 -33
  20. package/fesm2022/onecx-angular-accelerator.mjs.map +1 -1
  21. package/index.d.ts +3 -0
  22. package/lib/angular-accelerator-primeng.module.d.ts +19 -16
  23. package/lib/angular-accelerator.module.d.ts +8 -7
  24. package/lib/components/data-table/data-table.component.d.ts +4 -2
  25. package/lib/components/filter-view/filter-view.component.d.ts +81 -0
  26. package/lib/components/interactive-data-view/interactive-data-view.component.d.ts +14 -2
  27. package/lib/directives/if-breakpoint.directive.d.ts +3 -1
  28. package/lib/model/filter.model.d.ts +3 -0
  29. package/lib/utils/filter.utils.d.ts +2 -0
  30. package/lib/utils/template.utils.d.ts +2 -0
  31. package/package.json +1 -1
  32. package/testing/data-table.harness.d.ts +6 -1
  33. package/testing/filter-view.harness.d.ts +12 -0
  34. package/testing/index.d.ts +1 -0
package/index.d.ts CHANGED
@@ -11,6 +11,7 @@ export * from './lib/components/data-list-grid-sorting/data-list-grid-sorting.co
11
11
  export * from './lib/components/data-table/data-table.component';
12
12
  export * from './lib/components/data-view/data-view.component';
13
13
  export * from './lib/components/diagram/diagram.component';
14
+ export * from './lib/components/filter-view/filter-view.component';
14
15
  export * from './lib/components/group-by-count-diagram/group-by-count-diagram.component';
15
16
  export * from './lib/components/interactive-data-view/interactive-data-view.component';
16
17
  export * from './lib/components/page-header/page-header.component';
@@ -45,3 +46,5 @@ export * from './lib/utils/create-remote-component-translate-loader.utils';
45
46
  export * from './lib/utils/enum-to-dropdown-options.utils';
46
47
  export * from './lib/utils/criteria.utils';
47
48
  export * from './lib/utils/string-and-array-helper-functions.utils';
49
+ export * from './lib/utils/template.utils';
50
+ export * from './lib/utils/filter.utils';
@@ -1,22 +1,25 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "primeng/breadcrumb";
3
- import * as i2 from "primeng/checkbox";
4
- import * as i3 from "primeng/dropdown";
5
- import * as i4 from "primeng/button";
6
- import * as i5 from "primeng/dialog";
7
- import * as i6 from "primeng/picklist";
8
- import * as i7 from "primeng/selectbutton";
9
- import * as i8 from "primeng/dataview";
10
- import * as i9 from "primeng/table";
11
- import * as i10 from "primeng/menu";
12
- import * as i11 from "primeng/chart";
13
- import * as i12 from "primeng/multiselect";
14
- import * as i13 from "primeng/skeleton";
15
- import * as i14 from "primeng/message";
16
- import * as i15 from "primeng/floatlabel";
17
- import * as i16 from "primeng/api";
3
+ import * as i2 from "primeng/chip";
4
+ import * as i3 from "primeng/checkbox";
5
+ import * as i4 from "primeng/dropdown";
6
+ import * as i5 from "primeng/button";
7
+ import * as i6 from "primeng/dialog";
8
+ import * as i7 from "primeng/picklist";
9
+ import * as i8 from "primeng/selectbutton";
10
+ import * as i9 from "primeng/dataview";
11
+ import * as i10 from "primeng/table";
12
+ import * as i11 from "primeng/menu";
13
+ import * as i12 from "primeng/chart";
14
+ import * as i13 from "primeng/multiselect";
15
+ import * as i14 from "primeng/skeleton";
16
+ import * as i15 from "primeng/message";
17
+ import * as i16 from "primeng/floatlabel";
18
+ import * as i17 from "primeng/overlaypanel";
19
+ import * as i18 from "primeng/focustrap";
20
+ import * as i19 from "primeng/api";
18
21
  export declare class AngularAcceleratorPrimeNgModule {
19
22
  static ɵfac: i0.ɵɵFactoryDeclaration<AngularAcceleratorPrimeNgModule, never>;
20
- static ɵmod: i0.ɵɵNgModuleDeclaration<AngularAcceleratorPrimeNgModule, never, [typeof i1.BreadcrumbModule, typeof i2.CheckboxModule, typeof i3.DropdownModule, typeof i4.ButtonModule, typeof i5.DialogModule, typeof i6.PickListModule, typeof i7.SelectButtonModule, typeof i8.DataViewModule, typeof i9.TableModule, typeof i10.MenuModule, typeof i11.ChartModule, typeof i12.MultiSelectModule, typeof i13.SkeletonModule, typeof i14.MessageModule, typeof i15.FloatLabelModule, typeof i16.SharedModule], [typeof i1.BreadcrumbModule, typeof i2.CheckboxModule, typeof i3.DropdownModule, typeof i4.ButtonModule, typeof i5.DialogModule, typeof i6.PickListModule, typeof i7.SelectButtonModule, typeof i8.DataViewModule, typeof i9.TableModule, typeof i10.MenuModule, typeof i11.ChartModule, typeof i12.MultiSelectModule, typeof i13.SkeletonModule, typeof i14.MessageModule, typeof i15.FloatLabelModule, typeof i16.SharedModule]>;
23
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AngularAcceleratorPrimeNgModule, never, [typeof i1.BreadcrumbModule, typeof i2.ChipModule, typeof i3.CheckboxModule, typeof i4.DropdownModule, typeof i5.ButtonModule, typeof i6.DialogModule, typeof i7.PickListModule, typeof i8.SelectButtonModule, typeof i9.DataViewModule, typeof i10.TableModule, typeof i11.MenuModule, typeof i12.ChartModule, typeof i13.MultiSelectModule, typeof i14.SkeletonModule, typeof i15.MessageModule, typeof i16.FloatLabelModule, typeof i17.OverlayPanelModule, typeof i18.FocusTrapModule, typeof i19.SharedModule], [typeof i1.BreadcrumbModule, typeof i2.ChipModule, typeof i3.CheckboxModule, typeof i4.DropdownModule, typeof i5.ButtonModule, typeof i6.DialogModule, typeof i7.PickListModule, typeof i8.SelectButtonModule, typeof i9.DataViewModule, typeof i10.TableModule, typeof i11.MenuModule, typeof i12.ChartModule, typeof i13.MultiSelectModule, typeof i14.SkeletonModule, typeof i15.MessageModule, typeof i16.FloatLabelModule, typeof i17.OverlayPanelModule, typeof i18.FocusTrapModule, typeof i19.SharedModule]>;
21
24
  static ɵinj: i0.ɵɵInjectorDeclaration<AngularAcceleratorPrimeNgModule>;
22
25
  }
@@ -20,17 +20,18 @@ import * as i17 from "./directives/src.directive";
20
20
  import * as i18 from "./pipes/ocxtimeago.pipe";
21
21
  import * as i19 from "./directives/advanced.directive";
22
22
  import * as i20 from "./directives/tooltipOnOverflow.directive";
23
- import * as i21 from "@angular/common";
24
- import * as i22 from "./angular-accelerator-primeng.module";
25
- import * as i23 from "@onecx/angular-remote-components";
26
- import * as i24 from "@ngx-translate/core";
27
- import * as i25 from "@angular/forms";
28
- import * as i26 from "@angular/router";
23
+ import * as i21 from "./components/filter-view/filter-view.component";
24
+ import * as i22 from "@angular/common";
25
+ import * as i23 from "./angular-accelerator-primeng.module";
26
+ import * as i24 from "@onecx/angular-remote-components";
27
+ import * as i25 from "@ngx-translate/core";
28
+ import * as i26 from "@angular/forms";
29
+ import * as i27 from "@angular/router";
29
30
  export declare class AngularAcceleratorMissingTranslationHandler implements MissingTranslationHandler {
30
31
  handle(params: MissingTranslationHandlerParams): string;
31
32
  }
32
33
  export declare class AngularAcceleratorModule {
33
34
  static ɵfac: i0.ɵɵFactoryDeclaration<AngularAcceleratorModule, never>;
34
- static ɵmod: i0.ɵɵNgModuleDeclaration<AngularAcceleratorModule, [typeof i1.ColumnGroupSelectionComponent, typeof i2.CustomGroupColumnSelectorComponent, typeof i3.DataLayoutSelectionComponent, typeof i4.DataListGridSortingComponent, typeof i5.DataListGridComponent, typeof i6.DataTableComponent, typeof i7.DataViewComponent, typeof i8.InteractiveDataViewComponent, typeof i9.PageHeaderComponent, typeof i10.DynamicPipe, typeof i11.SearchHeaderComponent, typeof i12.DiagramComponent, typeof i13.GroupByCountDiagramComponent, typeof i14.DataLoadingErrorComponent, typeof i15.IfPermissionDirective, typeof i16.IfBreakpointDirective, typeof i17.SrcDirective, typeof i18.OcxTimeAgoPipe, typeof i19.AdvancedDirective, typeof i20.TooltipOnOverflowDirective], [typeof i21.CommonModule, typeof i22.AngularAcceleratorPrimeNgModule, typeof i23.AngularRemoteComponentsModule, typeof i24.TranslateModule, typeof i25.FormsModule, typeof i26.RouterModule, typeof i25.ReactiveFormsModule], [typeof i23.AngularRemoteComponentsModule, typeof i1.ColumnGroupSelectionComponent, typeof i2.CustomGroupColumnSelectorComponent, typeof i3.DataLayoutSelectionComponent, typeof i5.DataListGridComponent, typeof i6.DataTableComponent, typeof i7.DataViewComponent, typeof i8.InteractiveDataViewComponent, typeof i9.PageHeaderComponent, typeof i11.SearchHeaderComponent, typeof i12.DiagramComponent, typeof i13.GroupByCountDiagramComponent, typeof i14.DataLoadingErrorComponent, typeof i15.IfPermissionDirective, typeof i16.IfBreakpointDirective, typeof i17.SrcDirective, typeof i18.OcxTimeAgoPipe, typeof i19.AdvancedDirective, typeof i20.TooltipOnOverflowDirective]>;
35
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AngularAcceleratorModule, [typeof i1.ColumnGroupSelectionComponent, typeof i2.CustomGroupColumnSelectorComponent, typeof i3.DataLayoutSelectionComponent, typeof i4.DataListGridSortingComponent, typeof i5.DataListGridComponent, typeof i6.DataTableComponent, typeof i7.DataViewComponent, typeof i8.InteractiveDataViewComponent, typeof i9.PageHeaderComponent, typeof i10.DynamicPipe, typeof i11.SearchHeaderComponent, typeof i12.DiagramComponent, typeof i13.GroupByCountDiagramComponent, typeof i14.DataLoadingErrorComponent, typeof i15.IfPermissionDirective, typeof i16.IfBreakpointDirective, typeof i17.SrcDirective, typeof i18.OcxTimeAgoPipe, typeof i19.AdvancedDirective, typeof i20.TooltipOnOverflowDirective, typeof i21.FilterViewComponent], [typeof i22.CommonModule, typeof i23.AngularAcceleratorPrimeNgModule, typeof i24.AngularRemoteComponentsModule, typeof i25.TranslateModule, typeof i26.FormsModule, typeof i27.RouterModule, typeof i26.ReactiveFormsModule], [typeof i24.AngularRemoteComponentsModule, typeof i1.ColumnGroupSelectionComponent, typeof i2.CustomGroupColumnSelectorComponent, typeof i3.DataLayoutSelectionComponent, typeof i5.DataListGridComponent, typeof i6.DataTableComponent, typeof i7.DataViewComponent, typeof i8.InteractiveDataViewComponent, typeof i9.PageHeaderComponent, typeof i11.SearchHeaderComponent, typeof i12.DiagramComponent, typeof i13.GroupByCountDiagramComponent, typeof i14.DataLoadingErrorComponent, typeof i15.IfPermissionDirective, typeof i16.IfBreakpointDirective, typeof i17.SrcDirective, typeof i18.OcxTimeAgoPipe, typeof i19.AdvancedDirective, typeof i20.TooltipOnOverflowDirective, typeof i21.FilterViewComponent]>;
35
36
  static ɵinj: i0.ɵɵInjectorDeclaration<AngularAcceleratorModule>;
36
37
  }
@@ -97,6 +97,9 @@ export declare class DataTableComponent extends DataSortBase implements OnInit,
97
97
  allowSelectAll: boolean;
98
98
  paginator: boolean;
99
99
  page: number;
100
+ tableStyle: {
101
+ [klass: string]: any;
102
+ } | undefined;
100
103
  get totalRecordsOnServer(): number | undefined;
101
104
  set totalRecordsOnServer(value: number | undefined);
102
105
  currentPageShowingKey: string;
@@ -235,7 +238,6 @@ export declare class DataTableComponent extends DataSortBase implements OnInit,
235
238
  cellTemplatesData: TemplatesData;
236
239
  filterTemplatesData: TemplatesData;
237
240
  templatesDataMap: Record<TemplateType, TemplatesData>;
238
- findTemplate(templates: PrimeTemplate[], names: string[]): PrimeTemplate | undefined;
239
241
  getColumnTypeTemplate(templates: PrimeTemplate[], columnType: ColumnType, templateType: TemplateType): TemplateRef<any> | null;
240
242
  getTemplate(column: DataTableColumn, templateType: TemplateType): Observable<TemplateRef<any> | null>;
241
243
  resolveFieldData(object: any, key: any): any;
@@ -243,6 +245,6 @@ export declare class DataTableComponent extends DataSortBase implements OnInit,
243
245
  [x: string]: string | undefined;
244
246
  };
245
247
  static ɵfac: i0.ɵɵFactoryDeclaration<DataTableComponent, never>;
246
- static ɵcmp: i0.ɵɵComponentDeclaration<DataTableComponent, "ocx-data-table", never, { "rows": { "alias": "rows"; "required": false; }; "selectedRows": { "alias": "selectedRows"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; "sortDirection": { "alias": "sortDirection"; "required": false; }; "sortColumn": { "alias": "sortColumn"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "clientSideFiltering": { "alias": "clientSideFiltering"; "required": false; }; "clientSideSorting": { "alias": "clientSideSorting"; "required": false; }; "sortStates": { "alias": "sortStates"; "required": false; }; "pageSizes": { "alias": "pageSizes"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "emptyResultsMessage": { "alias": "emptyResultsMessage"; "required": false; }; "name": { "alias": "name"; "required": false; }; "deletePermission": { "alias": "deletePermission"; "required": false; }; "viewPermission": { "alias": "viewPermission"; "required": false; }; "editPermission": { "alias": "editPermission"; "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; }; "selectionEnabledField": { "alias": "selectionEnabledField"; "required": false; }; "allowSelectAll": { "alias": "allowSelectAll"; "required": false; }; "paginator": { "alias": "paginator"; "required": false; }; "page": { "alias": "page"; "required": false; }; "totalRecordsOnServer": { "alias": "totalRecordsOnServer"; "required": false; }; "currentPageShowingKey": { "alias": "currentPageShowingKey"; "required": false; }; "currentPageShowingWithTotalOnServerKey": { "alias": "currentPageShowingWithTotalOnServerKey"; "required": false; }; "stringCellTemplate": { "alias": "stringCellTemplate"; "required": false; }; "numberCellTemplate": { "alias": "numberCellTemplate"; "required": false; }; "customCellTemplate": { "alias": "customCellTemplate"; "required": false; }; "dateCellTemplate": { "alias": "dateCellTemplate"; "required": false; }; "relativeDateCellTemplate": { "alias": "relativeDateCellTemplate"; "required": false; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; "translationKeyCellTemplate": { "alias": "translationKeyCellTemplate"; "required": false; }; "stringFilterCellTemplate": { "alias": "stringFilterCellTemplate"; "required": false; }; "numberFilterCellTemplate": { "alias": "numberFilterCellTemplate"; "required": false; }; "customFilterCellTemplate": { "alias": "customFilterCellTemplate"; "required": false; }; "dateFilterCellTemplate": { "alias": "dateFilterCellTemplate"; "required": false; }; "relativeDateFilterCellTemplate": { "alias": "relativeDateFilterCellTemplate"; "required": false; }; "filterCellTemplate": { "alias": "filterCellTemplate"; "required": false; }; "translationKeyFilterCellTemplate": { "alias": "translationKeyFilterCellTemplate"; "required": false; }; "additionalActions": { "alias": "additionalActions"; "required": false; }; "frozenActionColumn": { "alias": "frozenActionColumn"; "required": false; }; "actionColumnPosition": { "alias": "actionColumnPosition"; "required": false; }; "parentTemplates": { "alias": "parentTemplates"; "required": false; }; }, { "filtered": "filtered"; "sorted": "sorted"; "viewTableRow": "viewTableRow"; "editTableRow": "editTableRow"; "deleteTableRow": "deleteTableRow"; "selectionChanged": "selectionChanged"; "pageChanged": "pageChanged"; "pageSizeChanged": "pageSizeChanged"; "componentStateChanged": "componentStateChanged"; }, ["stringCellChildTemplate", "numberCellChildTemplate", "customCellChildTemplate", "dateCellChildTemplate", "relativeDateCellChildTemplate", "cellChildTemplate", "translationKeyCellChildTemplate", "stringFilterCellChildTemplate", "numberFilterCellChildTemplate", "customFilterCellChildTemplate", "dateFilterCellChildTemplate", "relativeDateFilterCellChildTemplate", "filterCellChildTemplate", "translationKeyFilterCellChildTemplate", "templates"], never, false, never>;
248
+ static ɵcmp: i0.ɵɵComponentDeclaration<DataTableComponent, "ocx-data-table", never, { "rows": { "alias": "rows"; "required": false; }; "selectedRows": { "alias": "selectedRows"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; "sortDirection": { "alias": "sortDirection"; "required": false; }; "sortColumn": { "alias": "sortColumn"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "clientSideFiltering": { "alias": "clientSideFiltering"; "required": false; }; "clientSideSorting": { "alias": "clientSideSorting"; "required": false; }; "sortStates": { "alias": "sortStates"; "required": false; }; "pageSizes": { "alias": "pageSizes"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "emptyResultsMessage": { "alias": "emptyResultsMessage"; "required": false; }; "name": { "alias": "name"; "required": false; }; "deletePermission": { "alias": "deletePermission"; "required": false; }; "viewPermission": { "alias": "viewPermission"; "required": false; }; "editPermission": { "alias": "editPermission"; "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; }; "selectionEnabledField": { "alias": "selectionEnabledField"; "required": false; }; "allowSelectAll": { "alias": "allowSelectAll"; "required": false; }; "paginator": { "alias": "paginator"; "required": false; }; "page": { "alias": "page"; "required": false; }; "tableStyle": { "alias": "tableStyle"; "required": false; }; "totalRecordsOnServer": { "alias": "totalRecordsOnServer"; "required": false; }; "currentPageShowingKey": { "alias": "currentPageShowingKey"; "required": false; }; "currentPageShowingWithTotalOnServerKey": { "alias": "currentPageShowingWithTotalOnServerKey"; "required": false; }; "stringCellTemplate": { "alias": "stringCellTemplate"; "required": false; }; "numberCellTemplate": { "alias": "numberCellTemplate"; "required": false; }; "customCellTemplate": { "alias": "customCellTemplate"; "required": false; }; "dateCellTemplate": { "alias": "dateCellTemplate"; "required": false; }; "relativeDateCellTemplate": { "alias": "relativeDateCellTemplate"; "required": false; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; "translationKeyCellTemplate": { "alias": "translationKeyCellTemplate"; "required": false; }; "stringFilterCellTemplate": { "alias": "stringFilterCellTemplate"; "required": false; }; "numberFilterCellTemplate": { "alias": "numberFilterCellTemplate"; "required": false; }; "customFilterCellTemplate": { "alias": "customFilterCellTemplate"; "required": false; }; "dateFilterCellTemplate": { "alias": "dateFilterCellTemplate"; "required": false; }; "relativeDateFilterCellTemplate": { "alias": "relativeDateFilterCellTemplate"; "required": false; }; "filterCellTemplate": { "alias": "filterCellTemplate"; "required": false; }; "translationKeyFilterCellTemplate": { "alias": "translationKeyFilterCellTemplate"; "required": false; }; "additionalActions": { "alias": "additionalActions"; "required": false; }; "frozenActionColumn": { "alias": "frozenActionColumn"; "required": false; }; "actionColumnPosition": { "alias": "actionColumnPosition"; "required": false; }; "parentTemplates": { "alias": "parentTemplates"; "required": false; }; }, { "filtered": "filtered"; "sorted": "sorted"; "viewTableRow": "viewTableRow"; "editTableRow": "editTableRow"; "deleteTableRow": "deleteTableRow"; "selectionChanged": "selectionChanged"; "pageChanged": "pageChanged"; "pageSizeChanged": "pageSizeChanged"; "componentStateChanged": "componentStateChanged"; }, ["stringCellChildTemplate", "numberCellChildTemplate", "customCellChildTemplate", "dateCellChildTemplate", "relativeDateCellChildTemplate", "cellChildTemplate", "translationKeyCellChildTemplate", "stringFilterCellChildTemplate", "numberFilterCellChildTemplate", "customFilterCellChildTemplate", "dateFilterCellChildTemplate", "relativeDateFilterCellChildTemplate", "filterCellChildTemplate", "translationKeyFilterCellChildTemplate", "templates"], never, false, never>;
247
249
  }
248
250
  export {};
@@ -0,0 +1,81 @@
1
+ import { EventEmitter, OnInit, QueryList, TemplateRef } from '@angular/core';
2
+ import { Filter, FilterType } from '../../model/filter.model';
3
+ import { DataTableColumn } from '../../model/data-table-column.model';
4
+ import { BehaviorSubject, Observable } from 'rxjs';
5
+ import { ColumnType } from '../../model/column-type.model';
6
+ import { PrimeTemplate } from 'primeng/api';
7
+ import { OverlayPanel } from 'primeng/overlaypanel';
8
+ import { Row } from '../data-table/data-table.component';
9
+ import { Button } from 'primeng/button';
10
+ import * as i0 from "@angular/core";
11
+ export type FilterViewDisplayMode = 'chips' | 'button';
12
+ export type FilterViewRowDisplayData = {
13
+ id: string;
14
+ column: string;
15
+ value: unknown;
16
+ };
17
+ export type FilterViewRowDetailData = FilterViewRowDisplayData & {
18
+ columnId: string;
19
+ columnFilterType: FilterType | undefined;
20
+ };
21
+ export interface FilterViewComponentState {
22
+ filters?: Filter[];
23
+ }
24
+ export declare class FilterViewComponent implements OnInit {
25
+ ColumnType: typeof ColumnType;
26
+ FilterType: typeof FilterType;
27
+ filters$: BehaviorSubject<Filter[]>;
28
+ get filters(): Filter[];
29
+ set filters(value: Filter[]);
30
+ columns$: BehaviorSubject<DataTableColumn[]>;
31
+ get columns(): DataTableColumn[];
32
+ set columns(value: DataTableColumn[]);
33
+ columnFilterDataRows$: Observable<FilterViewRowDisplayData[]> | undefined;
34
+ displayMode: FilterViewDisplayMode;
35
+ selectDisplayedChips: (filters: Filter[], columns: DataTableColumn[]) => Filter[];
36
+ chipStyleClass: string;
37
+ tableStyle: {
38
+ [klass: string]: any;
39
+ };
40
+ panelStyle: {
41
+ [klass: string]: any;
42
+ };
43
+ filtered: EventEmitter<Filter[]>;
44
+ componentStateChanged: EventEmitter<FilterViewComponentState>;
45
+ columnFilterTableColumns: DataTableColumn[];
46
+ ngOnInit(): void;
47
+ panel: OverlayPanel;
48
+ manageButton: Button;
49
+ trigger: HTMLElement | undefined;
50
+ fitlerViewNoSelection: TemplateRef<any> | undefined;
51
+ get _fitlerViewNoSelection(): TemplateRef<any> | undefined;
52
+ filterViewChipContent: TemplateRef<any> | undefined;
53
+ get _filterViewChipContent(): TemplateRef<any> | undefined;
54
+ filterViewShowMoreChip: TemplateRef<any> | undefined;
55
+ get _filterViewShowMoreChip(): TemplateRef<any> | undefined;
56
+ defaultTemplates$: BehaviorSubject<QueryList<PrimeTemplate> | undefined>;
57
+ set defaultTemplates(value: QueryList<PrimeTemplate> | undefined);
58
+ parentTemplates$: BehaviorSubject<QueryList<PrimeTemplate> | null | undefined>;
59
+ set templates(value: QueryList<PrimeTemplate> | null | undefined);
60
+ chipTemplates$: Observable<Record<string, TemplateRef<any> | null>> | undefined;
61
+ tableTemplates$: Observable<Record<string, TemplateRef<any> | null>> | undefined;
62
+ chipIdSuffix: Array<string>;
63
+ chipTemplateNames: Record<ColumnType, Array<string>>;
64
+ chipTemplates: Record<string, Observable<TemplateRef<any> | null>>;
65
+ tableIdSuffix: Array<string>;
66
+ tableTemplateNames: Record<ColumnType, Array<string>>;
67
+ tableTemplates: Record<string, Observable<TemplateRef<any> | null>>;
68
+ getTemplate(column: DataTableColumn, templateNames: Record<ColumnType, Array<string>>, templates: Record<string, Observable<TemplateRef<any> | null>>, idSuffix: Array<string>): Observable<TemplateRef<any> | null>;
69
+ onResetFilersClick(): void;
70
+ onChipRemove(filter: Filter): void;
71
+ onFilterDelete(row: Row): void;
72
+ focusTrigger(): void;
73
+ showPanel(event: any): void;
74
+ getColumnForFilter(filter: Filter, columns: DataTableColumn[]): DataTableColumn | undefined;
75
+ resolveFieldData(object: any, key: any): any;
76
+ getRowObjectFromFiterData(filter: Filter): {
77
+ [x: string]: unknown;
78
+ };
79
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterViewComponent, never>;
80
+ static ɵcmp: i0.ɵɵComponentDeclaration<FilterViewComponent, "ocx-filter-view", never, { "filters": { "alias": "filters"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "displayMode": { "alias": "displayMode"; "required": false; }; "selectDisplayedChips": { "alias": "selectDisplayedChips"; "required": false; }; "chipStyleClass": { "alias": "chipStyleClass"; "required": false; }; "tableStyle": { "alias": "tableStyle"; "required": false; }; "panelStyle": { "alias": "panelStyle"; "required": false; }; "templates": { "alias": "templates"; "required": false; }; }, { "filtered": "filtered"; "componentStateChanged": "componentStateChanged"; }, never, never, false, never>;
81
+ }
@@ -12,8 +12,9 @@ import { DataListGridSortingComponentState } from '../data-list-grid-sorting/dat
12
12
  import { Row, Sort } from '../data-table/data-table.component';
13
13
  import { DataViewComponent, DataViewComponentState, RowListGridData } from '../data-view/data-view.component';
14
14
  import { Filter } from '../../model/filter.model';
15
+ import { FilterViewComponentState, FilterViewDisplayMode } from '../filter-view/filter-view.component';
15
16
  import * as i0 from "@angular/core";
16
- export type InteractiveDataViewComponentState = ColumnGroupSelectionComponentState & CustomGroupColumnSelectorComponentState & DataLayoutSelectionComponentState & DataListGridSortingComponentState & DataViewComponentState;
17
+ export type InteractiveDataViewComponentState = ColumnGroupSelectionComponentState & CustomGroupColumnSelectorComponentState & DataLayoutSelectionComponentState & DataListGridSortingComponentState & DataViewComponentState & FilterViewComponentState;
17
18
  export interface ColumnGroupData {
18
19
  activeColumns: DataTableColumn[];
19
20
  groupKey: string;
@@ -28,6 +29,7 @@ export declare class InteractiveDataViewComponent implements OnInit, AfterConten
28
29
  dataLayoutComponentState$: ReplaySubject<DataLayoutSelectionComponentState>;
29
30
  dataListGridSortingComponentState$: ReplaySubject<DataListGridSortingComponentState>;
30
31
  dataViewComponentState$: ReplaySubject<DataViewComponentState>;
32
+ filterViewComponentState$: ReplaySubject<FilterViewComponentState>;
31
33
  searchConfigPermission: string | undefined;
32
34
  deletePermission: string | undefined;
33
35
  editPermission: string | undefined;
@@ -65,6 +67,16 @@ export declare class InteractiveDataViewComponent implements OnInit, AfterConten
65
67
  additionalActions: DataAction[];
66
68
  listGridPaginator: boolean;
67
69
  tablePaginator: boolean;
70
+ disableFilterView: boolean;
71
+ filterViewDisplayMode: FilterViewDisplayMode;
72
+ filterViewChipStyleClass: string;
73
+ filterViewTableStyle: {
74
+ [klass: string]: any;
75
+ };
76
+ filterViewPanelStyle: {
77
+ [klass: string]: any;
78
+ };
79
+ selectDisplayedChips: (filters: Filter[], columns: DataTableColumn[]) => Filter[];
68
80
  page: number;
69
81
  selectedRows: Row[];
70
82
  displayedColumnKeys$: BehaviorSubject<string[]>;
@@ -207,5 +219,5 @@ export declare class InteractiveDataViewComponent implements OnInit, AfterConten
207
219
  onPageChange(event: number): void;
208
220
  onPageSizeChange(event: number): void;
209
221
  static ɵfac: i0.ɵɵFactoryDeclaration<InteractiveDataViewComponent, never>;
210
- static ɵcmp: i0.ɵɵComponentDeclaration<InteractiveDataViewComponent, "ocx-interactive-data-view", never, { "searchConfigPermission": { "alias": "searchConfigPermission"; "required": false; }; "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; }; "tableSelectionEnabledField": { "alias": "tableSelectionEnabledField"; "required": false; }; "tableAllowSelectAll": { "alias": "tableAllowSelectAll"; "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>;
222
+ static ɵcmp: i0.ɵɵComponentDeclaration<InteractiveDataViewComponent, "ocx-interactive-data-view", never, { "searchConfigPermission": { "alias": "searchConfigPermission"; "required": false; }; "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; }; "tableSelectionEnabledField": { "alias": "tableSelectionEnabledField"; "required": false; }; "tableAllowSelectAll": { "alias": "tableAllowSelectAll"; "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; }; "disableFilterView": { "alias": "disableFilterView"; "required": false; }; "filterViewDisplayMode": { "alias": "filterViewDisplayMode"; "required": false; }; "filterViewChipStyleClass": { "alias": "filterViewChipStyleClass"; "required": false; }; "filterViewTableStyle": { "alias": "filterViewTableStyle"; "required": false; }; "filterViewPanelStyle": { "alias": "filterViewPanelStyle"; "required": false; }; "selectDisplayedChips": { "alias": "selectDisplayedChips"; "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>;
211
223
  }
@@ -4,9 +4,11 @@ export declare class IfBreakpointDirective implements OnInit {
4
4
  private viewContainer;
5
5
  private templateRef?;
6
6
  breakpoint: 'mobile' | 'desktop' | undefined;
7
+ ocxIfBreakpointElseTemplate: TemplateRef<any> | undefined;
8
+ state: 'mobile' | 'desktop' | undefined;
7
9
  constructor(viewContainer: ViewContainerRef, templateRef?: TemplateRef<unknown> | undefined);
8
10
  ngOnInit(): void;
9
11
  onResize(): void;
10
12
  static ɵfac: i0.ɵɵFactoryDeclaration<IfBreakpointDirective, [null, { optional: true; }]>;
11
- static ɵdir: i0.ɵɵDirectiveDeclaration<IfBreakpointDirective, "[ocxIfBreakpoint]", never, { "breakpoint": { "alias": "ocxIfBreakpoint"; "required": false; }; }, {}, never, never, false, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<IfBreakpointDirective, "[ocxIfBreakpoint]", never, { "breakpoint": { "alias": "ocxIfBreakpoint"; "required": false; }; "ocxIfBreakpointElseTemplate": { "alias": "ocxIfBreakpointElseTemplate"; "required": false; }; }, {}, never, never, false, never>;
12
14
  }
@@ -1,3 +1,6 @@
1
+ export interface ColumnFilterDataSelectOptions {
2
+ reverse: boolean;
3
+ }
1
4
  export type Filter = {
2
5
  columnId: string;
3
6
  value: unknown;
@@ -0,0 +1,2 @@
1
+ import { ColumnFilterDataSelectOptions, Filter } from '../model/filter.model';
2
+ export declare function limit(columnFilterData: Filter[], amount: number, options: ColumnFilterDataSelectOptions): Filter[];
@@ -0,0 +1,2 @@
1
+ import { PrimeTemplate } from 'primeng/api';
2
+ export declare function findTemplate(templates: PrimeTemplate[], names: string[]): PrimeTemplate | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onecx/angular-accelerator",
3
- "version": "5.22.2",
3
+ "version": "5.23.1",
4
4
  "license": "Apache-2.0",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^18.0.5",
@@ -1,10 +1,15 @@
1
- import { ContentContainerComponentHarness, TestElement } from '@angular/cdk/testing';
1
+ import { BaseHarnessFilters, ContentContainerComponentHarness, HarnessPredicate, TestElement } from '@angular/cdk/testing';
2
2
  import { TableHeaderColumnHarness, TableRowHarness, PPaginatorHarness, PTableCheckboxHarness } from '@onecx/angular-testing';
3
+ export interface DataTableHarnessFilters extends BaseHarnessFilters {
4
+ id?: string;
5
+ }
3
6
  export declare class DataTableHarness extends ContentContainerComponentHarness {
4
7
  static hostSelector: string;
8
+ static with(options: DataTableHarnessFilters): HarnessPredicate<DataTableHarness>;
5
9
  getHeaderColumns: import("@onecx/angular-testing").AsyncFactoryFn<TableHeaderColumnHarness[]>;
6
10
  getRows: import("@onecx/angular-testing").AsyncFactoryFn<TableRowHarness[]>;
7
11
  getPaginator: import("@onecx/angular-testing").AsyncFactoryFn<PPaginatorHarness>;
12
+ getId(): Promise<string | null>;
8
13
  rowSelectionIsEnabled(): Promise<boolean>;
9
14
  getHarnessesForCheckboxes(type: 'all' | 'checked' | 'unchecked'): Promise<PTableCheckboxHarness[]>;
10
15
  getActionColumnHeader(position: 'left' | 'right'): Promise<TestElement | null>;
@@ -0,0 +1,12 @@
1
+ import { ContentContainerComponentHarness } from '@angular/cdk/testing';
2
+ import { DataTableHarness } from './data-table.harness';
3
+ import { PButtonHarness, PChipHarness, SpanHarness } from '.';
4
+ export declare class FilterViewHarness extends ContentContainerComponentHarness {
5
+ static hostSelector: string;
6
+ getOverlayResetFiltersButton: import("@angular/cdk/testing").AsyncFactoryFn<PButtonHarness | null>;
7
+ getFiltersButton: import("@angular/cdk/testing").AsyncFactoryFn<PButtonHarness | null>;
8
+ getChipsResetFiltersButton: import("@angular/cdk/testing").AsyncFactoryFn<PButtonHarness | null>;
9
+ getChips: import("@angular/cdk/testing").AsyncFactoryFn<PChipHarness[]>;
10
+ getNoFiltersMessage: import("@angular/cdk/testing").AsyncFactoryFn<SpanHarness | null>;
11
+ getDataTable(): Promise<DataTableHarness | null>;
12
+ }
@@ -7,6 +7,7 @@ export * from './data-view.harness';
7
7
  export * from './default-grid-item.harness';
8
8
  export * from './default-list-item.harness';
9
9
  export * from './diagram.harness';
10
+ export * from './filter-view.harness';
10
11
  export * from './group-by-count-diagram.harness';
11
12
  export * from './interactive-data-view.harness';
12
13
  export * from './more-actions-menu-button.harness';