aboutsummaryrefslogtreecommitdiff
path: root/src/element.ts
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-01-21 15:16:33 +0100
committermetamuffin <metamuffin@disroot.org>2024-01-21 15:16:33 +0100
commit95603bb2d1ff60dea7c9c9b70d2aec0768c7be21 (patch)
treead59021f3643838ae6e4802fc05b74e20c2f3e1d /src/element.ts
parentd20a4fcf83818ead0b0775ded507e9e6f0fcc9b1 (diff)
downloadjshelper-95603bb2d1ff60dea7c9c9b70d2aec0768c7be21.tar
jshelper-95603bb2d1ff60dea7c9c9b70d2aec0768c7be21.tar.bz2
jshelper-95603bb2d1ff60dea7c9c9b70d2aec0768c7be21.tar.zst
more input options
Diffstat (limited to 'src/element.ts')
-rw-r--r--src/element.ts4
1 files changed, 4 insertions, 0 deletions
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<E> {
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 extends HTMLElement>(e: E, o: Opts<E>): (() => 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))