fix: admin/login: browser's autofill didn't work well and login button refused to proceed
Massimo Melina committed
Mar 16, 2022 at 22:09 UTC
4c8382656a2337e6cdb861723ac0e73c229d76c0
1 file changed
+6
-3
admin/src/Form.ts
+6
-3
@@ -171,7 +171,10 @@ export function StringField({ value, onChange, fromField=_.identity, toField=_.i
171
value: state,
172
onChange(ev) {
173
props.onChange?.(ev)
174
- setState(ev.target.value)
174
+ const val = ev.target.value
175
+ setState(val)
176
+ if (document.activeElement !== ev.target) // autofill ongoing, don't wait onBlur event, just go
177
+ go(ev, val)
178
},
179
onKeyDown(ev) {
180
props.onKeyDown?.(ev)
@@ -184,10 +187,10 @@ export function StringField({ value, onChange, fromField=_.identity, toField=_.i
187
}
188
})
189
187
- function go(event: any) {
190
+ function go(event: any, val: string=state) {
191
let newV
192
try { // catch parsing exceptions
190
- newV = fromField(state.trim())
193
+ newV = fromField(val.trim())
194
}
195
catch (e) {
196
return setErr(String(e))