From 132d96cee92691dd907e6ead6ea18694adea8a04 Mon Sep 17 00:00:00 2001
From: k-genov
Date: Mon, 17 Jun 2024 12:23:22 +0200
Subject: [PATCH] refactor(components): migrate to Angular's built-in control
flow
---
.../app-details/app-details.component.html | 107 +++++++++---------
.../app/app-details/app-details.component.ts | 4 +-
.../app-list-item.component.html | 40 ++++---
.../app-list-item/app-list-item.component.ts | 3 +-
.../src/app/app-list/app-list.component.html | 7 +-
.../src/app/app-list/app-list.component.ts | 7 +-
.../src/app/app.component.html | 72 +++++++-----
.../src/app/app.component.ts | 3 +-
.../capability-accordion-item.component.html | 16 ++-
.../capability-accordion-item.component.ts | 3 +-
.../capability-accordion-panel.component.html | 100 +++++++++-------
.../capability-accordion-panel.component.ts | 4 +-
.../capability-filter-result.component.html | 32 +++---
.../capability-filter-result.component.ts | 4 +-
.../dependent-intentions.component.html | 12 +-
.../dependent-intentions.component.ts | 11 +-
.../filter-field/filter-field.component.html | 61 ++++++----
.../filter-field/filter-field.component.ts | 4 +-
.../intention-accordion-item.component.html | 6 +-
.../intention-accordion-item.component.ts | 3 +-
.../intention-accordion-panel.component.html | 14 ++-
.../intention-accordion-panel.component.ts | 3 +-
.../required-capabilities.component.html | 61 +++++-----
.../required-capabilities.component.ts | 12 +-
.../app/app-shell/app-shell.component.html | 34 ++++--
.../src/app/app-shell/app-shell.component.ts | 3 +-
.../browser-outlet.component.html | 4 +-
.../browser-outlet.component.ts | 3 +-
.../browser-outlets.component.html | 8 +-
.../browser-outlets.component.ts | 3 +-
.../lookup-capability.component.html | 17 +--
.../lookup-capability.component.ts | 4 +-
.../lookup-intention.component.html | 15 ++-
.../lookup-intention.component.ts | 4 +-
.../register-capability.component.html | 46 ++++----
.../register-capability.component.ts | 4 +-
.../register-intention.component.html | 44 ++++---
.../register-intention.component.ts | 4 +-
.../message-list-item.component.html | 32 +++---
.../message-list-item.component.ts | 3 +-
.../publish-message.component.html | 78 +++++++------
.../publish-message.component.ts | 4 +-
.../receive-message.component.html | 41 +++----
.../receive-message.component.ts | 4 +-
.../context/context.component.html | 8 +-
.../context/context.component.ts | 3 +-
.../lookup-context-value.component.html | 59 +++++-----
.../lookup-context-value.component.ts | 3 +-
.../outlet-router.component.html | 30 +++--
.../outlet-router/outlet-router.component.ts | 3 +-
.../preferred-size.component.html | 52 +++++----
.../preferred-size.component.ts | 2 -
.../router-outlet-context.component.html | 6 +-
.../router-outlet-context.component.ts | 3 +-
.../router-outlet-settings.component.html | 19 ++--
.../router-outlet-settings.component.ts | 3 +-
.../router-outlet.component.html | 6 +-
.../router-outlet/router-outlet.component.ts | 3 +-
.../angular-zone-test-page.component.html | 28 ++---
.../angular-zone-test-page.component.ts | 3 +-
.../microfrontend/microfrontend.component.ts | 3 +-
...se-event-dispatch-test-page.component.html | 12 +-
...ouse-event-dispatch-test-page.component.ts | 3 +-
63 files changed, 633 insertions(+), 560 deletions(-)
diff --git a/apps/microfrontend-platform-devtools/src/app/app-details/app-details.component.html b/apps/microfrontend-platform-devtools/src/app/app-details/app-details.component.html
index 94b1591f..163a0b67 100644
--- a/apps/microfrontend-platform-devtools/src/app/app-details/app-details.component.html
+++ b/apps/microfrontend-platform-devtools/src/app/app-details/app-details.component.html
@@ -1,4 +1,4 @@
-
+@if (application$ | async; as application) {
-
-
-
-
-
-
-
-
-
+ @if (capabilities$ | async; as capabilities) {
+
+
+
+
+ @for (capability of capabilities; track capability) {
+
+
+
-
-
-
-
-
-
-
+
+
+
+ }
+
+
+
+ }
-
-
-
-
-
-
-
-
-
+ @if (intentions$ | async; as intentions) {
+
+
+
+
+ @for (intention of intentions; track intention) {
+
+
+
-
-
-
-
-
-
-
+
+
+
+ }
+
+
+
+ }
@@ -66,14 +68,14 @@
Lists applications on which this application depends. The required capabilities are listed for each application.
-
+
Lists applications that depend on this application. Dependent intentions are listed for each application.
-
+
@@ -85,14 +87,15 @@
Controls whether this application can interact with the private capabilities of other apps. Disabling scope check is strongly discouraged. By default, scope check is enabled.
-
+ @if (application.scopeCheckDisabled) {
+
Disabled
-
+ } @else {
Default (enabled)
-
+ }
@@ -100,14 +103,15 @@
Controls whether this application can register and unregister intentions dynamically at runtime. Enabling this API is strongly discouraged. By default, this API is disabled.
-
+ @if (application.intentionRegisterApiDisabled) {
+
Default (disabled)
-
+ } @else {
Enabled
-
+ }
@@ -115,16 +119,17 @@
Controls whether this application can interact with the capabilities of other apps without having to declare respective intentions. Disabling intention check is strongly discouraged. By default, intention check is enabled.
-
+ @if (application.intentionCheckDisabled) {
+
Disabled
-
+ } @else {
Default (enabled)
-
+ }
-
+}
diff --git a/apps/microfrontend-platform-devtools/src/app/app-details/app-details.component.ts b/apps/microfrontend-platform-devtools/src/app/app-details/app-details.component.ts
index fa98c381..da0489e6 100644
--- a/apps/microfrontend-platform-devtools/src/app/app-details/app-details.component.ts
+++ b/apps/microfrontend-platform-devtools/src/app/app-details/app-details.component.ts
@@ -17,7 +17,7 @@ import {filterManifestObjects} from '../common/manifest-object-filter.utils';
import {ShellService} from '../shell.service';
import {NonNullableFormBuilder, ReactiveFormsModule} from '@angular/forms';
import {SciTabbarComponent, SciTabDirective} from '@scion/components.internal/tabbar';
-import {AsyncPipe, NgFor, NgIf} from '@angular/common';
+import {AsyncPipe} from '@angular/common';
import {SciViewportComponent} from '@scion/components/viewport';
import {CapabilityAccordionItemComponent} from '../capability-accordion-item/capability-accordion-item.component';
import {CapabilityAccordionPanelComponent} from '../capability-accordion-panel/capability-accordion-panel.component';
@@ -37,8 +37,6 @@ import {SciSashboxComponent, SciSashDirective} from '@scion/components/sashbox';
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: true,
imports: [
- NgIf,
- NgFor,
AsyncPipe,
ReactiveFormsModule,
SciTabbarComponent,
diff --git a/apps/microfrontend-platform-devtools/src/app/app-list-item/app-list-item.component.html b/apps/microfrontend-platform-devtools/src/app/app-list-item/app-list-item.component.html
index f9eb82af..a6c89933 100644
--- a/apps/microfrontend-platform-devtools/src/app/app-list-item/app-list-item.component.html
+++ b/apps/microfrontend-platform-devtools/src/app/app-list-item/app-list-item.component.html
@@ -4,27 +4,33 @@
diff --git a/apps/microfrontend-platform-devtools/src/app/app-list-item/app-list-item.component.ts b/apps/microfrontend-platform-devtools/src/app/app-list-item/app-list-item.component.ts
index 74251369..a56c91ec 100644
--- a/apps/microfrontend-platform-devtools/src/app/app-list-item/app-list-item.component.ts
+++ b/apps/microfrontend-platform-devtools/src/app/app-list-item/app-list-item.component.ts
@@ -13,7 +13,7 @@ import {Observable} from 'rxjs';
import {map} from 'rxjs/operators';
import {DevToolsManifestService} from '../dev-tools-manifest.service';
import {Router} from '@angular/router';
-import {AsyncPipe, NgIf} from '@angular/common';
+import {AsyncPipe} from '@angular/common';
import {SciMaterialIconDirective} from '@scion/components.internal/material-icon';
@Component({
@@ -23,7 +23,6 @@ import {SciMaterialIconDirective} from '@scion/components.internal/material-icon
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: true,
imports: [
- NgIf,
AsyncPipe,
SciMaterialIconDirective,
],
diff --git a/apps/microfrontend-platform-devtools/src/app/app-list/app-list.component.html b/apps/microfrontend-platform-devtools/src/app/app-list/app-list.component.html
index d3589aa6..156418c7 100644
--- a/apps/microfrontend-platform-devtools/src/app/app-list/app-list.component.html
+++ b/apps/microfrontend-platform-devtools/src/app/app-list/app-list.component.html
@@ -1,10 +1,9 @@
-
+ @for (application of applications$ | async; track application.symbolicName) {
-
+ routerLinkActive="active"/>
-
+ }
diff --git a/apps/microfrontend-platform-devtools/src/app/app-list/app-list.component.ts b/apps/microfrontend-platform-devtools/src/app/app-list/app-list.component.ts
index 3d1c10fe..2456fb5b 100644
--- a/apps/microfrontend-platform-devtools/src/app/app-list/app-list.component.ts
+++ b/apps/microfrontend-platform-devtools/src/app/app-list/app-list.component.ts
@@ -14,7 +14,7 @@ import {map} from 'rxjs/operators';
import {DevToolsManifestService} from '../dev-tools-manifest.service';
import {sortArray} from '@scion/toolkit/operators';
import {ShellService} from '../shell.service';
-import {AsyncPipe, NgFor} from '@angular/common';
+import {AsyncPipe} from '@angular/common';
import {RouterLink, RouterLinkActive} from '@angular/router';
import {AppListItemComponent} from '../app-list-item/app-list-item.component';
import {SciListComponent, SciListItemDirective} from '@scion/components.internal/list';
@@ -26,7 +26,6 @@ import {SciListComponent, SciListItemDirective} from '@scion/components.internal
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: true,
imports: [
- NgFor,
AsyncPipe,
RouterLink,
RouterLinkActive,
@@ -50,10 +49,6 @@ export class AppListComponent {
);
}
- public trackByFn(index: number, application: Application): string {
- return application.symbolicName;
- }
-
public onAppFilter(appFilter: string): void {
this._appFilter$.next(appFilter.toLowerCase());
}
diff --git a/apps/microfrontend-platform-devtools/src/app/app.component.html b/apps/microfrontend-platform-devtools/src/app/app.component.html
index 06dc9ddf..c8d20a99 100644
--- a/apps/microfrontend-platform-devtools/src/app/app.component.html
+++ b/apps/microfrontend-platform-devtools/src/app/app.component.html
@@ -1,32 +1,39 @@
-
-
-
-
-
-
-
-
-
-
- {{detailsTitle$ | async}}
-
-
-
-
-
-
-
-
-
+@if (connnectedToHost | async) {
+
+ @if (showPrimaryOutlet) {
+
+
+
+ }
+ @if (showDetailsOutlet) {
+
+
+
+ @if (!showPrimaryOutlet) {
+
+ }
+ @if (!showPrimaryOutlet && showDetailsOutlet) {
+
+ }
+ {{detailsTitle$ | async}}
+
+
+
+
+ }
+
+} @else {
Welcome to SCION Microfrontend Platform DevTools
Embed SCION DevTools as microfrontend in your application to inspect micro applications and their dependencies.
@@ -36,4 +43,9 @@
-
+}
+
+@if (menuOpen) {
+
+}
+
diff --git a/apps/microfrontend-platform-devtools/src/app/app.component.ts b/apps/microfrontend-platform-devtools/src/app/app.component.ts
index 6d12bd6e..697e1633 100644
--- a/apps/microfrontend-platform-devtools/src/app/app.component.ts
+++ b/apps/microfrontend-platform-devtools/src/app/app.component.ts
@@ -11,7 +11,7 @@ import {ChangeDetectionStrategy, ChangeDetectorRef, Component, HostListener} fro
import {Observable} from 'rxjs';
import {ShellService} from './shell.service';
import {ContextService, MicrofrontendPlatformClient, OUTLET_CONTEXT} from '@scion/microfrontend-platform';
-import {AsyncPipe, NgIf} from '@angular/common';
+import {AsyncPipe} from '@angular/common';
import {RouterOutlet} from '@angular/router';
import {SciSashboxComponent, SciSashDirective} from '@scion/components/sashbox';
import {AppMenuComponent} from './app-menu/app-menu.component';
@@ -26,7 +26,6 @@ import {SciMaterialIconDirective} from '@scion/components.internal/material-icon
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: true,
imports: [
- NgIf,
AsyncPipe,
RouterOutlet,
SciSashboxComponent,
diff --git a/apps/microfrontend-platform-devtools/src/app/capability-accordion-item/capability-accordion-item.component.html b/apps/microfrontend-platform-devtools/src/app/capability-accordion-item/capability-accordion-item.component.html
index be8e213e..89436c85 100644
--- a/apps/microfrontend-platform-devtools/src/app/capability-accordion-item/capability-accordion-item.component.html
+++ b/apps/microfrontend-platform-devtools/src/app/capability-accordion-item/capability-accordion-item.component.html
@@ -1,9 +1,15 @@
-visibility
-visibility_off
+@if (capability.private) {
+ visibility_off
+} @else {
+ visibility
+}
+
diff --git a/apps/microfrontend-platform-devtools/src/app/capability-accordion-item/capability-accordion-item.component.ts b/apps/microfrontend-platform-devtools/src/app/capability-accordion-item/capability-accordion-item.component.ts
index 84975322..9b319f26 100644
--- a/apps/microfrontend-platform-devtools/src/app/capability-accordion-item/capability-accordion-item.component.ts
+++ b/apps/microfrontend-platform-devtools/src/app/capability-accordion-item/capability-accordion-item.component.ts
@@ -11,7 +11,7 @@ import {ChangeDetectionStrategy, Component, Input} from '@angular/core';
import {Clipboard} from '@angular/cdk/clipboard';
import {Capability} from '@scion/microfrontend-platform';
import {Router} from '@angular/router';
-import {NgIf} from '@angular/common';
+
import {SciQualifierChipListComponent} from '@scion/components.internal/qualifier-chip-list';
import {SciMaterialIconDirective} from '@scion/components.internal/material-icon';
@@ -22,7 +22,6 @@ import {SciMaterialIconDirective} from '@scion/components.internal/material-icon
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: true,
imports: [
- NgIf,
SciQualifierChipListComponent,
SciMaterialIconDirective,
],
diff --git a/apps/microfrontend-platform-devtools/src/app/capability-accordion-panel/capability-accordion-panel.component.html b/apps/microfrontend-platform-devtools/src/app/capability-accordion-panel/capability-accordion-panel.component.html
index bf63e376..95c09943 100644
--- a/apps/microfrontend-platform-devtools/src/app/capability-accordion-panel/capability-accordion-panel.component.html
+++ b/apps/microfrontend-platform-devtools/src/app/capability-accordion-panel/capability-accordion-panel.component.html
@@ -1,56 +1,72 @@
-
-
- Metadata associated with this capability.
-
-
-
-
-
- Parameters to be passed when interacting with this capability via an intent.
-
-
- {{param.name}}
- Required
-
-
- Description:
- {{param.description}}
-
-
- Required:
- {{param.required}}
-
-
- Deprecated:
- true
- {{deprecation.message}}
- Use instead: {{deprecation.useInstead}}
-
-
- Metadata:
- {{metadata | json}}
-
-
-
-
+ @if (capability.properties) {
+
+
+ Metadata associated with this capability.
+
+
+
+ }
+ @if (capability.params?.length) {
+
+
+ Parameters to be passed when interacting with this capability via an intent.
+ @for (param of capability.params; track param) {
+
+ {{param.name}}
+ @if (param.required) {
+ Required
+ }
+
+ @if (param.description) {
+ Description:
+ {{param.description}}
+ }
+
+ Required:
+ {{param.required}}
+
+ @if (param.deprecated; as deprecation) {
+ Deprecated:
+ @if (deprecation === true) {
+ true
+ }
+ @if (deprecation !== true && deprecation.message) {
+ {{deprecation.message}}
+ }
+ @if (deprecation !== true && deprecation.useInstead) {
+ Use instead: {{deprecation.useInstead}}
+ }
+ }
+ @if (param | devtoolsCustomParamMetadata; as metadata) {
+ Metadata:
+ {{metadata | json}}
+ }
+ }
+
+
+ }
Applications that depend on this capability at runtime.
diff --git a/apps/microfrontend-platform-devtools/src/app/capability-accordion-panel/capability-accordion-panel.component.ts b/apps/microfrontend-platform-devtools/src/app/capability-accordion-panel/capability-accordion-panel.component.ts
index 5b175fe8..a49157eb 100644
--- a/apps/microfrontend-platform-devtools/src/app/capability-accordion-panel/capability-accordion-panel.component.ts
+++ b/apps/microfrontend-platform-devtools/src/app/capability-accordion-panel/capability-accordion-panel.component.ts
@@ -12,7 +12,7 @@ import {Observable} from 'rxjs';
import {Application, Capability} from '@scion/microfrontend-platform';
import {DevToolsManifestService} from '../dev-tools-manifest.service';
import {Router, RouterLink} from '@angular/router';
-import {AsyncPipe, JsonPipe, NgFor, NgIf} from '@angular/common';
+import {AsyncPipe, JsonPipe} from '@angular/common';
import {SciKeyValueComponent} from '@scion/components.internal/key-value';
import {CustomParamMetadataPipe} from '../common/custom-param-metadata.pipe';
import {AppNamePipe} from '../common/app-name.pipe';
@@ -25,8 +25,6 @@ import {SciTabbarComponent, SciTabDirective} from '@scion/components.internal/ta
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: true,
imports: [
- NgIf,
- NgFor,
AsyncPipe,
JsonPipe,
RouterLink,
diff --git a/apps/microfrontend-platform-devtools/src/app/capability-filter-result/capability-filter-result.component.html b/apps/microfrontend-platform-devtools/src/app/capability-filter-result/capability-filter-result.component.html
index 281aaa20..379d6b2b 100644
--- a/apps/microfrontend-platform-devtools/src/app/capability-filter-result/capability-filter-result.component.html
+++ b/apps/microfrontend-platform-devtools/src/app/capability-filter-result/capability-filter-result.component.html
@@ -1,19 +1,19 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+ @if (capabilities$ | async; as capabilities) {
+ @if (capabilities.length) {
+
+ @for (capability of capabilities; track capability) {
+
+
+
+
+
+
+ }
+
+ } @else {
Found no capabilities matching your filters.
-
-
+ }
+ }
diff --git a/apps/microfrontend-platform-devtools/src/app/capability-filter-result/capability-filter-result.component.ts b/apps/microfrontend-platform-devtools/src/app/capability-filter-result/capability-filter-result.component.ts
index 04741598..93f37272 100644
--- a/apps/microfrontend-platform-devtools/src/app/capability-filter-result/capability-filter-result.component.ts
+++ b/apps/microfrontend-platform-devtools/src/app/capability-filter-result/capability-filter-result.component.ts
@@ -15,7 +15,7 @@ import {ShellService} from '../shell.service';
import {NonNullableFormBuilder, ReactiveFormsModule} from '@angular/forms';
import {expand, map, take} from 'rxjs/operators';
import {filterManifestObjects} from '../common/manifest-object-filter.utils';
-import {AsyncPipe, NgFor, NgIf} from '@angular/common';
+import {AsyncPipe} from '@angular/common';
import {SciViewportComponent} from '@scion/components/viewport';
import {CapabilityAccordionPanelComponent} from '../capability-accordion-panel/capability-accordion-panel.component';
import {CapabilityAccordionItemComponent} from '../capability-accordion-item/capability-accordion-item.component';
@@ -29,8 +29,6 @@ import {SciFilterFieldComponent} from '@scion/components.internal/filter-field';
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: true,
imports: [
- NgIf,
- NgFor,
AsyncPipe,
ReactiveFormsModule,
SciFilterFieldComponent,
diff --git a/apps/microfrontend-platform-devtools/src/app/dependent-intentions/dependent-intentions.component.html b/apps/microfrontend-platform-devtools/src/app/dependent-intentions/dependent-intentions.component.html
index 8e46450d..431abbfa 100644
--- a/apps/microfrontend-platform-devtools/src/app/dependent-intentions/dependent-intentions.component.html
+++ b/apps/microfrontend-platform-devtools/src/app/dependent-intentions/dependent-intentions.component.html
@@ -1,6 +1,6 @@
-
+
-
+ @for (intentionsByApp of intentionsByApp$ | async | keyvalue; track intentionsByApp.key) {
{{intentionsByApp.key | devtoolsAppName}}
@@ -8,9 +8,9 @@
-
-
+ @for (intention of intentionsByApp.value; track intention.metadata!.id) {
+
+ }
-
+ }
diff --git a/apps/microfrontend-platform-devtools/src/app/dependent-intentions/dependent-intentions.component.ts b/apps/microfrontend-platform-devtools/src/app/dependent-intentions/dependent-intentions.component.ts
index d259601e..60abfdf1 100644
--- a/apps/microfrontend-platform-devtools/src/app/dependent-intentions/dependent-intentions.component.ts
+++ b/apps/microfrontend-platform-devtools/src/app/dependent-intentions/dependent-intentions.component.ts
@@ -16,7 +16,7 @@ import {filterManifestObjects} from '../common/manifest-object-filter.utils';
import {DevToolsManifestService} from '../dev-tools-manifest.service';
import {Maps} from '@scion/toolkit/util';
import {NonNullableFormBuilder, ReactiveFormsModule} from '@angular/forms';
-import {AsyncPipe, KeyValue, KeyValuePipe, NgFor} from '@angular/common';
+import {AsyncPipe, KeyValuePipe} from '@angular/common';
import {AppNamePipe} from '../common/app-name.pipe';
import {SciQualifierChipListComponent} from '@scion/components.internal/qualifier-chip-list';
import {SciAccordionComponent, SciAccordionItemDirective} from '@scion/components.internal/accordion';
@@ -30,7 +30,6 @@ import {SciMaterialIconDirective} from '@scion/components.internal/material-icon
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: true,
imports: [
- NgFor,
AsyncPipe,
KeyValuePipe,
ReactiveFormsModule,
@@ -76,12 +75,4 @@ export class DependentIntentionsComponent implements OnInit, OnChanges {
event.stopPropagation();
this._router.navigate(['/apps', {outlets: {details: [appSymbolicName]}}]);
}
-
- public trackByApplicationFn(index: number, entry: KeyValue): string {
- return entry.key;
- }
-
- public trackByIntentionFn(index: number, intention: Intention): string {
- return intention.metadata!.id;
- }
}
diff --git a/apps/microfrontend-platform-devtools/src/app/find-capabilities/filter-field/filter-field.component.html b/apps/microfrontend-platform-devtools/src/app/find-capabilities/filter-field/filter-field.component.html
index f206732b..5fe51d48 100644
--- a/apps/microfrontend-platform-devtools/src/app/find-capabilities/filter-field/filter-field.component.html
+++ b/apps/microfrontend-platform-devtools/src/app/find-capabilities/filter-field/filter-field.component.html
@@ -1,32 +1,45 @@
{{title}}
-
-
-
-
+ @if (logicalOperator) {
+
+
+
+
+ }
- -
-
-
+ @for (filter of filters; track filter) {
+ -
+
+
+ }
diff --git a/apps/microfrontend-platform-devtools/src/app/find-capabilities/filter-field/filter-field.component.ts b/apps/microfrontend-platform-devtools/src/app/find-capabilities/filter-field/filter-field.component.ts
index c57a6d34..72f19cf7 100644
--- a/apps/microfrontend-platform-devtools/src/app/find-capabilities/filter-field/filter-field.component.ts
+++ b/apps/microfrontend-platform-devtools/src/app/find-capabilities/filter-field/filter-field.component.ts
@@ -12,7 +12,7 @@ import {NonNullableFormBuilder, ReactiveFormsModule} from '@angular/forms';
import {UUID} from '@scion/toolkit/uuid';
import {KeyValuePair, LogicalOperator} from './filter-field';
import {A11yModule, FocusOrigin} from '@angular/cdk/a11y';
-import {NgFor, NgIf} from '@angular/common';
+
import {SciMaterialIconDirective} from '@scion/components.internal/material-icon';
@Component({
@@ -22,8 +22,6 @@ import {SciMaterialIconDirective} from '@scion/components.internal/material-icon
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: true,
imports: [
- NgIf,
- NgFor,
ReactiveFormsModule,
A11yModule,
SciMaterialIconDirective,
diff --git a/apps/microfrontend-platform-devtools/src/app/intention-accordion-item/intention-accordion-item.component.html b/apps/microfrontend-platform-devtools/src/app/intention-accordion-item/intention-accordion-item.component.html
index 6b57e174..961e7501 100644
--- a/apps/microfrontend-platform-devtools/src/app/intention-accordion-item/intention-accordion-item.component.html
+++ b/apps/microfrontend-platform-devtools/src/app/intention-accordion-item/intention-accordion-item.component.html
@@ -1,4 +1,6 @@
-
+
- NO PROVIDER FOUND
+ @if (nullProvider$ | async) {
+ NO PROVIDER FOUND
+ }
diff --git a/apps/microfrontend-platform-devtools/src/app/intention-accordion-item/intention-accordion-item.component.ts b/apps/microfrontend-platform-devtools/src/app/intention-accordion-item/intention-accordion-item.component.ts
index 84487091..f076d2ff 100644
--- a/apps/microfrontend-platform-devtools/src/app/intention-accordion-item/intention-accordion-item.component.ts
+++ b/apps/microfrontend-platform-devtools/src/app/intention-accordion-item/intention-accordion-item.component.ts
@@ -12,7 +12,7 @@ import {Observable} from 'rxjs';
import {Intention} from '@scion/microfrontend-platform';
import {DevToolsManifestService} from '../dev-tools-manifest.service';
import {map} from 'rxjs/operators';
-import {AsyncPipe, NgIf} from '@angular/common';
+import {AsyncPipe} from '@angular/common';
import {SciQualifierChipListComponent} from '@scion/components.internal/qualifier-chip-list';
@Component({
@@ -22,7 +22,6 @@ import {SciQualifierChipListComponent} from '@scion/components.internal/qualifie
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: true,
imports: [
- NgIf,
AsyncPipe,
SciQualifierChipListComponent,
],
diff --git a/apps/microfrontend-platform-devtools/src/app/intention-accordion-panel/intention-accordion-panel.component.html b/apps/microfrontend-platform-devtools/src/app/intention-accordion-panel/intention-accordion-panel.component.html
index 3e17c7e1..925770f8 100644
--- a/apps/microfrontend-platform-devtools/src/app/intention-accordion-panel/intention-accordion-panel.component.html
+++ b/apps/microfrontend-platform-devtools/src/app/intention-accordion-panel/intention-accordion-panel.component.html
@@ -1,9 +1,11 @@
diff --git a/apps/microfrontend-platform-devtools/src/app/intention-accordion-panel/intention-accordion-panel.component.ts b/apps/microfrontend-platform-devtools/src/app/intention-accordion-panel/intention-accordion-panel.component.ts
index 0ef7279c..c60892d9 100644
--- a/apps/microfrontend-platform-devtools/src/app/intention-accordion-panel/intention-accordion-panel.component.ts
+++ b/apps/microfrontend-platform-devtools/src/app/intention-accordion-panel/intention-accordion-panel.component.ts
@@ -12,7 +12,7 @@ import {Observable} from 'rxjs';
import {Application, Intention} from '@scion/microfrontend-platform';
import {DevToolsManifestService} from '../dev-tools-manifest.service';
import {Router} from '@angular/router';
-import {AsyncPipe, NgFor} from '@angular/common';
+import {AsyncPipe} from '@angular/common';
@Component({
selector: 'devtools-intention-accordion-panel',
@@ -22,7 +22,6 @@ import {AsyncPipe, NgFor} from '@angular/common';
standalone: true,
imports: [
AsyncPipe,
- NgFor,
],
})
export class IntentionAccordionPanelComponent implements OnInit {
diff --git a/apps/microfrontend-platform-devtools/src/app/required-capabilities/required-capabilities.component.html b/apps/microfrontend-platform-devtools/src/app/required-capabilities/required-capabilities.component.html
index bf513e7d..edcd5e88 100644
--- a/apps/microfrontend-platform-devtools/src/app/required-capabilities/required-capabilities.component.html
+++ b/apps/microfrontend-platform-devtools/src/app/required-capabilities/required-capabilities.component.html
@@ -1,6 +1,6 @@
-
+
-
+ @for (capabilitiesByApp of capabilitiesByApp$ | async | keyvalue; track capabilitiesByApp.key) {
{{capabilitiesByApp.key | devtoolsAppName}}
@@ -11,33 +11,40 @@
-
-
+ @for (capability of capabilitiesByApp.value; track capability.metadata!.id) {
+
+ }
-
-
- {{selectedCapability.description}}
+ @if (selectedCapability) {
+
+ @if (selectedCapability.description) {
+
+ {{selectedCapability.description}}
+
+ }
+ @if (selectedCapability.params | devtoolsParamsFilter:'required' | devtoolsNullIfEmpty; as requiredParams) {
+
+
+ {{requiredParams | devtoolsJoin:', ':paramNameFn}}
+
+ }
+ @if (selectedCapability.params | devtoolsParamsFilter:'optional' | devtoolsNullIfEmpty; as optionalParams) {
+
+
+ {{optionalParams | devtoolsJoin:', ':paramNameFn}}
+
+ }
+ @if (selectedCapability.properties | devtoolsNullIfEmpty) {
+
+ }
-
-
-
- {{requiredParams | devtoolsJoin:', ':paramNameFn}}
-
-
-
-
- {{optionalParams | devtoolsJoin:', ':paramNameFn}}
-
-
-
-
+ }
-
+ }
diff --git a/apps/microfrontend-platform-devtools/src/app/required-capabilities/required-capabilities.component.ts b/apps/microfrontend-platform-devtools/src/app/required-capabilities/required-capabilities.component.ts
index be50af9b..b906efd3 100644
--- a/apps/microfrontend-platform-devtools/src/app/required-capabilities/required-capabilities.component.ts
+++ b/apps/microfrontend-platform-devtools/src/app/required-capabilities/required-capabilities.component.ts
@@ -16,7 +16,7 @@ import {filterManifestObjects} from '../common/manifest-object-filter.utils';
import {DevToolsManifestService} from '../dev-tools-manifest.service';
import {NonNullableFormBuilder, ReactiveFormsModule} from '@angular/forms';
import {Maps} from '@scion/toolkit/util';
-import {AsyncPipe, KeyValue, KeyValuePipe, NgFor, NgIf} from '@angular/common';
+import {AsyncPipe, KeyValuePipe} from '@angular/common';
import {AppNamePipe} from '../common/app-name.pipe';
import {SciQualifierChipListComponent} from '@scion/components.internal/qualifier-chip-list';
import {ParamsFilterPipe} from '../common/params-filter.pipe';
@@ -34,8 +34,6 @@ import {SciMaterialIconDirective} from '@scion/components.internal/material-icon
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: true,
imports: [
- NgIf,
- NgFor,
AsyncPipe,
KeyValuePipe,
ReactiveFormsModule,
@@ -94,13 +92,5 @@ export class RequiredCapabilitiesComponent implements OnChanges {
this._router.navigate(['/apps', {outlets: {details: [appSymbolicName]}}]);
}
- public trackByApplicationFn(index: number, entry: KeyValue): string {
- return entry.key;
- }
-
- public trackByCapabilityFn(index: number, capability: Capability): string {
- return capability.metadata!.id;
- }
-
public paramNameFn = (param: ParamDefinition): string => param.name;
}
diff --git a/apps/microfrontend-platform-testing-app/src/app/app-shell/app-shell.component.html b/apps/microfrontend-platform-testing-app/src/app/app-shell/app-shell.component.html
index e6579e38..25dbb472 100644
--- a/apps/microfrontend-platform-testing-app/src/app/app-shell/app-shell.component.html
+++ b/apps/microfrontend-platform-testing-app/src/app/app-shell/app-shell.component.html
@@ -1,18 +1,28 @@
-

-
{{pageTitle}}
+ @if (isPlatformHost) {
+

+ }
+ @if (pageTitle) {
+
{{pageTitle}}
+ }
-
focus-within
-
has-focus
+ @if (focusMonitor.focusWithin$ | async) {
+
focus-within
+ }
+ @if (focusMonitor.focus$ | async) {
+
has-focus
+ }
{{appSymbolicName}}
-
+ @if (devToolsFormControl.enabled) {
+
+ }
@@ -21,9 +31,11 @@
-
-
-
+ @if (devToolsFormControl.value) {
+
+
+
+ }
diff --git a/apps/microfrontend-platform-testing-app/src/app/app-shell/app-shell.component.ts b/apps/microfrontend-platform-testing-app/src/app/app-shell/app-shell.component.ts
index 65bff001..d8fa545d 100644
--- a/apps/microfrontend-platform-testing-app/src/app/app-shell/app-shell.component.ts
+++ b/apps/microfrontend-platform-testing-app/src/app/app-shell/app-shell.component.ts
@@ -14,7 +14,7 @@ import {tap} from 'rxjs/operators';
import {ActivatedRoute, RouterOutlet} from '@angular/router';
import {Defined} from '@scion/toolkit/util';
import {Beans} from '@scion/toolkit/bean-manager';
-import {AsyncPipe, NgIf} from '@angular/common';
+import {AsyncPipe} from '@angular/common';
import {SciSashboxComponent, SciSashDirective} from '@scion/components/sashbox';
import {SciViewportComponent} from '@scion/components/viewport';
import {DevToolsComponent} from '../devtools/devtools.component';
@@ -28,7 +28,6 @@ import {FormControl, ReactiveFormsModule} from '@angular/forms';
styleUrls: ['./app-shell.component.scss'],
standalone: true,
imports: [
- NgIf,
AsyncPipe,
RouterOutlet,
SciSashboxComponent,
diff --git a/apps/microfrontend-platform-testing-app/src/app/browser-outlet/browser-outlet.component.html b/apps/microfrontend-platform-testing-app/src/app/browser-outlet/browser-outlet.component.html
index 59759dd2..0de50679 100644
--- a/apps/microfrontend-platform-testing-app/src/app/browser-outlet/browser-outlet.component.html
+++ b/apps/microfrontend-platform-testing-app/src/app/browser-outlet/browser-outlet.component.html
@@ -6,7 +6,9 @@
diff --git a/apps/microfrontend-platform-testing-app/src/app/browser-outlet/browser-outlet.component.ts b/apps/microfrontend-platform-testing-app/src/app/browser-outlet/browser-outlet.component.ts
index 7198efef..e2c614d0 100644
--- a/apps/microfrontend-platform-testing-app/src/app/browser-outlet/browser-outlet.component.ts
+++ b/apps/microfrontend-platform-testing-app/src/app/browser-outlet/browser-outlet.component.ts
@@ -17,7 +17,7 @@ import {ActivatedRoute} from '@angular/router';
import {Beans} from '@scion/toolkit/bean-manager';
import {environment} from '../../environments/environment';
import {TestingAppTopics} from '../testing-app.topics';
-import {NgFor} from '@angular/common';
+
import {takeUntilDestroyed} from '@angular/core/rxjs-interop';
import {SciMaterialIconDirective} from '@scion/components.internal/material-icon';
@@ -31,7 +31,6 @@ import {SciMaterialIconDirective} from '@scion/components.internal/material-icon
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: true,
imports: [
- NgFor,
ReactiveFormsModule,
SciMaterialIconDirective,
],
diff --git a/apps/microfrontend-platform-testing-app/src/app/browser-outlets/browser-outlets.component.html b/apps/microfrontend-platform-testing-app/src/app/browser-outlets/browser-outlets.component.html
index 660f134b..d818888a 100644
--- a/apps/microfrontend-platform-testing-app/src/app/browser-outlets/browser-outlets.component.html
+++ b/apps/microfrontend-platform-testing-app/src/app/browser-outlets/browser-outlets.component.html
@@ -1,5 +1,7 @@
-
-
-
+ @for (outletName of outletNames$ | async; track outletName) {
+
+
+
+ }
diff --git a/apps/microfrontend-platform-testing-app/src/app/browser-outlets/browser-outlets.component.ts b/apps/microfrontend-platform-testing-app/src/app/browser-outlets/browser-outlets.component.ts
index 9c08589c..a63e23a5 100644
--- a/apps/microfrontend-platform-testing-app/src/app/browser-outlets/browser-outlets.component.ts
+++ b/apps/microfrontend-platform-testing-app/src/app/browser-outlets/browser-outlets.component.ts
@@ -14,7 +14,7 @@ import {map} from 'rxjs/operators';
import {coerceNumberProperty} from '@angular/cdk/coercion';
import {UUID} from '@scion/toolkit/uuid';
import {BrowserOutletComponent} from '../browser-outlet/browser-outlet.component';
-import {AsyncPipe, NgFor} from '@angular/common';
+import {AsyncPipe} from '@angular/common';
import {SciSashboxComponent, SciSashDirective} from '@scion/components/sashbox';
@Component({
@@ -23,7 +23,6 @@ import {SciSashboxComponent, SciSashDirective} from '@scion/components/sashbox';
styleUrls: ['./browser-outlets.component.scss'],
standalone: true,
imports: [
- NgFor,
AsyncPipe,
SciSashboxComponent,
SciSashDirective,
diff --git a/apps/microfrontend-platform-testing-app/src/app/manifest/lookup-capability/lookup-capability.component.html b/apps/microfrontend-platform-testing-app/src/app/manifest/lookup-capability/lookup-capability.component.html
index a0e1fd8e..ac8afb98 100644
--- a/apps/microfrontend-platform-testing-app/src/app/manifest/lookup-capability/lookup-capability.component.html
+++ b/apps/microfrontend-platform-testing-app/src/app/manifest/lookup-capability/lookup-capability.component.html
@@ -6,32 +6,35 @@
-
+
-
+
-
+ @for (capability of capabilities$ | async; track capability) {
-
+
{{capability.metadata!.appSymbolicName}}
{{capability.metadata!.id}}
{{capability.private ? 'PRIVATE' : 'PUBLIC'}}
-
+ }
diff --git a/apps/microfrontend-platform-testing-app/src/app/manifest/lookup-capability/lookup-capability.component.ts b/apps/microfrontend-platform-testing-app/src/app/manifest/lookup-capability/lookup-capability.component.ts
index 657c9226..3827ed30 100644
--- a/apps/microfrontend-platform-testing-app/src/app/manifest/lookup-capability/lookup-capability.component.ts
+++ b/apps/microfrontend-platform-testing-app/src/app/manifest/lookup-capability/lookup-capability.component.ts
@@ -15,7 +15,7 @@ import {Observable} from 'rxjs';
import {finalize} from 'rxjs/operators';
import {Beans} from '@scion/toolkit/bean-manager';
import {Clipboard} from '@angular/cdk/clipboard';
-import {AsyncPipe, JsonPipe, NgFor, NgIf} from '@angular/common';
+import {AsyncPipe, JsonPipe} from '@angular/common';
import {SciCheckboxComponent} from '@scion/components.internal/checkbox';
import {SciFormFieldComponent} from '@scion/components.internal/form-field';
import {SciListComponent, SciListItemDirective} from '@scion/components.internal/list';
@@ -28,8 +28,6 @@ import {SciMaterialIconDirective} from '@scion/components.internal/material-icon
styleUrls: ['./lookup-capability.component.scss'],
standalone: true,
imports: [
- NgIf,
- NgFor,
AsyncPipe,
JsonPipe,
ReactiveFormsModule,
diff --git a/apps/microfrontend-platform-testing-app/src/app/manifest/lookup-intention/lookup-intention.component.html b/apps/microfrontend-platform-testing-app/src/app/manifest/lookup-intention/lookup-intention.component.html
index d071f372..3e9e95e9 100644
--- a/apps/microfrontend-platform-testing-app/src/app/manifest/lookup-intention/lookup-intention.component.html
+++ b/apps/microfrontend-platform-testing-app/src/app/manifest/lookup-intention/lookup-intention.component.html
@@ -6,24 +6,27 @@
-
+
-
+
-
+ @for (intention of intentions$ | async; track intention) {
@@ -31,5 +34,5 @@
{{intention.metadata!.id}}
-
+ }
diff --git a/apps/microfrontend-platform-testing-app/src/app/manifest/lookup-intention/lookup-intention.component.ts b/apps/microfrontend-platform-testing-app/src/app/manifest/lookup-intention/lookup-intention.component.ts
index 2bc7ed6e..ea3c4e14 100644
--- a/apps/microfrontend-platform-testing-app/src/app/manifest/lookup-intention/lookup-intention.component.ts
+++ b/apps/microfrontend-platform-testing-app/src/app/manifest/lookup-intention/lookup-intention.component.ts
@@ -14,7 +14,7 @@ import {KeyValueEntry, SciKeyValueFieldComponent} from '@scion/components.intern
import {Observable} from 'rxjs';
import {finalize} from 'rxjs/operators';
import {Beans} from '@scion/toolkit/bean-manager';
-import {AsyncPipe, NgFor, NgIf} from '@angular/common';
+import {AsyncPipe} from '@angular/common';
import {SciCheckboxComponent} from '@scion/components.internal/checkbox';
import {SciFormFieldComponent} from '@scion/components.internal/form-field';
import {SciListComponent, SciListItemDirective} from '@scion/components.internal/list';
@@ -26,8 +26,6 @@ import {SciQualifierChipListComponent} from '@scion/components.internal/qualifie
styleUrls: ['./lookup-intention.component.scss'],
standalone: true,
imports: [
- NgIf,
- NgFor,
AsyncPipe,
ReactiveFormsModule,
SciFormFieldComponent,
diff --git a/apps/microfrontend-platform-testing-app/src/app/manifest/register-capability/register-capability.component.html b/apps/microfrontend-platform-testing-app/src/app/manifest/register-capability/register-capability.component.html
index 9567fd92..eac2055a 100644
--- a/apps/microfrontend-platform-testing-app/src/app/manifest/register-capability/register-capability.component.html
+++ b/apps/microfrontend-platform-testing-app/src/app/manifest/register-capability/register-capability.component.html
@@ -5,26 +5,30 @@
-
+
-
+
-
+
-
-
+ @if (registerError) {
+
+ }
+ @if (registerResponse) {
+
+ }
-
+ @for (capability of capabilities$ | async; track capability) {
@@ -66,5 +74,5 @@
{{capability.private ? 'PRIVATE' : 'PUBLIC'}}
-
+ }
diff --git a/apps/microfrontend-platform-testing-app/src/app/manifest/register-capability/register-capability.component.ts b/apps/microfrontend-platform-testing-app/src/app/manifest/register-capability/register-capability.component.ts
index e47edff4..7902b36a 100644
--- a/apps/microfrontend-platform-testing-app/src/app/manifest/register-capability/register-capability.component.ts
+++ b/apps/microfrontend-platform-testing-app/src/app/manifest/register-capability/register-capability.component.ts
@@ -13,7 +13,7 @@ import {APP_IDENTITY, Capability, ManifestObjectFilter, ManifestService, ParamDe
import {KeyValueEntry, SciKeyValueFieldComponent} from '@scion/components.internal/key-value-field';
import {Observable} from 'rxjs';
import {Beans} from '@scion/toolkit/bean-manager';
-import {AsyncPipe, JsonPipe, NgFor, NgIf} from '@angular/common';
+import {AsyncPipe, JsonPipe} from '@angular/common';
import {SciCheckboxComponent} from '@scion/components.internal/checkbox';
import {SciFormFieldComponent} from '@scion/components.internal/form-field';
import {SciListComponent, SciListItemDirective} from '@scion/components.internal/list';
@@ -26,8 +26,6 @@ import {parseTypedValues} from '../../common/typed-value-parser.util';
styleUrls: ['./register-capability.component.scss'],
standalone: true,
imports: [
- NgIf,
- NgFor,
AsyncPipe,
JsonPipe,
ReactiveFormsModule,
diff --git a/apps/microfrontend-platform-testing-app/src/app/manifest/register-intention/register-intention.component.html b/apps/microfrontend-platform-testing-app/src/app/manifest/register-intention/register-intention.component.html
index b3baee4f..c9f6c737 100644
--- a/apps/microfrontend-platform-testing-app/src/app/manifest/register-intention/register-intention.component.html
+++ b/apps/microfrontend-platform-testing-app/src/app/manifest/register-intention/register-intention.component.html
@@ -5,17 +5,21 @@
-
+
-
-
+ @if (registerError) {
+
+ }
+ @if (registerResponse) {
+
+ }
-
+ @for (intention of intentions$ | async; track intention) {
-
+
{{intention.metadata!.appSymbolicName}}
{{intention.metadata!.id}}
-
+ }
diff --git a/apps/microfrontend-platform-testing-app/src/app/manifest/register-intention/register-intention.component.ts b/apps/microfrontend-platform-testing-app/src/app/manifest/register-intention/register-intention.component.ts
index f4cb7571..50faf7fd 100644
--- a/apps/microfrontend-platform-testing-app/src/app/manifest/register-intention/register-intention.component.ts
+++ b/apps/microfrontend-platform-testing-app/src/app/manifest/register-intention/register-intention.component.ts
@@ -13,7 +13,7 @@ import {APP_IDENTITY, Intention, ManifestObjectFilter, ManifestService} from '@s
import {KeyValueEntry, SciKeyValueFieldComponent} from '@scion/components.internal/key-value-field';
import {Observable} from 'rxjs';
import {Beans} from '@scion/toolkit/bean-manager';
-import {AsyncPipe, NgFor, NgIf} from '@angular/common';
+import {AsyncPipe} from '@angular/common';
import {SciCheckboxComponent} from '@scion/components.internal/checkbox';
import {SciFormFieldComponent} from '@scion/components.internal/form-field';
import {SciListComponent, SciListItemDirective} from '@scion/components.internal/list';
@@ -25,8 +25,6 @@ import {SciQualifierChipListComponent} from '@scion/components.internal/qualifie
styleUrls: ['./register-intention.component.scss'],
standalone: true,
imports: [
- NgIf,
- NgFor,
AsyncPipe,
ReactiveFormsModule,
SciFormFieldComponent,
diff --git a/apps/microfrontend-platform-testing-app/src/app/messaging/message-list-item/message-list-item.component.html b/apps/microfrontend-platform-testing-app/src/app/messaging/message-list-item/message-list-item.component.html
index a32a16e8..7b6fe381 100644
--- a/apps/microfrontend-platform-testing-app/src/app/messaging/message-list-item/message-list-item.component.html
+++ b/apps/microfrontend-platform-testing-app/src/app/messaging/message-list-item/message-list-item.component.html
@@ -1,29 +1,27 @@
-
-
+@if (isTopicMessage) {
Topic:{{topicMessage.topic}}
-
+ @if (message.headers.get(MessageHeaders.ReplyTo); as replyTo) {
replyTo: {{replyTo}}
-
+ }
Body: {{message.body}}
-
+ @if (topicMessage.params && topicMessage.params.size) {
Params:
-
-
+
+ }
Headers:
-
-
-
-
+
+} @else {
Type: {{intentMessage.intent.type}}
Qualifier:
-
+
Params:
-
-
+
+ @if (message.headers.get(MessageHeaders.ReplyTo); as replyTo) {
replyTo: {{replyTo}}
-
+ }
Body: {{message.body}}
Headers:
-
+
Capability ID: {{intentMessage.capability.metadata!.id}}
-
+}
+
diff --git a/apps/microfrontend-platform-testing-app/src/app/messaging/message-list-item/message-list-item.component.ts b/apps/microfrontend-platform-testing-app/src/app/messaging/message-list-item/message-list-item.component.ts
index 88322cdc..4345e4fe 100644
--- a/apps/microfrontend-platform-testing-app/src/app/messaging/message-list-item/message-list-item.component.ts
+++ b/apps/microfrontend-platform-testing-app/src/app/messaging/message-list-item/message-list-item.component.ts
@@ -9,7 +9,7 @@
*/
import {Component, HostBinding, Input, OnChanges, SimpleChanges} from '@angular/core';
import {IntentMessage, MessageHeaders, TopicMessage} from '@scion/microfrontend-platform';
-import {NgIf} from '@angular/common';
+
import {AppendParamDataTypePipe} from '../append-param-data-type.pipe';
import {SciKeyValueComponent} from '@scion/components.internal/key-value';
@@ -19,7 +19,6 @@ import {SciKeyValueComponent} from '@scion/components.internal/key-value';
styleUrls: ['./message-list-item.component.scss'],
standalone: true,
imports: [
- NgIf,
SciKeyValueComponent,
AppendParamDataTypePipe,
],
diff --git a/apps/microfrontend-platform-testing-app/src/app/messaging/publish-message/publish-message.component.html b/apps/microfrontend-platform-testing-app/src/app/messaging/publish-message/publish-message.component.html
index ac03f10b..b5ef390b 100644
--- a/apps/microfrontend-platform-testing-app/src/app/messaging/publish-message/publish-message.component.html
+++ b/apps/microfrontend-platform-testing-app/src/app/messaging/publish-message/publish-message.component.html
@@ -6,25 +6,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ @if (isTopicFlavor()) {
@@ -34,37 +16,59 @@
-
-
-
+ } @else {
-
-
+
-
-
+
-
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+@if (!publishing) {
+
+}
+@if (publishing) {
+
+}
-
+@if (publishError) {
+
+}
-
+@if (isRequestReply() && publishing) {
-
-
-
+ @for (reply of replies; track reply) {
+
+
+
+ }
-
+}
diff --git a/apps/microfrontend-platform-testing-app/src/app/messaging/publish-message/publish-message.component.ts b/apps/microfrontend-platform-testing-app/src/app/messaging/publish-message/publish-message.component.ts
index 24d5dbf7..2110ec51 100644
--- a/apps/microfrontend-platform-testing-app/src/app/messaging/publish-message/publish-message.component.ts
+++ b/apps/microfrontend-platform-testing-app/src/app/messaging/publish-message/publish-message.component.ts
@@ -14,7 +14,7 @@ import {Subscription} from 'rxjs';
import {distinctUntilChanged, finalize, startWith} from 'rxjs/operators';
import {KeyValueEntry, SciKeyValueFieldComponent} from '@scion/components.internal/key-value-field';
import {Beans} from '@scion/toolkit/bean-manager';
-import {AsyncPipe, NgFor, NgIf} from '@angular/common';
+import {AsyncPipe} from '@angular/common';
import {SciCheckboxComponent} from '@scion/components.internal/checkbox';
import {TopicSubscriberCountPipe} from '../topic-subscriber-count.pipe';
import {MessageListItemComponent} from '../message-list-item/message-list-item.component';
@@ -31,9 +31,7 @@ import {parseTypedValues} from '../../common/typed-value-parser.util';
styleUrls: ['./publish-message.component.scss'],
standalone: true,
imports: [
- NgIf,
AsyncPipe,
- NgFor,
ReactiveFormsModule,
SciFormFieldComponent,
SciKeyValueFieldComponent,
diff --git a/apps/microfrontend-platform-testing-app/src/app/messaging/receive-message/receive-message.component.html b/apps/microfrontend-platform-testing-app/src/app/messaging/receive-message/receive-message.component.html
index a0f17825..e1b4dbd3 100644
--- a/apps/microfrontend-platform-testing-app/src/app/messaging/receive-message/receive-message.component.html
+++ b/apps/microfrontend-platform-testing-app/src/app/messaging/receive-message/receive-message.component.html
@@ -5,48 +5,49 @@
-
-
-
+ @if (isTopicMessaging()) {
-
-
-
+ } @else {
-
-
+
-
+ }
+
+
-
-
+@if (!isSubscribed) {
+
+} @else {
+
+}
-
+@if (subscribeError) {
+
+}
-
+@if (isSubscribed) {
-
+ @for (message of messages; track message) {
-
+
-
-
+ }
-
+}
diff --git a/apps/microfrontend-platform-testing-app/src/app/messaging/receive-message/receive-message.component.ts b/apps/microfrontend-platform-testing-app/src/app/messaging/receive-message/receive-message.component.ts
index d06b47d8..d13cf9c0 100644
--- a/apps/microfrontend-platform-testing-app/src/app/messaging/receive-message/receive-message.component.ts
+++ b/apps/microfrontend-platform-testing-app/src/app/messaging/receive-message/receive-message.component.ts
@@ -14,7 +14,7 @@ import {Subscription} from 'rxjs';
import {distinctUntilChanged, finalize, startWith} from 'rxjs/operators';
import {KeyValueEntry, SciKeyValueFieldComponent} from '@scion/components.internal/key-value-field';
import {Beans} from '@scion/toolkit/bean-manager';
-import {NgFor, NgIf} from '@angular/common';
+
import {MessageListItemComponent} from '../message-list-item/message-list-item.component';
import {AppAsPipe} from '../../common/as.pipe';
import {stringifyError} from '../../common/stringify-error.util';
@@ -29,8 +29,6 @@ import {SciMaterialIconDirective} from '@scion/components.internal/material-icon
styleUrls: ['./receive-message.component.scss'],
standalone: true,
imports: [
- NgIf,
- NgFor,
ReactiveFormsModule,
SciFormFieldComponent,
SciKeyValueFieldComponent,
diff --git a/apps/microfrontend-platform-testing-app/src/app/outlet-context/context/context.component.html b/apps/microfrontend-platform-testing-app/src/app/outlet-context/context/context.component.html
index 5d310dcf..d43a5120 100644
--- a/apps/microfrontend-platform-testing-app/src/app/outlet-context/context/context.component.html
+++ b/apps/microfrontend-platform-testing-app/src/app/outlet-context/context/context.component.html
@@ -1,5 +1,7 @@
-
-
-
+ @for (entry of context$ | async | keyvalue; track entry) {
+
+
+
+ }
diff --git a/apps/microfrontend-platform-testing-app/src/app/outlet-context/context/context.component.ts b/apps/microfrontend-platform-testing-app/src/app/outlet-context/context/context.component.ts
index 9c8a84d8..d79a3a59 100644
--- a/apps/microfrontend-platform-testing-app/src/app/outlet-context/context/context.component.ts
+++ b/apps/microfrontend-platform-testing-app/src/app/outlet-context/context/context.component.ts
@@ -12,7 +12,7 @@ import {ContextService} from '@scion/microfrontend-platform';
import {Observable, OperatorFunction} from 'rxjs';
import {map} from 'rxjs/operators';
import {Beans} from '@scion/toolkit/bean-manager';
-import {AsyncPipe, KeyValuePipe, NgFor} from '@angular/common';
+import {AsyncPipe, KeyValuePipe} from '@angular/common';
import {ContextEntryComponent} from '../../context-entry/context-entry.component';
import {SciListComponent, SciListItemDirective} from '@scion/components.internal/list';
@@ -23,7 +23,6 @@ import {SciListComponent, SciListItemDirective} from '@scion/components.internal
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: true,
imports: [
- NgFor,
AsyncPipe,
KeyValuePipe,
SciListComponent,
diff --git a/apps/microfrontend-platform-testing-app/src/app/outlet-context/lookup-context-value/lookup-context-value.component.html b/apps/microfrontend-platform-testing-app/src/app/outlet-context/lookup-context-value/lookup-context-value.component.html
index ee8d15e0..1a6349cc 100644
--- a/apps/microfrontend-platform-testing-app/src/app/outlet-context/lookup-context-value/lookup-context-value.component.html
+++ b/apps/microfrontend-platform-testing-app/src/app/outlet-context/lookup-context-value/lookup-context-value.component.html
@@ -4,35 +4,42 @@
-
+
-
-
+ @if (!isSubscribed) {
+
+ } @else {
+
+ }
-
-
-
-
-
-
-
-
+@if (isSubscribed) {
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+}
-
+@if (subscribeError) {
+
+}
diff --git a/apps/microfrontend-platform-testing-app/src/app/outlet-context/lookup-context-value/lookup-context-value.component.ts b/apps/microfrontend-platform-testing-app/src/app/outlet-context/lookup-context-value/lookup-context-value.component.ts
index 5b40f714..5b866f05 100644
--- a/apps/microfrontend-platform-testing-app/src/app/outlet-context/lookup-context-value/lookup-context-value.component.ts
+++ b/apps/microfrontend-platform-testing-app/src/app/outlet-context/lookup-context-value/lookup-context-value.component.ts
@@ -12,7 +12,7 @@ import {NonNullableFormBuilder, ReactiveFormsModule, Validators} from '@angular/
import {Beans} from '@scion/toolkit/bean-manager';
import {ContextService} from '@scion/microfrontend-platform';
import {Subscription} from 'rxjs';
-import {JsonPipe, NgIf} from '@angular/common';
+import {JsonPipe} from '@angular/common';
import {SciCheckboxComponent} from '@scion/components.internal/checkbox';
import {SciSashboxComponent, SciSashDirective} from '@scion/components/sashbox';
import {SciFormFieldComponent} from '@scion/components.internal/form-field';
@@ -24,7 +24,6 @@ import {SciFormFieldComponent} from '@scion/components.internal/form-field';
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: true,
imports: [
- NgIf,
JsonPipe,
ReactiveFormsModule,
SciFormFieldComponent,
diff --git a/apps/microfrontend-platform-testing-app/src/app/outlet-router/outlet-router.component.html b/apps/microfrontend-platform-testing-app/src/app/outlet-router/outlet-router.component.html
index 4836daab..3d30c6ea 100644
--- a/apps/microfrontend-platform-testing-app/src/app/outlet-router/outlet-router.component.html
+++ b/apps/microfrontend-platform-testing-app/src/app/outlet-router/outlet-router.component.html
@@ -5,25 +5,31 @@
-
-
-
-
-
-
+ @if (form.controls.useIntent.value) {
+
+
+
+ } @else {
+
+
+
+ }
+
-
+
-
+
-
+
-
+@if (navigateError) {
+
+}
diff --git a/apps/microfrontend-platform-testing-app/src/app/outlet-router/outlet-router.component.ts b/apps/microfrontend-platform-testing-app/src/app/outlet-router/outlet-router.component.ts
index 277dfd34..9b745b9f 100644
--- a/apps/microfrontend-platform-testing-app/src/app/outlet-router/outlet-router.component.ts
+++ b/apps/microfrontend-platform-testing-app/src/app/outlet-router/outlet-router.component.ts
@@ -11,7 +11,7 @@ import {Component} from '@angular/core';
import {FormArray, FormControl, FormGroup, NonNullableFormBuilder, ReactiveFormsModule, Validators} from '@angular/forms';
import {NavigationOptions, OutletRouter} from '@scion/microfrontend-platform';
import {Beans} from '@scion/toolkit/bean-manager';
-import {NgIf} from '@angular/common';
+
import {SciCheckboxComponent} from '@scion/components.internal/checkbox';
import {distinctUntilChanged, startWith} from 'rxjs/operators';
import {takeUntilDestroyed} from '@angular/core/rxjs-interop';
@@ -26,7 +26,6 @@ import {KeyValueEntry, SciKeyValueFieldComponent} from '@scion/components.intern
styleUrls: ['./outlet-router.component.scss'],
standalone: true,
imports: [
- NgIf,
ReactiveFormsModule,
SciFormFieldComponent,
SciCheckboxComponent,
diff --git a/apps/microfrontend-platform-testing-app/src/app/preferred-size/preferred-size.component.html b/apps/microfrontend-platform-testing-app/src/app/preferred-size/preferred-size.component.html
index 8ed43f17..4e901118 100644
--- a/apps/microfrontend-platform-testing-app/src/app/preferred-size/preferred-size.component.html
+++ b/apps/microfrontend-platform-testing-app/src/app/preferred-size/preferred-size.component.html
@@ -1,30 +1,34 @@