import React from 'react'; import { FormattedMessage } from 'react-intl'; import AvatarUpload from './avatar-upload.jsx'; import TagManager from './tag-manager.jsx'; export default class NewTopicGroup extends React.PureComponent { constructor(props) { super(props); this.state = { fn: '', // full/formatted name private: '', imageDataUrl: null, tags: [] }; this.handleFnChange = this.handleFnChange.bind(this); this.handlePrivateChange = this.handlePrivateChange.bind(this); this.handleImageChanged = this.handleImageChanged.bind(this); this.handleTagsChanged = this.handleTagsChanged.bind(this); this.handleTagsChanged = this.handleTagsChanged.bind(this); this.handleSubmit = this.handleSubmit.bind(this); } handleFnChange(e) { this.setState({fn: e.target.value}); } handlePrivateChange(e) { this.setState({private: e.target.value}); } handleImageChanged(img) { this.setState({imageDataUrl: img}); } handleTagsChanged(tags) { this.setState({tags: tags}); } handleSubmit(e) { e.preventDefault(); if (this.state.fn && this.state.fn.trim()) { this.props.onSubmit(this.state.fn.trim(), this.state.imageDataUrl, this.state.private.trim(), this.state.tags); } } render() { var submitClasses = 'blue'; if (this.props.disabled) { submitClasses += ' disabled'; } return (
); } };