Page MenuHomeSealhub

form-control.ts
No OneTemporary

form-control.ts

import Router from "@koa/router";
import { Context } from "koa";
import { FlatTemplatable } from "tempstream";
import { FormDataValue, FormMessage } from "../form-types.js";
import type { Form } from "../form.js";
export class FormControlContext {
constructor(
public ctx: Context,
public data: Record<string, FormDataValue>,
public messages: FormMessage[],
public field_name_prefix: string,
public form_id: string,
public validate: boolean
) {}
}
export abstract class FormControl {
abstract render(
fctx: FormControlContext
): FlatTemplatable | Promise<FlatTemplatable>;
abstract role: "input" | "decoration" | "messages" | "submit";
// eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-explicit-any
mount(_router: Router, _form: Form<any, any>) {}
}

File Metadata

Mime Type
text/x-java
Expires
Tue, May 27, 23:46 (3 h, 16 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
633892
Default Alt Text
form-control.ts (812 B)

Event Timeline