From ca66db7efe0b3ded0d014c9884ec1ecb5525920a Mon Sep 17 00:00:00 2001
From: duc_buitien <duc.buitien@ilr.rwth-aachen.de>
Date: Thu, 7 Nov 2024 09:13:02 +0100
Subject: [PATCH] update selector with rules

---
 UnicadoGUI/Frontend/src/routes/model/+page.svelte | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/UnicadoGUI/Frontend/src/routes/model/+page.svelte b/UnicadoGUI/Frontend/src/routes/model/+page.svelte
index 284f545..3cae5d9 100644
--- a/UnicadoGUI/Frontend/src/routes/model/+page.svelte
+++ b/UnicadoGUI/Frontend/src/routes/model/+page.svelte
@@ -248,12 +248,13 @@
                 if (value["@description"] && value["@description"].toLowerCase().includes("switch")) {
                     value.value = (value.value === 'true' || value.value === "1")  //transform string input to boolean for easier binding
                     modalModule.html.push(new SettingsSwitch(key, value["@description"], value))
-                } else if (value["@description"] && value["@description"].toLowerCase().includes("selector")) {
-                    let options = [];
-                    for (let i = 0; i < 5; i++) {
-                        if (value["@description"].includes("mode_" + i)) {
-                            options.push("mode_" + i)
-                        }
+                }else if(value["@description"] && (value["@description"].toLowerCase().includes("selector:")||value["@description"].toLowerCase().startsWith("selector"))){
+                    let options = []
+                    if(value["@description"].includes("mode_" )){
+                        options = value["@description"].match(/mode_\d+/g)
+                    }else{
+                        let selectorString = value["@description"].split("Selector:")[1]
+                        options=selectorString.split(" / ")
                     }
                     modalModule.html.push(new SettingsSelector(key, value["@description"], value, options))
                 }else if(isNumber(value.value)){
-- 
GitLab