UNPKG

1.05 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, '__esModule', { value: true });
4
5const updateFormControl = (node, value) => {
6 if (node.nodeName === "SELECT") {
7 Array.from(node.querySelectorAll("option")).forEach((option) => {
8 option.selected = value.includes(option.value);
9 });
10 return
11 }
12
13 let checked;
14
15 switch (node.getAttribute("type")) {
16 case "checkbox":
17 checked = value;
18 if (node.checked === checked) break
19 if (checked) {
20 node.setAttribute("checked", "");
21 } else {
22 node.removeAttribute("checked");
23 }
24 break
25 case "radio":
26 checked = value === node.getAttribute("value");
27 if (node.checked === checked) break
28 node.checked = checked;
29 if (checked) {
30 node.setAttribute("checked", "");
31 } else {
32 node.removeAttribute("checked");
33 }
34 break
35 default:
36 if (node.value === value) break
37 node.setAttribute("value", (node.value = value || ""));
38 break
39 }
40};
41
42exports.updateFormControl = updateFormControl;