diff options
Diffstat (limited to 'src/components/settings/user')
-rw-r--r-- | src/components/settings/user/EditUserForm.tsx (renamed from src/components/settings/user/EditUserForm.js) | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/src/components/settings/user/EditUserForm.js b/src/components/settings/user/EditUserForm.tsx index c2773a47d..3b604a79f 100644 --- a/src/components/settings/user/EditUserForm.js +++ b/src/components/settings/user/EditUserForm.tsx | |||
@@ -1,9 +1,8 @@ | |||
1 | import { Component } from 'react'; | 1 | import { Component, FormEvent, FormEventHandler, ReactElement } from 'react'; |
2 | import PropTypes from 'prop-types'; | 2 | import { observer } from 'mobx-react'; |
3 | import { observer, PropTypes as MobxPropTypes } from 'mobx-react'; | 3 | import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; |
4 | import { defineMessages, injectIntl } from 'react-intl'; | ||
5 | import { Link } from 'react-router-dom'; | 4 | import { Link } from 'react-router-dom'; |
6 | 5 | import { noop } from 'lodash'; | |
7 | import Input from '../../ui/input/index'; | 6 | import Input from '../../ui/input/index'; |
8 | import Form from '../../../lib/Form'; | 7 | import Form from '../../../lib/Form'; |
9 | import Button from '../../ui/button'; | 8 | import Button from '../../ui/button'; |
@@ -38,15 +37,16 @@ const messages = defineMessages({ | |||
38 | }, | 37 | }, |
39 | }); | 38 | }); |
40 | 39 | ||
41 | class EditUserForm extends Component { | 40 | interface IProps extends WrappedComponentProps { |
42 | static propTypes = { | 41 | status: string[]; |
43 | status: MobxPropTypes.observableArray.isRequired, | 42 | form: Form; |
44 | form: PropTypes.instanceOf(Form).isRequired, | 43 | onSubmit: FormEventHandler<HTMLFormElement>; |
45 | onSubmit: PropTypes.func.isRequired, | 44 | isSaving: boolean; |
46 | isSaving: PropTypes.bool.isRequired, | 45 | } |
47 | }; | ||
48 | 46 | ||
49 | submit(e) { | 47 | @observer |
48 | class EditUserForm extends Component<IProps> { | ||
49 | submit(e: FormEvent<HTMLFormElement>): void { | ||
50 | e.preventDefault(); | 50 | e.preventDefault(); |
51 | this.props.form.submit({ | 51 | this.props.form.submit({ |
52 | onSuccess: form => { | 52 | onSuccess: form => { |
@@ -57,14 +57,14 @@ class EditUserForm extends Component { | |||
57 | }); | 57 | }); |
58 | } | 58 | } |
59 | 59 | ||
60 | render() { | 60 | render(): ReactElement { |
61 | const { | 61 | const { |
62 | // user, | 62 | // user, |
63 | status, | 63 | status, |
64 | form, | 64 | form, |
65 | isSaving, | 65 | isSaving, |
66 | intl, | ||
66 | } = this.props; | 67 | } = this.props; |
67 | const { intl } = this.props; | ||
68 | 68 | ||
69 | return ( | 69 | return ( |
70 | <div className="settings__main"> | 70 | <div className="settings__main"> |
@@ -92,9 +92,9 @@ class EditUserForm extends Component { | |||
92 | <Input {...form.$('lastname').bind()} /> | 92 | <Input {...form.$('lastname').bind()} /> |
93 | </div> | 93 | </div> |
94 | <Input {...form.$('email').bind()} /> | 94 | <Input {...form.$('email').bind()} /> |
95 | <Radio field={form.$('accountType')} /> | 95 | <Radio field={form.$('accountType')} className="" /> |
96 | {form.$('accountType').value === 'company' && ( | 96 | {form.$('accountType').value === 'company' && ( |
97 | <Input field={form.$('organization')} /> | 97 | <Input {...form.$('organization').bind()} /> |
98 | )} | 98 | )} |
99 | <H2>{intl.formatMessage(messages.headlinePassword)}</H2> | 99 | <H2>{intl.formatMessage(messages.headlinePassword)}</H2> |
100 | <Input {...form.$('oldPassword').bind()} showPasswordToggle /> | 100 | <Input {...form.$('oldPassword').bind()} showPasswordToggle /> |
@@ -114,12 +114,14 @@ class EditUserForm extends Component { | |||
114 | loaded={!isSaving} | 114 | loaded={!isSaving} |
115 | buttonType="secondary" | 115 | buttonType="secondary" |
116 | disabled | 116 | disabled |
117 | onClick={noop} | ||
117 | /> | 118 | /> |
118 | ) : ( | 119 | ) : ( |
119 | <Button | 120 | <Button |
120 | type="submit" | 121 | type="submit" |
121 | label={intl.formatMessage(messages.buttonSave)} | 122 | label={intl.formatMessage(messages.buttonSave)} |
122 | htmlForm="form" | 123 | htmlForm="form" |
124 | onClick={noop} | ||
123 | /> | 125 | /> |
124 | )} | 126 | )} |
125 | </div> | 127 | </div> |
@@ -128,4 +130,4 @@ class EditUserForm extends Component { | |||
128 | } | 130 | } |
129 | } | 131 | } |
130 | 132 | ||
131 | export default injectIntl(observer(EditUserForm)); | 133 | export default injectIntl(EditUserForm); |