Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | import { Button, Form, Input, message, Modal, Radio } from 'antd'; import DatePicker from 'antd/lib/date-picker'; import { FormComponentProps } from 'antd/lib/form'; import * as moment from 'moment'; import * as React from 'react'; import { MutationFn, OperationVariables } from 'react-apollo'; import { Groups } from '../../../../../shared'; import { useBoolean } from '../../../../customHooks'; interface IProps extends FormComponentProps { user: any; editUser: MutationFn<any, OperationVariables>; isLoading: boolean; } const EditUserForm = ({ user: { username, email, role, expirationDateTime }, editUser, isLoading, form, }: IProps) => { const isVisible = useBoolean(false); const handleSubmit = () => { form.validateFieldsAndScroll(async (err, values) => { if (!err) { try { console.warn(values); const updatedUser = await editUser({ variables: { username, ...values }, }); if (updatedUser) { message.success('User updated successfully'); form.resetFields(); isVisible.setFalse(); } } catch (e) { message.error(e.message); form.resetFields(); isVisible.setFalse(); } } }); }; return ( <React.Fragment> <Button shape="circle" icon="edit" onClick={isVisible.setTrue} /> <Modal title={`Edit ${username}`} visible={isVisible.value} onOk={handleSubmit} okText="Edit" onCancel={isVisible.setFalse} confirmLoading={isLoading} > <Form> <Form.Item label="Uživatelské jméno"> <Input defaultValue={username} disabled={true} /> </Form.Item> <Form.Item label="E-mail"> <Input defaultValue={email} disabled={true} /> </Form.Item> <Form.Item label="Expirace"> {form.getFieldDecorator('expirationDateTime', { initialValue: expirationDateTime ? moment(expirationDateTime) : undefined, })(<DatePicker />)} </Form.Item> <Form.Item label="Role"> {form.getFieldDecorator('role', { initialValue: role, })( <Radio.Group> <Radio.Button value={Groups.admin}>admin</Radio.Button> <Radio.Button value={Groups.office}>redakce</Radio.Button> <Radio.Button value={Groups.external}>externista</Radio.Button> <Radio.Button value={Groups.registered}> registrovaný </Radio.Button> </Radio.Group>, )} </Form.Item> </Form> </Modal> </React.Fragment> ); }; const EditUserWrapper = Form.create()(EditUserForm); export default EditUserWrapper; |