From 52e53d096c5a9600429e6e64fcfd63adfdd95909 Mon Sep 17 00:00:00 2001
From: alaskowski <alaskowski@ethz.ch>
Date: Fri, 24 May 2024 16:20:10 +0200
Subject: [PATCH] BIS-1076: Added processed spreadsheet values to json object
 that is being saved in the property value.

---
 .../eln-lims/html/js/util/JExcelEditorManager.js   | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/ui-eln-lims/src/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/util/JExcelEditorManager.js b/ui-eln-lims/src/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/util/JExcelEditorManager.js
index baf37957278..1defaf7e411 100644
--- a/ui-eln-lims/src/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/util/JExcelEditorManager.js
+++ b/ui-eln-lims/src/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/util/JExcelEditorManager.js
@@ -20,6 +20,17 @@ var JExcelEditorManager = new function() {
                 // Save Editor
                 var headers = jExcelEditor.getHeaders(true);
                 var data = jExcelEditor.getData();
+                var values = jExcelEditor.getData();
+                // little hack because jExcelEditor.getData(false, true) is not returning processed results
+                for(let rowIndex in values) {
+                    values[rowIndex] = Object.values(values[rowIndex]).map((val, index) => {
+                        if(val.startsWith('=')) {
+                            var row = parseInt(rowIndex)+1;
+                            return jExcelEditor.getValue(headers[index] + row, true);
+                        }
+                        return val;
+                    });
+                }
                 var style = jExcelEditor.getStyle();
                 var meta = jExcelEditor.getMeta();
                 var width = jExcelEditor.getWidth();
@@ -28,7 +39,8 @@ var JExcelEditorManager = new function() {
                     data : data,
                     style : style,
                     meta : meta,
-                    width : width
+                    width : width,
+                    values : values
                 }
                 entity.properties[propertyCode] = "<DATA>" + window.btoa(window.unescape(window.encodeURIComponent(JSON.stringify(jExcelEditorValue)))) + "</DATA>";
             }
-- 
GitLab