import React from 'react'; import { connect } from 'react-redux'; import { Form, Input, Button, CircularLoader, Loader } from 'UI'; import { addActivity, init, edit, fetchAssignments, fetchMeta } from 'Duck/assignments'; import Select from 'Shared/Select'; const SelectedValue = ({ icon, text }) => { return (
{/* */} {icon} {text}
); }; class IssueForm extends React.PureComponent { componentDidMount() { const { projects, issueTypes } = this.props; this.props.init({ projectId: projects[0] ? projects[0].id : '', issueType: issueTypes[0] ? issueTypes[0].id : '', }); } componentWillReceiveProps(newProps) { const { instance } = this.props; if (newProps.instance.projectId && newProps.instance.projectId != instance.projectId) { this.props.fetchMeta(newProps.instance.projectId).then(() => { this.props.edit({ issueType: '', assignee: '', projectId: newProps.instance.projectId }); }); } } onSubmit = () => { const { sessionId, addActivity } = this.props; const { instance } = this.props; addActivity(sessionId, instance.toJS()).then(() => { const { errors } = this.props; if (!errors || errors.length === 0) { this.props.init({ projectId: instance.projectId }); this.props.fetchAssignments(sessionId); this.props.closeHandler(); } }); }; write = (e) => { const { target: { name, value }, } = e; this.props.edit({ [name]: value }); }; writeOption = ({ name, value }) => this.props.edit({ [name]: value.value }); render() { const { creating, projects, users, issueTypes, instance, closeHandler, metaLoading, projectsLoading, } = this.props; const projectOptions = projects.map(({ name, id }) => ({ label: name, value: id })).toArray(); const userOptions = users.map(({ name, id }) => ({ label: name, value: id })).toArray(); const issueTypeOptions = issueTypes.map(({ name, id, iconUrl, color }) => { return { label: name, value: id, iconUrl, color }; }); const selectedIssueType = issueTypes.filter((issue) => issue.id == instance.issueType)[0]; return (
) : ( '' ) } />