commit
e145e6084c
@ -71,6 +71,7 @@ export const ProjectTiket = ({ project, index }) => {
|
||||
active={modalAdd}
|
||||
setActive={setModalAdd}
|
||||
defautlInput={project.name}
|
||||
projectId={project.id}
|
||||
></TrackerModal>
|
||||
|
||||
<ModalSelect active={modalSelect}>
|
||||
|
@ -7,6 +7,7 @@ import {
|
||||
getValueModalType,
|
||||
setProject,
|
||||
setProjectBoardFetch,
|
||||
editProjectName
|
||||
} from "../../../redux/projectsTrackerSlice";
|
||||
|
||||
import "./trackerModal.scss";
|
||||
@ -17,6 +18,7 @@ export const TrackerModal = ({
|
||||
selectedTab,
|
||||
defautlInput,
|
||||
titleProject,
|
||||
projectId
|
||||
}) => {
|
||||
const dispatch = useDispatch();
|
||||
const projectBoard = useSelector(getProjectBoard);
|
||||
@ -24,7 +26,7 @@ export const TrackerModal = ({
|
||||
const modalType = useSelector(getValueModalType);
|
||||
|
||||
const [emailWorker, setEmailWorker] = useState("");
|
||||
const [ProjectName, setProjectName] = useState(defautlInput);
|
||||
const [projectName, setProjectName] = useState(defautlInput);
|
||||
const [valueColumn, setValueColumn] = useState("");
|
||||
const [nameProject, setNameProject] = useState("");
|
||||
|
||||
@ -73,10 +75,17 @@ export const TrackerModal = ({
|
||||
setDescriptionTicket("");
|
||||
}
|
||||
|
||||
function editProject() {}
|
||||
|
||||
function editProjectName(value) {
|
||||
setProjectName(value);
|
||||
function editProject() {
|
||||
apiRequest("/project/update", {
|
||||
method: "PUT",
|
||||
data: {
|
||||
project_id: projectId,
|
||||
name: projectName
|
||||
},
|
||||
}).then((res) => {
|
||||
setActive(false)
|
||||
dispatch(editProjectName({id: projectId, name: projectName}))
|
||||
});
|
||||
}
|
||||
|
||||
function createProject() {
|
||||
@ -88,7 +97,7 @@ export const TrackerModal = ({
|
||||
data: {
|
||||
user_id: localStorage.getItem("id"),
|
||||
name: nameProject,
|
||||
status: 1,
|
||||
status: 19,
|
||||
},
|
||||
}).then((res) => {
|
||||
const result = { ...res, columns: [] };
|
||||
@ -162,8 +171,8 @@ export const TrackerModal = ({
|
||||
<div className="input-container">
|
||||
<input
|
||||
className="name-project"
|
||||
value={ProjectName}
|
||||
onChange={(e) => editProjectName(e.target.value)}
|
||||
value={projectName}
|
||||
onChange={(e) => setProjectName(e.target.value)}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -38,45 +38,9 @@ export const Tracker = () => {
|
||||
const [allTasks, setAllTasks] = useState([]);
|
||||
const [filteredAllTasks, setFilteredAllTasks] = useState([]);
|
||||
const [loader, setLoader] = useState(false);
|
||||
const [filterCompleteTasks, setFilterCompleteTasks] = useState([]);
|
||||
// const [allCompletedTasks, setAllCompletedTasks] = useState([])
|
||||
|
||||
const [archiveProjects] = useState([
|
||||
{
|
||||
name: "Будущее России",
|
||||
date: "7 марта 2023 г",
|
||||
},
|
||||
{
|
||||
name: "Будущее России",
|
||||
date: "7 марта 2023 г",
|
||||
},
|
||||
]);
|
||||
|
||||
const [completeTasks] = useState([
|
||||
{
|
||||
name: "PR - 2245",
|
||||
description: "Сверстать часть таблицы. Сверстать часть таблицы",
|
||||
dateComplete: "7 марта 2023 г",
|
||||
avatarDo: avatarTest,
|
||||
project: "Будущее России",
|
||||
},
|
||||
{
|
||||
name: "PR - 2245",
|
||||
description: "Сверстать часть таблицы. Сверстать часть таблицы",
|
||||
dateComplete: "7 марта 2023 г",
|
||||
avatarDo: avatarTest,
|
||||
project: "Будущее России",
|
||||
},
|
||||
{
|
||||
name: "PR - 2245",
|
||||
description: "Сверстать часть таблицы. Сверстать часть таблицы",
|
||||
dateComplete: "7 марта 2023 г",
|
||||
avatarDo: avatarTest,
|
||||
project: "Будущее России",
|
||||
},
|
||||
]);
|
||||
|
||||
const [filterCompleteTasks, setFilterCompleteTasks] = useState(completeTasks);
|
||||
|
||||
// Modal State
|
||||
const [modalCreateProject, setModalCreateProject] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
@ -88,6 +52,11 @@ export const Tracker = () => {
|
||||
).then((el) => {
|
||||
dispatch(setAllProjects(el.projects));
|
||||
setLoader(false);
|
||||
// setAllCompletedTasks(el.projects.filter((project) => {
|
||||
// if (project.status === 10 && project.columns.length) {
|
||||
// return project
|
||||
// }
|
||||
// }).map((project) => { return project.columns}))
|
||||
});
|
||||
apiRequest(
|
||||
`/task/get-user-tasks?user_id=${localStorage.getItem("id")}`
|
||||
@ -120,21 +89,21 @@ export const Tracker = () => {
|
||||
}
|
||||
|
||||
function filterArchiveTasks(e) {
|
||||
setFilterCompleteTasks(
|
||||
completeTasks.filter((item) => {
|
||||
if (!e.target.value) {
|
||||
return item;
|
||||
}
|
||||
if (
|
||||
item.name.toLowerCase().startsWith(e.target.value.toLowerCase()) ||
|
||||
item.description
|
||||
.toLowerCase()
|
||||
.startsWith(e.target.value.toLowerCase())
|
||||
) {
|
||||
return item;
|
||||
}
|
||||
})
|
||||
);
|
||||
// setFilterCompleteTasks(
|
||||
// completeTasks.filter((item) => {
|
||||
// if (!e.target.value) {
|
||||
// return item;
|
||||
// }
|
||||
// if (
|
||||
// item.name.toLowerCase().startsWith(e.target.value.toLowerCase()) ||
|
||||
// item.description
|
||||
// .toLowerCase()
|
||||
// .startsWith(e.target.value.toLowerCase())
|
||||
// ) {
|
||||
// return item;
|
||||
// }
|
||||
// })
|
||||
// );
|
||||
}
|
||||
|
||||
return (
|
||||
@ -340,19 +309,19 @@ export const Tracker = () => {
|
||||
<div className="archive__projects">
|
||||
<div className="archive__title">
|
||||
<h3>Архив проектов:</h3>
|
||||
<p>{archiveProjects.length} проект(ов)</p>
|
||||
<p>{projects.filter((project) => project.status === 10).length} проект(ов)</p>
|
||||
</div>
|
||||
<div className="archive__tasksWrapper">
|
||||
{Boolean(archiveProjects) ? (
|
||||
archiveProjects.map((project, index) => {
|
||||
return (
|
||||
{Boolean(projects.filter((project) => project.status === 10).length) ? (
|
||||
projects.map((project, index) => {
|
||||
return project.status === 10 ? (
|
||||
<div className="archive__completeTask" key={index}>
|
||||
<div className="archive__completeTask__description">
|
||||
<p>{project.name}</p>
|
||||
<p className="date">{project.date}</p>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
): '';
|
||||
})
|
||||
) : (
|
||||
<div className="archive__noItem">
|
||||
|
@ -27,9 +27,11 @@ export const projectsTrackerSlice = createSlice({
|
||||
state.toggleTab = action.payload;
|
||||
},
|
||||
deleteProject: (state, action) => {
|
||||
state.projects = state.projects.filter(
|
||||
(project) => project.id !== action.payload.id
|
||||
);
|
||||
state.projects.forEach((project) => {
|
||||
if (project.id === action.payload.id) {
|
||||
project.status = 10
|
||||
}
|
||||
})
|
||||
},
|
||||
activeLoader: (state) => {
|
||||
state.boardLoader = true
|
||||
@ -53,6 +55,13 @@ export const projectsTrackerSlice = createSlice({
|
||||
}
|
||||
});
|
||||
},
|
||||
editProjectName: (state, action) => {
|
||||
state.projects.forEach((project) => {
|
||||
if (project.id === action.payload.id) {
|
||||
project.name = action.payload.name
|
||||
}
|
||||
})
|
||||
},
|
||||
modalToggle: (state, action) => {
|
||||
state.modalType = action.payload;
|
||||
},
|
||||
@ -72,7 +81,8 @@ export const {
|
||||
moveProjectTask,
|
||||
setToggleTab,
|
||||
modalToggle,
|
||||
activeLoader
|
||||
activeLoader,
|
||||
editProjectName
|
||||
} = projectsTrackerSlice.actions;
|
||||
|
||||
export const getProjects = (state) => state.tracker.projects;
|
||||
|
Loading…
Reference in New Issue
Block a user