silence chrome warning with password fields

Massimo Melina committed Feb 11, 2022 at 00:05 UTC a267dd573d9cd79ffeaa3b4fc6e00d8b6ed87801
1 file changed +39 -37
admin/src/Form.ts
+39 -37
@@ -29,44 +29,46 @@ interface FormProps {
29 [rest:string]: any,
30 }
31 export function Form({ fields, values, set, defaults, save, sticky, addToBar=[], barSx, ...rest }: FormProps) {
32 - return h(Box, rest,
33 - save && h(Box, {
34 - display: 'flex',
35 - gap: 2,
36 - alignItems: 'center',
37 - sx: Object.assign({ mb: 3, width: 'fit-content' },
38 - sticky && { zIndex: 2, backgroundColor: 'background.paper', position: 'sticky', top: 0 },
39 - barSx)
40 - },
41 - h(Button, {
42 - variant: 'contained',
43 - startIcon: h(Save),
44 - ...save,
45 - }, 'Save'),
46 - ...addToBar,
47 - ),
48 - h(Grid, { container:true, rowSpacing:3, columnSpacing:1 },
49 - fields.map((row, idx) => {
50 - if (!row)
51 - return
52 - if (isValidElement(row))
53 - return h(Grid, { key: idx, item: true, xs: 12 }, row)
54 - let field = row
55 - const { k } = field
56 - if (k) {
57 - field = {
58 - value: values?.[k],
59 - onChange(v:any) { set(v, field) },
60 - ...field,
32 + return h('form', { onSubmit(ev){ ev.preventDefault() } },
33 + h(Box, rest,
34 + save && h(Box, {
35 + display: 'flex',
36 + gap: 2,
37 + alignItems: 'center',
38 + sx: Object.assign({ mb: 3, width: 'fit-content' },
39 + sticky && { zIndex: 2, backgroundColor: 'background.paper', position: 'sticky', top: 0 },
40 + barSx)
41 + },
42 + h(Button, {
43 + variant: 'contained',
44 + startIcon: h(Save),
45 + ...save,
46 + }, 'Save'),
47 + ...addToBar,
48 + ),
49 + h(Grid, { container:true, rowSpacing:3, columnSpacing:1 },
50 + fields.map((row, idx) => {
51 + if (!row)
52 + return
53 + if (isValidElement(row))
54 + return h(Grid, { key: idx, item: true, xs: 12 }, row)
55 + let field = row
56 + const { k } = field
57 + if (k) {
58 + field = {
59 + value: values?.[k],
60 + onChange(v:any) { set(v, field) },
61 + ...field,
62 + }
63 + if (!field.label)
64 + field.label = _.capitalize(k.replaceAll('_', ' '))
65 + Object.assign(field, defaults?.(field))
66 }
62 - if (!field.label)
63 - field.label = _.capitalize(k.replaceAll('_', ' '))
64 - Object.assign(field, defaults?.(field))
65 - }
66 - const { xs=12, sm, md, lg, xl, comp=StringField, ...rest } = field
67 - return h(Grid, { key: k, item: true, xs, sm, md, lg, xl },
68 - isValidElement(comp) ? comp : h(comp, rest) )
69 - })
67 + const { xs=12, sm, md, lg, xl, comp=StringField, ...rest } = field
68 + return h(Grid, { key: k, item: true, xs, sm, md, lg, xl },
69 + isValidElement(comp) ? comp : h(comp, rest) )
70 + })
71 + )
72 )
73 )
74 }