Files
lit-examples/lit-components/vite-rxdb-lit/components/form-builder.ts
T
rodydavis b9e42c3ef4
Build and Deploy / build-and-deploy (push) Has been cancelled
fix(lit-components): fix rendering and interaction issues in force-graph, html-table, and draggable-dom
- lit-force-graph: Refactored for instance reuse, better lifecycle management, and added dynamic imports for AR/VR modes.
- lit-html-table: Improved visual design, readability of headers, and fixed reactivity in editable mode.
- lit-draggable-dom: Fixed clipping issues by switching to relative/absolute positioning and resolved a panning speed bug caused by CSS variable inheritance.
2026-05-17 00:41:14 -07:00

46 lines
994 B
TypeScript

import { html, TemplateResult } from "lit";
export const formBuilder = (
content: TemplateResult,
onSubmit: (form: HTMLFormElement) => void
) => {
return html`<form
@submit=${(e: any) => {
e.preventDefault();
const form = e.currentTarget as HTMLFormElement;
onSubmit(form);
}}
>
${content} <br />
<input type="submit" value="Submit" />
</form>`;
};
export const input = (
id: string,
label: string,
options?: { type?: "text" | "number"; required?: boolean }
) => {
return html`
<div>
<label for="${id}">${label}</label><br />
<input
id="${id}"
type="${options?.type ?? "text"}"
?required=${options?.required ?? false}
/>
</div>
`;
};
export const inputValue = (
form: HTMLFormElement,
id: string,
fallback: string = ""
) => {
const input = form.querySelector(`#${id}`) as HTMLInputElement;
const value = input.value;
if (value.length > 0) return value;
return fallback;
};