-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinterface.js
More file actions
77 lines (69 loc) · 2.36 KB
/
interface.js
File metadata and controls
77 lines (69 loc) · 2.36 KB
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
66
67
68
69
70
71
72
73
74
75
76
77
let current_color_code = "FM";
let data_by_year = false;
let current_year = 2022;
function interfaceSetup() {
const legend_fm_m = document.getElementById("legend_fm_m");
const legend_fm_f = document.getElementById("legend_fm_f");
const legend_fm_fm = document.getElementById("legend_fm_fm");
const legends = [legend_fm_m, legend_fm_f, legend_fm_fm];
for (let i = 1; i <= 10; i++) {
legends.push(document.getElementById(`legend_ps_${i}`));
}
const highlightOn = (e) => {
if (!data_by_year) {
graphFunctions[`highlight_on_${e.currentTarget.id}`]();
e.currentTarget.style.backgroundColor = "rgba(255, 255, 255, 0.1)";
}
};
const highlightOff = (e) => {
if (!data_by_year) {
graphFunctions["highlight_off"]();
e.currentTarget.style.backgroundColor = "";
}
};
legends.forEach((legend) => {
console.log(legend.id);
legend.addEventListener("mouseover", highlightOn);
legend.addEventListener("mouseleave", highlightOff);
});
const ccFM = document.getElementById("ccFM");
const ccPS = document.getElementById("ccPS");
const onClickCCFM = (e) => {
current_color_code = "FM";
graphFunctions["color_code_fm"]();
};
const onClickCCPS = (e) => {
current_color_code = "PS";
graphFunctions["color_code_ps"]();
};
ccFM.addEventListener("click", onClickCCFM);
ccPS.addEventListener("click", onClickCCPS);
let cb_years = document.getElementById("cb_years");
let rangeYear = document.getElementById("rangeYear");
let inputRangeYearLabel = document.getElementById("inputRangeYearLabel");
let dataLegend = document.getElementById("dataLegend");
const onClickCheckBoxYears = (e) => {
data_by_year = cb_years.checked;
rangeYear.disabled = !cb_years.checked;
let year = rangeYear.value;
if (cb_years.checked) {
inactiveLegends();
} else {
activeLegends();
}
};
const onInputRangeYear = (e) => {
current_year = e.target.value;
graphFunctions[`year_filter_${current_year}`]();
inputRangeYearLabel.innerText = `년도: ${e.target.value}`;
};
const activeLegends = () => {
dataLegend.style.opacity = 1;
};
const inactiveLegends = () => {
dataLegend.style.opacity = 0.2;
graphFunctions[`year_filter_${current_year}`]();
};
cb_years.addEventListener("click", onClickCheckBoxYears);
rangeYear.addEventListener("input", onInputRangeYear);
}