@@ -21,7 +21,7 @@ import Input from "components/Input";
21
21
import { skillShape } from "components/SkillsList" ;
22
22
23
23
const TeamMembers = ( { team } ) => {
24
- const { resources } = team ;
24
+ const { resources, jobs } = team ;
25
25
const [ filter , setFilter ] = useState ( "" ) ;
26
26
27
27
const filteredMembers = useMemo (
@@ -44,6 +44,13 @@ const TeamMembers = ({ team }) => {
44
44
[ resources , filter ]
45
45
) ;
46
46
47
+ const filteredMembersWithJobs = useMemo ( ( ) => {
48
+ return filteredMembers . map ( ( member ) => ( {
49
+ ...member ,
50
+ job : _ . find ( jobs , { id : member . jobId } ) || { } ,
51
+ } ) ) ;
52
+ } , [ filteredMembers , jobs ] ) ;
53
+
47
54
const onFilterChange = useCallback (
48
55
( event ) => {
49
56
setFilter ( event . target . value ) ;
@@ -65,8 +72,8 @@ const TeamMembers = ({ team }) => {
65
72
const pagesTotal = Math . ceil ( filteredMembers . length / perPage ) ;
66
73
67
74
const pageMembers = useMemo (
68
- ( ) => filteredMembers . slice ( ( page - 1 ) * perPage , page * perPage ) ,
69
- [ filteredMembers , page , perPage ]
75
+ ( ) => filteredMembersWithJobs . slice ( ( page - 1 ) * perPage , page * perPage ) ,
76
+ [ filteredMembersWithJobs , page , perPage ]
70
77
) ;
71
78
72
79
const onPageClick = useCallback (
@@ -90,10 +97,10 @@ const TeamMembers = ({ team }) => {
90
97
}
91
98
/>
92
99
{ resources . length === 0 && < div styleName = "no-members" > No members</ div > }
93
- { resources . length > 0 && filteredMembers . length === 0 && (
100
+ { resources . length > 0 && filteredMembersWithJobs . length === 0 && (
94
101
< div styleName = "no-members" > No members matching filter</ div >
95
102
) }
96
- { filteredMembers . length > 0 && (
103
+ { filteredMembersWithJobs . length > 0 && (
97
104
< div styleName = "table" >
98
105
{ pageMembers . map ( ( member ) => (
99
106
< div styleName = "table-row" key = { member . id } >
@@ -107,7 +114,9 @@ const TeamMembers = ({ team }) => {
107
114
/>
108
115
</ div >
109
116
< div styleName = "table-group-first-inner" >
110
- < div styleName = "table-cell cell-role" > { member . role } </ div >
117
+ < div styleName = "table-cell cell-role" >
118
+ { member . job . description }
119
+ </ div >
111
120
< div styleName = "table-cell cell-date" >
112
121
{ moment ( member . startDate ) . format ( DAY_FORMAT ) } -{ " " }
113
122
{ moment ( member . endDate ) . format ( DAY_FORMAT ) }
@@ -157,15 +166,15 @@ const TeamMembers = ({ team }) => {
157
166
type = "secondary"
158
167
onClick = { showMore }
159
168
disabled = {
160
- filteredMembers . length === 0 || // if no members to show
169
+ filteredMembersWithJobs . length === 0 || // if no members to show
161
170
page === pagesTotal // if we are already on the last page
162
171
}
163
172
>
164
173
Show More
165
174
</ Button >
166
- { filteredMembers . length > 0 && (
175
+ { filteredMembersWithJobs . length > 0 && (
167
176
< Pagination
168
- total = { filteredMembers . length }
177
+ total = { filteredMembersWithJobs . length }
169
178
currentPage = { page }
170
179
perPage = { perPage }
171
180
onPageClick = { onPageClick }
0 commit comments