UNPKG

963 BJavaScriptView Raw
1export default function setDataObjectField(dataObject, field, passedValue) {
2 const fieldDefinition = dataObject.getFields(field);
3
4 let value;
5
6 if (
7 passedValue && // because null has type "object"
8 typeof passedValue === "object" &&
9 "target" in passedValue &&
10 passedValue.target
11 ) {
12 let elem = passedValue.target;
13 if (elem.type === "checkbox") {
14 value = elem.checked;
15 } else if ("value" in elem) {
16 value = elem.value;
17 } else {
18 value = passedValue;
19 }
20 } else {
21 value = passedValue;
22 }
23
24 if (fieldDefinition.nullable && fieldDefinition.type === "string" && !value) {
25 value = null;
26 }
27
28 if (fieldDefinition !== null && value !== null) {
29 if (fieldDefinition.type === "number") {
30 value = Number(value);
31 } else if (["date", "datetime"].includes(fieldDefinition.type) && !(value instanceof Date)) {
32 value = new Date(value);
33 }
34 }
35
36 dataObject.currentRow(field, value);
37}