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 | import message from 'antd/lib/message'; import Select from 'antd/lib/select'; import * as React from 'react'; import { Mutation } from 'react-apollo'; import { IArticle } from '../../../../shared'; import { ArticleStatuses } from '../../../../shared/ArticleStatuses'; import ErrorMessage from '../../components/ErrorMessage'; import { SETTINGS_ARTICLES } from '../queries'; import { CHANGE_ARTICLE_STATUS } from './mutations'; const Option = Select.Option; const ChangeArticleStatusButton = ({ _id, title, status }: IArticle) => { const handleChange = (changeArticleStatus: any) => async ( value: ArticleStatuses, ) => { try { await changeArticleStatus({ variables: { _id, status: value } }); message.success(`Status článku "${title}" upraven`); } catch (e) { message.error(e.message); } }; return ( <Mutation mutation={CHANGE_ARTICLE_STATUS} refetchQueries={[{ query: SETTINGS_ARTICLES }]} > {(changeArticleStatus, { loading, error }) => { if (error) { return <ErrorMessage message={error.message} />; } return ( <Select loading={loading} value={status} style={{ width: 120 }} onChange={handleChange(changeArticleStatus)} > <Option value={ArticleStatuses.new} disabled={true}> Nový </Option> <Option value={ArticleStatuses.updated} disabled={true}> Upravený </Option> <Option value={ArticleStatuses.rejected}>Zamítnutý</Option> <Option value={ArticleStatuses.published}>Zveřejněný</Option> </Select> ); }} </Mutation> ); }; export default ChangeArticleStatusButton; |