* web/admin: add basic wizards for providers
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
* web: add dark mode for wizard
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
* web/admin: migrate policies to wizard
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
* start source
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
* policies: sanitze_dict when returning log messages during tests
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
* Revert "web/admin: migrate policies to wizard"
This reverts commit d8b7f62d3e.
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
# Conflicts:
# web/src/locales/zh-Hans.po
# web/src/locales/zh-Hant.po
# web/src/locales/zh_TW.po
* web: rewrite wizard to be element based
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
* further cleanup
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
* update sources
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
* web: migrate property mappings
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
* migrate stages
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
* migrate misc dropdowns
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
* migrate outpost integrations
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
47 lines
1.1 KiB
TypeScript
47 lines
1.1 KiB
TypeScript
import { LitElement, PropertyDeclaration, TemplateResult, html } from "lit";
|
|
import { customElement, property } from "lit/decorators.js";
|
|
|
|
import { Wizard } from "./Wizard";
|
|
|
|
@customElement("ak-wizard-page")
|
|
export class WizardPage extends LitElement {
|
|
@property()
|
|
sidebarLabel: () => string = () => {
|
|
return "UNNAMED";
|
|
};
|
|
|
|
isValid(): boolean {
|
|
return this._isValid;
|
|
}
|
|
|
|
get host(): Wizard {
|
|
return this.parentElement as Wizard;
|
|
}
|
|
|
|
_isValid = false;
|
|
|
|
activeCallback: () => Promise<void> = () => {
|
|
return Promise.resolve();
|
|
};
|
|
nextCallback: () => Promise<boolean> = async () => {
|
|
return true;
|
|
};
|
|
|
|
requestUpdate(
|
|
name?: PropertyKey,
|
|
oldValue?: unknown,
|
|
options?: PropertyDeclaration<unknown, unknown>,
|
|
): void {
|
|
this.querySelectorAll("*").forEach((el) => {
|
|
if ("requestUpdate" in el) {
|
|
(el as LitElement).requestUpdate();
|
|
}
|
|
});
|
|
return super.requestUpdate(name, oldValue, options);
|
|
}
|
|
|
|
render(): TemplateResult {
|
|
return html`<slot></slot>`;
|
|
}
|
|
}
|