@onecx/angular-accelerator 6.0.0-rc.14 → 6.0.0-rc.16

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 (26) hide show
  1. package/fesm2022/onecx-angular-accelerator-testing.mjs +2 -36
  2. package/fesm2022/onecx-angular-accelerator-testing.mjs.map +1 -1
  3. package/fesm2022/onecx-angular-accelerator.mjs +13 -547
  4. package/fesm2022/onecx-angular-accelerator.mjs.map +1 -1
  5. package/index.d.ts +1 -13
  6. package/lib/angular-accelerator.module.d.ts +27 -30
  7. package/lib/components/data-table/data-table.component.d.ts +1 -3
  8. package/lib/components/filter-view/filter-view.component.d.ts +1 -3
  9. package/lib/utils/dateutils.d.ts +0 -4
  10. package/package.json +8 -8
  11. package/testing/index.d.ts +0 -1
  12. package/lib/components/button-dialog/button-dialog.component.d.ts +0 -47
  13. package/lib/components/data-loading-error/data-loading-error.component.d.ts +0 -8
  14. package/lib/components/portal-page/portal-page.component.d.ts +0 -19
  15. package/lib/injection-tokens/has-permission-checker.d.ts +0 -13
  16. package/lib/services/translation-cache.service.d.ts +0 -19
  17. package/lib/services/translation-connection.service.d.ts +0 -10
  18. package/lib/utils/async-translate-loader.utils.d.ts +0 -12
  19. package/lib/utils/caching-translate-loader.utils.d.ts +0 -16
  20. package/lib/utils/create-remote-component-and-mfe-translate-loader.utils.d.ts +0 -6
  21. package/lib/utils/create-remote-component-translate-loader.utils.d.ts +0 -5
  22. package/lib/utils/create-translate-loader.utils.d.ts +0 -8
  23. package/lib/utils/provide-connection-service.d.ts +0 -6
  24. package/lib/utils/translate.combined.loader.d.ts +0 -12
  25. package/testing/button-dialog.harness.d.ts +0 -17
  26. /package/lib/components/{button-dialog → dialog}/dialog-message-content/dialog-message-content.component.d.ts +0 -0
@@ -1,15 +1,14 @@
1
- import { HAS_PERMISSION_CHECKER, SKIP_STYLE_SCOPING, getScopeIdentifier, dataStyleIdKey, dataNoPortalLayoutStylesKey, providePermissionChecker, TRANSLATION_PATH } from '@onecx/angular-utils';
2
- export { AlwaysGrantPermissionChecker, HAS_PERMISSION_CHECKER } from '@onecx/angular-utils';
3
1
  import * as i0 from '@angular/core';
4
- import { inject, ElementRef, Input, Directive, Renderer2, ViewContainerRef, TemplateRef, HostListener, EventEmitter, Output, Injectable, Injector, LOCALE_ID, Pipe, ContentChild, ViewEncapsulation, Component, ViewChild, ContentChildren, NgZone, ChangeDetectorRef, ViewChildren, QueryList, isDevMode, Type, NgModule, ENVIRONMENT_INITIALIZER, APP_INITIALIZER } from '@angular/core';
2
+ import { inject, ElementRef, Input, Directive, Renderer2, ViewContainerRef, TemplateRef, HostListener, EventEmitter, Output, Injectable, Injector, LOCALE_ID, Pipe, ContentChild, ViewEncapsulation, Component, ViewChild, ContentChildren, NgZone, ChangeDetectorRef, ViewChildren, QueryList, isDevMode, Type, NgModule, APP_INITIALIZER } from '@angular/core';
5
3
  import { UserService, AppStateService, ConfigurationService, CONFIG_KEY, ShellCapabilityService, Capability, AppConfigService } from '@onecx/angular-integration-interface';
4
+ import { HAS_PERMISSION_CHECKER, SKIP_STYLE_SCOPING, getScopeIdentifier, dataStyleIdKey, dataNoPortalLayoutStylesKey, providePermissionChecker, TRANSLATION_PATH, provideTranslationConnectionService } from '@onecx/angular-utils';
6
5
  import { HttpClient } from '@angular/common/http';
7
6
  import * as i3 from '@angular/forms';
8
7
  import { FormGroupDirective, FormControlName, FormsModule, ReactiveFormsModule } from '@angular/forms';
9
- import { BehaviorSubject, map, filter, concat, of, from, combineLatest, startWith, debounceTime, mergeMap, first, forkJoin, shareReplay, switchMap, toArray, withLatestFrom, ReplaySubject, timestamp, distinctUntilChanged, isObservable, tap, firstValueFrom, skip, defaultIfEmpty, catchError } from 'rxjs';
10
- import { SyncableTopic, getLocation, isValidDate as isValidDate$1, getUTCDateWithoutTimezoneIssues } from '@onecx/accelerator';
8
+ import { BehaviorSubject, map, filter, concat, of, from, combineLatest, startWith, debounceTime, mergeMap, first, forkJoin, shareReplay, switchMap, toArray, withLatestFrom, ReplaySubject, timestamp, distinctUntilChanged, isObservable, firstValueFrom, skip } from 'rxjs';
9
+ import { SyncableTopic, getLocation, isValidDate, getUTCDateWithoutTimezoneIssues } from '@onecx/accelerator';
11
10
  import * as i1 from '@angular/common';
12
- import { DatePipe, DecimalPipe, CurrencyPipe, formatDate, CommonModule, Location } from '@angular/common';
11
+ import { DatePipe, DecimalPipe, CurrencyPipe, formatDate, CommonModule } from '@angular/common';
13
12
  import * as i2$1 from 'primeng/button';
14
13
  import { ButtonModule } from 'primeng/button';
15
14
  import * as i5 from 'primeng/skeleton';
@@ -64,12 +63,6 @@ import { TimelineModule } from 'primeng/timeline';
64
63
  import { DynamicDialogConfig, DynamicDialogRef, DialogService } from 'primeng/dynamicdialog';
65
64
  import { EventsTopic } from '@onecx/integration-interface';
66
65
  import { providePrimeNG } from 'primeng/config';
67
- import { TranslateHttpLoader } from '@ngx-translate/http-loader';
68
-
69
- /**
70
- * This checker always returns true, basically disabling the permission system on the UI side
71
- * @deprecated Please import from `@onecx/angular-utils` instead.
72
- */
73
66
 
74
67
  class OcxContentContainerDirective {
75
68
  constructor() {
@@ -2894,7 +2887,9 @@ class DataTableComponent extends DataSortBase {
2894
2887
  .filter((filter) => filter.columnId === currentFilterColumn?.id &&
2895
2888
  (!currentFilterColumn.filterType || currentFilterColumn.filterType === FilterType.EQUALS))
2896
2889
  .map((filter) => filter.value);
2897
- const columnValues = rows.map((row) => row[currentFilterColumn?.id]);
2890
+ const columnValues = rows
2891
+ .map((row) => row[currentFilterColumn?.id])
2892
+ .filter((value) => value !== null && value !== undefined && value !== '');
2898
2893
  if (currentFilterColumn.columnType === ColumnType.DATE) {
2899
2894
  return of({
2900
2895
  options: columnValues.map((c) => ({
@@ -2911,7 +2906,7 @@ class DataTableComponent extends DataSortBase {
2911
2906
  return translateObservable.pipe(map((translatedValues) => {
2912
2907
  return Object.values(translatedValues)
2913
2908
  .concat(currentFilters)
2914
- .filter((value, index, self) => self.indexOf(value) === index && value != null)
2909
+ .filter((value, index, self) => self.indexOf(value) === index && value !== null && value !== '')
2915
2910
  .map((filterOption) => ({
2916
2911
  label: filterOption,
2917
2912
  value: filterOption,
@@ -3150,7 +3145,7 @@ class DataTableComponent extends DataSortBase {
3150
3145
  return true;
3151
3146
  }
3152
3147
  const d = new Date(value);
3153
- return isValidDate$1(d);
3148
+ return isValidDate(d);
3154
3149
  }
3155
3150
  getColumnTypeTemplate(templates, columnType, templateType) {
3156
3151
  let template;
@@ -5366,32 +5361,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
5366
5361
  type: Input
5367
5362
  }] } });
5368
5363
 
5369
- /**
5370
- * Show this data not found page component if the main entity of a page could not be loaded.
5371
- */
5372
- class DataLoadingErrorComponent {
5373
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DataLoadingErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5374
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DataLoadingErrorComponent, isStandalone: false, selector: "ocx-data-loading-error", ngImport: i0, template: `<div class="p-4">
5375
- <h1>{{ 'OCX_DATA_LOADING_ERROR.TITLE' | translate }}</h1>
5376
- <div style="white-space: pre-line">
5377
- {{ 'OCX_DATA_LOADING_ERROR.MESSAGE' | translate }}
5378
- </div>
5379
- </div> `, isInline: true, dependencies: [{ kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
5380
- }
5381
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DataLoadingErrorComponent, decorators: [{
5382
- type: Component,
5383
- args: [{
5384
- standalone: false,
5385
- selector: 'ocx-data-loading-error',
5386
- template: `<div class="p-4">
5387
- <h1>{{ 'OCX_DATA_LOADING_ERROR.TITLE' | translate }}</h1>
5388
- <div style="white-space: pre-line">
5389
- {{ 'OCX_DATA_LOADING_ERROR.MESSAGE' | translate }}
5390
- </div>
5391
- </div> `,
5392
- }]
5393
- }] });
5394
-
5395
5364
  class DialogMessageContentComponent {
5396
5365
  constructor() {
5397
5366
  this.message = 'message';
@@ -5412,245 +5381,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
5412
5381
  type: Input
5413
5382
  }] } });
5414
5383
 
5415
- class ButtonDialogComponent {
5416
- constructor() {
5417
- this.dynamicDialogConfig = inject(DynamicDialogConfig);
5418
- this.dynamicDialogRef = inject(DynamicDialogRef);
5419
- this.defaultPrimaryButtonDetails = {
5420
- key: 'OCX_BUTTON_DIALOG.CONFIRM',
5421
- };
5422
- this.defaultSecondaryButtonDetails = {
5423
- key: 'OCX_BUTTON_DIALOG.CANCEL',
5424
- };
5425
- this.defaultDialogData = {
5426
- component: DialogMessageContentComponent,
5427
- config: {
5428
- primaryButtonDetails: this.defaultPrimaryButtonDetails,
5429
- secondaryButtonIncluded: true,
5430
- secondaryButtonDetails: this.defaultSecondaryButtonDetails,
5431
- },
5432
- componentData: {},
5433
- };
5434
- this.config = {};
5435
- this.resultEmitter = new EventEmitter();
5436
- this.dialogData = this.defaultDialogData;
5437
- this.customButtonsDisabled$ = new BehaviorSubject({});
5438
- this.leftCustomButtons = [];
5439
- this.rightCustomButtons = [];
5440
- }
5441
- set secondaryButton(content) {
5442
- if (content) {
5443
- this._secondaryButton = content;
5444
- }
5445
- }
5446
- get secondaryButton() {
5447
- return this._secondaryButton;
5448
- }
5449
- ngAfterViewInit() {
5450
- if (this.dialogData.config.autoFocusButton === 'primary' || !this.dialogData.config.autoFocusButton) {
5451
- this.primaryButton.element.nativeElement.focus();
5452
- }
5453
- else if (this.dialogData.config.autoFocusButton === 'secondary') {
5454
- this.secondaryButton.element.nativeElement.focus();
5455
- }
5456
- else if (this.dialogData.config.autoFocusButton === 'custom') {
5457
- const button = this.customButtons.find((customButton) => {
5458
- return customButton.nativeElement.id === this.dialogData.config.autoFocusButtonCustomId;
5459
- });
5460
- setTimeout(() => {
5461
- button?.nativeElement.focus();
5462
- });
5463
- }
5464
- }
5465
- ngOnInit() {
5466
- this.loadComponent();
5467
- }
5468
- primaryButtonAction() {
5469
- return this.buttonAction('primary');
5470
- }
5471
- secondaryButtonAction() {
5472
- return this.buttonAction('secondary');
5473
- }
5474
- customButtonAction(button) {
5475
- return this.buttonAction(`custom`, button.id);
5476
- }
5477
- resolveCustomButtonDisabled(customButtonsDisabled, buttonId) {
5478
- return buttonId in customButtonsDisabled ? customButtonsDisabled[buttonId] : true;
5479
- }
5480
- loadComponent() {
5481
- if (this.dynamicDialogConfig.data) {
5482
- this.setUpDialogDataForDynamicConfig();
5483
- }
5484
- else {
5485
- this.setUpDialogDataForInput();
5486
- }
5487
- }
5488
- setUpDialogDataForDynamicConfig() {
5489
- const dynamicConfigData = this.dynamicDialogConfig.data;
5490
- if (dynamicConfigData.config) {
5491
- const dialogConfig = dynamicConfigData.config;
5492
- if (!!dialogConfig.primaryButtonDetails && !!dialogConfig.primaryButtonDetails.key) {
5493
- this.dialogData.config.primaryButtonDetails = dialogConfig.primaryButtonDetails;
5494
- }
5495
- if (dialogConfig.secondaryButtonIncluded !== undefined) {
5496
- this.dialogData.config.secondaryButtonIncluded = dialogConfig.secondaryButtonIncluded;
5497
- }
5498
- if (!!dialogConfig.secondaryButtonDetails && !!dialogConfig.secondaryButtonDetails.key) {
5499
- this.dialogData.config.secondaryButtonDetails = dialogConfig.secondaryButtonDetails;
5500
- }
5501
- this.dialogData.config.autoFocusButton = dialogConfig.autoFocusButton;
5502
- this.dialogData.config.autoFocusButtonCustomId = dialogConfig.autoFocusButtonCustomId;
5503
- }
5504
- if (dynamicConfigData.component) {
5505
- this.dialogData.component = dynamicConfigData.component;
5506
- }
5507
- if (dynamicConfigData.componentData) {
5508
- this.dialogData.componentData = dynamicConfigData.componentData;
5509
- }
5510
- this.setupCustomButtons(dynamicConfigData);
5511
- const viewContainerRef = this.dialogHost;
5512
- viewContainerRef.clear();
5513
- if (this.dialogData.component) {
5514
- const componentRef = viewContainerRef.createComponent(this.dialogData.component);
5515
- if (this.isDialogPrimaryButtonDisabledImplemented(componentRef.instance)) {
5516
- this.primaryButtonDisabled$ = componentRef.instance.primaryButtonEnabled.pipe(startWith(false), map((isEnabled) => !isEnabled));
5517
- }
5518
- if (this.isDialogSecondaryButtonDisabledImplemented(componentRef.instance)) {
5519
- this.secondaryButtonDisabled$ = componentRef.instance.secondaryButtonEnabled.pipe(startWith(false), map((isEnabled) => !isEnabled));
5520
- }
5521
- if (this.isDialogCustomButtonDisabledImplemented(componentRef.instance)) {
5522
- const initCustomButtons = {};
5523
- this.rightCustomButtons.concat(this.leftCustomButtons).map((button) => {
5524
- initCustomButtons[button.id] = true;
5525
- });
5526
- this.customButtonsDisabled$.next(initCustomButtons);
5527
- componentRef.instance.customButtonEnabled
5528
- .pipe(withLatestFrom(this.customButtonsDisabled$), map(([buttonEnabled, customButtonsDisabled]) => {
5529
- if (customButtonsDisabled[buttonEnabled.id] !== !buttonEnabled.enabled) {
5530
- customButtonsDisabled[buttonEnabled.id] = !buttonEnabled.enabled;
5531
- }
5532
- return customButtonsDisabled;
5533
- }))
5534
- .subscribe(this.customButtonsDisabled$);
5535
- }
5536
- //populate container
5537
- Object.keys(this.dialogData.componentData).forEach((k) => {
5538
- componentRef.setInput(k, this.dialogData.componentData[k]);
5539
- });
5540
- this.componentRef = componentRef;
5541
- }
5542
- }
5543
- setUpDialogDataForInput() {
5544
- this.dialogData.component = undefined;
5545
- this.dialogData.componentData = undefined;
5546
- if (this.config) {
5547
- if (!!this.config.primaryButtonDetails && !!this.config.primaryButtonDetails.key) {
5548
- this.dialogData.config.primaryButtonDetails = this.config.primaryButtonDetails;
5549
- }
5550
- if (this.config.secondaryButtonIncluded) {
5551
- this.dialogData.config.secondaryButtonIncluded = this.config.secondaryButtonIncluded;
5552
- }
5553
- if (!!this.config.secondaryButtonDetails && !!this.config.secondaryButtonDetails.key) {
5554
- this.dialogData.config.secondaryButtonDetails = this.config.secondaryButtonDetails;
5555
- }
5556
- }
5557
- this.dialogData.config.customButtons = this.config.customButtons;
5558
- this.setupCustomButtons(this.dialogData);
5559
- }
5560
- buttonAction(resultButtonClickedName, buttonId) {
5561
- if (!this.componentRef) {
5562
- this.resultEmitter.emit(resultButtonClickedName);
5563
- return;
5564
- }
5565
- const state = {
5566
- button: resultButtonClickedName,
5567
- result: undefined,
5568
- id: buttonId,
5569
- };
5570
- this.resolveButtonClick(state);
5571
- }
5572
- setupCustomButtons(dialogData) {
5573
- this.leftCustomButtons = dialogData.config.customButtons?.filter((button) => button.alignment === 'left') ?? [];
5574
- this.rightCustomButtons = dialogData.config.customButtons?.filter((button) => button.alignment === 'right') ?? [];
5575
- }
5576
- resolveButtonClick(state) {
5577
- const component = this.componentRef.instance;
5578
- const hasDialogResult = this.isDialogResultImplemented(component);
5579
- if (hasDialogResult) {
5580
- state.result = component.dialogResult;
5581
- }
5582
- const closeResult = state;
5583
- // check if component implements DialogButtonClicked
5584
- if (this.isDialogButtonClickedImplemented(component)) {
5585
- const buttonResult = component.ocxDialogButtonClicked(state);
5586
- // If undefined or void is returned, close dialog and return result
5587
- if (buttonResult === undefined) {
5588
- if (hasDialogResult) {
5589
- closeResult.result = component.dialogResult;
5590
- }
5591
- return this.dynamicDialogRef.close(closeResult);
5592
- }
5593
- this.toObservable(buttonResult).subscribe((result) => {
5594
- if (result === true) {
5595
- if (hasDialogResult) {
5596
- closeResult.result = component.dialogResult;
5597
- }
5598
- this.dynamicDialogRef.close(closeResult);
5599
- }
5600
- });
5601
- }
5602
- else {
5603
- return this.dynamicDialogRef.close(closeResult);
5604
- }
5605
- }
5606
- toObservable(ocxDialogButtonClickedResult) {
5607
- if (ocxDialogButtonClickedResult === undefined) {
5608
- return of(true);
5609
- }
5610
- if (isObservable(ocxDialogButtonClickedResult)) {
5611
- return ocxDialogButtonClickedResult;
5612
- }
5613
- return from(Promise.resolve(ocxDialogButtonClickedResult));
5614
- }
5615
- isDialogResultImplemented(component) {
5616
- return 'dialogResult' in component;
5617
- }
5618
- isDialogButtonClickedImplemented(component) {
5619
- return typeof component.ocxDialogButtonClicked === 'function';
5620
- }
5621
- isDialogPrimaryButtonDisabledImplemented(component) {
5622
- return 'primaryButtonEnabled' in component;
5623
- }
5624
- isDialogSecondaryButtonDisabledImplemented(component) {
5625
- return 'secondaryButtonEnabled' in component;
5626
- }
5627
- isDialogCustomButtonDisabledImplemented(component) {
5628
- return 'customButtonEnabled' in component;
5629
- }
5630
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ButtonDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5631
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: ButtonDialogComponent, isStandalone: false, selector: "ocx-button-dialog", inputs: { config: "config" }, outputs: { resultEmitter: "resultEmitter" }, viewQueries: [{ propertyName: "dialogHost", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "primaryButton", first: true, predicate: ["primaryButton"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "secondaryButton", first: true, predicate: ["secondaryButton"], descendants: true, read: ViewContainerRef }, { propertyName: "customButtons", predicate: ["customButton"], descendants: true }], ngImport: i0, template: "<div>\n <div class=\"buttonDialogScrollableContent\">\n <ng-container #container></ng-container>\n <ng-content></ng-content>\n </div>\n <div class=\"w-full flex-row justify-content-end flex flex-wrap gap-2\">\n @for (button of leftCustomButtons; track button; let i = $index) {\n <div [ngStyle]=\"{'margin-right': (i === leftCustomButtons.length - 1) ? 'auto' : 0}\">\n <ng-container *ngTemplateOutlet=\"customButtonTemplate; context: {button: button}\"> </ng-container>\n </div>\n }\n @for (button of rightCustomButtons; track button) {\n <div>\n <ng-container *ngTemplateOutlet=\"customButtonTemplate; context: {button: button}\"> </ng-container>\n </div>\n }\n <div>\n @if (dialogData.config.secondaryButtonIncluded) {\n <button\n #secondaryButton\n id=\"{{dialogData.config.secondaryButtonDetails?.id ?? 'buttonDialogSecondaryButton'}}\"\n pButton\n [icon]=\"dialogData.config.secondaryButtonDetails!.icon !== undefined ? dialogData.config.secondaryButtonDetails!.icon : ''\"\n (click)=\"secondaryButtonAction()\"\n [label]=\"dialogData.config.secondaryButtonDetails!.key | translate:dialogData.config.secondaryButtonDetails?.parameters\"\n [disabled]=\"secondaryButtonDisabled$ | async\"\n [pTooltip]=\"dialogData.config.secondaryButtonDetails!.tooltipKey ? (dialogData.config.secondaryButtonDetails!.tooltipKey | translate) : null\"\n [tooltipPosition]=\"dialogData.config.secondaryButtonDetails?.tooltipPosition ?? ''\"\n [attr.aria-label]=\"dialogData.config.secondaryButtonDetails!.key | translate:dialogData.config.secondaryButtonDetails?.parameters\"\n ></button>\n }\n </div>\n <div>\n <button\n #primaryButton\n id=\"{{dialogData.config.primaryButtonDetails?.id ?? 'buttonDialogPrimaryButton'}}\"\n pButton\n [icon]=\"dialogData.config.primaryButtonDetails!.icon !== undefined ? dialogData.config.primaryButtonDetails!.icon : ''\"\n (click)=\"primaryButtonAction()\"\n [label]=\"dialogData.config.primaryButtonDetails!.key | translate:dialogData.config.primaryButtonDetails?.parameters\"\n [disabled]=\"primaryButtonDisabled$ | async\"\n [pTooltip]=\"dialogData.config.primaryButtonDetails!.tooltipKey ? (dialogData.config.primaryButtonDetails!.tooltipKey | translate) : null\"\n [tooltipPosition]=\"dialogData.config.primaryButtonDetails?.tooltipPosition ?? ''\"\n [attr.aria-label]=\"dialogData.config.primaryButtonDetails!.key | translate:dialogData.config.primaryButtonDetails?.parameters\"\n ></button>\n </div>\n </div>\n</div>\n\n<ng-template #customButtonTemplate let-button=\"button\">\n <button\n #customButton\n id=\"{{button.id}}\"\n pButton\n [icon]=\"button.icon !== undefined ? button.icon : ''\"\n (click)=\"customButtonAction(button)\"\n [label]=\"button.key | translate:button.parameters\"\n [disabled]=\"resolveCustomButtonDisabled((customButtonsDisabled$ | async) ?? {}, button.id)\"\n [pTooltip]=\"button.tooltipKey ? (button.tooltipKey | translate) : null\"\n [tooltipPosition]=\"button.tooltipPosition ?? ''\"\n [attr.aria-label]=\"button.key | translate:button.parameters\"\n ></button>\n</ng-template>\n", styles: [".buttonDialogScrollableContent{overflow:auto;max-height:500px;margin-bottom:20px}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "directive", type: i4$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
5632
- }
5633
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ButtonDialogComponent, decorators: [{
5634
- type: Component,
5635
- args: [{ standalone: false, selector: 'ocx-button-dialog', template: "<div>\n <div class=\"buttonDialogScrollableContent\">\n <ng-container #container></ng-container>\n <ng-content></ng-content>\n </div>\n <div class=\"w-full flex-row justify-content-end flex flex-wrap gap-2\">\n @for (button of leftCustomButtons; track button; let i = $index) {\n <div [ngStyle]=\"{'margin-right': (i === leftCustomButtons.length - 1) ? 'auto' : 0}\">\n <ng-container *ngTemplateOutlet=\"customButtonTemplate; context: {button: button}\"> </ng-container>\n </div>\n }\n @for (button of rightCustomButtons; track button) {\n <div>\n <ng-container *ngTemplateOutlet=\"customButtonTemplate; context: {button: button}\"> </ng-container>\n </div>\n }\n <div>\n @if (dialogData.config.secondaryButtonIncluded) {\n <button\n #secondaryButton\n id=\"{{dialogData.config.secondaryButtonDetails?.id ?? 'buttonDialogSecondaryButton'}}\"\n pButton\n [icon]=\"dialogData.config.secondaryButtonDetails!.icon !== undefined ? dialogData.config.secondaryButtonDetails!.icon : ''\"\n (click)=\"secondaryButtonAction()\"\n [label]=\"dialogData.config.secondaryButtonDetails!.key | translate:dialogData.config.secondaryButtonDetails?.parameters\"\n [disabled]=\"secondaryButtonDisabled$ | async\"\n [pTooltip]=\"dialogData.config.secondaryButtonDetails!.tooltipKey ? (dialogData.config.secondaryButtonDetails!.tooltipKey | translate) : null\"\n [tooltipPosition]=\"dialogData.config.secondaryButtonDetails?.tooltipPosition ?? ''\"\n [attr.aria-label]=\"dialogData.config.secondaryButtonDetails!.key | translate:dialogData.config.secondaryButtonDetails?.parameters\"\n ></button>\n }\n </div>\n <div>\n <button\n #primaryButton\n id=\"{{dialogData.config.primaryButtonDetails?.id ?? 'buttonDialogPrimaryButton'}}\"\n pButton\n [icon]=\"dialogData.config.primaryButtonDetails!.icon !== undefined ? dialogData.config.primaryButtonDetails!.icon : ''\"\n (click)=\"primaryButtonAction()\"\n [label]=\"dialogData.config.primaryButtonDetails!.key | translate:dialogData.config.primaryButtonDetails?.parameters\"\n [disabled]=\"primaryButtonDisabled$ | async\"\n [pTooltip]=\"dialogData.config.primaryButtonDetails!.tooltipKey ? (dialogData.config.primaryButtonDetails!.tooltipKey | translate) : null\"\n [tooltipPosition]=\"dialogData.config.primaryButtonDetails?.tooltipPosition ?? ''\"\n [attr.aria-label]=\"dialogData.config.primaryButtonDetails!.key | translate:dialogData.config.primaryButtonDetails?.parameters\"\n ></button>\n </div>\n </div>\n</div>\n\n<ng-template #customButtonTemplate let-button=\"button\">\n <button\n #customButton\n id=\"{{button.id}}\"\n pButton\n [icon]=\"button.icon !== undefined ? button.icon : ''\"\n (click)=\"customButtonAction(button)\"\n [label]=\"button.key | translate:button.parameters\"\n [disabled]=\"resolveCustomButtonDisabled((customButtonsDisabled$ | async) ?? {}, button.id)\"\n [pTooltip]=\"button.tooltipKey ? (button.tooltipKey | translate) : null\"\n [tooltipPosition]=\"button.tooltipPosition ?? ''\"\n [attr.aria-label]=\"button.key | translate:button.parameters\"\n ></button>\n</ng-template>\n", styles: [".buttonDialogScrollableContent{overflow:auto;max-height:500px;margin-bottom:20px}\n"] }]
5636
- }], propDecorators: { config: [{
5637
- type: Input
5638
- }], resultEmitter: [{
5639
- type: Output
5640
- }], dialogHost: [{
5641
- type: ViewChild,
5642
- args: ['container', { static: true, read: ViewContainerRef }]
5643
- }], primaryButton: [{
5644
- type: ViewChild,
5645
- args: ['primaryButton', { static: true, read: ViewContainerRef }]
5646
- }], secondaryButton: [{
5647
- type: ViewChild,
5648
- args: ['secondaryButton', { static: false, read: ViewContainerRef }]
5649
- }], customButtons: [{
5650
- type: ViewChildren,
5651
- args: ['customButton']
5652
- }] } });
5653
-
5654
5384
  class DialogContentComponent {
5655
5385
  constructor() {
5656
5386
  this.dynamicDialogConfig = inject(DynamicDialogConfig);
@@ -5956,65 +5686,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
5956
5686
  type: Output
5957
5687
  }] } });
5958
5688
 
5959
- class PortalPageComponent {
5960
- constructor() {
5961
- this.appState = inject(AppStateService);
5962
- this.userService = inject(UserService);
5963
- this.hasPermissionChecker = inject(HAS_PERMISSION_CHECKER, { optional: true });
5964
- this.permission = '';
5965
- this.helpArticleId = '';
5966
- this.pageName = '';
5967
- this.applicationId = '';
5968
- this.collapsed = false;
5969
- }
5970
- hasAccess() {
5971
- if (this.cachedHasPermissionChecker$) {
5972
- return this.cachedHasPermissionChecker$;
5973
- }
5974
- if (this.cachedUserService$) {
5975
- return this.cachedUserService$;
5976
- }
5977
- if (this.hasPermissionChecker) {
5978
- const hasPermissionChecker$ = this.permission
5979
- ? from(this.hasPermissionChecker.hasPermission(this.permission))
5980
- : from(Promise.resolve(true));
5981
- this.cachedHasPermissionChecker$ = hasPermissionChecker$.pipe(shareReplay(1));
5982
- return this.cachedHasPermissionChecker$;
5983
- }
5984
- const userServiceHasPermission$ = this.permission
5985
- ? from(this.userService.hasPermission(this.permission))
5986
- : from(Promise.resolve(true));
5987
- this.cachedUserService$ = userServiceHasPermission$.pipe(shareReplay(1));
5988
- return this.cachedUserService$;
5989
- }
5990
- ngOnInit() {
5991
- if (!this.helpArticleId) {
5992
- console.warn(`ocx-portal-page on url ${location.pathname} does not have 'helpArticleId' set. Set to some unique string in order to support help management feature.`);
5993
- }
5994
- this.appState.currentPage$.publish({
5995
- path: document.location.pathname,
5996
- helpArticleId: this.helpArticleId,
5997
- permission: this.permission,
5998
- pageName: this.pageName,
5999
- applicationId: this.applicationId,
6000
- });
6001
- }
6002
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PortalPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6003
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: PortalPageComponent, isStandalone: false, selector: "ocx-portal-page", inputs: { permission: "permission", helpArticleId: "helpArticleId", pageName: "pageName", applicationId: "applicationId" }, ngImport: i0, template: "<div class=\"content-wrapper\">\n @if (hasAccess() | async) {\n <ng-content></ng-content>\n } @else {\n <h3>{{'OCX_PORTAL_PAGE.UNAUTHORIZED_TITLE' | translate}}</h3>\n <p>\n {{'OCX_PORTAL_PAGE.UNAUTHORIZED_MESSAGE' | translate}}\n <span>{{'OCX_PORTAL_PAGE.MISSING_PERMISSION' | translate : {permission: permission} }}</span>\n </p>\n }\n</div>\n", styles: [":host{display:block;padding:var(--page-padding, 1rem)}@media (max-width: var(--mobile-break-point)){:host{padding:var(--page-padding-lg, 1rem);padding-top:var(--page-padding, 1rem)}}.content-wrapper{width:100%}\n"], dependencies: [{ kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
6004
- }
6005
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PortalPageComponent, decorators: [{
6006
- type: Component,
6007
- args: [{ standalone: false, selector: 'ocx-portal-page', template: "<div class=\"content-wrapper\">\n @if (hasAccess() | async) {\n <ng-content></ng-content>\n } @else {\n <h3>{{'OCX_PORTAL_PAGE.UNAUTHORIZED_TITLE' | translate}}</h3>\n <p>\n {{'OCX_PORTAL_PAGE.UNAUTHORIZED_MESSAGE' | translate}}\n <span>{{'OCX_PORTAL_PAGE.MISSING_PERMISSION' | translate : {permission: permission} }}</span>\n </p>\n }\n</div>\n", styles: [":host{display:block;padding:var(--page-padding, 1rem)}@media (max-width: var(--mobile-break-point)){:host{padding:var(--page-padding-lg, 1rem);padding-top:var(--page-padding, 1rem)}}.content-wrapper{width:100%}\n"] }]
6008
- }], propDecorators: { permission: [{
6009
- type: Input
6010
- }], helpArticleId: [{
6011
- type: Input
6012
- }], pageName: [{
6013
- type: Input
6014
- }], applicationId: [{
6015
- type: Input
6016
- }] } });
6017
-
6018
5689
  class GlobalErrorComponent {
6019
5690
  constructor() {
6020
5691
  this.router = inject(Router);
@@ -6038,62 +5709,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
6038
5709
  type: Input
6039
5710
  }] } });
6040
5711
 
6041
- class TranslationConnectionService {
6042
- constructor() {
6043
- const userService = inject(UserService);
6044
- const translateService = inject(TranslateService);
6045
- this.languageSub = userService.lang$.subscribe((lang) => translateService.use(lang));
6046
- }
6047
- ngOnDestroy() {
6048
- this.languageSub.unsubscribe();
6049
- }
6050
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: TranslationConnectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6051
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: TranslationConnectionService }); }
6052
- }
6053
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: TranslationConnectionService, decorators: [{
6054
- type: Injectable
6055
- }], ctorParameters: () => [] });
6056
-
6057
- // This topic is defined here and not in integration-interface, because
6058
- // it is not used as framework independent integration but for improving
6059
- // angular specific things
6060
- class TranslationCacheTopic extends SyncableTopic {
6061
- constructor() {
6062
- super('translationCache', 2);
6063
- }
6064
- }
6065
- /**
6066
- * @deprecated Please import from `@onecx/angular-utils` instead.
6067
- */
6068
- class TranslationCacheService {
6069
- constructor() {
6070
- this.translationTopic$ = new TranslationCacheTopic();
6071
- window['onecxTranslations'] ??= {};
6072
- }
6073
- ngOnDestroy() {
6074
- this.translationTopic$.destroy();
6075
- }
6076
- getTranslationFile(url, cacheMissFunction) {
6077
- if (window['onecxTranslations'][url]) {
6078
- return of(window['onecxTranslations'][url]);
6079
- }
6080
- if (window['onecxTranslations'][url] === null) {
6081
- return this.translationTopic$.pipe(filter((messageUrl) => messageUrl === url), map(() => window['onecxTranslations'][url]), first());
6082
- }
6083
- window['onecxTranslations'][url] = null;
6084
- return cacheMissFunction().pipe(tap((t) => {
6085
- window['onecxTranslations'][url] = t;
6086
- this.translationTopic$.publish(url);
6087
- }), map(() => window['onecxTranslations'][url]), first());
6088
- }
6089
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: TranslationCacheService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6090
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: TranslationCacheService, providedIn: 'root' }); }
6091
- }
6092
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: TranslationCacheService, decorators: [{
6093
- type: Injectable,
6094
- args: [{ providedIn: 'root' }]
6095
- }], ctorParameters: () => [] });
6096
-
6097
5712
  class PortalDialogService {
6098
5713
  constructor() {
6099
5714
  this.dialogService = inject(DialogService);
@@ -6311,12 +5926,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
6311
5926
  providedIn: 'root',
6312
5927
  }]
6313
5928
  }] });
6314
- /**
6315
- * @deprecated Will be removed. Please use isValidDate() from @onecx/accelerator
6316
- */
6317
- function isValidDate(value) {
6318
- return value instanceof Date && !isNaN(value);
6319
- }
6320
5929
 
6321
5930
  class ExportDataService {
6322
5931
  constructor() {
@@ -6618,19 +6227,6 @@ class DynamicLocaleId {
6618
6227
  }
6619
6228
  }
6620
6229
 
6621
- function provideTranslationConnectionService() {
6622
- return [
6623
- {
6624
- provide: ENVIRONMENT_INITIALIZER,
6625
- multi: true,
6626
- useFactory() {
6627
- return () => inject(TranslationConnectionService);
6628
- },
6629
- },
6630
- TranslationConnectionService,
6631
- ];
6632
- }
6633
-
6634
6230
  class AngularAcceleratorMissingTranslationHandler {
6635
6231
  handle(params) {
6636
6232
  console.log(`Missing translation for ${params.key}`, params);
@@ -6658,7 +6254,6 @@ class AngularAcceleratorModule {
6658
6254
  SearchHeaderComponent,
6659
6255
  DiagramComponent,
6660
6256
  GroupByCountDiagramComponent,
6661
- DataLoadingErrorComponent,
6662
6257
  OcxContentComponent,
6663
6258
  OcxContentContainerComponent,
6664
6259
  IfPermissionDirective,
@@ -6672,11 +6267,9 @@ class AngularAcceleratorModule {
6672
6267
  OcxContentDirective,
6673
6268
  OcxContentContainerDirective,
6674
6269
  GlobalErrorComponent,
6675
- PortalPageComponent,
6676
6270
  LoadingIndicatorComponent,
6677
6271
  LoadingIndicatorDirective,
6678
6272
  BasicDirective,
6679
- ButtonDialogComponent,
6680
6273
  DialogFooterComponent,
6681
6274
  DialogContentComponent,
6682
6275
  DialogInlineComponent,
@@ -6699,7 +6292,6 @@ class AngularAcceleratorModule {
6699
6292
  SearchHeaderComponent,
6700
6293
  DiagramComponent,
6701
6294
  GroupByCountDiagramComponent,
6702
- DataLoadingErrorComponent,
6703
6295
  OcxContentComponent,
6704
6296
  OcxContentContainerComponent,
6705
6297
  IfPermissionDirective,
@@ -6713,11 +6305,9 @@ class AngularAcceleratorModule {
6713
6305
  OcxContentDirective,
6714
6306
  OcxContentContainerDirective,
6715
6307
  GlobalErrorComponent,
6716
- PortalPageComponent,
6717
6308
  LoadingIndicatorComponent,
6718
6309
  LoadingIndicatorDirective,
6719
6310
  BasicDirective,
6720
- ButtonDialogComponent,
6721
6311
  DialogFooterComponent,
6722
6312
  DialogContentComponent,
6723
6313
  DialogInlineComponent,
@@ -6782,7 +6372,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
6782
6372
  SearchHeaderComponent,
6783
6373
  DiagramComponent,
6784
6374
  GroupByCountDiagramComponent,
6785
- DataLoadingErrorComponent,
6786
6375
  OcxContentComponent,
6787
6376
  OcxContentContainerComponent,
6788
6377
  IfPermissionDirective,
@@ -6796,11 +6385,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
6796
6385
  OcxContentDirective,
6797
6386
  OcxContentContainerDirective,
6798
6387
  GlobalErrorComponent,
6799
- PortalPageComponent,
6800
6388
  LoadingIndicatorComponent,
6801
6389
  LoadingIndicatorDirective,
6802
6390
  BasicDirective,
6803
- ButtonDialogComponent,
6804
6391
  DialogFooterComponent,
6805
6392
  DialogContentComponent,
6806
6393
  DialogInlineComponent,
@@ -6846,7 +6433,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
6846
6433
  SearchHeaderComponent,
6847
6434
  DiagramComponent,
6848
6435
  GroupByCountDiagramComponent,
6849
- DataLoadingErrorComponent,
6850
6436
  OcxContentComponent,
6851
6437
  OcxContentContainerComponent,
6852
6438
  IfPermissionDirective,
@@ -6860,11 +6446,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
6860
6446
  OcxContentDirective,
6861
6447
  OcxContentContainerDirective,
6862
6448
  GlobalErrorComponent,
6863
- PortalPageComponent,
6864
6449
  LoadingIndicatorComponent,
6865
6450
  LoadingIndicatorDirective,
6866
6451
  BasicDirective,
6867
- ButtonDialogComponent,
6868
6452
  DialogFooterComponent,
6869
6453
  DialogContentComponent,
6870
6454
  DialogInlineComponent,
@@ -6880,37 +6464,6 @@ const atLeastOneFieldFilledValidator = (form) => {
6880
6464
  return null;
6881
6465
  };
6882
6466
 
6883
- /**
6884
- * @deprecated Please import from `@onecx/angular-utils` instead.
6885
- */
6886
- class AsyncTranslateLoader {
6887
- static { this.lastTimerId = 0; }
6888
- constructor(translateLoader$) {
6889
- this.translateLoader$ = translateLoader$;
6890
- this.timerId = AsyncTranslateLoader.lastTimerId++;
6891
- }
6892
- getTranslation(lang) {
6893
- return this.translateLoader$.pipe(tap(() => console.time('AsyncTranslateLoader_' + this.timerId)), defaultIfEmpty(undefined), first(), mergeMap((translateLoader) => translateLoader?.getTranslation(lang) ?? of({})), tap(() => console.timeEnd('AsyncTranslateLoader_' + this.timerId)));
6894
- }
6895
- }
6896
-
6897
- /**
6898
- * @deprecated Please import from `@onecx/angular-utils` instead.
6899
- */
6900
- class CachingTranslateLoader {
6901
- constructor(translationCache, http, prefix, suffix) {
6902
- this.translationCache = translationCache;
6903
- this.http = http;
6904
- this.prefix = prefix;
6905
- this.suffix = suffix;
6906
- this.translateLoader = new TranslateHttpLoader(this.http, this.prefix, this.suffix);
6907
- }
6908
- getTranslation(lang) {
6909
- const url = `${this.prefix}${lang}${this.suffix}`;
6910
- return this.translationCache.getTranslationFile(url, () => this.translateLoader.getTranslation(lang));
6911
- }
6912
- }
6913
-
6914
6467
  /* eslint-disable @typescript-eslint/no-unused-vars */
6915
6468
  class DataOperationStrategy {
6916
6469
  endsWith(column, value, target) {
@@ -6992,94 +6545,6 @@ class DataOperationStrategy {
6992
6545
  }
6993
6546
  }
6994
6547
 
6995
- /**
6996
- * @deprecated Please import from `@onecx/angular-utils` instead.
6997
- */
6998
- class TranslateCombinedLoader {
6999
- constructor(...loaders) {
7000
- this._loaders = loaders;
7001
- }
7002
- getTranslation(lang) {
7003
- return forkJoin(this._loaders.map((l) => l.getTranslation(lang).pipe(catchError(err => {
7004
- console.error('Failed to load translation file', l, err);
7005
- return of({});
7006
- })))).pipe(map((allTranslations) => {
7007
- let result = {};
7008
- allTranslations.forEach((translations) => {
7009
- result = this.mergeDeep(result, translations);
7010
- });
7011
- return result;
7012
- }));
7013
- }
7014
- isObject(item) {
7015
- return item && typeof item === 'object' && !Array.isArray(item);
7016
- }
7017
- mergeDeep(target, source) {
7018
- const output = Object.assign({}, target);
7019
- if (this.isObject(target) && this.isObject(source)) {
7020
- Object.keys(source).forEach((key) => {
7021
- if (this.isObject(source[key])) {
7022
- if (!(key in target))
7023
- Object.assign(output, { [key]: source[key] });
7024
- else
7025
- output[key] = this.mergeDeep(target[key], source[key]);
7026
- }
7027
- else {
7028
- Object.assign(output, { [key]: source[key] });
7029
- }
7030
- });
7031
- }
7032
- return output;
7033
- }
7034
- }
7035
-
7036
- let lastTranslateLoaderTimerId$1 = 0;
7037
- /**
7038
- * @deprecated Please import from `@onecx/angular-utils` instead.
7039
- */
7040
- function createTranslateLoader(http, appStateService, translationCacheService) {
7041
- const ts = translationCacheService ?? inject(TranslationCacheService);
7042
- const timerId = lastTranslateLoaderTimerId$1++;
7043
- console.time('createTranslateLoader_' + timerId);
7044
- return new AsyncTranslateLoader(combineLatest([appStateService.currentMfe$.asObservable(), appStateService.globalLoading$.asObservable()]).pipe(filter(([, isLoading]) => !isLoading), map(([currentMfe]) => {
7045
- return new TranslateCombinedLoader(
7046
- // translations of shell or of app in standalone mode
7047
- new CachingTranslateLoader(ts, http, `./assets/i18n/`, '.json'),
7048
- // translations of portal-integration-angular of app
7049
- new CachingTranslateLoader(ts, http, Location.joinWithSlash(currentMfe.remoteBaseUrl, `onecx-portal-lib/assets/i18n/`), '.json'),
7050
- // translations of portal-integration-angular of shell
7051
- new CachingTranslateLoader(ts, http, `./onecx-portal-lib/assets/i18n/`, '.json'),
7052
- // Primelocale Translations
7053
- new CachingTranslateLoader(ts, http, Location.joinWithSlash(currentMfe.remoteBaseUrl, `onecx-portal-lib/assets/i18n/primeng/`), '.json'),
7054
- // translations of the app
7055
- new CachingTranslateLoader(ts, http, Location.joinWithSlash(currentMfe.remoteBaseUrl, `assets/i18n/`), '.json'));
7056
- }), tap(() => console.timeEnd('createTranslateLoader_' + timerId))));
7057
- }
7058
-
7059
- let lastTranslateLoaderTimerId = 0;
7060
- function createRemoteComponentTranslateLoader(http, baseUrlReplaySubject$, translationCacheService) {
7061
- const ts = translationCacheService ?? inject(TranslationCacheService);
7062
- const timerId = lastTranslateLoaderTimerId++;
7063
- console.time('createRemoteComponentTranslateLoader_' + timerId);
7064
- return new AsyncTranslateLoader(baseUrlReplaySubject$.pipe(map((baseUrl) => {
7065
- return new TranslateCombinedLoader(
7066
- // translations of shell or of app in standalone mode
7067
- new CachingTranslateLoader(ts, http, `./assets/i18n/`, '.json'),
7068
- // translations of portal-integration-angular of app
7069
- new CachingTranslateLoader(ts, http, Location.joinWithSlash(baseUrl, `onecx-portal-lib/assets/i18n/`), '.json'),
7070
- // translations of portal-integration-angular of shell
7071
- new CachingTranslateLoader(ts, http, `./onecx-portal-lib/assets/i18n/`, '.json'),
7072
- // translations of the app
7073
- new CachingTranslateLoader(ts, http, Location.joinWithSlash(baseUrl, `assets/i18n/`), '.json'));
7074
- }), tap(() => console.timeEnd('createRemoteComponentTranslateLoader_' + timerId))));
7075
- }
7076
-
7077
- function createRemoteComponentAndMfeTranslateLoader(httpClient, baseUrl, translationCacheService, appStateService) {
7078
- return new AsyncTranslateLoader(appStateService.currentMfe$.pipe(map((currentMfe) => {
7079
- return new TranslateCombinedLoader(createRemoteComponentTranslateLoader(httpClient, baseUrl, translationCacheService), new CachingTranslateLoader(translationCacheService, httpClient, Location.joinWithSlash(currentMfe.remoteBaseUrl, 'assets/i18n/'), '.json'));
7080
- })));
7081
- }
7082
-
7083
6548
  function enumToDropdownOptions(translateService, enumType, translationKeyPrefix) {
7084
6549
  return translateService.get(Object.values(enumType).map((v) => translationKeyPrefix + v)).pipe(map((translations) => Object.values(enumType).map((v) => ({
7085
6550
  label: translations[translationKeyPrefix + v],
@@ -7104,7 +6569,7 @@ function buildSearchCriteria(formRawValue, datePickers, { removeNullValues = fal
7104
6569
  if (value == null && removeNullValues) {
7105
6570
  return acc;
7106
6571
  }
7107
- if (isValidDate$1(value) && !_hasShowTime(datePickers, key)) {
6572
+ if (isValidDate(value) && !_hasShowTime(datePickers, key)) {
7108
6573
  value = getUTCDateWithoutTimezoneIssues(value);
7109
6574
  }
7110
6575
  return {
@@ -7149,10 +6614,11 @@ class ImageLogoUrlUtils {
7149
6614
  }
7150
6615
 
7151
6616
  // injection tokens + related utilities
6617
+ // directives
7152
6618
 
7153
6619
  /**
7154
6620
  * Generated bundle index. Do not edit.
7155
6621
  */
7156
6622
 
7157
- export { AdvancedDirective, AngularAcceleratorMissingTranslationHandler, AngularAcceleratorModule, AngularAcceleratorPrimeNgModule, AsyncTranslateLoader, BasicDirective, BreadcrumbService, ButtonDialogComponent, CachingTranslateLoader, ColorUtils, ColumnGroupSelectionComponent, ColumnType, CustomGroupColumnSelectorComponent, DataLayoutSelectionComponent, DataListGridComponent, DataListGridSortingComponent, DataLoadingErrorComponent, DataOperationStrategy, DataTableComponent, DataViewComponent, DateUtils, DiagramComponent, DialogContentComponent, DialogFooterComponent, DialogInlineComponent, DialogMessageContentComponent, DynamicPipe, ExportDataService, FilterType, FilterViewComponent, GlobalErrorComponent, GroupByCountDiagramComponent, IfBreakpointDirective, IfPermissionDirective, ImageLogoUrlUtils, InteractiveDataViewComponent, LifecycleComponent, LoadingIndicatorComponent, LoadingIndicatorDirective, ObjectUtils, OcxContentComponent, OcxContentContainerComponent, OcxContentContainerDirective, OcxContentDirective, OcxTimeAgoPipe, PageHeaderComponent, PortalDialogService, PortalPageComponent, RelativeDatePipe, SearchHeaderComponent, SrcDirective, TemplateDirective, TemplateType, TooltipOnOverflowDirective, TranslateCombinedLoader, TranslationCacheService, TranslationConnectionService, atLeastOneFieldFilledValidator, buildSearchCriteria, createRemoteComponentAndMfeTranslateLoader, createRemoteComponentTranslateLoader, createTranslateLoader, enumToDropdownOptions, findEntryWithKeyword, findTemplate, flattenObject, isValidDate, limit, providePortalDialogService, removeKeyword, searchPrefixWithSpecialChars };
6623
+ export { AdvancedDirective, AngularAcceleratorMissingTranslationHandler, AngularAcceleratorModule, AngularAcceleratorPrimeNgModule, BasicDirective, BreadcrumbService, ColorUtils, ColumnGroupSelectionComponent, ColumnType, CustomGroupColumnSelectorComponent, DataLayoutSelectionComponent, DataListGridComponent, DataListGridSortingComponent, DataOperationStrategy, DataTableComponent, DataViewComponent, DateUtils, DiagramComponent, DialogContentComponent, DialogFooterComponent, DialogInlineComponent, DialogMessageContentComponent, DynamicPipe, ExportDataService, FilterType, FilterViewComponent, GlobalErrorComponent, GroupByCountDiagramComponent, IfBreakpointDirective, IfPermissionDirective, ImageLogoUrlUtils, InteractiveDataViewComponent, LifecycleComponent, LoadingIndicatorComponent, LoadingIndicatorDirective, ObjectUtils, OcxContentComponent, OcxContentContainerComponent, OcxContentContainerDirective, OcxContentDirective, OcxTimeAgoPipe, PageHeaderComponent, PortalDialogService, RelativeDatePipe, SearchHeaderComponent, SrcDirective, TemplateDirective, TemplateType, TooltipOnOverflowDirective, atLeastOneFieldFilledValidator, buildSearchCriteria, enumToDropdownOptions, findEntryWithKeyword, findTemplate, flattenObject, limit, providePortalDialogService, removeKeyword, searchPrefixWithSpecialChars };
7158
6624
  //# sourceMappingURL=onecx-angular-accelerator.mjs.map