b9e42c3ef4
Build and Deploy / build-and-deploy (push) Has been cancelled
- 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.
46 lines
994 B
TypeScript
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;
|
|
};
|