-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
65 lines (51 loc) · 1.82 KB
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import { RenderData } from './data.js';
import './data/dataprov.js';
import './element/jumbotronElement.js';
import './element/informationElement.js';
import './element/footerElement.js';
// ! API
// Base Url for API
const baseURL = 'https://corona.coollabs.work';
// Function getDataCoronaProv
const getDataCoronaProv = async () => {
// ambil nilai yang di klik pada dropdown
const select = document.querySelector('#selectProv');
const pilihProvinsi = select.selectedIndex;
const provinsiValue = document.getElementsByTagName('option')[pilihProvinsi]
.value;
// jalankan fetch
const res = await fetch(`${baseURL}/indonesia/provinsi/${provinsiValue}/`);
const resJSON = await res.json();
// instance baru dari class RenderData yang diisi argumen data json (meninggal, positif, sembuh)
let renderDataProvinsi = new RenderData(
resJSON.Kasus_Meni,
resJSON.Kasus_Posi,
resJSON.Kasus_Semb
);
// kasih method renderAllDataProv untuk merender data dan html
renderDataProvinsi.renderAllDataProv();
};
const getDataCoronaNas = async () => {
const ress = await fetch(`${baseURL}/country/indonesia`);
const ressJSON = await ress.json();
let renderDataNasional = new RenderData(
ressJSON.Deaths,
ressJSON.Confirmed,
ressJSON.Recovered
);
renderDataNasional.renderAllDataNas();
};
getDataCoronaNas();
// ketika select di click, jalankan function getDataCoronaProv
// select.addEventListener('click', getDataCoronaProv);
const tombolCari = document.querySelector('.tombol');
tombolCari.addEventListener('click', getDataCoronaProv);
// DOM MANIPULATION
const asksElement = document.querySelectorAll('.ask');
const anssElement = document.querySelectorAll('.ans');
asksElement.forEach((ask, index) => {
ask.addEventListener('click', () => {
anssElement[index].classList.toggle('show');
ask.classList.toggle('chevron');
});
});