Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
P
planner-team-one
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
21
Issues
21
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Евгений Положенцев
planner-team-one
Commits
df34b85f
Commit
df34b85f
authored
Dec 04, 2022
by
Нелли Ибрагимова
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'task-80-my-task-new-task' into 'development'
Task 80 my task new task See merge request
!58
parents
39724752
1d3b7017
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
78 additions
and
96 deletions
+78
-96
CustomTableCell.js
...front/src/components/MyTasksCompoments/CustomTableCell.js
+29
-16
DateTimePicker.js
...onents/MyTasksCompoments/DateTimePicker/DateTimePicker.js
+2
-2
NewTaskForm.js
...ner-front/src/components/MyTasksCompoments/NewTaskForm.js
+37
-69
TaskModal.js
...t/src/components/MyTasksCompoments/TaskModal/TaskModal.js
+1
-0
MyTasks.js
planner-front/src/containers/MyTasks/MyTasks.js
+9
-9
No files found.
planner-front/src/components/MyTasksCompoments/CustomTableCell.js
View file @
df34b85f
...
@@ -3,19 +3,29 @@ import TableCell from "@mui/material/TableCell";
...
@@ -3,19 +3,29 @@ import TableCell from "@mui/material/TableCell";
import
Input
from
"@mui/material/Input"
;
import
Input
from
"@mui/material/Input"
;
import
moment
from
"moment"
;
import
moment
from
"moment"
;
const
CustomTableCell
=
({
task
,
const
CustomTableCell
=
({
task
,
name
,
name
,
value
,
value
,
value2
,
value2
,
value3
,
onChange
,
onChange
,
onModalOpen
,
onModalOpen
,
placeholder
,
placeholder
,
user
user
,
})
=>
{
})
=>
{
const
styles
=
{
width
:
"auto"
,
height
:
"10px"
};
const
styles
=
placeholder
?
{
width
:
"100%"
}
:
{
width
:
"auto"
};
const
divStyle
=
{
display
:
"flex"
,
justifyContent
:
"space-between"
,
flexDirection
:
"column"
,
fontSize
:
"12px"
}
const
divStyle
=
{
const
duration
=
moment
.
duration
(
moment
(
task
.
dateTimeTasks
[
0
]?.
dateTimeDue
).
diff
(
moment
(
task
.
dateTimeTasks
[
0
]?.
dateTimeStart
)));
display
:
"flex"
,
justifyContent
:
"space-between"
,
flexDirection
:
"column"
,
fontSize
:
"12px"
,
};
const
duration
=
moment
.
duration
(
moment
(
task
?.
dateTimeTasks
[
0
]?.
dateTimeDue
).
diff
(
moment
(
task
?.
dateTimeTasks
[
0
]?.
dateTimeStart
)
)
);
const
hours
=
Math
.
round
(
duration
.
asHours
());
const
hours
=
Math
.
round
(
duration
.
asHours
());
if
(
task
)
{
if
(
task
)
{
...
@@ -24,9 +34,13 @@ const CustomTableCell = ({task,
...
@@ -24,9 +34,13 @@ const CustomTableCell = ({task,
<
TableCell
<
TableCell
onClick
=
{(
e
)
=>
(
onModalOpen
?
onModalOpen
(
e
,
task
)
:
null
)}
onClick
=
{(
e
)
=>
(
onModalOpen
?
onModalOpen
(
e
,
task
)
:
null
)}
align
=
"left"
align
=
"left"
style
=
{
styles
}
//
style={styles}
>
>
{
task
.
isEditMode
&&
onChange
&&
name
!==
"author"
&&
task
.
author
.
id
===
user
.
id
?
(
{(
task
.
isEditMode
&&
onChange
&&
name
!==
"author"
&&
task
.
author
?.
id
===
user
?.
id
)
||
placeholder
?
(
<
Input
<
Input
placeholder
=
{
placeholder
}
placeholder
=
{
placeholder
}
value
=
{
value
}
value
=
{
value
}
...
@@ -34,16 +48,15 @@ const CustomTableCell = ({task,
...
@@ -34,16 +48,15 @@ const CustomTableCell = ({task,
onChange
=
{(
e
)
=>
onChange
(
e
,
task
)}
onChange
=
{(
e
)
=>
onChange
(
e
,
task
)}
style
=
{
styles
}
style
=
{
styles
}
/
>
/
>
)
:
name
!==
"dateTimeStart"
?
(
)
:
name
!==
"dateTimeStart"
?
(
<
span
>
{
value
}
<
/span
>
<
span
>
{
value
}
<
/span
>
)
:
(
)
:
(
<
div
style
=
{
divStyle
}
>
<
div
style
=
{
divStyle
}
>
<
span
>
{
value
}
<
/span
>
<
span
>
{
value
}
<
/span
>
<
span
>
{
value2
}
<
/span
>
<
span
>
{
value2
}
<
/span
>
<
span
>
часы
:
+
{
hours
}
<
/span
>
<
span
>
часы
:{
hours
}
<
/span
>
<
/div
>
<
/div
>
)
)}
}
<
/TableCell
>
<
/TableCell
>
<
/
>
<
/
>
);
);
...
...
planner-front/src/components/MyTasksCompoments/DateTimePicker/DateTimePicker.js
View file @
df34b85f
...
@@ -9,10 +9,10 @@ export default function MaterialUIPickers(props) {
...
@@ -9,10 +9,10 @@ export default function MaterialUIPickers(props) {
return
(
return
(
<
LocalizationProvider
<
LocalizationProvider
dateAdapter
=
{
AdapterMoment
}
dateAdapter
=
{
AdapterMoment
}
sx
=
{{
width
:
"
auto
"
,
fontSize
:
5
,
fontWeight
:
"200"
}}
sx
=
{{
width
:
"
100%
"
,
fontSize
:
5
,
fontWeight
:
"200"
}}
>
>
<
DateTimePicker
<
DateTimePicker
inputFormat
=
"DD-MM-YY
YY hh
:mm A"
inputFormat
=
"DD-MM-YY
kk
:mm A"
disabled
=
{
props
.
task
.
readOnly
}
disabled
=
{
props
.
task
.
readOnly
}
renderInput
=
{(
params
)
=>
(
renderInput
=
{(
params
)
=>
(
<
TextField
<
TextField
...
...
planner-front/src/components/MyTasksCompoments/NewTaskForm.js
View file @
df34b85f
...
@@ -19,29 +19,45 @@ import CustomTableCell from "./CustomTableCell";
...
@@ -19,29 +19,45 @@ import CustomTableCell from "./CustomTableCell";
import
MaterialUIPickers
from
"./DateTimePicker/DateTimePicker"
;
import
MaterialUIPickers
from
"./DateTimePicker/DateTimePicker"
;
import
BasicSelect
from
"../UI/Select/Select"
;
import
BasicSelect
from
"../UI/Select/Select"
;
import
{
addTask
}
from
"../../store/actions/tasksActions"
;
import
{
addTask
}
from
"../../store/actions/tasksActions"
;
import
TaskModal
from
"./TaskModal/TaskModal"
;
export
default
function
NewTaskForm
({
projects
,
setAddTaskForm
,
tasks
})
{
export
default
function
NewTaskForm
({
projects
,
setAddTaskForm
,
})
{
const
dispatch
=
useDispatch
();
const
dispatch
=
useDispatch
();
const
user
=
useSelector
((
state
)
=>
state
.
users
.
user
);
const
user
=
useSelector
((
state
)
=>
state
.
users
.
user
);
const
currentDateTime
=
new
Date
();
const
currentDateTime
=
new
Date
();
const
dateTime
=
moment
(
currentDateTime
).
utc
().
format
();
const
dateTime
=
moment
(
currentDateTime
).
utc
().
format
();
const
[
task
,
setTask
]
=
useState
({
const
[
task
,
setTask
]
=
useState
({
id
:
0
,
id
:
0
,
title
:
""
,
title
:
""
,
description
:
""
,
description
:
""
,
createdAt
:
dateTime
,
createdAt
:
dateTime
,
dateTimeStart
:
null
,
dateTimeStart
:
null
,
dateTimeDeadLine
:
null
,
dateTimeTasks
:
[],
dateTimeDue
:
null
,
dateTimeDue
:
null
,
project
:
projects
[
0
],
project
:
projects
[
0
],
accomplish
:
"opened"
,
accomplish
:
"opened"
,
priority
:
"B"
,
priority
:
"B"
,
author
:
{
id
:
user
.
id
},
authorDisplayName
:
user
.
displayName
,
authorDisplayName
:
user
.
displayName
,
executors
:
[],
executors
:
[],
isEditMode
:
true
,
isEditMode
:
true
,
});
});
const
[
modal
,
setModal
]
=
useState
(
false
);
const
onModalOpen
=
(
event
,
task
)
=>
{
event
.
stopPropagation
();
setModal
(
true
);
};
const
handleClose
=
()
=>
{
setModal
(
false
);
};
const
onChange
=
(
e
,
task
)
=>
{
const
onChange
=
(
e
,
task
)
=>
{
const
value
=
e
.
target
.
value
;
const
value
=
e
.
target
.
value
;
const
name
=
e
.
target
.
name
;
const
name
=
e
.
target
.
name
;
...
@@ -78,8 +94,6 @@ export default function NewTaskForm({projects,setAddTaskForm,tasks}) {
...
@@ -78,8 +94,6 @@ export default function NewTaskForm({projects,setAddTaskForm,tasks}) {
<
TableContainer
<
TableContainer
style
=
{{
style
=
{{
backgroundColor
:
"#E8E8E8"
,
backgroundColor
:
"#E8E8E8"
,
display
:
"flex"
,
alignItems
:
"center"
,
marginBottom
:
"2em"
,
marginBottom
:
"2em"
,
}}
}}
>
>
...
@@ -122,23 +136,14 @@ export default function NewTaskForm({projects,setAddTaskForm,tasks}) {
...
@@ -122,23 +136,14 @@ export default function NewTaskForm({projects,setAddTaskForm,tasks}) {
value
:
moment
(
task
.
createdAt
).
format
(
"DD-MM-YYYY hh:mm A"
),
value
:
moment
(
task
.
createdAt
).
format
(
"DD-MM-YYYY hh:mm A"
),
}}
}}
/
>
/
>
<
CustomTableCell
<
CustomTableCell
{...{
{...{
task
,
task
,
name
:
"title"
,
name
:
"title"
,
value
:
task
.
title
,
value
:
task
.
title
,
onChange
:
onChange
,
onModalOpen
,
placeholder
:
"Введите название задачи"
,
user
:
user
,
}}
placeholder
:
"Кликните для ввода информации по задаче"
/
>
<
CustomTableCell
{...{
task
,
name
:
"description"
,
value
:
task
.
description
,
onChange
:
onChange
,
placeholder
:
"Введите описание задачи"
,
}}
}}
/
>
/
>
...
@@ -155,44 +160,22 @@ export default function NewTaskForm({projects,setAddTaskForm,tasks}) {
...
@@ -155,44 +160,22 @@ export default function NewTaskForm({projects,setAddTaskForm,tasks}) {
/
>
/
>
<
/TableCell
>
<
/TableCell
>
<
CustomTableCell
{
/* <TableCell>
{...{
task
,
name
:
"author"
,
value
:
user
.
displayName
,
}}
/
>
<
TableCell
>
<MaterialUIPickers
<MaterialUIPickers
task={task}
task={task}
name="dateTimeStart"
name="dateTimeStart"
onChange={onDateChange}
onChange={onDateChange}
/>
/>
<
/TableCell
>
</TableCell>
*/
}
<
TableCell
>
<
TableCell
>
<
MaterialUIPickers
<
MaterialUIPickers
task
=
{
task
}
task
=
{
task
}
name
=
"dateTimeD
u
e"
name
=
"dateTimeD
eadLin
e"
onChange
=
{
onDateChange
}
onChange
=
{
onDateChange
}
/
>
/
>
<
/TableCell
>
<
/TableCell
>
<
TableCell
>
<
BasicSelect
items
=
{[
{
value
:
"opened"
,
title
:
"opened"
},
{
value
:
"done"
,
title
:
"done"
},
{
value
:
"failed"
,
title
:
"failed"
},
]}
task
=
{
task
}
onChange
=
{
onChange
}
name
=
"accomplish"
value
=
{
task
.
accomplish
}
/
>
<
/TableCell
>
<
TableCell
>
<
TableCell
>
<
Tooltip
title
=
"Добавить"
>
<
Tooltip
title
=
"Добавить"
>
<
IconButton
size
=
"large"
onClick
=
{
handleAddTask
}
>
<
IconButton
size
=
"large"
onClick
=
{
handleAddTask
}
>
...
@@ -201,8 +184,16 @@ export default function NewTaskForm({projects,setAddTaskForm,tasks}) {
...
@@ -201,8 +184,16 @@ export default function NewTaskForm({projects,setAddTaskForm,tasks}) {
<
/Tooltip
>
<
/Tooltip
>
<
/TableCell
>
<
/TableCell
>
<
/TableRow
>
<
/TableRow
>
<
/TableBody
>
<
/TableBody
>
<
/Table
>
<
/Table
>
<
TaskModal
task
=
{
task
}
open
=
{
modal
}
handleClose
=
{
handleClose
}
onChange
=
{
onChange
}
user
=
{
user
}
/
>
<
/TableContainer
>
<
/TableContainer
>
<
Divider
/>
<
Divider
/>
<
/
>
<
/
>
...
@@ -234,43 +225,20 @@ export const header = [
...
@@ -234,43 +225,20 @@ export const header = [
disablePadding
:
false
,
disablePadding
:
false
,
label
:
"Заголовок"
,
label
:
"Заголовок"
,
},
},
{
id
:
"description"
,
numeric
:
false
,
disablePadding
:
false
,
label
:
"Описание"
,
},
{
{
id
:
"projectName"
,
id
:
"projectName"
,
numeric
:
true
,
numeric
:
true
,
disablePadding
:
false
,
disablePadding
:
false
,
label
:
"Проект"
,
label
:
"Проект"
,
},
},
{
id
:
"authorDisplayName"
,
numeric
:
false
,
disablePadding
:
false
,
label
:
"Автор"
,
},
{
id
:
"dateTimeStart"
,
numeric
:
true
,
disablePadding
:
false
,
label
:
"Дата начала"
,
},
{
{
id
:
"dateTimeDue"
,
id
:
"dateTimeDue"
,
numeric
:
true
,
numeric
:
true
,
disablePadding
:
false
,
disablePadding
:
false
,
label
:
"Дата завершения"
,
label
:
"Дедлайн"
,
},
{
id
:
"accomplish"
,
numeric
:
false
,
disablePadding
:
false
,
label
:
"Статус"
,
},
},
{
{
id
:
"add"
,
id
:
"add"
,
numeric
:
false
,
numeric
:
false
,
...
...
planner-front/src/components/MyTasksCompoments/TaskModal/TaskModal.js
View file @
df34b85f
...
@@ -16,6 +16,7 @@ const TaskModal = ({handleClose,open,task,onChange,user }) => {
...
@@ -16,6 +16,7 @@ const TaskModal = ({handleClose,open,task,onChange,user }) => {
open
=
{
open
}
open
=
{
open
}
>
>
{
task
?.
isEditMode
&&
task
.
author
.
id
===
user
.
id
?
(
{
task
?.
isEditMode
&&
task
.
author
.
id
===
user
.
id
?
(
<
div
className
=
"modal"
>
<
div
className
=
"modal"
>
<
Input
<
Input
label
=
"название"
label
=
"название"
...
...
planner-front/src/containers/MyTasks/MyTasks.js
View file @
df34b85f
...
@@ -110,7 +110,7 @@ useEffect(() => {
...
@@ -110,7 +110,7 @@ useEffect(() => {
if
(
task
.
id
===
id
)
{
if
(
task
.
id
===
id
)
{
return
{
return
{
...
task
,
...
task
,
[
property
]:
moment
.
parseZone
(
value
,
"DD/MM/YY
YY
"
,
true
).
format
(),
[
property
]:
moment
.
parseZone
(
value
,
"DD/MM/YY"
,
true
).
format
(),
};
};
}
}
return
task
;
return
task
;
...
@@ -223,6 +223,7 @@ useEffect(() => {
...
@@ -223,6 +223,7 @@ useEffect(() => {
},
[]);
},
[]);
console
.
log
(
tasks
)
console
.
log
(
tasks
)
if
(
if
(
tasks
&&
tasks
&&
tasks
?.
length
>
0
&&
tasks
?.
length
>
0
&&
...
@@ -243,8 +244,7 @@ console.log(tasks)
...
@@ -243,8 +244,7 @@ console.log(tasks)
{
addTaskForm
?
(
{
addTaskForm
?
(
<
NewTaskForm
<
NewTaskForm
tasks
=
{
recievedTasks
}
projects
=
{
uniqueProjects
}
projects
=
{
rawProjects
}
setAddTaskForm
=
{()
=>
setAddTaskForm
(
false
)}
setAddTaskForm
=
{()
=>
setAddTaskForm
(
false
)}
/
>
/
>
)
:
null
}
)
:
null
}
...
@@ -304,7 +304,7 @@ console.log(tasks)
...
@@ -304,7 +304,7 @@ console.log(tasks)
name
:
"createdAt"
,
name
:
"createdAt"
,
value
:
moment
(
task
.
createdAt
)
value
:
moment
(
task
.
createdAt
)
.
utc
()
.
utc
()
.
format
(
"DD-MM-YY
YY hh:mm A
"
),
.
format
(
"DD-MM-YY"
),
user
:
user
user
:
user
}}
}}
/
>
/
>
...
@@ -379,13 +379,13 @@ console.log(tasks)
...
@@ -379,13 +379,13 @@ console.log(tasks)
name
:
"dateTimeStart"
,
name
:
"dateTimeStart"
,
value
:
moment
(
task
.
dateTimeTasks
[
0
]?.
dateTimeStart
)
value
:
moment
(
task
.
dateTimeTasks
[
0
]?.
dateTimeStart
)
.
utc
()
.
utc
()
.
format
(
"DD-MM-YY
YY
"
),
.
format
(
"DD-MM-YY "
),
value2
:
moment
(
task
.
dateTimeTasks
[
0
]?.
dateTimeStart
)
value2
:
moment
(
task
.
dateTimeTasks
[
0
]?.
dateTimeStart
)
.
utc
()
.
utc
()
.
format
(
"
hh:mm A
"
)
+
"-"
+
.
format
(
"
kk:mm
"
)
+
"-"
+
moment
(
task
.
dateTimeTasks
[
0
]?.
dateTimeDue
)
moment
(
task
.
dateTimeTasks
[
0
]?.
dateTimeDue
)
.
utc
()
.
utc
()
.
format
(
"
hh:mm A
"
),
.
format
(
"
kk:mm
"
),
user
:
user
user
:
user
}}
>
}}
>
<
/CustomTableCell
>
<
/CustomTableCell
>
...
@@ -419,7 +419,7 @@ console.log(tasks)
...
@@ -419,7 +419,7 @@ console.log(tasks)
value
:
moment
(
task
.
dateTimeDeadLine
value
:
moment
(
task
.
dateTimeDeadLine
)
)
.
utc
()
.
utc
()
.
format
(
"DD-MM-YY
YY hh:mm A
"
),
.
format
(
"DD-MM-YY
kk:mm
"
),
user
:
user
user
:
user
}}
}}
/
>
/
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment