1 |
c46ffe2f
|
plundrichov
|
import React, { useState, useEffect } from 'react';
|
2 |
|
|
import './App.css';
|
3 |
|
|
import { Link } from 'react-router-dom';
|
4 |
1865a0be
|
Pavel Fidransky
|
import * as api from './api';
|
5 |
c46ffe2f
|
plundrichov
|
|
6 |
|
|
|
7 |
1865a0be
|
Pavel Fidransky
|
export default function Setting() {
|
8 |
c46ffe2f
|
plundrichov
|
|
9 |
1865a0be
|
Pavel Fidransky
|
useEffect(() => {
|
10 |
|
|
api.getSettingData().then(settingData => {
|
11 |
9f045397
|
plundrichov
|
setSetting(settingData);
|
12 |
|
|
}).catch(reason => {
|
13 |
1865a0be
|
Pavel Fidransky
|
alert(reason);
|
14 |
|
|
});
|
15 |
c46ffe2f
|
plundrichov
|
}, []);
|
16 |
|
|
|
17 |
1865a0be
|
Pavel Fidransky
|
async function submitSetting(e) {
|
18 |
c46ffe2f
|
plundrichov
|
e.preventDefault();
|
19 |
1865a0be
|
Pavel Fidransky
|
|
20 |
9f045397
|
plundrichov
|
const dataSettingObject = {
|
21 |
1865a0be
|
Pavel Fidransky
|
'sickDayCount': Number(setting.sickday),
|
22 |
|
|
'notification': '2019/12/01 12:00:00',
|
23 |
|
|
};
|
24 |
c46ffe2f
|
plundrichov
|
|
25 |
1865a0be
|
Pavel Fidransky
|
api.saveDataSetting(dataSettingObject).catch(reason => {
|
26 |
|
|
alert(reason);
|
27 |
|
|
});
|
28 |
c46ffe2f
|
plundrichov
|
}
|
29 |
1865a0be
|
Pavel Fidransky
|
|
30 |
9f045397
|
plundrichov
|
// states
|
31 |
1865a0be
|
Pavel Fidransky
|
const [setting, setSetting] = useState({
|
32 |
|
|
sickday: 5,
|
33 |
|
|
holiday: 0,
|
34 |
|
|
});
|
35 |
c46ffe2f
|
plundrichov
|
|
36 |
9f045397
|
plundrichov
|
//functions
|
37 |
c46ffe2f
|
plundrichov
|
function changeSickday(newValue) {
|
38 |
1865a0be
|
Pavel Fidransky
|
setSetting({
|
39 |
|
|
sickday: newValue,
|
40 |
|
|
holiday: 0,
|
41 |
|
|
});
|
42 |
c46ffe2f
|
plundrichov
|
}
|
43 |
|
|
|
44 |
|
|
return (
|
45 |
|
|
<div className="container">
|
46 |
|
|
<div className="setting-container column">
|
47 |
5bedee9e
|
plundrichov
|
<h2>Setting</h2>
|
48 |
c46ffe2f
|
plundrichov
|
<div className="underline-2"></div>
|
49 |
|
|
<form onSubmit={(e) => submitSetting(e)} className="setting-form column">
|
50 |
|
|
<label><h3>Sick days</h3></label>
|
51 |
|
|
<input onChange={(e) => changeSickday(e.target.value)} value={setting.sickday} type="number" min="0" />
|
52 |
|
|
<div className="buttons row">
|
53 |
|
|
<Link to="/"><button className="btn btn-cancel" type="submit" value="Cancel">Cancel</button></Link>
|
54 |
5bedee9e
|
plundrichov
|
<button className="btn btn-submit" type="submit" value="Submit">Save</button>
|
55 |
c46ffe2f
|
plundrichov
|
</div>
|
56 |
|
|
</form>
|
57 |
|
|
</div>
|
58 |
|
|
</div>
|
59 |
|
|
);
|
60 |
|
|
}
|