1 |
|
2 | export const Checkbox = {
|
3 |
|
4 | create(container_class, custom_checkbox_class, checked_class) {
|
5 | document.getElementsByClassName(container_class).forEach((container) => {
|
6 | var custom_cb = container.getElementsByClassName(custom_checkbox_class)[0];
|
7 | if (custom_cb !== undefined) {
|
8 |
|
9 | var input = container.getElementsByTagName('input')[0];
|
10 |
|
11 |
|
12 | if (input.checked && !custom_cb.classList.contains(checked_class)) {
|
13 | custom_cb.classList.add(checked_class);
|
14 |
|
15 | } |
16 |
|
17 |
|
18 |
|
19 |
|
20 | input.addEventListener('change', () => {
|
21 | if (input.checked) {
|
22 | custom_cb.classList.add(checked_class);
|
23 |
|
24 | } else {
|
25 | custom_cb.classList.remove(checked_class);
|
26 |
|
27 | }
|
28 | });
|
29 | }
|
30 | });
|
31 | },
|
32 |
|
33 | uncheck(node, container_class, custom_checkbox_class, checked_class) {
|
34 | const customCheckboxContainers = node.getElementsByClassName(container_class);
|
35 | [].forEach.call(customCheckboxContainers, checkboxContainer => {
|
36 | const input = checkboxContainer.getElementsByTagName('input')[0];
|
37 | input.checked = false;
|
38 | checkboxContainer.classList.remove(checked_class);
|
39 | const checkbox = checkboxContainer.getElementsByClassName(custom_checkbox_class)[0];
|
40 | checkbox.classList.remove(checked_class);
|
41 | })
|
42 | }
|
43 |
|
44 | };
|