Merge branch 'development' of…

Merge branch 'development' of ssh://git.attractor-school.com:30022/apollo64/crm-team-one into task-138-feature/filtration_active_tasks
parents 471057cc e5558375
...@@ -27,7 +27,7 @@ router.get('/', async(req:Request, res:Response):Promise<Response> => { ...@@ -27,7 +27,7 @@ router.get('/', async(req:Request, res:Response):Promise<Response> => {
/**create new task for table MyTask*/ /**create new task for table MyTask*/
router.post('/', auth, async(req:Request, res:Response):Promise<Response>=>{ router.post('/', auth, async(req:Request, res:Response):Promise<Response>=>{
const {user,title,description,project,executor,dateTimeStart,dateTimeDue, dateTimeDeadLine,priority} = req.body; const {user,title,description,project,executor,dateTimeStart,dateTimeDue, dateTimeDeadLine,priority, calendar} = req.body;
console.log('dateTimeStart \n', dateTimeStart, "dateTimeDue\n", dateTimeDue, 'dateTimeDeadLine\n ', dateTimeDeadLine) console.log('dateTimeStart \n', dateTimeStart, "dateTimeDue\n", dateTimeDue, 'dateTimeDeadLine\n ', dateTimeDeadLine)
let dateTimeDueFinal = dateTimeDue let dateTimeDueFinal = dateTimeDue
let dateTimeStartFinal = dateTimeStart let dateTimeStartFinal = dateTimeStart
...@@ -96,7 +96,7 @@ router.post('/', auth, async(req:Request, res:Response):Promise<Response>=>{ ...@@ -96,7 +96,7 @@ router.post('/', auth, async(req:Request, res:Response):Promise<Response>=>{
} }
newTask.priority = priority; newTask.priority = priority;
await newTask.save(); await newTask.save();
if (dateTimeDeadlineFinal) { if (calendar) {
const newDateTimeTask = new DateTimeTask(); const newDateTimeTask = new DateTimeTask();
newDateTimeTask.dateTimeStart = dateTimeStartFinal newDateTimeTask.dateTimeStart = dateTimeStartFinal
newDateTimeTask.dateTimeDue = dateTimeDueFinal newDateTimeTask.dateTimeDue = dateTimeDueFinal
......
...@@ -40,8 +40,7 @@ const CalendarRowDay = ({ xs, hoursInDay, createTaskInCellHandler, currentTask, ...@@ -40,8 +40,7 @@ const CalendarRowDay = ({ xs, hoursInDay, createTaskInCellHandler, currentTask,
> >
{linesInDay?.map((line, i) => { {linesInDay?.map((line, i) => {
const tasks = getTasksWithInfoForPosition(line, hoursInDay, sortedTasks, i, rowDaySize.width) const tasks = getTasksWithInfoForPosition(line, hoursInDay, sortedTasks, i, rowDaySize.width)
return (<> return (tasks.map((task) => {
{tasks.map((task) => {
const step = rowDaySize.width / hoursInDay.length const step = rowDaySize.width / hoursInDay.length
return ( return (
<CalendarTask <CalendarTask
...@@ -61,8 +60,8 @@ const CalendarRowDay = ({ xs, hoursInDay, createTaskInCellHandler, currentTask, ...@@ -61,8 +60,8 @@ const CalendarRowDay = ({ xs, hoursInDay, createTaskInCellHandler, currentTask,
> >
</CalendarTask> </CalendarTask>
) )
})} })
</>) )
})} })}
{hoursInDay.map((hour, i) => { {hoursInDay.map((hour, i) => {
......
...@@ -57,12 +57,12 @@ const CalendarTask = ({ setCurrentTask, handleOpen, task, setCopyTask, width, le ...@@ -57,12 +57,12 @@ const CalendarTask = ({ setCurrentTask, handleOpen, task, setCopyTask, width, le
const dragStartHandler = useCallback((e, task) => { const dragStartHandler = useCallback((e, task) => {
setCurrentTask(task); setCurrentTask(task);
setCopyTask(task) setCopyTask(task)
},[setCurrentTask]) },[setCurrentTask, setCopyTask])
const dragEndHandler = useCallback((e) => { const dragEndHandler = useCallback((e) => {
e.target.style.boxShadow = 'none' e.target.style.boxShadow = 'none'
setCopyTask(null) setCopyTask(null)
},[]) },[setCopyTask])
const onClickCopyIconHandler = useCallback((e) => { const onClickCopyIconHandler = useCallback((e) => {
e.stopPropagation(); e.stopPropagation();
......
...@@ -34,7 +34,7 @@ function CalendarModalTaskContent({ title, onChangeCurrentTaskHandler, descripti ...@@ -34,7 +34,7 @@ function CalendarModalTaskContent({ title, onChangeCurrentTaskHandler, descripti
/> />
<div style={{ display: 'flex', gap: '20px', margin: '20px 0' }}> <div style={{ display: 'flex', gap: '20px', margin: '20px 0' }}>
<CustomSelect <CustomSelect
defaultValue={null} defaultValue={priorities[0]?.value}
value={priority} value={priority}
name={'priority'} name={'priority'}
variant={'outlined'} variant={'outlined'}
......
...@@ -22,7 +22,6 @@ const CalendarStandartCell = ({ children, xs, hours, dayNumber, createTaskInCell ...@@ -22,7 +22,6 @@ const CalendarStandartCell = ({ children, xs, hours, dayNumber, createTaskInCell
} }
},[copyTask, copyModeTask, year, month, dayNumber, hours]) },[copyTask, copyModeTask, year, month, dayNumber, hours])
// console.log(copyTask)
const cellClass = useMemo(() => { const cellClass = useMemo(() => {
const backgroundColor = isDeadLine ? '#fa9b9be3' : 'null' const backgroundColor = isDeadLine ? '#fa9b9be3' : 'null'
return ({ return ({
......
import { useMemo } from "react"; import React, { useMemo } from "react";
import { getHoursInDayNumbers, getAvailableTasks, getLinesInDay, getSortedTasks } from "../../../../../helpers/CalendarHelpers"; import { getHoursInDayNumbers, getAvailableTasks, getLinesInDay, getSortedTasks } from "../../../../../helpers/CalendarHelpers";
import CalendarStandartCell from "../../../UI/CalendarStandartCell/CalendarStandartCell"; import CalendarStandartCell from "../../../UI/CalendarStandartCell/CalendarStandartCell";
import { useEffect, useRef, useState } from "react"; import { useEffect, useRef, useState } from "react";
...@@ -8,7 +8,7 @@ import { getTasksWithInfoForPosition, getWidthLeftZIndex } from "./Helpers"; ...@@ -8,7 +8,7 @@ import { getTasksWithInfoForPosition, getWidthLeftZIndex } from "./Helpers";
function CalendarColumnDayWeek({ hoursInDay, tasks, month, year, day, hourFormat, handleOpen, setCurrentTask, copyTask, setCopyTask, createCopyTask, createTaskInCellHandler, modal, dragTaskHandler, copyMode, deleteTaskHandler }) { function CalendarColumnDayWeek({ hoursInDay, tasks, month, year, day, hourFormat, handleOpen, setCurrentTask, copyTask, setCopyTask, createCopyTask, createTaskInCellHandler, modal, dragTaskHandler, copyMode, deleteTaskHandler}) {
const [columnDaySize, setColumnDaySize] = useState({ width: 0, height: 0 }) const [columnDaySize, setColumnDaySize] = useState({ width: 0, height: 0 })
...@@ -39,8 +39,7 @@ function CalendarColumnDayWeek({ hoursInDay, tasks, month, year, day, hourFormat ...@@ -39,8 +39,7 @@ function CalendarColumnDayWeek({ hoursInDay, tasks, month, year, day, hourFormat
<Grid item xs={12 / 7} ref={dayColumnRef} sx={{ position: 'relative' }}> <Grid item xs={12 / 7} ref={dayColumnRef} sx={{ position: 'relative' }}>
{linesInDay?.map((line, i) => { {linesInDay?.map((line, i) => {
const boxes = getTasksWithInfoForPosition(line, sortedTasks, linesInDay, columnDaySize.height, hours) const boxes = getTasksWithInfoForPosition(line, sortedTasks, linesInDay, columnDaySize.height, hours)
return (<> return boxes.map((task) => {
{boxes.map((task) => {
const { width, left, zIndex } = getWidthLeftZIndex(task, columnDaySize.width, i) const { width, left, zIndex } = getWidthLeftZIndex(task, columnDaySize.width, i)
const step = columnDaySize.height / hours.length const step = columnDaySize.height / hours.length
const tasksLength = task.tasksInHour const tasksLength = task.tasksInHour
...@@ -64,11 +63,9 @@ function CalendarColumnDayWeek({ hoursInDay, tasks, month, year, day, hourFormat ...@@ -64,11 +63,9 @@ function CalendarColumnDayWeek({ hoursInDay, tasks, month, year, day, hourFormat
hourFormat={hourFormat} hourFormat={hourFormat}
copyModeTask={copyMode.task} copyModeTask={copyMode.task}
deleteTaskHandler={deleteTaskHandler} deleteTaskHandler={deleteTaskHandler}
> />
</CalendarWeekTask>
) )
})} })
</>)
})} })}
{hoursInDay?.map((hour, i) => { {hoursInDay?.map((hour, i) => {
......
...@@ -4,13 +4,11 @@ import { memo } from 'react'; ...@@ -4,13 +4,11 @@ import { memo } from 'react';
import ButtonSwapCalendar from '../../UI/ButtonSwapCalendar/ButtonSwapCalendar'; import ButtonSwapCalendar from '../../UI/ButtonSwapCalendar/ButtonSwapCalendar';
import CalendarUserDisplayName from '../../UI/CalendarUserDisplayName/CalendarUserDisplayName'; import CalendarUserDisplayName from '../../UI/CalendarUserDisplayName/CalendarUserDisplayName';
import WeekCalendarHeaderInfo from './WeekCalendarHeaderInfo/WeekCalendarHeaderInfo'; import WeekCalendarHeaderInfo from './WeekCalendarHeaderInfo/WeekCalendarHeaderInfo';
import WeekGoal from './WeekGoal/WeekGoal';
import WeekPriorities from './WeekPriorities/WeekPriorities';
function WeekCalendarHeader({ decrementWeek, incrementWeek, weekInfo, weekGoal, onChangeWeekGoalHandler, weekPriorities, onChangeWeekPrioritiesHandler, handleOpen, currentCalendarDisplayName, user, userId }) { function WeekCalendarHeader({ decrementWeek, incrementWeek, weekInfo, onChangeWeekGoalHandler, handleOpen, currentCalendarDisplayName, user, userId }) {
return ( return (
<> <>
...@@ -22,21 +20,11 @@ function WeekCalendarHeader({ decrementWeek, incrementWeek, weekInfo, weekGoal, ...@@ -22,21 +20,11 @@ function WeekCalendarHeader({ decrementWeek, incrementWeek, weekInfo, weekGoal,
<CalendarUserDisplayName <CalendarUserDisplayName
currentCalendarDisplayName={currentCalendarDisplayName} currentCalendarDisplayName={currentCalendarDisplayName}
/> />
<WeekGoal
weekGoal={weekGoal}
onChangeWeekGoalHandler={onChangeWeekGoalHandler}
/>
<WeekPriorities
weekPriorities={weekPriorities}
onChangeWeekPrioritiesHandler={onChangeWeekPrioritiesHandler}
/>
<WeekCalendarHeaderInfo <WeekCalendarHeaderInfo
decrementWeek={decrementWeek} decrementWeek={decrementWeek}
incrementWeek={incrementWeek} incrementWeek={incrementWeek}
weekInfo={weekInfo} weekInfo={weekInfo}
weekGoal={weekGoal}
onChangeWeekGoalHandler={onChangeWeekGoalHandler} onChangeWeekGoalHandler={onChangeWeekGoalHandler}
/> />
......
...@@ -9,7 +9,7 @@ import { memo, } from 'react'; ...@@ -9,7 +9,7 @@ import { memo, } from 'react';
function WeekCalendarHeaderInfo({ decrementWeek, incrementWeek, weekInfo}) { function WeekCalendarHeaderInfo({ decrementWeek, incrementWeek, weekInfo}) {
return ( return (
<> <>
<Box sx={{ width: '80%', marginBottom: '15px' }}> <Box sx={{ width: '400px', marginBottom: '15px' }}>
<Box sx={{ display: 'flex', alignItems: 'center' }}> <Box sx={{ display: 'flex', alignItems: 'center' }}>
<ArrowDecrementButton <ArrowDecrementButton
......
import { Box } from '@mui/system';
import { TextField, Typography } from '@mui/material';
import { memo, useCallback, useState } from 'react';
function WeekGoal({ weekGoal, onChangeWeekGoalHandler }) {
const [goalEditCheck, setGoalEditCheck] = useState(false)
const onClickGoalHandler = useCallback(() => {
setGoalEditCheck(true)
}, [])
return (
<>
<Box sx={{ display: 'flex', alignItems: 'center', gap: '10px' }}>
{goalEditCheck ?
<>
<Typography variant='h5' sx={{ marginTop: '20px' }}>
Цель недели:
</Typography>
<TextField
id="week-gaol"
value={weekGoal}
variant="standard"
sx={{ input: { color: 'white', fontSize: '22px', fontWeight: '400', paddingTop: '25px' } }}
InputProps={{
disableUnderline: true,
}}
name='weekGoal'
autoFocus
onBlur={() => { setGoalEditCheck(false) }}
onChange={(e) => { onChangeWeekGoalHandler(e) }}
/>
</>
: <Typography variant='h5' onClick={() => { onClickGoalHandler() }} sx={{ marginTop: '20px' }}>Цель недели: {weekGoal}</Typography>
}
</Box>
</>
);
}
export default memo(WeekGoal);
\ No newline at end of file
import { Box } from '@mui/system';
import { Typography } from '@mui/material';
import { memo } from 'react';
import WeekPriority from './WeekPriority/WeekPriority';
function WeekPriorities({ weekPriorities, onChangeWeekPrioritiesHandler }) {
return (
<>
<Box>
<Typography variant='h5' sx={{ display: 'flex', flexDirection: 'column' }}>
Приоритеты:
{Object.values(weekPriorities).map((priority, i)=>{
return (
<WeekPriority
key={i}
onChangeWeekPrioritiesHandler={(e)=>{onChangeWeekPrioritiesHandler(e)}}
priorityName={Object.keys(weekPriorities)[i]}
priority={priority}
number={i+1}
/>
)
})}
</Typography>
</Box>
</>
);
}
export default memo(WeekPriorities);
\ No newline at end of file
import { Box } from '@mui/system';
import { TextField, Typography } from '@mui/material';
import { memo, useCallback, useState } from 'react';
function WeekPriority({ number, priority, onChangeWeekPrioritiesHandler, priorityName }) {
const [priorityEditCheck, setPriorityEditCheck] = useState(false)
const onClickPriorityHandler = useCallback(() => {
setPriorityEditCheck(true)
}, [])
return (
<>
<Box sx={{ display: 'flex', alignItems: 'center', gap: '10px' }}>
{priorityEditCheck ?
<>
<Typography variant='string'>
{number}.
</Typography>
<TextField
id={priorityName}
value={priority}
variant="standard"
sx={{ input: { color: 'white', fontSize: '22px', fontWeight: '400'} }}
InputProps={{
disableUnderline: true,
}}
name={priorityName}
autoFocus
onBlur={() => { setPriorityEditCheck(false) }}
onChange={(e) => { onChangeWeekPrioritiesHandler(e) }}
/>
</>
: <Typography variant='string' onClick={() => { onClickPriorityHandler() }}>{number}. {priority}</Typography>
}
</Box>
</>
);
}
export default memo(WeekPriority);
\ No newline at end of file
...@@ -36,7 +36,7 @@ const ProjectInfo = ({ project, handleOpen, currentRoleInProject,onClickTasksHan ...@@ -36,7 +36,7 @@ const ProjectInfo = ({ project, handleOpen, currentRoleInProject,onClickTasksHan
<Typography variant="body1" sx={styleText}> <Typography variant="body1" sx={styleText}>
Задачи: <ArrowIncrementButton onClick={()=>{onClickTasksHandler()}}/> Задачи: <ArrowIncrementButton onClick={()=>{onClickTasksHandler()}}/>
</Typography> </Typography>
{currentRoleInProject === 'admin' ? {currentRoleInProject === 'Админ' ?
<Typography variant="body1" sx={styleText}> <Typography variant="body1" sx={styleText}>
Добавить участника: <PersonAddIcon style={{ cursor: 'pointer' }} onClick={() => { handleOpen() }} /> Добавить участника: <PersonAddIcon style={{ cursor: 'pointer' }} onClick={() => { handleOpen() }} />
</Typography> </Typography>
......
import { Grid } from "@mui/material";
import DeleteIcon from "@mui/icons-material/Delete";
import { deleteMember } from "../../../store/actions/projectsActions";
import { memo } from "react";
const ProjectMembersItem = ({ user }) => {
const style = {
width: '90%',
border: '1px solid black',
borderRadius: '5px',
padding: '15px 15px',
display: 'flex',
justifyContent: 'space-between',
alignItems: 'center'
}
return <>
<Grid sx={style}>
{user?.displayName}
<DeleteIcon
/>
</Grid>
</>
};
export default memo(ProjectMembersItem);
...@@ -48,7 +48,7 @@ const ProjectMembersItem = ({ user, deleteMemberHandler, currentRoleInProject, d ...@@ -48,7 +48,7 @@ const ProjectMembersItem = ({ user, deleteMemberHandler, currentRoleInProject, d
> >
{user?.displayName} {user?.displayName}
{currentRoleInProject === 'admin' && user.id !== userId ? {currentRoleInProject === 'Админ' && user.id !== userId ?
<DeleteIcon <DeleteIcon
sx={{ cursor: 'pointer' }} sx={{ cursor: 'pointer' }}
onClick={deleteMemberHandler} onClick={deleteMemberHandler}
......
import {Box, Grid, Typography } from "@mui/material"; import {Box, Typography } from "@mui/material";
import { useSelector } from "react-redux"; import { useSelector } from "react-redux";
import { memo, useMemo } from "react"; import { memo, useMemo } from "react";
import DeleteButton from "../../../../UI/DeleteButton/DeleteButton"; import DeleteButton from "../../../../UI/DeleteButton/DeleteButton";
...@@ -23,7 +23,16 @@ const ProjectItem = ({ title, members, onClickProjectHandler, onClickGoToSpecifi ...@@ -23,7 +23,16 @@ const ProjectItem = ({ title, members, onClickProjectHandler, onClickGoToSpecifi
const { user } = useSelector(state => state.users); const { user } = useSelector(state => state.users);
const currentRoleInProject = useMemo(() => { const currentRoleInProject = useMemo(() => {
return members.find((member) => member.user.id === user.id)?.roleProject switch (members.find((member) => member.user.id === user.id)?.roleProject) {
case 'admin':
return 'Админ'
case 'user':
return 'Юзер'
case 'watcher':
return 'Наблюдатель'
default:
return ''
}
}, [members, user.id]) }, [members, user.id])
return <> return <>
...@@ -37,7 +46,7 @@ const ProjectItem = ({ title, members, onClickProjectHandler, onClickGoToSpecifi ...@@ -37,7 +46,7 @@ const ProjectItem = ({ title, members, onClickProjectHandler, onClickGoToSpecifi
</Typography> </Typography>
</Box> </Box>
<Box> <Box>
{currentRoleInProject === 'admin' ? <DeleteButton onClick={deleteProjectHandler}/> : null} {currentRoleInProject === 'Админ' ? <DeleteButton onClick={deleteProjectHandler}/> : null}
<ArrowIncrementButton onClick={onClickGoToSpecificProjectHandler}/> <ArrowIncrementButton onClick={onClickGoToSpecificProjectHandler}/>
</Box> </Box>
</Box> </Box>
......
import { Grid, Typography, Button, Card, CardContent } from "@mui/material"; import { Grid, Typography, Button } from "@mui/material";
import { memo } from "react"; import { memo } from "react";
import ProjectsList from "./ProjectsList/ProjectsList"; import ProjectsList from "./ProjectsList/ProjectsList";
......
...@@ -15,7 +15,7 @@ export const anonymoysMenuButtons = [ ...@@ -15,7 +15,7 @@ export const anonymoysMenuButtons = [
] ]
export const priorities = [ export const priorities = [
{ value: null, text: '--Приоритет--' }, { value: '', text: '--Приоритет--' },
{ value: 'A', text: 'A' }, { value: 'A', text: 'A' },
{ value: 'B', text: 'B' }, { value: 'B', text: 'B' },
{ value: 'C', text: 'C' } { value: 'C', text: 'C' }
......
import { Grid } from "@mui/material";
import { useNavigate, useParams } from "react-router-dom"; import { useNavigate, useParams } from "react-router-dom";
import { useSelector, useDispatch } from "react-redux"; import { useSelector, useDispatch } from "react-redux";
import { useCallback, useEffect, useMemo, useState } from "react"; import { useCallback, useEffect, useMemo, useState } from "react";
...@@ -39,7 +38,16 @@ const FullProject = ({ projectId }) => { ...@@ -39,7 +38,16 @@ const FullProject = ({ projectId }) => {
}, [project]) }, [project])
const currentRoleInProject = useMemo(() => { const currentRoleInProject = useMemo(() => {
return members.find((member) => member.user.id === user.id)?.roleProject switch (members.find((member) => member.user.id === user.id)?.roleProject) {
case 'admin':
return 'Админ'
case 'user':
return 'Юзер'
case 'watcher':
return 'Наблюдатель'
default:
return ''
}
}, [members, user.id]) }, [members, user.id])
const onChangeRoleHandler = useCallback((e, value) => { const onChangeRoleHandler = useCallback((e, value) => {
......
...@@ -20,7 +20,7 @@ function MonthCalendar() { ...@@ -20,7 +20,7 @@ function MonthCalendar() {
const [hourFormat, setHourFormat] = useState(false); const [hourFormat, setHourFormat] = useState(false);
const [dateNow, setDateNow] = useState({ month: '', year: '' }) const [dateNow, setDateNow] = useState({ month: '', year: '' })
const [workerInfo, setWorkerInfo] = useState({ project: '', worker: '' }); const [workerInfo, setWorkerInfo] = useState({ project: '', worker: '' });
const [currentTask, setCurrentTask] = useState({ title: '', description: '', priority: null, infoForCell: { startHour: null, endHour: null } }) const [currentTask, setCurrentTask] = useState({ title: '', description: '', priority: '', infoForCell: { startHour: null, endHour: null } })
const [copyTask, setCopyTask] = useState(null) const [copyTask, setCopyTask] = useState(null)
const [cellSizes, setCellSizes] = useState({}) const [cellSizes, setCellSizes] = useState({})
const [userId, setUserId] = useState('') const [userId, setUserId] = useState('')
...@@ -141,7 +141,7 @@ function MonthCalendar() { ...@@ -141,7 +141,7 @@ function MonthCalendar() {
const newTask = { const newTask = {
title: "Задача", title: "Задача",
description: "описание", description: "описание",
priority: null, priority: '',
dateTimeStart: dateToISOLikeButLocal(new Date(dateNow.year, dateNow.month, dayNumber, hour, 0)), dateTimeStart: dateToISOLikeButLocal(new Date(dateNow.year, dateNow.month, dayNumber, hour, 0)),
dateTimeDue: dateToISOLikeButLocal(new Date(dateNow.year, dateNow.month, dayNumber, hourDue, 59)), dateTimeDue: dateToISOLikeButLocal(new Date(dateNow.year, dateNow.month, dayNumber, hourDue, 59)),
infoForCell: { infoForCell: {
...@@ -198,7 +198,7 @@ function MonthCalendar() { ...@@ -198,7 +198,7 @@ function MonthCalendar() {
dateTimeDue: due, dateTimeDue: due,
executor: userId, executor: userId,
author: user.id, author: user.id,
dateTimeDeadLine: due, calendar: true,
} }
delete newTask.infoForCell delete newTask.infoForCell
delete newTask.id delete newTask.id
......
...@@ -20,18 +20,16 @@ function WeekCalendar() { ...@@ -20,18 +20,16 @@ function WeekCalendar() {
const { calendarTasks, copyMode } = useSelector(state => state.tasks); const { calendarTasks, copyMode } = useSelector(state => state.tasks);
const { user, currentCalendarDisplayName } = useSelector(state => state.users); const { user, currentCalendarDisplayName } = useSelector(state => state.users);
const { allUserProjects } = useSelector(state => state.projects) const { allUserProjects } = useSelector(state => state.projects)
console.log(copyMode)
const [weekGoal, setWeekGoal] = useState('Наладить режим сна')
const [weekPriorities, setWeekPriorities] = useState({ priorityOne: 'Один', priorityTwo: 'Два', priorityThree: 'Три' })
const [workerInfo, setWorkerInfo] = useState({ project: '', worker: '' }); const [workerInfo, setWorkerInfo] = useState({ project: '', worker: '' });
const [dateNow, setDateNow] = useState({ year: '', month: '', currentDay: '' }) const [dateNow, setDateNow] = useState({ year: '', month: '', currentDay: '' })
const [currentTask, setCurrentTask] = useState({ title: '', description: '', priority: null, infoForCell: { startHour: null, endHour: null } }) const [currentTask, setCurrentTask] = useState({ title: '', description: '', priority: '', infoForCell: { startHour: null, endHour: null } })
const [hourFormat, setHourFormat] = useState(false); const [hourFormat, setHourFormat] = useState(false);
const [copyTask, setCopyTask] = useState(null) const [copyTask, setCopyTask] = useState(null)
const [userCalendarId, setUserCalendarId] = useState(null) const [userCalendarId, setUserCalendarId] = useState(null)
const [modal, setModal] = useState(false) const [modal, setModal] = useState(false)
const [userId, setUserId] = useState('') const [userId, setUserId] = useState('')
console.log(copyTask)
useEffect(() => { useEffect(() => {
const year = new Date().getFullYear() const year = new Date().getFullYear()
const month = new Date().getMonth() const month = new Date().getMonth()
...@@ -96,23 +94,6 @@ function WeekCalendar() { ...@@ -96,23 +94,6 @@ function WeekCalendar() {
setWorkerInfo((prevState) => { return { ...prevState, worker: value } }); setWorkerInfo((prevState) => { return { ...prevState, worker: value } });
}, []); }, []);
const onChangeWeekGoalHandler = useCallback((e) => {
setWeekGoal((prevState) => {
return e.target.value
})
}, [])
const onChangeWeekPrioritiesHandler = useCallback((e) => {
const { name, value } = e.target;
setWeekPriorities((prevState) => {
return {
...prevState,
[name]: value
}
})
}, [])
const onChangeCurrentTaskHandler = useCallback((e) => { const onChangeCurrentTaskHandler = useCallback((e) => {
const { name, value } = e.target; const { name, value } = e.target;
if (name === 'startHour' || name === 'endHour') { if (name === 'startHour' || name === 'endHour') {
...@@ -157,7 +138,7 @@ function WeekCalendar() { ...@@ -157,7 +138,7 @@ function WeekCalendar() {
const newTask = { const newTask = {
title: "Задача", title: "Задача",
description: "описание", description: "описание",
priority: null, priority: '',
dateTimeStart: dateToISOLikeButLocal(new Date(year, month, dayNumber, hour, 0)), dateTimeStart: dateToISOLikeButLocal(new Date(year, month, dayNumber, hour, 0)),
dateTimeDue: dateToISOLikeButLocal(new Date(year, month, dayNumber, hourDue, 59)), dateTimeDue: dateToISOLikeButLocal(new Date(year, month, dayNumber, hourDue, 59)),
infoForCell: { infoForCell: {
...@@ -196,7 +177,7 @@ function WeekCalendar() { ...@@ -196,7 +177,7 @@ function WeekCalendar() {
dateTimeDue: due, dateTimeDue: due,
executor: userId, executor: userId,
author: user.id, author: user.id,
dateTimeDeadLine: due, calendar: true,
} }
delete newTask.infoForCell delete newTask.infoForCell
delete newTask.id delete newTask.id
...@@ -311,15 +292,12 @@ function WeekCalendar() { ...@@ -311,15 +292,12 @@ function WeekCalendar() {
incrementWeek={incrementWeek} incrementWeek={incrementWeek}
decrementWeek={decrementWeek} decrementWeek={decrementWeek}
weekInfo={weekInfo} weekInfo={weekInfo}
weekGoal={weekGoal}
onChangeWeekGoalHandler={onChangeWeekGoalHandler}
weekPriorities={weekPriorities}
onChangeWeekPrioritiesHandler={onChangeWeekPrioritiesHandler}
handleOpen={handleOpen} handleOpen={handleOpen}
currentCalendarDisplayName={currentCalendarDisplayName} currentCalendarDisplayName={currentCalendarDisplayName}
user={user} user={user}
userId={userId} userId={userId}
/> />
<WeekCalendarBody <WeekCalendarBody
deleteTaskHandler={deleteTaskHandler} deleteTaskHandler={deleteTaskHandler}
sendNewTaskHandler={sendNewTaskHandler} sendNewTaskHandler={sendNewTaskHandler}
......
...@@ -64,7 +64,7 @@ export const deleteProject = (projectId) => { ...@@ -64,7 +64,7 @@ export const deleteProject = (projectId) => {
return async (dispatch) => { return async (dispatch) => {
dispatch(deleteProjectRequest()); dispatch(deleteProjectRequest());
try { try {
const response = await axios.delete('/projects', { data: { projectId: projectId } }); await axios.delete('/projects', { data: { projectId: projectId } });
dispatch(deleteProjectSuccess()) dispatch(deleteProjectSuccess())
dispatch(fetchProjects()) dispatch(fetchProjects())
} catch (error) { } catch (error) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment