fix(lit-components): fix rendering and interaction issues in force-graph, html-table, and draggable-dom
Build and Deploy / build-and-deploy (push) Has been cancelled
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.
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
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;
|
||||
};
|
||||
Reference in New Issue
Block a user