mirror of
https://github.com/appwrite/console.git
synced 2026-06-06 19:27:48 +00:00
Merge pull request #2201 from appwrite/fix-SER-243-CountUp-not-working
fix: coerce numeric values, and handle nullable correctly
This commit is contained in:
@@ -18,6 +18,19 @@
|
||||
|
||||
let error: string;
|
||||
|
||||
function coerceToNumber(event: Event & { currentTarget: EventTarget & HTMLInputElement }) {
|
||||
const raw = event.currentTarget?.value ?? '';
|
||||
if (raw === '') {
|
||||
value = nullable ? null : (undefined as unknown as number);
|
||||
return;
|
||||
}
|
||||
|
||||
const parsed = Number(raw);
|
||||
if (Number.isFinite(parsed)) {
|
||||
value = parsed;
|
||||
}
|
||||
}
|
||||
|
||||
const handleInvalid = (event: Event & { currentTarget: EventTarget & HTMLInputElement }) => {
|
||||
event.preventDefault();
|
||||
|
||||
@@ -39,7 +52,7 @@
|
||||
error = event.currentTarget.validationMessage;
|
||||
};
|
||||
|
||||
$: if (value) {
|
||||
$: if (value !== null && value !== undefined && !Number.isNaN(value)) {
|
||||
error = null;
|
||||
}
|
||||
</script>
|
||||
@@ -61,7 +74,8 @@
|
||||
helper={error || helper}
|
||||
state={error ? 'error' : 'default'}
|
||||
on:invalid={handleInvalid}
|
||||
on:input>
|
||||
on:input={coerceToNumber}
|
||||
on:change={coerceToNumber}>
|
||||
<svelte:fragment slot="info">
|
||||
<slot name="info" slot="info" />
|
||||
</svelte:fragment>
|
||||
|
||||
Reference in New Issue
Block a user