fix: admin/config: errors saving were not displayed
Massimo Melina committed
Mar 13, 2022 at 19:14 UTC
9994bea92df68c6a8aba3118ae9dba30024b84fc
2 files changed
+4
-1
admin/src/ConfigPage.ts
+1
@@ -38,6 +38,7 @@ export default function ConfigPage() {
38
state.config[k] = v
39
},
40
stickyBar: true,
41
+ onError: alertDialog,
42
save: {
43
onClick: save,
44
disabled: !Object.keys(changes).length,
admin/src/Form.ts
+3
-1
@@ -31,15 +31,17 @@ interface FormProps {
31
stickyBar?: boolean
32
addToBar?: ReactNode[]
33
barSx?: Dict
34
+ onError?: (err: any) => void
35
[rest:string]: any
36
}
36
-export function Form({ fields, values, set, defaults, save, stickyBar, addToBar=[], barSx, formRef, ...rest }: FormProps) {
37
+export function Form({ fields, values, set, defaults, save, stickyBar, addToBar=[], barSx, formRef, onError, ...rest }: FormProps) {
38
const [loading, setLoading] = useStateMounted(false)
39
const onClick = save?.onClick
40
if (onClick)
41
save.onClick = async function (ev) {
42
setLoading(true)
43
try { return await onClick(ev) }
44
+ catch(e) { onError?.(e) }
45
finally { setLoading(false) }
46
}
47