// Copyright (C) 2020-2021 Intel Corporation // // SPDX-License-Identifier: MIT import React, { useState } from 'react'; import { useDispatch } from 'react-redux'; import moment from 'moment'; import { Row, Col } from 'antd/lib/grid'; import Title from 'antd/lib/typography/Title'; import Text from 'antd/lib/typography/Text'; import getCore from 'cvat-core-wrapper'; import { updateProjectAsync } from 'actions/projects-actions'; import LabelsEditor from 'components/labels-editor/labels-editor'; import BugTrackerEditor from 'components/task-page/bug-tracker-editor'; import UserSelector from 'components/task-page/user-selector'; const core = getCore(); interface DetailsComponentProps { project: any; } export default function DetailsComponent(props: DetailsComponentProps): JSX.Element { const { project } = props; const dispatch = useDispatch(); const [projectName, setProjectName] = useState(project.name); return (
{ setProjectName(value); project.name = value; dispatch(updateProjectAsync(project)); }, }} className='cvat-text-color cvat-project-name' > {projectName} {`Project #${project.id} created`} {project.owner ? ` by ${project.owner.username}` : null} {` on ${moment(project.createdDate).format('MMMM Do YYYY')}`} { project.bugTracker = bugTracker; dispatch(updateProjectAsync(project)); }} /> Assigned to { project.assignee = user; dispatch(updateProjectAsync(project)); }} /> label.toJSON())} onSubmit={(labels: any[]): void => { project.labels = labels.map((labelData): any => new core.classes.Label(labelData)); dispatch(updateProjectAsync(project)); }} />
); }