@onecx/angular-accelerator 5.15.0 → 5.16.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 (35) hide show
  1. package/esm2022/index.mjs +2 -4
  2. package/esm2022/lib/angular-accelerator.module.mjs +10 -10
  3. package/esm2022/lib/components/data-list-grid/data-list-grid.component.mjs +1 -1
  4. package/esm2022/lib/components/data-table/data-table.component.mjs +1 -1
  5. package/esm2022/lib/components/interactive-data-view/interactive-data-view.component.mjs +115 -71
  6. package/esm2022/lib/components/search-header/search-header.component.mjs +77 -36
  7. package/esm2022/lib/directives/if-permission.directive.mjs +20 -8
  8. package/esm2022/lib/utils/create-remote-component-and-mfe-translate-loader.utils.mjs +12 -0
  9. package/esm2022/testing/index.mjs +2 -2
  10. package/esm2022/testing/interactive-data-view.harness.mjs +4 -2
  11. package/esm2022/testing/search-header.harness.mjs +1 -3
  12. package/esm2022/testing/slot.harness.mjs +5 -0
  13. package/fesm2022/onecx-angular-accelerator-testing.mjs +7 -11
  14. package/fesm2022/onecx-angular-accelerator-testing.mjs.map +1 -1
  15. package/fesm2022/onecx-angular-accelerator.mjs +247 -214
  16. package/fesm2022/onecx-angular-accelerator.mjs.map +1 -1
  17. package/index.d.ts +1 -3
  18. package/lib/angular-accelerator.module.d.ts +16 -16
  19. package/lib/components/interactive-data-view/interactive-data-view.component.d.ts +15 -2
  20. package/lib/components/search-header/search-header.component.d.ts +30 -9
  21. package/lib/directives/if-permission.directive.d.ts +6 -4
  22. package/lib/utils/create-remote-component-and-mfe-translate-loader.utils.d.ts +6 -0
  23. package/package.json +2 -1
  24. package/testing/index.d.ts +1 -1
  25. package/testing/interactive-data-view.harness.d.ts +3 -1
  26. package/testing/search-header.harness.d.ts +0 -2
  27. package/testing/slot.harness.d.ts +7 -0
  28. package/esm2022/lib/components/search-config/search-config.component.mjs +0 -34
  29. package/esm2022/lib/model/search-config-info.mjs +0 -2
  30. package/esm2022/lib/services/app-config-service.mjs +0 -43
  31. package/esm2022/testing/search-config.harness.mjs +0 -10
  32. package/lib/components/search-config/search-config.component.d.ts +0 -16
  33. package/lib/model/search-config-info.d.ts +0 -4
  34. package/lib/services/app-config-service.d.ts +0 -18
  35. package/testing/search-config.harness.d.ts +0 -6
package/index.d.ts CHANGED
@@ -14,12 +14,10 @@ export * from './lib/components/diagram/diagram.component';
14
14
  export * from './lib/components/group-by-count-diagram/group-by-count-diagram.component';
15
15
  export * from './lib/components/interactive-data-view/interactive-data-view.component';
16
16
  export * from './lib/components/page-header/page-header.component';
17
- export * from './lib/components/search-config/search-config.component';
18
17
  export * from './lib/components/search-header/search-header.component';
19
18
  export * from './lib/components/data-loading-error/data-loading-error.component';
20
19
  export * from './lib/services/breadcrumb.service';
21
20
  export * from './lib/services/translation-cache.service';
22
- export * from './lib/services/app-config-service';
23
21
  export * from './lib/pipes/dynamic.pipe';
24
22
  export * from './lib/pipes/ocxtimeago.pipe';
25
23
  export * from './lib/model/breadcrumb-menu-item.model';
@@ -29,7 +27,6 @@ export * from './lib/model/data-sort-direction';
29
27
  export * from './lib/model/data-table-column.model';
30
28
  export * from './lib/model/diagram-column';
31
29
  export * from './lib/model/diagram-type';
32
- export * from './lib/model/search-config-info';
33
30
  export * from './lib/angular-accelerator.module';
34
31
  export * from './lib/angular-accelerator-primeng.module';
35
32
  export * from './lib/functions/flatten-object';
@@ -42,6 +39,7 @@ export * from './lib/utils/dateutils';
42
39
  export * from './lib/utils/objectutils';
43
40
  export * from './lib/utils/primeicon.utils';
44
41
  export * from './lib/utils/translate.combined.loader';
42
+ export * from './lib/utils/create-remote-component-and-mfe-translate-loader.utils';
45
43
  export * from './lib/utils/create-remote-component-translate-loader.utils';
46
44
  export * from './lib/utils/enum-to-dropdown-options.utils';
47
45
  export * from './lib/utils/criteria.utils';
@@ -8,21 +8,21 @@ import * as i5 from "./components/data-list-grid/data-list-grid.component";
8
8
  import * as i6 from "./components/data-table/data-table.component";
9
9
  import * as i7 from "./components/data-view/data-view.component";
10
10
  import * as i8 from "./components/interactive-data-view/interactive-data-view.component";
11
- import * as i9 from "./components/search-config/search-config.component";
12
- import * as i10 from "./components/page-header/page-header.component";
13
- import * as i11 from "./pipes/dynamic.pipe";
14
- import * as i12 from "./components/search-header/search-header.component";
15
- import * as i13 from "./components/diagram/diagram.component";
16
- import * as i14 from "./components/group-by-count-diagram/group-by-count-diagram.component";
17
- import * as i15 from "./components/data-loading-error/data-loading-error.component";
18
- import * as i16 from "./directives/if-permission.directive";
19
- import * as i17 from "./directives/if-breakpoint.directive";
20
- import * as i18 from "./directives/src.directive";
21
- import * as i19 from "./pipes/ocxtimeago.pipe";
22
- import * as i20 from "./directives/advanced.directive";
23
- import * as i21 from "./directives/tooltipOnOverflow.directive";
24
- import * as i22 from "@angular/common";
25
- import * as i23 from "./angular-accelerator-primeng.module";
11
+ import * as i9 from "./components/page-header/page-header.component";
12
+ import * as i10 from "./pipes/dynamic.pipe";
13
+ import * as i11 from "./components/search-header/search-header.component";
14
+ import * as i12 from "./components/diagram/diagram.component";
15
+ import * as i13 from "./components/group-by-count-diagram/group-by-count-diagram.component";
16
+ import * as i14 from "./components/data-loading-error/data-loading-error.component";
17
+ import * as i15 from "./directives/if-permission.directive";
18
+ import * as i16 from "./directives/if-breakpoint.directive";
19
+ import * as i17 from "./directives/src.directive";
20
+ import * as i18 from "./pipes/ocxtimeago.pipe";
21
+ import * as i19 from "./directives/advanced.directive";
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
26
  import * as i24 from "@ngx-translate/core";
27
27
  import * as i25 from "@angular/forms";
28
28
  import * as i26 from "@angular/router";
@@ -31,6 +31,6 @@ export declare class AngularAcceleratorMissingTranslationHandler implements Miss
31
31
  }
32
32
  export declare class AngularAcceleratorModule {
33
33
  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.SearchConfigComponent, typeof i10.PageHeaderComponent, typeof i11.DynamicPipe, typeof i12.SearchHeaderComponent, typeof i13.DiagramComponent, typeof i14.GroupByCountDiagramComponent, typeof i15.DataLoadingErrorComponent, typeof i16.IfPermissionDirective, typeof i17.IfBreakpointDirective, typeof i18.SrcDirective, typeof i19.OcxTimeAgoPipe, typeof i20.AdvancedDirective, typeof i21.TooltipOnOverflowDirective], [typeof i22.CommonModule, typeof i23.AngularAcceleratorPrimeNgModule, typeof i24.TranslateModule, typeof i25.FormsModule, typeof i26.RouterModule, typeof i25.ReactiveFormsModule], [typeof i1.ColumnGroupSelectionComponent, typeof i2.CustomGroupColumnSelectorComponent, typeof i3.DataLayoutSelectionComponent, typeof i5.DataListGridComponent, typeof i6.DataTableComponent, typeof i7.DataViewComponent, typeof i8.InteractiveDataViewComponent, typeof i9.SearchConfigComponent, typeof i10.PageHeaderComponent, typeof i12.SearchHeaderComponent, typeof i13.DiagramComponent, typeof i14.GroupByCountDiagramComponent, typeof i15.DataLoadingErrorComponent, typeof i16.IfPermissionDirective, typeof i17.IfBreakpointDirective, typeof i18.SrcDirective, typeof i19.OcxTimeAgoPipe, typeof i20.AdvancedDirective, typeof i21.TooltipOnOverflowDirective]>;
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
35
  static ɵinj: i0.ɵɵInjectorDeclaration<AngularAcceleratorModule>;
36
36
  }
@@ -6,13 +6,19 @@ import { DataTableColumn } from '../../model/data-table-column.model';
6
6
  import { ColumnGroupSelectionComponentState, GroupSelectionChangedEvent } from '../column-group-selection/column-group-selection.component';
7
7
  import { PrimeTemplate } from 'primeng/api';
8
8
  import { ActionColumnChangedEvent, ColumnSelectionChangedEvent, CustomGroupColumnSelectorComponentState } from '../custom-group-column-selector/custom-group-column-selector.component';
9
+ import { SlotService } from '@onecx/angular-remote-components';
9
10
  import { DataLayoutSelectionComponentState } from '../data-layout-selection/data-layout-selection.component';
10
11
  import { DataListGridSortingComponentState } from '../data-list-grid-sorting/data-list-grid-sorting.component';
11
12
  import { Filter, Row, Sort } from '../data-table/data-table.component';
12
13
  import { DataViewComponent, DataViewComponentState, RowListGridData } from '../data-view/data-view.component';
13
14
  import * as i0 from "@angular/core";
14
15
  export type InteractiveDataViewComponentState = ColumnGroupSelectionComponentState & CustomGroupColumnSelectorComponentState & DataLayoutSelectionComponentState & DataListGridSortingComponentState & DataViewComponentState;
16
+ export interface ColumnGroupData {
17
+ activeColumns: DataTableColumn[];
18
+ groupKey: string;
19
+ }
15
20
  export declare class InteractiveDataViewComponent implements OnInit, AfterContentInit {
21
+ private slotService;
16
22
  _dataViewComponent: DataViewComponent | undefined;
17
23
  set dataView(ref: DataViewComponent | undefined);
18
24
  get dataView(): DataViewComponent | undefined;
@@ -21,6 +27,7 @@ export declare class InteractiveDataViewComponent implements OnInit, AfterConten
21
27
  dataLayoutComponentState$: ReplaySubject<DataLayoutSelectionComponentState>;
22
28
  dataListGridSortingComponentState$: ReplaySubject<DataListGridSortingComponentState>;
23
29
  dataViewComponentState$: ReplaySubject<DataViewComponentState>;
30
+ searchConfigPermission: string | undefined;
24
31
  deletePermission: string | undefined;
25
32
  editPermission: string | undefined;
26
33
  viewPermission: string | undefined;
@@ -137,7 +144,9 @@ export declare class InteractiveDataViewComponent implements OnInit, AfterConten
137
144
  pageChanged: EventEmitter<number>;
138
145
  pageSizeChanged: EventEmitter<number>;
139
146
  componentStateChanged: EventEmitter<InteractiveDataViewComponentState>;
140
- selectedGroupKey: string;
147
+ selectedGroupKey$: BehaviorSubject<string | undefined>;
148
+ get selectedGroupKey(): string | undefined;
149
+ set selectedGroupKey(value: string | undefined);
141
150
  isDeleteItemObserved: boolean | undefined;
142
151
  isViewItemObserved: boolean | undefined;
143
152
  isEditItemObserved: boolean | undefined;
@@ -175,6 +184,10 @@ export declare class InteractiveDataViewComponent implements OnInit, AfterConten
175
184
  _data: RowListGridData[];
176
185
  get data(): RowListGridData[];
177
186
  set data(value: RowListGridData[]);
187
+ columnGroupSlotName: string;
188
+ isColumnGroupSelectionComponentDefined$: Observable<boolean>;
189
+ groupSelectionChangedSlotEmitter: EventEmitter<ColumnGroupData | undefined>;
190
+ constructor(slotService: SlotService);
178
191
  ngOnInit(): void;
179
192
  ngAfterContentInit(): void;
180
193
  filtering(event: any): void;
@@ -193,5 +206,5 @@ export declare class InteractiveDataViewComponent implements OnInit, AfterConten
193
206
  onPageChange(event: number): void;
194
207
  onPageSizeChange(event: number): void;
195
208
  static ɵfac: i0.ɵɵFactoryDeclaration<InteractiveDataViewComponent, never>;
196
- 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; }; "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>;
209
+ 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>;
197
210
  }
@@ -1,10 +1,19 @@
1
- import { AfterViewInit, ElementRef, EventEmitter, TemplateRef } from '@angular/core';
1
+ import { AfterContentInit, AfterViewInit, ElementRef, EventEmitter, QueryList, TemplateRef } from '@angular/core';
2
2
  import { Action } from '../page-header/page-header.component';
3
- import { SearchConfigInfo } from '../../model/search-config-info';
3
+ import { FormControlName, FormGroup } from '@angular/forms';
4
+ import { Observable } from 'rxjs';
4
5
  import * as i0 from "@angular/core";
5
6
  export interface SearchHeaderComponentState {
6
7
  activeViewMode?: 'basic' | 'advanced';
7
- selectedSearchConfig?: SearchConfigInfo;
8
+ selectedSearchConfig?: string | null;
9
+ }
10
+ export interface SearchConfigData {
11
+ name: string | undefined;
12
+ fieldValues: {
13
+ [key: string]: string;
14
+ };
15
+ displayedColumnsIds: string[];
16
+ viewMode: 'basic' | 'advanced';
8
17
  }
9
18
  /**
10
19
  * To trigger the search when Enter key is pressed inside a search parameter field,
@@ -12,8 +21,7 @@ export interface SearchHeaderComponentState {
12
21
  * Please add the EventListener yourself manually, if you want to have that functionality for some other elements
13
22
  * which do not have an input element.
14
23
  */
15
- export declare class SearchHeaderComponent implements AfterViewInit {
16
- searchConfigs: SearchConfigInfo[] | undefined;
24
+ export declare class SearchHeaderComponent implements AfterContentInit, AfterViewInit {
17
25
  header: string;
18
26
  /**
19
27
  * @deprecated Will be replaced by header
@@ -21,25 +29,38 @@ export declare class SearchHeaderComponent implements AfterViewInit {
21
29
  get headline(): string;
22
30
  set headline(value: string);
23
31
  subheader: string | undefined;
24
- viewMode: 'basic' | 'advanced';
32
+ _viewMode: 'basic' | 'advanced';
33
+ get viewMode(): 'basic' | 'advanced';
34
+ set viewMode(viewMode: 'basic' | 'advanced');
25
35
  manualBreadcrumbs: boolean;
26
36
  _actions: Action[];
27
37
  get actions(): Action[];
28
38
  set actions(value: Action[]);
39
+ searchConfigPermission: string | undefined;
29
40
  searchButtonDisabled: boolean;
30
41
  resetButtonDisabled: boolean;
42
+ pageName: string | undefined;
31
43
  searched: EventEmitter<any>;
32
44
  resetted: EventEmitter<any>;
33
- selectedSearchConfigChanged: EventEmitter<SearchConfigInfo>;
45
+ selectedSearchConfigChanged: EventEmitter<SearchConfigData | undefined>;
34
46
  viewModeChanged: EventEmitter<'basic' | 'advanced'>;
35
47
  componentStateChanged: EventEmitter<SearchHeaderComponentState>;
36
48
  additionalToolbarContent: TemplateRef<any> | undefined;
37
49
  get _additionalToolbarContent(): TemplateRef<any> | undefined;
38
50
  additionalToolbarContentLeft: TemplateRef<any> | undefined;
39
51
  get _additionalToolbarContentLeft(): TemplateRef<any> | undefined;
52
+ get searchConfigChangeObserved(): boolean;
53
+ formGroup: FormGroup | undefined;
54
+ visibleFormControls: QueryList<FormControlName>;
40
55
  searchParameterFields: ElementRef | undefined;
41
56
  hasAdvanced: boolean;
42
57
  headerActions: Action[];
58
+ fieldValues$: Observable<{
59
+ [key: string]: unknown;
60
+ }> | undefined;
61
+ searchConfigChangedSlotEmitter: EventEmitter<SearchConfigData | undefined>;
62
+ constructor();
63
+ ngAfterContentInit(): void;
43
64
  ngAfterViewInit(): void;
44
65
  toggleViewMode(): void;
45
66
  onResetClicked(): void;
@@ -47,7 +68,7 @@ export declare class SearchHeaderComponent implements AfterViewInit {
47
68
  updateHeaderActions(): void;
48
69
  addKeyUpEventListener(): void;
49
70
  onSearchKeyup(event: any): void;
50
- confirmSearchConfig(searchConfig: SearchConfigInfo): void;
71
+ private isVisible;
51
72
  static ɵfac: i0.ɵɵFactoryDeclaration<SearchHeaderComponent, 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>;
73
+ static ɵcmp: i0.ɵɵComponentDeclaration<SearchHeaderComponent, "ocx-search-header", never, { "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; }; "searchConfigPermission": { "alias": "searchConfigPermission"; "required": false; }; "searchButtonDisabled": { "alias": "searchButtonDisabled"; "required": false; }; "resetButtonDisabled": { "alias": "resetButtonDisabled"; "required": false; }; "pageName": { "alias": "pageName"; "required": false; }; }, { "searched": "searched"; "resetted": "resetted"; "selectedSearchConfigChanged": "selectedSearchConfigChanged"; "viewModeChanged": "viewModeChanged"; "componentStateChanged": "componentStateChanged"; }, ["additionalToolbarContent", "additionalToolbarContentLeft", "formGroup", "visibleFormControls"], ["*"], false, never>;
53
74
  }
@@ -18,16 +18,18 @@ export declare class IfPermissionDirective implements OnInit {
18
18
  private hasPermissionChecker?;
19
19
  private templateRef?;
20
20
  private userService?;
21
- permission: string | undefined;
22
- set notPermission(value: string | undefined);
21
+ permission: string | string[] | undefined;
22
+ set notPermission(value: string | string[] | undefined);
23
23
  onMissingPermission: 'hide' | 'disable';
24
24
  ocxIfPermissionPermissions: string[] | undefined;
25
25
  set ocxIfNotPermissionPermissions(value: string[] | undefined);
26
+ ocxIfPermissionElseTemplate: TemplateRef<any> | undefined;
27
+ set ocxIfNotPermissionElseTemplate(value: TemplateRef<any> | undefined);
26
28
  private permissionChecker;
27
29
  negate: boolean;
28
30
  constructor(renderer: Renderer2, el: ElementRef, viewContainer: ViewContainerRef, hasPermissionChecker?: HasPermissionChecker | undefined, templateRef?: TemplateRef<any> | undefined, userService?: UserService | undefined);
29
31
  ngOnInit(): void;
30
- hasPermission(permission: string): boolean | undefined;
32
+ hasPermission(permission: string[]): boolean;
31
33
  static ɵfac: i0.ɵɵFactoryDeclaration<IfPermissionDirective, [null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
32
- static ɵdir: i0.ɵɵDirectiveDeclaration<IfPermissionDirective, "[ocxIfPermission], [ocxIfNotPermission]", never, { "permission": { "alias": "ocxIfPermission"; "required": false; }; "notPermission": { "alias": "ocxIfNotPermission"; "required": false; }; "onMissingPermission": { "alias": "onMissingPermission"; "required": false; }; "ocxIfPermissionPermissions": { "alias": "ocxIfPermissionPermissions"; "required": false; }; "ocxIfNotPermissionPermissions": { "alias": "ocxIfNotPermissionPermissions"; "required": false; }; }, {}, never, never, false, never>;
34
+ static ɵdir: i0.ɵɵDirectiveDeclaration<IfPermissionDirective, "[ocxIfPermission], [ocxIfNotPermission]", never, { "permission": { "alias": "ocxIfPermission"; "required": false; }; "notPermission": { "alias": "ocxIfNotPermission"; "required": false; }; "onMissingPermission": { "alias": "onMissingPermission"; "required": false; }; "ocxIfPermissionPermissions": { "alias": "ocxIfPermissionPermissions"; "required": false; }; "ocxIfNotPermissionPermissions": { "alias": "ocxIfNotPermissionPermissions"; "required": false; }; "ocxIfPermissionElseTemplate": { "alias": "ocxIfPermissionElseTemplate"; "required": false; }; "ocxIfNotPermissionElseTemplate": { "alias": "ocxIfNotPermissionElseTemplate"; "required": false; }; }, {}, never, never, false, never>;
33
35
  }
@@ -0,0 +1,6 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { ReplaySubject } from 'rxjs';
3
+ import { TranslationCacheService } from '../services/translation-cache.service';
4
+ import { AppStateService } from '@onecx/angular-integration-interface';
5
+ import { AsyncTranslateLoader } from './async-translate-loader.utils';
6
+ export declare function createRemoteComponentAndMfeTranslateLoader(httpClient: HttpClient, baseUrl: ReplaySubject<string>, translationCacheService: TranslationCacheService, appStateService: AppStateService): AsyncTranslateLoader;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onecx/angular-accelerator",
3
- "version": "5.15.0",
3
+ "version": "5.16.1",
4
4
  "license": "Apache-2.0",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^18.0.5",
@@ -13,6 +13,7 @@
13
13
  "@ngneat/until-destroy": "^10.0.0",
14
14
  "@onecx/integration-interface": "^5",
15
15
  "@onecx/angular-integration-interface": "^5",
16
+ "@onecx/angular-remote-components": "^5",
16
17
  "chart.js": "^4.4.3",
17
18
  "d3-scale-chromatic": "^3.1.0",
18
19
  "rxjs": "~7.8.1",
@@ -11,7 +11,7 @@ export * from './group-by-count-diagram.harness';
11
11
  export * from './interactive-data-view.harness';
12
12
  export * from './more-actions-menu-button.harness';
13
13
  export * from './page-header.harness';
14
- export * from './search-config.harness';
14
+ export * from './slot.harness';
15
15
  export * from './search-header.harness';
16
16
  export * from '@angular/cdk/testing';
17
17
  export * from '@angular/cdk/testing/testbed';
@@ -4,11 +4,13 @@ import { PDropdownHarness } from '@onecx/angular-testing';
4
4
  import { CustomGroupColumnSelectorHarness } from '.';
5
5
  import { DataLayoutSelectionHarness } from './data-layout-selection.harness';
6
6
  import { DataViewHarness } from './data-view.harness';
7
+ import { SlotHarness } from './slot.harness';
7
8
  export declare class InteractiveDataViewHarness extends ContentContainerComponentHarness {
8
9
  static hostSelector: string;
9
10
  getDataLayoutSelection: import("@onecx/angular-testing").AsyncFactoryFn<DataLayoutSelectionHarness>;
10
11
  getColumnGroupSelectionDropdown: import("@onecx/angular-testing").AsyncFactoryFn<PDropdownHarness | null>;
11
- getCustomGroupColumnSelector: import("@onecx/angular-testing").AsyncFactoryFn<CustomGroupColumnSelectorHarness>;
12
+ getCustomGroupColumnSelector: import("@onecx/angular-testing").AsyncFactoryFn<CustomGroupColumnSelectorHarness | null>;
13
+ getCustomGroupColumnSelectorSlot: import("@onecx/angular-testing").AsyncFactoryFn<SlotHarness | null>;
12
14
  getDataListGridSortingDropdown: import("@onecx/angular-testing").AsyncFactoryFn<PDropdownHarness | null>;
13
15
  getDataListGridSortingButton: import("@onecx/angular-testing").AsyncFactoryFn<PButtonHarness | null>;
14
16
  getDataView: import("@onecx/angular-testing").AsyncFactoryFn<DataViewHarness>;
@@ -1,12 +1,10 @@
1
1
  import { ComponentHarness } from '@angular/cdk/testing';
2
2
  import { PButtonHarness } from '@onecx/angular-testing';
3
3
  import { PageHeaderHarness } from './page-header.harness';
4
- import { SearchConfigHarness } from './search-config.harness';
5
4
  import { MoreActionsMenuButtonHarness } from './more-actions-menu-button.harness';
6
5
  export declare class SearchHeaderHarness extends ComponentHarness {
7
6
  static hostSelector: string;
8
7
  getPageHeader: import("@onecx/angular-testing").AsyncFactoryFn<PageHeaderHarness>;
9
- getSearchConfig: import("@onecx/angular-testing").AsyncFactoryFn<SearchConfigHarness>;
10
8
  getSearchButton: import("@onecx/angular-testing").AsyncFactoryFn<PButtonHarness>;
11
9
  getResetButton: import("@onecx/angular-testing").AsyncFactoryFn<PButtonHarness>;
12
10
  getSimpleAdvancedButton: import("@onecx/angular-testing").AsyncFactoryFn<PButtonHarness | null>;
@@ -0,0 +1,7 @@
1
+ import { BaseHarnessFilters, ContentContainerComponentHarness } from '@angular/cdk/testing';
2
+ export interface SlotHarnessFilters extends BaseHarnessFilters {
3
+ name?: string;
4
+ }
5
+ export declare class SlotHarness extends ContentContainerComponentHarness {
6
+ static hostSelector: string;
7
+ }
@@ -1,34 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { FormControl, FormGroup } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "primeng/dropdown";
6
- import * as i3 from "@angular/forms";
7
- import * as i4 from "@ngx-translate/core";
8
- export class SearchConfigComponent {
9
- constructor() {
10
- this.placeholderKey = 'OCX_SEARCH_HEADER.OCX_SEARCH_CONFIG.DROPDOWN_DEFAULT';
11
- this.selectedSearchConfigChanged = new EventEmitter();
12
- }
13
- ngOnInit() {
14
- this.formGroup = new FormGroup({
15
- searchConfigForm: new FormControl(null),
16
- });
17
- }
18
- onSearchConfigChange(event) {
19
- this.selectedSearchConfigChanged?.emit(event.value);
20
- }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: SearchConfigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: SearchConfigComponent, selector: "ocx-search-config", inputs: { searchConfigs: "searchConfigs", placeholderKey: "placeholderKey" }, outputs: { selectedSearchConfigChanged: "selectedSearchConfigChanged" }, ngImport: i0, template: "<div *ngIf=\"formGroup\">\n <form [formGroup]=\"formGroup\">\n <div *ngIf=\"searchConfigs !== undefined\">\n <div *ngIf=\"searchConfigs.length > 0\">\n <p-dropdown\n id=\"searchConfig\"\n formControlName=\"searchConfigForm\"\n [options]=\"searchConfigs\"\n optionLabel=\"name\"\n [placeholder]=\"placeholderKey | translate\"\n [showClear]=\"true\"\n (onChange)=\"onSearchConfigChange($event)\"\n ></p-dropdown>\n </div>\n </div>\n </form>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: SearchConfigComponent, decorators: [{
25
- type: Component,
26
- args: [{ selector: 'ocx-search-config', template: "<div *ngIf=\"formGroup\">\n <form [formGroup]=\"formGroup\">\n <div *ngIf=\"searchConfigs !== undefined\">\n <div *ngIf=\"searchConfigs.length > 0\">\n <p-dropdown\n id=\"searchConfig\"\n formControlName=\"searchConfigForm\"\n [options]=\"searchConfigs\"\n optionLabel=\"name\"\n [placeholder]=\"placeholderKey | translate\"\n [showClear]=\"true\"\n (onChange)=\"onSearchConfigChange($event)\"\n ></p-dropdown>\n </div>\n </div>\n </form>\n</div>\n" }]
27
- }], propDecorators: { searchConfigs: [{
28
- type: Input
29
- }], placeholderKey: [{
30
- type: Input
31
- }], selectedSearchConfigChanged: [{
32
- type: Output
33
- }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvbmZpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC1jb25maWcvc2VhcmNoLWNvbmZpZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC1jb25maWcvc2VhcmNoLWNvbmZpZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7Ozs7OztBQVF2RCxNQUFNLE9BQU8scUJBQXFCO0lBTGxDO1FBU1csbUJBQWMsR0FBRyxzREFBc0QsQ0FBQTtRQUdoRixnQ0FBMkIsR0FBbUMsSUFBSSxZQUFZLEVBQUUsQ0FBQTtLQVlqRjtJQVRDLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDO1lBQzdCLGdCQUFnQixFQUFFLElBQUksV0FBVyxDQUEwQixJQUFJLENBQUM7U0FDakUsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWtDO1FBQ3JELElBQUksQ0FBQywyQkFBMkIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3JELENBQUM7OEdBbEJVLHFCQUFxQjtrR0FBckIscUJBQXFCLGdOQ1RsQyxpaUJBaUJBOzsyRkRSYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1COzhCQU03QixhQUFhO3NCQURaLEtBQUs7Z0JBR0csY0FBYztzQkFBdEIsS0FBSztnQkFHTiwyQkFBMkI7c0JBRDFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IFNlYXJjaENvbmZpZ0luZm8gfSBmcm9tICcuLi8uLi9tb2RlbC9zZWFyY2gtY29uZmlnLWluZm8nXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29jeC1zZWFyY2gtY29uZmlnJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1jb25maWcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtY29uZmlnLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaENvbmZpZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHNlYXJjaENvbmZpZ3M6IFNlYXJjaENvbmZpZ0luZm9bXSB8IFtdIHwgdW5kZWZpbmVkXG5cbiAgQElucHV0KCkgcGxhY2Vob2xkZXJLZXkgPSAnT0NYX1NFQVJDSF9IRUFERVIuT0NYX1NFQVJDSF9DT05GSUcuRFJPUERPV05fREVGQVVMVCdcblxuICBAT3V0cHV0KClcbiAgc2VsZWN0ZWRTZWFyY2hDb25maWdDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8U2VhcmNoQ29uZmlnSW5mbz4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBmb3JtR3JvdXA6IEZvcm1Hcm91cCB8IHVuZGVmaW5lZFxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgc2VhcmNoQ29uZmlnRm9ybTogbmV3IEZvcm1Db250cm9sPFNlYXJjaENvbmZpZ0luZm8gfCBudWxsPihudWxsKSxcbiAgICB9KVxuICB9XG5cbiAgb25TZWFyY2hDb25maWdDaGFuZ2UoZXZlbnQ6IHsgdmFsdWU6IFNlYXJjaENvbmZpZ0luZm8gfSkge1xuICAgIHRoaXMuc2VsZWN0ZWRTZWFyY2hDb25maWdDaGFuZ2VkPy5lbWl0KGV2ZW50LnZhbHVlKVxuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZm9ybUdyb3VwXCI+XG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgPGRpdiAqbmdJZj1cInNlYXJjaENvbmZpZ3MgIT09IHVuZGVmaW5lZFwiPlxuICAgICAgPGRpdiAqbmdJZj1cInNlYXJjaENvbmZpZ3MubGVuZ3RoID4gMFwiPlxuICAgICAgICA8cC1kcm9wZG93blxuICAgICAgICAgIGlkPVwic2VhcmNoQ29uZmlnXCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzZWFyY2hDb25maWdGb3JtXCJcbiAgICAgICAgICBbb3B0aW9uc109XCJzZWFyY2hDb25maWdzXCJcbiAgICAgICAgICBvcHRpb25MYWJlbD1cIm5hbWVcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlcktleSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3Nob3dDbGVhcl09XCJ0cnVlXCJcbiAgICAgICAgICAob25DaGFuZ2UpPVwib25TZWFyY2hDb25maWdDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID48L3AtZHJvcGRvd24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9kaXY+XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvbmZpZy1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY2VsZXJhdG9yL3NyYy9saWIvbW9kZWwvc2VhcmNoLWNvbmZpZy1pbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNlYXJjaENvbmZpZ0luZm8ge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xufVxuIl19
@@ -1,43 +0,0 @@
1
- import { Location } from '@angular/common';
2
- import { HttpClient } from '@angular/common/http';
3
- import { Injectable } from '@angular/core';
4
- import { BehaviorSubject, firstValueFrom } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common/http";
7
- export class AppConfigService {
8
- constructor(http) {
9
- this.http = http;
10
- this.config$ = new BehaviorSubject({});
11
- }
12
- init(baseUrl) {
13
- return new Promise((resolve, reject) => {
14
- const loadConfigPromise = firstValueFrom(this.http.get(Location.joinWithSlash(baseUrl, 'assets/env.json')));
15
- loadConfigPromise
16
- .then(async (config) => {
17
- if (config) {
18
- this.config$.next(config);
19
- resolve();
20
- }
21
- })
22
- .catch((e) => {
23
- console.log(`Failed to load env configuration`);
24
- reject(e);
25
- });
26
- });
27
- }
28
- getProperty(key) {
29
- return this.config$.getValue()?.[key];
30
- }
31
- setProperty(key, val) {
32
- this.config$.next({ ...this.config$.value, [key]: val });
33
- }
34
- getConfig() {
35
- return this.config$.getValue();
36
- }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AppConfigService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
38
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AppConfigService }); }
39
- }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AppConfigService, decorators: [{
41
- type: Injectable
42
- }], ctorParameters: () => [{ type: i1.HttpClient }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY2VsZXJhdG9yL3NyYy9saWIvc2VydmljZXMvYXBwLWNvbmZpZy1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQTs7O0FBR3RELE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUZwQyxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQTRCLEVBQUUsQ0FBQyxDQUFBO0lBRXJCLENBQUM7SUFFakMsSUFBSSxDQUFDLE9BQWU7UUFDekIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxNQUFNLGlCQUFpQixHQUFvQixjQUFjLENBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFTLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDLENBQUMsQ0FDMUUsQ0FBQTtZQUVELGlCQUFpQjtpQkFDZCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUNyQixJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO29CQUN6QixPQUFPLEVBQUUsQ0FBQTtnQkFDWCxDQUFDO1lBQ0gsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQUMsQ0FBQTtnQkFDL0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ1gsQ0FBQyxDQUFDLENBQUE7UUFDTixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFTSxXQUFXLENBQUMsR0FBVztRQUM1QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN2QyxDQUFDO0lBRU0sV0FBVyxDQUFDLEdBQVcsRUFBRSxHQUFXO1FBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUE7SUFDMUQsQ0FBQztJQUVNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDaEMsQ0FBQzs4R0FuQ1UsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnQG9uZWN4L2ludGVncmF0aW9uLWludGVyZmFjZSdcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXBwQ29uZmlnU2VydmljZSB7XG4gIGNvbmZpZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0+KHt9KVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cblxuICBwdWJsaWMgaW5pdChiYXNlVXJsOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgbG9hZENvbmZpZ1Byb21pc2U6IFByb21pc2U8Q29uZmlnPiA9IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICB0aGlzLmh0dHAuZ2V0PENvbmZpZz4oTG9jYXRpb24uam9pbldpdGhTbGFzaChiYXNlVXJsLCAnYXNzZXRzL2Vudi5qc29uJykpXG4gICAgICApXG5cbiAgICAgIGxvYWRDb25maWdQcm9taXNlXG4gICAgICAgIC50aGVuKGFzeW5jIChjb25maWcpID0+IHtcbiAgICAgICAgICBpZiAoY29uZmlnKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZyQubmV4dChjb25maWcpXG4gICAgICAgICAgICByZXNvbHZlKClcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZSkgPT4ge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBGYWlsZWQgdG8gbG9hZCBlbnYgY29uZmlndXJhdGlvbmApXG4gICAgICAgICAgcmVqZWN0KGUpXG4gICAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIHB1YmxpYyBnZXRQcm9wZXJ0eShrZXk6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnJC5nZXRWYWx1ZSgpPy5ba2V5XVxuICB9XG5cbiAgcHVibGljIHNldFByb3BlcnR5KGtleTogc3RyaW5nLCB2YWw6IHN0cmluZykge1xuICAgIHRoaXMuY29uZmlnJC5uZXh0KHsgLi4udGhpcy5jb25maWckLnZhbHVlLCBba2V5XTogdmFsIH0pXG4gIH1cblxuICBwdWJsaWMgZ2V0Q29uZmlnKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZyQuZ2V0VmFsdWUoKVxuICB9XG59XG4iXX0=
@@ -1,10 +0,0 @@
1
- import { ContentContainerComponentHarness } from '@angular/cdk/testing';
2
- import { PDropdownHarness } from '@onecx/angular-testing';
3
- export class SearchConfigHarness extends ContentContainerComponentHarness {
4
- constructor() {
5
- super(...arguments);
6
- this.getSearchConfigDropdown = this.locatorForOptional(PDropdownHarness.with({ id: 'searchConfig' }));
7
- }
8
- static { this.hostSelector = 'ocx-search-config'; }
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvbmZpZy5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY2VsZXJhdG9yL3Rlc3Rpbmcvc2VhcmNoLWNvbmZpZy5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBRXpELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxnQ0FBZ0M7SUFBekU7O1FBR0UsNEJBQXVCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDbEcsQ0FBQzthQUhRLGlCQUFZLEdBQUcsbUJBQW1CLEFBQXRCLENBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGVudENvbnRhaW5lckNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZydcbmltcG9ydCB7IFBEcm9wZG93bkhhcm5lc3MgfSBmcm9tICdAb25lY3gvYW5ndWxhci10ZXN0aW5nJ1xuXG5leHBvcnQgY2xhc3MgU2VhcmNoQ29uZmlnSGFybmVzcyBleHRlbmRzIENvbnRlbnRDb250YWluZXJDb21wb25lbnRIYXJuZXNzIHtcbiAgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdvY3gtc2VhcmNoLWNvbmZpZydcblxuICBnZXRTZWFyY2hDb25maWdEcm9wZG93biA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFBEcm9wZG93bkhhcm5lc3Mud2l0aCh7IGlkOiAnc2VhcmNoQ29uZmlnJyB9KSlcbn1cbiJdfQ==
@@ -1,16 +0,0 @@
1
- import { EventEmitter, OnInit } from '@angular/core';
2
- import { FormGroup } from '@angular/forms';
3
- import { SearchConfigInfo } from '../../model/search-config-info';
4
- import * as i0 from "@angular/core";
5
- export declare class SearchConfigComponent implements OnInit {
6
- searchConfigs: SearchConfigInfo[] | [] | undefined;
7
- placeholderKey: string;
8
- selectedSearchConfigChanged: EventEmitter<SearchConfigInfo>;
9
- formGroup: FormGroup | undefined;
10
- ngOnInit(): void;
11
- onSearchConfigChange(event: {
12
- value: SearchConfigInfo;
13
- }): void;
14
- static ɵfac: i0.ɵɵFactoryDeclaration<SearchConfigComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<SearchConfigComponent, "ocx-search-config", never, { "searchConfigs": { "alias": "searchConfigs"; "required": false; }; "placeholderKey": { "alias": "placeholderKey"; "required": false; }; }, { "selectedSearchConfigChanged": "selectedSearchConfigChanged"; }, never, never, false, never>;
16
- }
@@ -1,4 +0,0 @@
1
- export interface SearchConfigInfo {
2
- id: string;
3
- name: string;
4
- }
@@ -1,18 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export declare class AppConfigService {
5
- private http;
6
- config$: BehaviorSubject<{
7
- [key: string]: string;
8
- }>;
9
- constructor(http: HttpClient);
10
- init(baseUrl: string): Promise<void>;
11
- getProperty(key: string): string | undefined;
12
- setProperty(key: string, val: string): void;
13
- getConfig(): {
14
- [key: string]: string;
15
- };
16
- static ɵfac: i0.ɵɵFactoryDeclaration<AppConfigService, never>;
17
- static ɵprov: i0.ɵɵInjectableDeclaration<AppConfigService>;
18
- }
@@ -1,6 +0,0 @@
1
- import { ContentContainerComponentHarness } from '@angular/cdk/testing';
2
- import { PDropdownHarness } from '@onecx/angular-testing';
3
- export declare class SearchConfigHarness extends ContentContainerComponentHarness {
4
- static hostSelector: string;
5
- getSearchConfigDropdown: import("@onecx/angular-testing").AsyncFactoryFn<PDropdownHarness | null>;
6
- }