From 95603bb2d1ff60dea7c9c9b70d2aec0768c7be21 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sun, 21 Jan 2024 15:16:33 +0100 Subject: more input options --- src/element.ts | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/element.ts') diff --git a/src/element.ts b/src/element.ts index da98852..37bf9ed 100644 --- a/src/element.ts +++ b/src/element.ts @@ -14,6 +14,8 @@ interface Opts { href?: string, style?: { [key in keyof CSSStyleDeclaration]?: CSSStyleDeclaration[key] }, placeholder?: string, + disabled?: boolean, + value?: string, onclick?: (e: E) => void, onmouseenter?: (e: E) => void, onmouseleave?: (e: E) => void, @@ -26,6 +28,8 @@ function apply_opts(e: E, o: Opts): (() => void) | voi if (o.type && e instanceof HTMLInputElement) e.type = o.type if (o.href && e instanceof HTMLAnchorElement) e.href = o.href; if (o.placeholder && e instanceof HTMLInputElement) e.placeholder = o.placeholder; + if (o.disabled && e instanceof HTMLInputElement) e.disabled = true; + if (o.value && e instanceof HTMLInputElement) e.value = o.value; if (o.onclick) e.addEventListener("click", () => o.onclick!(e)) if (o.onchange) e.addEventListener("change", () => o.onchange!(e)) if (o.onmouseenter) e.addEventListener("mouseenter", () => o.onmouseenter!(e)) -- cgit v1.2.3-70-g09d2