diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js index d1f19b35858359d1829b953a8c4d3eead0b3366e..3abce4c236c95c6bc63436e1f8adca708028c954 100644 --- a/src/js/rulesAssistantOptions.js +++ b/src/js/rulesAssistantOptions.js @@ -303,12 +303,14 @@ window.rulesAssistantOptions = (function() { elem.appendChild(label); elem.appendChild(this.value); elem.classList.add("rajs-list"); + this.values_ = new Map(); // now add options if (allowNullValue) { let nullOpt = document.createElement("option"); nullOpt.value = noDefaultSetting.value; nullOpt.text = capFirstChar(noDefaultSetting.text); this.value.appendChild(nullOpt); + this.values_.set(nullOpt.value, null); } for (const dr of data) { const dv = Array.isArray(dr) ? (dr.length > 1 ? [dr[1], dr[0]] : [dr[0], dr[0]]) : [dr, dr]; @@ -316,6 +318,7 @@ window.rulesAssistantOptions = (function() { opt.value = dv[0]; opt.text = capFirstChar(dv[1]); this.value.appendChild(opt); + this.values_.set(opt.value, dv[0]); } this.value.onchange = () => { this.inputEdited(); @@ -324,7 +327,7 @@ window.rulesAssistantOptions = (function() { } getData() { - return this.value.value === noDefaultSetting.value ? null : this.value.value; + return this.values_.get(this.value.value); } setValue(what) {