From 7fae17dac38d557e03eae0acc5c65538a7128134 Mon Sep 17 00:00:00 2001 From: Ken Sternberg Date: Thu, 10 Aug 2023 12:51:39 -0700 Subject: [PATCH] web: application wizard Found where the hook for form validity should go. Excellent! Now I just need to incorporate that basic validation into the business logic and we're good to go. --- .../applications/wizard/ApplicationWizardPageBase.ts | 8 +++++++- .../admin/applications/wizard/ak-application-wizard.ts | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/web/src/admin/applications/wizard/ApplicationWizardPageBase.ts b/web/src/admin/applications/wizard/ApplicationWizardPageBase.ts index 7fe79413d..19db5ecbb 100644 --- a/web/src/admin/applications/wizard/ApplicationWizardPageBase.ts +++ b/web/src/admin/applications/wizard/ApplicationWizardPageBase.ts @@ -2,7 +2,7 @@ import { AKElement } from "@goauthentik/elements/Base"; import { CustomEmitterElement } from "@goauthentik/elements/utils/eventEmitter"; import { consume } from "@lit-labs/context"; -import { state } from "@lit/reactive-element/decorators/state.js"; +import { query, state } from "@lit/reactive-element/decorators.js"; import { styles as AwadStyles } from "./ApplicationWizardCss"; import type { WizardState } from "./ak-application-wizard-context"; @@ -13,12 +13,18 @@ export class ApplicationWizardPageBase extends CustomEmitterElement(AKElement) { return AwadStyles; } + @query("form") + form!: HTMLFormElement; + // @ts-expect-error @consume({ context: applicationWizardContext, subscribe: true }) @state() public wizard!: WizardState; dispatchWizardUpdate(update: Partial) { + // TODO: Incorporate this into the message heading upward: "the current step is valid." + console.log(this.form.reportValidity()); + this.dispatchCustomEvent("ak-application-wizard-update", { ...this.wizard, ...update, diff --git a/web/src/admin/applications/wizard/ak-application-wizard.ts b/web/src/admin/applications/wizard/ak-application-wizard.ts index fcbbd2ba5..b2ac9575a 100644 --- a/web/src/admin/applications/wizard/ak-application-wizard.ts +++ b/web/src/admin/applications/wizard/ak-application-wizard.ts @@ -84,6 +84,7 @@ export class ApplicationWizard extends CustomListenerElement(AKElement) { this.steps = newSteps; } + console.log(newWizardState); this.wizardState = newWizardState; }