Projekt

Obecné

Profil

Stáhnout (1.52 KB) Statistiky
| Větev: | Tag: | Revize:
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
}