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 | import { Button, Form, Input, message, Modal, Radio } from 'antd'; import DatePicker from 'antd/lib/date-picker'; import { FormComponentProps } from 'antd/lib/form'; import * as React from 'react'; import { MutationFn, OperationVariables } from 'react-apollo'; import { Groups } from '../../../../../shared'; import { useBoolean } from '../../../../customHooks'; interface IProps extends FormComponentProps { createUser: MutationFn< { username: string; email: string; role: string }, OperationVariables >; isLoading: boolean; } const CreateUserForm = ({ createUser, isLoading, form }: IProps) => { const isVisible = useBoolean(false); const handleSubmit = () => { form.validateFieldsAndScroll(async (err, values) => { if (!err) { try { const createdUser = await createUser({ variables: values }); if (createdUser) { message.success('Admin User created'); form.resetFields(); isVisible.setFalse(); } } catch (e) { message.error(e.message); form.resetFields(); isVisible.setFalse(); } } }); }; return ( <React.Fragment> <Button onClick={isVisible.setTrue}>Přidat</Button> <Modal title="Vytvoření nového uživatele" visible={isVisible.value} onOk={handleSubmit} okText="Uložit" cancelText="Zrušit" onCancel={isVisible.setFalse} confirmLoading={isLoading} > <Form> <Form.Item label="Uživatelské jméno"> {form.getFieldDecorator('username')(<Input />)} </Form.Item> <Form.Item label="E-mail"> {form.getFieldDecorator('email')(<Input />)} </Form.Item> <Form.Item label="Expirace"> {form.getFieldDecorator('expirationDateTime')(<DatePicker />)} </Form.Item> <Form.Item label="Role"> {form.getFieldDecorator('role', { initialValue: Groups.registered, })( <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> ); }; export default Form.create()(CreateUserForm); |