From 7a3b447ed31b8ce73cf59fb799a5254068f0a0d9 Mon Sep 17 00:00:00 2001 From: Joel Wetzell Date: Fri, 13 Feb 2026 20:34:28 -0600 Subject: [PATCH] make route input/output a select list of module id's --- src/app/config/config.component.html | 1 + src/app/config/config.component.ts | 8 ++++++++ src/app/route/route.component.html | 28 ++++++++++++++++++---------- src/app/route/route.component.ts | 1 + 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/src/app/config/config.component.html b/src/app/config/config.component.html index d0d2e3c..ec54bf3 100644 --- a/src/app/config/config.component.html +++ b/src/app/config/config.component.html @@ -44,6 +44,7 @@ [path]="`routes/${i}`" (routeChange)="routeUpdated(i, $event)" [route]="route" + [moduleIds]="moduleIds()" (delete)="deleteRoute(i)" > diff --git a/src/app/config/config.component.ts b/src/app/config/config.component.ts index faa10dc..477ad6d 100644 --- a/src/app/config/config.component.ts +++ b/src/app/config/config.component.ts @@ -28,6 +28,14 @@ export class ConfigComponent { modules = computed(() => this.config()?.modules ?? []); routes = computed(() => this.config()?.routes ?? []); + moduleIds = computed(() => { + const config = this.config(); + if (config !== undefined && config.modules !== undefined) { + return config.modules.map((module) => module.id!) ?? []; + } + return []; + }); + public schemaService = inject(SchemaService); private snackBar = inject(MatSnackBar); diff --git a/src/app/route/route.component.html b/src/app/route/route.component.html index 47e068d..5b4f320 100644 --- a/src/app/route/route.component.html +++ b/src/app/route/route.component.html @@ -15,12 +15,16 @@
- + formControlName="input" + > + @for (option of moduleIds(); track option) { + + } + @if (!formGroup.controls['input'].valid) {
{{ formGroup.controls['input'].errors | json }}
@@ -28,12 +32,16 @@
- + formControlName="output" + > + @for (option of moduleIds(); track option) { + + } + @if (!formGroup.controls['output'].valid) {
diff --git a/src/app/route/route.component.ts b/src/app/route/route.component.ts index 32e5e63..e83270e 100644 --- a/src/app/route/route.component.ts +++ b/src/app/route/route.component.ts @@ -16,6 +16,7 @@ import { JsonPipe } from '@angular/common'; export class RouteComponent { path = input(''); route = model(); + moduleIds = input([]); delete = output(); formGroup: FormGroup = new FormGroup({