/* jshint ignore:start */ import React from 'react'; import Form from './form'; import FormGroup from 'misago/components/form-group'; import * as participants from 'misago/reducers/participants'; import { updateAcl } from 'misago/reducers/thread'; import ajax from 'misago/services/ajax'; import modal from 'misago/services/modal'; import snackbar from 'misago/services/snackbar'; import store from 'misago/services/store'; export default class extends Form { constructor(props) { super(props); this.state = { isLoading: false, username: '' }; } onUsernameChange = (event) => { this.changeValue('username', event.target.value); }; clean() { if (!this.state.username.trim().length) { snackbar.error(gettext("You have to enter user name.")); return false; } return true; } send() { return ajax.patch(this.props.thread.api.index, [ {op: 'add', path: 'participants', value: this.state.username}, {op: 'add', path: 'acl', value: 1} ]); } handleSuccess(data) { store.dispatch(updateAcl(data)); store.dispatch(participants.replace(data.participants)); snackbar.success(gettext("New participant has been added to thread.")); modal.hide(); } render() { return (
); } } export function ModalHeader(props) { return (

{gettext("Add participant")}

); }