simpler api for Form.set
Massimo Melina committed
Mar 16, 2022 at 14:02 UTC
5defe4f92ee1201a4235d6ca6c306abb0f5473c9
8 files changed
+12
-9
admin/src/AccountsPage.ts
+1
-1
@@ -164,7 +164,7 @@ function AccountForm({ account, done, groups }: { account: Account, groups: stri
164
return h(Form, {
165
formRef: ref,
166
values,
167
- set(v, { k }) {
167
+ set(v, k) {
168
setValues({ ...values, [k]: v })
169
},
170
barSx: { width: 'initial', justifyContent: 'space-between' },
admin/src/ConfigPage.ts
+1
-1
@@ -33,7 +33,7 @@ export default function ConfigPage() {
33
return h(Form, {
34
sx: { maxWidth: '60em' },
35
values: config,
36
- set(v, { k }) {
36
+ set(v, k) {
37
if (v || config[k])
38
state.config[k] = v
39
},
admin/src/FileCard.ts
+1
-1
@@ -58,7 +58,7 @@ function FileForm({ file }: { file: ReturnType<typeof useSnapState>['selectedFil
58
59
return h(Form, {
60
values,
61
- set(v, { k }) {
61
+ set(v, k) {
62
setValues({ ...values, [k]: v })
63
},
64
save: {
admin/src/Form.ts
+2
-2
@@ -32,7 +32,7 @@ interface FormProps {
32
fields: (FieldDescriptor | ReactElement | null | undefined | false)[]
33
defaults?: (f:FieldDescriptor) => Dict | any
34
values: Dict
35
- set: (v: any, field: FieldDescriptor) => void
35
+ set: (v: any, fieldK: string) => void
36
save?: Partial<Parameters<typeof Button>[0]>
37
stickyBar?: boolean
38
addToBar?: ReactNode[]
@@ -103,7 +103,7 @@ export function Form({ fields, values, set, defaults, save, stickyBar, addToBar=
103
onChange(v:any) {
104
if (onChange)
105
v = onChange(v)
106
- set(v, field)
106
+ set(v, field.k)
107
},
108
}
109
if (error)
admin/src/LoginRequired.ts
+1
-1
@@ -19,7 +19,7 @@ function LoginForm() {
19
return h(Center, {},
20
h(Form, {
21
values: {},
22
- set(v, { k }) {
22
+ set(v, k) {
23
setValues({ ...values, [k]: v })
24
},
25
fields: [
admin/src/dialog.ts
+1
-1
@@ -98,7 +98,7 @@ export async function formDialog(props: FormProps) : Promise<FormProps['values']
98
return h(Form, {
99
...props,
100
values,
101
- set(v, { k }) {
101
+ set(v, k) {
102
setValues({ ...values, [k]: v })
103
},
104
save: {
admin/src/theme.ts
+3
-2
@@ -18,10 +18,11 @@ export function useMyTheme() {
18
},
19
MuiButton: lightMode || {
20
styleOverrides: {
21
- root: ({ ownerState }: { ownerState:any }) =>
22
- ownerState.color === 'primary' && {
21
+ root({ ownerState }) {
22
+ return ownerState.color === 'primary' && {
23
color: ownerState.variant === 'contained' ? '#ddd' : '#68c'
24
}
25
+ }
26
}
27
}
28
}
todo.md
+2
@@ -1,4 +1,6 @@
1
# To do
2
+- admin/logs
3
+- admin/config: hide advanced settings
4
- admin/fs: support insert/delete key
5
- if specified config is a folder, check for file config.yaml inside
6
- merge accounts in config