Revize ebfe6347
Přidáno uživatelem plundrichov před více než 4 roky(ů)
client/src/OverviewAdmin.js | ||
---|---|---|
3 | 3 |
import * as api_fetch from './api' |
4 | 4 |
|
5 | 5 |
|
6 |
const OverviewAdmin = () => { |
|
6 |
const OverviewAdmin = (props) => {
|
|
7 | 7 |
|
8 | 8 |
useEffect(() => { |
9 | 9 |
api_fetch.getUsersOverview().then(usersOverview => { |
10 |
setEmployees(usersOverview); |
|
10 |
props.setEmployees(usersOverview);
|
|
11 | 11 |
}).catch(reason => { |
12 | 12 |
alert(reason) |
13 | 13 |
}); |
14 | 14 |
}, []); |
15 | 15 |
|
16 | 16 |
// states |
17 |
const [employees, setEmployees] = useState([ |
|
18 |
{ |
|
19 |
name: 'Sadam', |
|
20 |
id: 0, |
|
21 |
sickday: 10, |
|
22 |
holiday: 10 |
|
23 |
} |
|
24 |
]); |
|
17 |
// const [employees, setEmployees] = useState([
|
|
18 |
// {
|
|
19 |
// name: 'Sadam',
|
|
20 |
// id: 0,
|
|
21 |
// sickday: 10,
|
|
22 |
// holiday: 10
|
|
23 |
// }
|
|
24 |
// ]);
|
|
25 | 25 |
|
26 | 26 |
const [isEdit, setEdit] = useState(false); |
27 | 27 |
const [editedUserId, setEditedUserId] = useState(); |
... | ... | |
30 | 30 |
|
31 | 31 |
// functions |
32 | 32 |
function changeSickdays(newValue) { |
33 |
const newEmployees = employees.map(employee => { |
|
33 |
const newEmployees = props.employees.map(employee => {
|
|
34 | 34 |
if (editedUserId === employee.id) { |
35 | 35 |
return { |
36 | 36 |
...employee, |
... | ... | |
40 | 40 |
return employee |
41 | 41 |
} |
42 | 42 |
}) |
43 |
setEmployees(newEmployees); |
|
43 |
props.setEmployees(newEmployees);
|
|
44 | 44 |
} |
45 | 45 |
|
46 | 46 |
function changeHoliday(newValue) { |
47 |
const newEmployees = employees.map(employee => { |
|
47 |
const newEmployees = props.employees.map(employee => {
|
|
48 | 48 |
if (editedUserId === employee.id) { |
49 | 49 |
return { |
50 | 50 |
...employee, |
... | ... | |
54 | 54 |
return employee |
55 | 55 |
} |
56 | 56 |
}) |
57 |
setEmployees(newEmployees); |
|
57 |
props.setEmployees(newEmployees);
|
|
58 | 58 |
} |
59 | 59 |
|
60 | 60 |
const submitEdit = async (e) => { |
61 | 61 |
|
62 | 62 |
setEdit(isEdit === true ? false : true); |
63 |
setPrevEdit(employees); |
|
63 |
setPrevEdit(props.employees);
|
|
64 | 64 |
e.preventDefault(); |
65 | 65 |
|
66 |
const found = employees.find(employee => editedUserId === employee.id); |
|
66 |
const found = props.employees.find(employee => editedUserId === employee.id);
|
|
67 | 67 |
const foundPrevEdit = prevEdit.find(employee => editedUserId === employee.id); |
68 | 68 |
|
69 | 69 |
const dataOverviewObject = { |
... | ... | |
79 | 79 |
} |
80 | 80 |
|
81 | 81 |
const cancel = () => { |
82 |
setEmployees(prevEdit) |
|
82 |
props.setEmployees(prevEdit)
|
|
83 | 83 |
setEdit(false) |
84 | 84 |
} |
85 | 85 |
|
... | ... | |
88 | 88 |
const editEmployee = (employeeId, e) => { |
89 | 89 |
setEdit(true) |
90 | 90 |
setEditedUserId(employeeId) |
91 |
setPrevEdit(employees) |
|
91 |
setPrevEdit(props.employees)
|
|
92 | 92 |
|
93 | 93 |
e.preventDefault(); |
94 | 94 |
} |
... | ... | |
112 | 112 |
<th>Holiday</th> |
113 | 113 |
<th></th> |
114 | 114 |
</tr> |
115 |
{employees.map(employee => ( |
|
115 |
{props.employees.map(employee => (
|
|
116 | 116 |
<tr> |
117 |
<td>{employee.name} {editedUserId}</td>
|
|
117 |
<td>{employee.name}</td> |
|
118 | 118 |
{/* SickDays Input */} |
119 | 119 |
<td className="td-center"> |
120 | 120 |
{isEdit === true && editedUserId === employee.id ? ( |
121 | 121 |
<input className="offsInput" type="number" min="0" value={employee.sickday} onChange={(e) => changeSickdays(e.target.value)}/> |
122 | 122 |
) : ( |
123 |
employee.sickday |
|
123 |
employee.takenSickday + '/' + employee.sickday
|
|
124 | 124 |
)} |
125 | 125 |
</td> |
126 | 126 |
{/* Holiday Input */} |
Také k dispozici: Unified diff
re #58 client part(especially rebuilt api.js, all fetches, little edits in YourRequests/UpcomingRequests and fixed bugs in calendar and overview (add event, save, post, numbers)