From 1fabf49fc1425ba7f7b32b09c05d019991af3ed2 Mon Sep 17 00:00:00 2001
From: ezsh <ezsh.junk@gmail.com>
Date: Sun, 9 Jun 2019 23:29:44 +0200
Subject: [PATCH] Fix return types for ListSelector

---
 src/js/rulesAssistantOptions.js | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js
index d1f19b35858..3abce4c236c 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) {
-- 
GitLab