diff --git a/application/source/dom/util/init-options-from-attributes.mjs b/application/source/dom/util/init-options-from-attributes.mjs index 71580077ab749210b03e66a02313ab0041882e26..330f7fd79a48176ce89fff15ca27a88fff83e0e4 100644 --- a/application/source/dom/util/init-options-from-attributes.mjs +++ b/application/source/dom/util/init-options-from-attributes.mjs @@ -64,8 +64,12 @@ function initOptionsFromAttributes(element, options, mapping = {}, prefix = "dat value = mapping[optionName](value); } - const typeOfOptionValue = typeof finder.getVia(optionName); - if (typeOfOptionValue === "boolean") { + const optionValue = finder.getVia(optionName); + + const typeOfOptionValue = typeof optionValue; + if (optionValue === null || optionValue === undefined) { + value = null; + } else if (typeOfOptionValue === "boolean") { value = value === "true"; } else if (typeOfOptionValue === "number") { value = Number(value);