diff --git a/src/core/js/ext_references.js b/src/core/js/ext_references.js
index e25de2107072af4a9227e00c5a4af2bca08d7996..f28a986314a1794412db94bc61356e775521151b 100644
--- a/src/core/js/ext_references.js
+++ b/src/core/js/ext_references.js
@@ -33,7 +33,7 @@
  * @param {Node} elem - The element to check
  * @return {Object} A set of booleans for each side of the element.
  */
-var isOutOfViewport = function (elem) {
+var isOutOfViewport = function(elem) {
 
     // Get element's bounding
     var bounding = elem.getBoundingClientRect();
@@ -43,13 +43,13 @@ var isOutOfViewport = function (elem) {
     out.top = bounding.top < 0;
     out.left = bounding.left < 0;
     out.bottom = bounding.bottom > (window.innerHeight ||
-  document.documentElement.clientHeight);
+        document.documentElement.clientHeight);
     out.right = bounding.right >
-  (window.innerWidth || document.documentElement.clientWidth);
+        (window.innerWidth || document.documentElement.clientWidth);
     out.any =
-  out.top || out.left || out.bottom || out.right;
+        out.top || out.left || out.bottom || out.right;
     out.all = out.top &&
-  out.left && out.bottom && out.right;
+        out.left && out.bottom && out.right;
     return out;
 };
 
@@ -63,7 +63,7 @@ var isOutOfViewport = function (elem) {
  *
  * @author Timm Fitschen
  */
-var reference_list_summary = new function () {
+var reference_list_summary = new function() {
 
     var logger = log.getLogger("reference_list_summary");
 
@@ -89,57 +89,57 @@ var reference_list_summary = new function () {
      * duplicates.  @return {string} a condensed string representation of the
      * array.
      */
-    this.simplify_integer_numbers = function (array) {
-  logger.trace("enter simplify_integer_numbers", array);
-  var set = Array.from(new Set(array));
-
-  if (set.length === 0) {
-      return ""
-  } else if (set.length === 1) {
-      return `${set[0]}`;
-  }
-
-  // sort numerically
-  set.sort((a, b) => a - b);
-
-  if (set.length === 2) {
-      return `${set[0]}, ${set[1]}`;
-  }
-
-
-  var ret = `${set[0]}`;
-  var last = undefined;
-  // set[0];
-
-  // e.g. [1,2,3,4,5,8,9,10];
-  for (const next of set) {
-      // append '-' to summarize consecutive numbers
-      if (next - last === 1 && !ret.endsWith("-")) {
-    ret += "-";
-      }
-
-      if (next - last > 1) {
-
-    if (ret.endsWith("-")) {
-        // close previous interval and start new
-        ret += `${last}, ${next}`;
-    } else {
-        // no previous interval, start interval.
-        ret += `, ${next}`;
-    }
-      } else if (next === set[set.length - 1]) {
-    // finish interval if next is last item
-    ret += next;
-    break;
-      }
+    this.simplify_integer_numbers = function(array) {
+        logger.trace("enter simplify_integer_numbers", array);
+        var set = Array.from(new Set(array));
+
+        if (set.length === 0) {
+            return ""
+        } else if (set.length === 1) {
+            return `${set[0]}`;
+        }
+
+        // sort numerically
+        set.sort((a, b) => a - b);
+
+        if (set.length === 2) {
+            return `${set[0]}, ${set[1]}`;
+        }
+
+
+        var ret = `${set[0]}`;
+        var last = undefined;
+        // set[0];
 
+        // e.g. [1,2,3,4,5,8,9,10];
+        for (const next of set) {
+            // append '-' to summarize consecutive numbers
+            if (next - last === 1 && !ret.endsWith("-")) {
+                ret += "-";
+            }
 
-      last = next;
+            if (next - last > 1) {
 
-  }
+                if (ret.endsWith("-")) {
+                    // close previous interval and start new
+                    ret += `${last}, ${next}`;
+                } else {
+                    // no previous interval, start interval.
+                    ret += `, ${next}`;
+                }
+            } else if (next === set[set.length - 1]) {
+                // finish interval if next is last item
+                ret += next;
+                break;
+            }
 
-  // e.g. "1-5, 8-10"
-  return ret;
+
+            last = next;
+
+        }
+
+        // e.g. "1-5, 8-10"
+        return ret;
     }
 
     /**
@@ -157,20 +157,20 @@ var reference_list_summary = new function () {
      *     element.
      * @return {HTMLElement|string} generated summary
      */
-    this.generate = function (ref_infos, summary_container) {
-  logger.trace("enter generate", ref_infos);
-  if (ref_infos.length > 0 &&
-      typeof ref_infos[0].callback === "function") {
-      const summary =
-    ref_infos[0].callback(ref_infos);
-      if (summary && summary_container) {
-    $(summary_container).append(summary);
-      }
-      logger.trace("leave generate", summary);
-      return summary;
-  }
-  logger.trace("leave generate, return undefined");
-  return undefined;
+    this.generate = function(ref_infos, summary_container) {
+        logger.trace("enter generate", ref_infos);
+        if (ref_infos.length > 0 &&
+            typeof ref_infos[0].callback === "function") {
+            const summary =
+                ref_infos[0].callback(ref_infos);
+            if (summary && summary_container) {
+                $(summary_container).append(summary);
+            }
+            logger.trace("leave generate", summary);
+            return summary;
+        }
+        logger.trace("leave generate, return undefined");
+        return undefined;
     }
 }
 
@@ -184,7 +184,7 @@ var reference_list_summary = new function () {
  * @author Timm Fitschen
  * @author Alexander Schlemmer
  */
-var resolve_references = new function () {
+var resolve_references = new function() {
 
     var logger = log.getLogger("resolve_references");
 
@@ -205,12 +205,12 @@ var resolve_references = new function () {
      * last scroll event.
      */
     var scroll_listener = () => {
-  if (_scroll_timeout) {
-      clearTimeout(_scroll_timeout);
-  }
-  _scroll_timeout = setTimeout(function () {
-      resolve_references.update_visible_references();
-  }, 500);
+        if (_scroll_timeout) {
+            clearTimeout(_scroll_timeout);
+        }
+        _scroll_timeout = setTimeout(function() {
+            resolve_references.update_visible_references();
+        }, 500);
     };
 
 
@@ -219,16 +219,16 @@ var resolve_references = new function () {
      * entity ids and trigger it for the first time in order to resolve all
      * visible references.
      */
-    this.init = function () {
-  if ("${BUILD_MODULE_EXT_RESOLVE_REFERENCES}" === "ENABLED") {
-      scroll_listener();
+    this.init = function() {
+        if ("${BUILD_MODULE_EXT_RESOLVE_REFERENCES}" === "ENABLED") {
+            scroll_listener();
 
-      // mainly for vertical scrolling
-      $(window).scroll(scroll_listener);
+            // mainly for vertical scrolling
+            $(window).scroll(scroll_listener);
 
-      // for horizontal scrolling.
-      $(".caosdb-value-list").scroll(scroll_listener);
-  }
+            // for horizontal scrolling.
+            $(".caosdb-value-list").scroll(scroll_listener);
+        }
     }
 
     /**
@@ -240,10 +240,10 @@ var resolve_references = new function () {
      * @param {HTMLElement} elem - the element to check @return {boolean}
      *
      */
-    this.is_in_viewport_vertically = function (elem) {
-  var out =
-      isOutOfViewport(elem);
-  return !(out.top || out.bottom);
+    this.is_in_viewport_vertically = function(elem) {
+        var out =
+            isOutOfViewport(elem);
+        return !(out.top || out.bottom);
     }
 
     /** Check if an element is inside of the viewport on the horizontal axis.
@@ -256,20 +256,20 @@ var resolve_references = new function () {
      * @param {HTMLElement} elem - the element to check @return {boolean}
      *
      */
-    this.is_in_viewport_horizontally = function (elem) {
-  var scrollbox = elem.parentElement.parentElement;
-  // Check this condition only if the grand parent is a list and return true
-  // otherwise.
-  if (scrollbox.classList.contains("caosdb-value-list") ==
-      true) {
-      var boundel = elem.getBoundingClientRect();
-      var boundscroll = scrollbox.getBoundingClientRect();
-      var leftcrit = boundel.right > boundscroll.left;
-      var rightcrit = boundel.left < boundscroll.right;
-      return leftcrit && rightcrit;
-  } else {
-      return true;
-  }
+    this.is_in_viewport_horizontally = function(elem) {
+        var scrollbox = elem.parentElement.parentElement;
+        // Check this condition only if the grand parent is a list and return true
+        // otherwise.
+        if (scrollbox.classList.contains("caosdb-value-list") ==
+            true) {
+            var boundel = elem.getBoundingClientRect();
+            var boundscroll = scrollbox.getBoundingClientRect();
+            var leftcrit = boundel.right > boundscroll.left;
+            var rightcrit = boundel.left < boundscroll.right;
+            return leftcrit && rightcrit;
+        } else {
+            return true;
+        }
     }
 
 
@@ -279,14 +279,14 @@ var resolve_references = new function () {
      * @param {HTMLElement} entity - entity in HTML representation.  @param
      * {string} par - parent name.  @return {boolean}
      */
-    this.is_child = function (entity, par) {
-  var pars = resolve_references.getParents(entity);
-  for (const thispar of pars) {
-      if (thispar.name === par) {
-    return true;
-      }
-  }
-  return false;
+    this.is_child = function(entity, par) {
+        var pars = resolve_references.getParents(entity);
+        for (const thispar of pars) {
+            if (thispar.name === par) {
+                return true;
+            }
+        }
+        return false;
     }
 
     /**
@@ -317,40 +317,40 @@ var resolve_references = new function () {
      * TODO refactor to be configurable.  @async @param {string} id - the id of
      * the entity which is to be resolved.  @return {reference_info}
      */
-    this.resolve_reference = async function (id) {
-  const custom_reference_resolver = window["${BUILD_EXT_REFERENCES_CUSTOM_RESOLVER}"];
-  if (custom_reference_resolver && typeof custom_reference_resolver.resolve === "function") {
-      // try custom_reference_resolver and fall-back to standard implementation
-      var ret = await custom_reference_resolver.resolve(id);
-      if (ret) {
+    this.resolve_reference = async function(id) {
+        const custom_reference_resolver = window["${BUILD_EXT_REFERENCES_CUSTOM_RESOLVER}"];
+        if (custom_reference_resolver && typeof custom_reference_resolver.resolve === "function") {
+            // try custom_reference_resolver and fall-back to standard implementation
+            var ret = await custom_reference_resolver.resolve(id);
+            if (ret) {
+                return ret;
+            }
+        }
+
+        const entity = (await resolve_references.retrieve(id))[0];
+
+        // TODO handle multiple parents
+        const par = resolve_references.getParents(entity)[0] || {};
+        const name = getEntityName(entity);
+
+        var ret = {
+            "text": id
+        };
+        if (par.name === "TestReferenced" && typeof resolve_references.test_resolver === "function") {
+            // this is a test case, initialized by the test suite.
+            ret = resolve_references.test_resolver(entity);
+        } else if (typeof name !== "undefined" && name.length > 0) {
+            ret["text"] = name;
+        } else if (getEntityHeadingAttribute(entity, "path") !==
+            undefined || par.name == "Image") {
+            // show file name
+            var pths = getEntityHeadingAttribute(entity, "path")
+                .split("/");
+            ret["text"] = pths[pths.length - 1];
+        }
+
+
         return ret;
-      }
-  }
-
-  const entity = (await resolve_references.retrieve(id))[0];
-
-  // TODO handle multiple parents
-  const par = resolve_references.getParents(entity)[0] || {};
-  const name = getEntityName(entity);
-
-  var ret = {
-      "text": id
-  };
-  if (par.name === "TestReferenced" && typeof resolve_references.test_resolver === "function") {
-      // this is a test case, initialized by the test suite.
-      ret = resolve_references.test_resolver(entity);
-  } else if (typeof name !== "undefined" && name.length > 0){
-    ret["text"] = name;
-  } else if (getEntityHeadingAttribute(entity, "path") !==
-      undefined || par.name == "Image") {
-      // show file name
-      var pths = getEntityHeadingAttribute(entity, "path")
-    .split("/");
-      ret["text"] = pths[pths.length - 1];
-  }
-
-
-  return ret;
     }
 
 
@@ -364,13 +364,13 @@ var resolve_references = new function () {
      * @param {HTMLElement} element - where to append the target.
      * @return {HTMLElement} the new/existing target element.
      */
-    this.add_target = function (element) {
-  if(element.getElementsByClassName(this._target_class).length > 0){
-      return element.getElementsByClassName(this._target_class);
-  } else {
-      return $(`<span class="${this._target_class}"/>`)
-    .appendTo(element)[0];
-  }
+    this.add_target = function(element) {
+        if (element.getElementsByClassName(this._target_class).length > 0) {
+            return element.getElementsByClassName(this._target_class);
+        } else {
+            return $(`<span class="${this._target_class}"/>`)
+                .appendTo(element)[0];
+        }
     }
 
     /**
@@ -380,15 +380,15 @@ var resolve_references = new function () {
      * @param {HTMLElement} rs - resolvable reference link
      * @return {reference_info} the resolved reference information
      */
-    this.update_single_resolvable_reference = async function (rs) {
-  $(rs).find(".caosdb-id-button").hide();
-  const target = resolve_references.add_target(rs);
-  const id = getEntityID(rs);
-  target.textContent = id;
-  const resolved_entity_info = (
-      await resolve_references.resolve_reference(id));
-  target.textContent = resolved_entity_info.text;
-  return resolved_entity_info;
+    this.update_single_resolvable_reference = async function(rs) {
+        $(rs).find(".caosdb-id-button").hide();
+        const target = resolve_references.add_target(rs);
+        const id = getEntityID(rs);
+        target.textContent = id;
+        const resolved_entity_info = (
+            await resolve_references.resolve_reference(id));
+        target.textContent = resolved_entity_info.text;
+        return resolved_entity_info;
     }
 
 
@@ -403,11 +403,11 @@ var resolve_references = new function () {
      * @param {HTMLElement} list_values - where to add the summary field.
      * @return {HTMLElement} a summary field.
      */
-    this.add_summary_field = function (list_values) {
-  const summary = $(
-      `<div class="${resolve_references._summary_class}"/>`);
-  $(list_values).prepend(summary);
-  return summary[0];
+    this.add_summary_field = function(list_values) {
+        const summary = $(
+            `<div class="${resolve_references._summary_class}"/>`);
+        $(list_values).prepend(summary);
+        return summary[0];
     }
 
     this._summary_class = "caosdb-resolve-reference-summary";
@@ -418,10 +418,10 @@ var resolve_references = new function () {
      */
     this._unresolved_class_name = "caosdb-resolvable-reference";
 
-    this.get_resolvable_properties = function (container) {
-  const _unresolved_class_name = this._unresolved_class_name;
-  return $(container).find(".caosdb-f-property-value").has(
-      `.${_unresolved_class_name}`).toArray();
+    this.get_resolvable_properties = function(container) {
+        const _unresolved_class_name = this._unresolved_class_name;
+        return $(container).find(".caosdb-f-property-value").has(
+            `.${_unresolved_class_name}`).toArray();
     }
 
 
@@ -434,116 +434,119 @@ var resolve_references = new function () {
      *
      * @param {HTMLElement} container
      */
-    this.update_visible_references = async function (container) {
-  const property_values = resolve_references
-      .get_resolvable_properties(container || document.body);
-
-  const _unresolved_class_name = resolve_references
-      ._unresolved_class_name;
-
-  // Loop over all property values in the container element. Note: each property_value can be a single reference or a list of references.
-  for (const property_value of property_values) {
-      var lists = findElementByConditions(
-    property_value,
-    x => x.classList.contains("caosdb-value-list"),
-    x => x.classList.contains("caosdb-preview-container"))
-      lists = $(lists).has(`.${_unresolved_class_name}`);
-
-      if (lists.length > 0) {
-    logger.debug("processing list of references", lists);
-
-    for (var i = 0; i < lists.length; i++) {
-        const list = lists[i];
-        if (resolve_references
-          .is_in_viewport_vertically(list)) {
-      const rs = $(list).find(
-        `.${_unresolved_class_name}`)
-          .toggleClass(_unresolved_class_name, false);
-
-      // First resolve only one reference. If the `ref_info`
-      // indicates that a summary is to be generated from the
-      // list of references, retrieve all other other
-      // references. Otherwise retrieve only those which are
-      // visible in the viewport horizontally and trigger the
-      // retrieval of the others when they are scrolled into
-      // the view port.
-      const first_ref_info = await resolve_references
-          .update_single_resolvable_reference(rs[0]);
-
-      first_ref_info["index"] = 0;
-
-      if (typeof first_ref_info.callback === "function") {
-          // there is a callback function, hence we need to
-          // generate a summary.
-          logger.debug("loading all references for summary",
-        rs);
-          const summary_field = resolve_references
-        .add_summary_field(property_value);
-
-          // collect ref infos for the summary
-          const ref_infos = [first_ref_info];
-          for (var j = 1; j < rs.length; j++) {
-        const ref_info = resolve_references
-            .update_single_resolvable_reference(rs[j]);
-        ref_info["index"] = j;
-        ref_infos.push(ref_info);
-          }
-
-          // wait for resolution of references,
-          // then generate the summary,
-          // dispatch event when ready.
-          Promise.all(ref_infos)
-        .then(_ref_infos => {reference_list_summary
-            .generate(_ref_infos, summary_field);})
-        .then(() => {
-            summary_field.dispatchEvent(
-          resolve_references
-              .summary_ready_event
-            );})
-        .catch((err) => {
-            logger.error(err);
-        })
-
-      } else {
-          // no summary to be generated
-
-          logger.debug("lazy loading references", rs);
-          for (var j = 1; j < rs.length; j++) {
-        // mark others to be loaded later and only if
-        // visible
-        $(rs[j]).toggleClass(_unresolved_class_name, true);
-          }
-      }
+    this.update_visible_references = async function(container) {
+        const property_values = resolve_references
+            .get_resolvable_properties(container || document.body);
+
+        const _unresolved_class_name = resolve_references
+            ._unresolved_class_name;
+
+        // Loop over all property values in the container element. Note: each property_value can be a single reference or a list of references.
+        for (const property_value of property_values) {
+            var lists = findElementByConditions(
+                property_value,
+                x => x.classList.contains("caosdb-value-list"),
+                x => x.classList.contains("caosdb-preview-container"))
+            lists = $(lists).has(`.${_unresolved_class_name}`);
+
+            if (lists.length > 0) {
+                logger.debug("processing list of references", lists);
+
+                for (var i = 0; i < lists.length; i++) {
+                    const list = lists[i];
+                    if (resolve_references
+                        .is_in_viewport_vertically(list)) {
+                        const rs = $(list).find(
+                                `.${_unresolved_class_name}`)
+                            .toggleClass(_unresolved_class_name, false);
+
+                        // First resolve only one reference. If the `ref_info`
+                        // indicates that a summary is to be generated from the
+                        // list of references, retrieve all other other
+                        // references. Otherwise retrieve only those which are
+                        // visible in the viewport horizontally and trigger the
+                        // retrieval of the others when they are scrolled into
+                        // the view port.
+                        const first_ref_info = await resolve_references
+                            .update_single_resolvable_reference(rs[0]);
+
+                        first_ref_info["index"] = 0;
+
+                        if (typeof first_ref_info.callback === "function") {
+                            // there is a callback function, hence we need to
+                            // generate a summary.
+                            logger.debug("loading all references for summary",
+                                rs);
+                            const summary_field = resolve_references
+                                .add_summary_field(property_value);
+
+                            // collect ref infos for the summary
+                            const ref_infos = [first_ref_info];
+                            for (var j = 1; j < rs.length; j++) {
+                                const ref_info = resolve_references
+                                    .update_single_resolvable_reference(rs[j]);
+                                ref_info["index"] = j;
+                                ref_infos.push(ref_info);
+                            }
+
+                            // wait for resolution of references,
+                            // then generate the summary,
+                            // dispatch event when ready.
+                            Promise.all(ref_infos)
+                                .then(_ref_infos => {
+                                    reference_list_summary
+                                        .generate(_ref_infos, summary_field);
+                                })
+                                .then(() => {
+                                    summary_field.dispatchEvent(
+                                        resolve_references
+                                        .summary_ready_event
+                                    );
+                                })
+                                .catch((err) => {
+                                    logger.error(err);
+                                })
+
+                        } else {
+                            // no summary to be generated
+
+                            logger.debug("lazy loading references", rs);
+                            for (var j = 1; j < rs.length; j++) {
+                                // mark others to be loaded later and only if
+                                // visible
+                                $(rs[j]).toggleClass(_unresolved_class_name, true);
+                            }
+                        }
+                    }
+                }
+            }
+
+            // Load all remaining references. These are single reference values
+            // and those references from lists which are left for lazy loading.
+            const rs = findElementByConditions(
+                property_value,
+                x => x.classList.contains(`${_unresolved_class_name}`),
+                x => x.classList.contains("caosdb-preview-container"));
+            for (var i = 0; i < rs.length; i++) {
+                if (resolve_references.is_in_viewport_vertically(
+                        rs[i]) &&
+                    resolve_references.is_in_viewport_horizontally(
+                        rs[i])) {
+                    logger.debug("processing single references", rs);
+                    $(rs[i]).toggleClass(_unresolved_class_name, false);
+
+                    // discard return value as it is not needed for any summary
+                    // generation as above.
+                    resolve_references.update_single_resolvable_reference(rs[i]);
+                }
+            }
         }
     }
-      }
-
-      // Load all remaining references. These are single reference values
-      // and those references from lists which are left for lazy loading.
-      const rs = findElementByConditions(
-    property_value,
-    x => x.classList.contains(`${_unresolved_class_name}`),
-    x => x.classList.contains("caosdb-preview-container"));
-      for (var i = 0; i < rs.length; i++) {
-    if (resolve_references.is_in_viewport_vertically(
-      rs[i]) &&
-        resolve_references.is_in_viewport_horizontally(
-      rs[i])) {
-        logger.debug("processing single references", rs);
-        $(rs[i]).toggleClass(_unresolved_class_name, false);
-
-        // discard return value as it is not needed for any summary
-        // generation as above.
-        resolve_references.update_single_resolvable_reference(rs[i]);
-    }
-      }
-  }
-    }
 }
 
 
-$(document).ready(function () {
+$(document).ready(function() {
     if ("${BUILD_MODULE_EXT_RESOLVE_REFERENCES}" === "ENABLED") {
-  caosdb_modules.register(resolve_references);
+        caosdb_modules.register(resolve_references);
     }
-});
+});
\ No newline at end of file