Projekt

Obecné

Profil

Stáhnout (2.83 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

    
5

    
6
function Setting() {
7

    
8
  const [sickdays, setSickdays] = useState([]);
9

    
10
  useEffect( () => {
11
    getData();
12
  }, []);
13

    
14
  const getData = async () =>  {
15
    try {
16
      const response = await fetch(
17
        'http://devcz.yoso.fi:8090/ymanager/settings', {
18
          headers: {
19
            Authorization: 1
20
          }
21
        }
22
        );
23

    
24
        if (response.ok) {
25
        const data = await response.json();
26
        setSetting({
27
          sickday: data.sickDayCount,
28
        })
29
      } else {
30
        if(response.status === 400) {
31
          alert('error 400')
32
       }
33
          else if (response.status === 500) {
34
             alert ('error 500')
35
          }
36
          else {
37
             alert('spatne neco jinyho')
38
          }
39
      }
40
    } catch (e) {
41
      console.log(e)
42
      alert('spatne vsechno')
43
      }
44
  }
45

    
46
  const submitSetting = async (e) => {
47
    e.preventDefault();
48
    try {
49
    const response = await fetch('http://devcz.yoso.fi:8090/ymanager/settings', {
50
      headers: {
51
        'Authorization': 1,
52
        'Content-Type': 'application/json'
53
      },
54
      method: 'POST',
55
      body: JSON.stringify({
56
        "sickDayCount": Number(setting.sickday),
57
        "notification": "2019/12/01 12:00:00"
58
      }),
59
    });
60

    
61

    
62
    if (response.ok) {
63
  } else {
64
    if(response.status === 400) {
65
      alert('error 400')
66
   }
67
      else if (response.status === 500) {
68
         alert ('error 500')
69
      }
70
      else {
71
         alert('spatne neco jinyho')
72
      }
73
  }
74
} catch (e) {
75
  console.log(e)
76
  alert('spatne vsechno')
77
  }
78

    
79
  }
80

    
81

    
82

    
83
  const [setting, setSetting] = useState(
84
    {sickday: 5,
85
    holiday: 0
86
    }
87
  ) 
88

    
89
  function changeSickday(newValue) {
90
    setSetting(
91
       {sickday: newValue,
92
        holiday: setting.holiday
93
      }
94
    )
95
  }
96

    
97
  function changeHoliday(newValue) {
98
    setSetting(
99
      {sickday: setting.sickday,
100
       holiday: newValue
101
      }
102
    )
103
  }
104

    
105
  return (
106
    <div className="container">
107
      <div className="setting-container column">
108
        <h2>Nastavení</h2>
109
        <div className="underline-2"></div>
110
        <form onSubmit={(e) => submitSetting(e)} className="setting-form column">
111
          <label><h3>Sick days</h3></label>
112
          <input onChange={(e) => changeSickday(e.target.value)} value={setting.sickday} type="number" min="0" />
113
          <label><h3>Holiday</h3></label>
114
          <input onChange={(e) => changeHoliday(e.target.value)} value={setting.holiday} type="number" min="0" />
115
          <div className="buttons row">
116
            <Link to="/"><button className="btn btn-cancel" type="submit" value="Cancel">Cancel</button></Link>
117
            <button className="btn btn-submit" type="submit" value="Submit">Submit</button>
118
          </div>
119
        </form>
120
      </div>
121
    </div>
122
  );
123
}
124

    
125
export default Setting;
(10-10/16)