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
}