From 10f729b5ded4e042e02ec965abd53cd5f3693ab3 Mon Sep 17 00:00:00 2001
From: Timm Fitschen <t.fitschen@indiscale.com>
Date: Mon, 1 Nov 2021 16:32:39 +0100
Subject: [PATCH] WIP: fix quotation of query strings

---
 src/core/js/edit_mode.js        |  4 ++--
 src/core/js/ext_autocomplete.js | 13 ++++++++++++-
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/src/core/js/edit_mode.js b/src/core/js/edit_mode.js
index 85645aab..359bfac8 100644
--- a/src/core/js/edit_mode.js
+++ b/src/core/js/edit_mode.js
@@ -1756,8 +1756,8 @@ var edit_mode = new function () {
      */
     this.retrieve_datatype_list = async function (datatype) {
         var find_entity = ["FILE", "REFERENCE"].includes(datatype) ? "" : datatype;
-        var entities = datatype !== "FILE" ? await edit_mode.query(`FIND Record ${find_entity}`) : [];
-        var files = await edit_mode.query(`FIND File ${find_entity}`);
+        var entities = datatype !== "FILE" ? await edit_mode.query(`FIND Record "${find_entity}"`) : [];
+        var files = await edit_mode.query(`FIND File "${find_entity}"`);
 
         var options = edit_mode
             ._create_reference_options(entities)
diff --git a/src/core/js/ext_autocomplete.js b/src/core/js/ext_autocomplete.js
index 9a639fb4..a45af385 100644
--- a/src/core/js/ext_autocomplete.js
+++ b/src/core/js/ext_autocomplete.js
@@ -111,6 +111,17 @@ var ext_autocomplete = new function () {
             ["names"]))).find("Property[name],RecordType[name],Record[name]")
 
         response = response.toArray().map(x => $(x).attr("name"));
+        // attach quotation if white space
+        response = response.map((x) => {
+          if(x.indexOf(" ") > -1) {
+            if(x.indexOf("\"") > -1) {
+              return `'${x}'`;
+            } else {
+              return `"${x}"`;
+            }
+          }
+          return x;
+        });
         response = response.concat(ext_autocomplete.CQL_WORDS);
 
         return response
@@ -196,4 +207,4 @@ $(document).ready(function () {
     if ("${BUILD_MODULE_EXT_AUTOCOMPLETE}" == "ENABLED") {
         caosdb_modules.register(ext_autocomplete);
     }
-});
\ No newline at end of file
+});
-- 
GitLab