import React, {useEffect, useState} from "react"; import { useDispatch, useSelector } from "react-redux"; import { apiRequest } from "../../../api/request"; import { urlForLocal } from '../../../helper' import { setColumnName, getProjectBoard, getValueModalType, setProject, setProjectBoardFetch, editProjectName, editColumnName, getColumnName, getColumnId } from "../../../redux/projectsTrackerSlice"; import arrowDown from "../../../images/selectArrow.png" import "./trackerModal.scss"; export const TrackerModal = ({ active, setActive, selectedTab, defautlInput, titleProject, projectId, priorityTask }) => { const dispatch = useDispatch(); const projectBoard = useSelector(getProjectBoard); const columnName = useSelector(getColumnName); const columnId = useSelector(getColumnId) const modalType = useSelector(getValueModalType); const [projectName, setProjectName] = useState(defautlInput); const [valueColumn, setValueColumn] = useState(""); const [nameProject, setNameProject] = useState(""); const [valueTiket, setValueTiket] = useState(""); const [descriptionTicket, setDescriptionTicket] = useState(""); const [workers, setWorkers] = useState([]) const [selectWorkersOpen, setSelectWorkersOpen] = useState(false) const [selectedWorker, setSelectedWorker] = useState(null) function createTab() { if (!valueColumn) { return; } apiRequest("/project-column/create-column", { method: "POST", data: { project_id: projectBoard.id, title: valueColumn, }, }).then((res) => { dispatch(setProjectBoardFetch(projectBoard.id)); }); setValueColumn(""); setActive(false); } function createTiket() { if (!valueTiket || !descriptionTicket) { return; } apiRequest("/task/create-task", { method: "POST", data: { project_id: projectBoard.id, title: valueTiket, description: descriptionTicket, status: 1, user_id: localStorage.getItem("id"), column_id: selectedTab, priority: priorityTask }, }).then((res) => { dispatch(setProjectBoardFetch(projectBoard.id)); }); setActive(false); setValueTiket(""); setDescriptionTicket(""); } function editProject() { apiRequest("/project/update", { method: "PUT", data: { project_id: projectId, name: projectName, }, }).then((res) => { setActive(false); dispatch(editProjectName({ id: projectId, name: projectName })); }); } function changeColumnName() { apiRequest("/project-column/update-column", { method: "PUT", data: { column_id: columnId, title: columnName } }).then((res) => { setActive(false); dispatch(editColumnName({id: columnId, title: columnName})) }) } function createProject() { if (nameProject === "") { return; } else { apiRequest("/project/create", { method: "POST", data: { user_id: localStorage.getItem("id"), name: nameProject, status: 19, }, }).then((res) => { const result = { ...res, columns: [] }; dispatch(setProject(result)); setActive(false); setNameProject(""); }); } } function addUserToProject() { apiRequest("/project/add-user", { method: "POST", data: { user_id: selectedWorker.id, project_id: projectBoard.id } }).then((el) => { setActive(false); selectedWorker(null) setSelectWorkersOpen(false) }) } useEffect(() => { modalType === "addWorker" ? apiRequest('/project/my-employee').then((el) => { let persons = el.managerEmployees projectBoard.projectUsers.forEach(person => persons.splice(persons.indexOf(person), 1)) setWorkers(persons) }) : '' }, [modalType]) return (
{selectedWorker ? selectedWorker.employee.fio : 'Выберите пользователя'}
Пользователей нет
} if (worker === selectedWorker) { return } return{worker.employee.fio}
в колонку(id) задачи "{defautlInput}"
Введите текст