From 78e126d7419a270bfca3d48c1025ca0d09b00f71 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20tom=20W=C3=B6rden?= <h.tomwoerden@indiscale.com>
Date: Tue, 10 Oct 2023 11:18:55 +0200
Subject: [PATCH] FIX: deal with async call and no preexisting reference

---
 src/core/js/edit_mode.js | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/core/js/edit_mode.js b/src/core/js/edit_mode.js
index 379b92f1..4659f92c 100644
--- a/src/core/js/edit_mode.js
+++ b/src/core/js/edit_mode.js
@@ -1015,7 +1015,7 @@ var edit_mode = new function () {
                 options.then((_options) => {
                     // The options might not include all entites (if there are
                     // many). Include the property value if it is missing.
-                    if (-1 == _options.map((e) => {
+                    if (property.value!="" && -1 == _options.map((e) => {
                             return e.value
                         }).indexOf(property.value)) {
                         _options = _options.concat([$(`<option value="${property.value}">ID: ${property.value}</option>`)[0]])
@@ -1876,8 +1876,8 @@ var edit_mode = new function () {
     this.retrieve_datatype_list = async function (datatype) {
         var find_entity = ["FILE", "REFERENCE"].includes(datatype) ? "" : `"${datatype}"`;
         const max_options = 100; //for each query; there might be more candidates in total
-        var n_entities = datatype !== "FILE" ? edit_mode.query(`COUNT Record ${find_entity}`, true) : 0;
-        var n_files = edit_mode.query(`COUNT File ${find_entity}`, true);
+        var n_entities = datatype !== "FILE" ? await edit_mode.query(`COUNT Record ${find_entity}`, true) : 0;
+        var n_files = await edit_mode.query(`COUNT File ${find_entity}`, true);
         var entities = datatype !== "FILE" ? edit_mode.query(`FIND Record ${find_entity}&P=0L${max_options}`, true) : [];
         var files = edit_mode.query(`FIND File ${find_entity}&P=0L${max_options}`, true);
 
-- 
GitLab