Projekt

Obecné

Profil

Stáhnout (1.52 KB) Statistiky
| Větev: | Tag: | Revize:
1
import React, { useState, useEffect } from 'react';
2
import './App.css';
3
import { Link } from 'react-router-dom';
4
import * as api from './api';
5

    
6

    
7
export default function Setting() {
8

    
9
  useEffect(() => {
10
    api.getSettingData().then(settingData => {
11
      setSetting(settingData);
12
    }).catch(reason => {
13
      alert(reason);
14
    });
15
  }, []);
16

    
17
  async function submitSetting(e) {
18
    e.preventDefault();
19

    
20
    const dataSettingObject = {
21
      'sickDayCount': Number(setting.sickday),
22
      'notification': '2019/12/01 12:00:00',
23
    };
24

    
25
    api.saveDataSetting(dataSettingObject).catch(reason => {
26
      alert(reason);
27
    });
28
  }
29

    
30
  // states
31
  const [setting, setSetting] = useState({
32
    sickday: 5,
33
    holiday: 0,
34
  });
35

    
36
  //functions
37
  function changeSickday(newValue) {
38
    setSetting({
39
      sickday: newValue,
40
      holiday: 0,
41
    });
42
  }
43

    
44
  return (
45
    <div className="container">
46
      <div className="setting-container column">
47
        <h2>Setting</h2>
48
        <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
            <button className="btn btn-submit" type="submit" value="Submit">Save</button>
55
          </div>
56
        </form>
57
      </div>
58
    </div>
59
  );
60
}
(11-11/19)