instantjob-recruiter-client
Version:
a set of tools for creating an instantjob recruiter react client
53 lines (47 loc) • 1.67 kB
JSX
import React, {Component} from 'react'
import classNames from 'classnames/bind'
import Button from 'components/utils/button'
import store from '../common/store'
import request from '../common/request'
import {dismiss_popover, alert_success} from '../actions/display'
import {store_messages} from '../actions/messages'
const cx = classNames.bind(require('../styles/new_mission.scss'))
class NewGroupedMessage extends Component {
constructor(props) {
super(props)
this.state = {
content: "",
}
this.send_message = this.send_message.bind(this)
}
send_message() {
store.dispatch(dismiss_popover())
this.props.unselect_users()
request.post(`users/grouped_message`, {message: {content: this.state.content, user_ids: this.props.user_ids}})
.then((messages) => store.dispatch(store_messages(messages)))
.then(() => store.dispatch(alert_success("Votre message a bien été envoyé aux candidats sélectionnés.")))
}
render() {
return (
<div className={cx('new-mission')}>
<div className={cx('new-mission__new-message')}>
<textarea
className="new-mission__new-message-input"
placeholder="Message aux candidats sélectionnés"
value={this.state.content}
onChange={(event) => {
let content = event.target.value
this.setState({content})
}}
/>
<div className={cx('new-mission__new-message-button')}>
<Button onClick={this.send_message}>
Envoyer
</Button>
</div>
</div>
</div>
)
}
}
export default NewGroupedMessage