From 452695bac329379a35eb0fa5195dfd2628c9b79c Mon Sep 17 00:00:00 2001 From: alaskowski <alaskowski@ethz.ch> Date: Wed, 12 Jul 2023 13:37:22 +0200 Subject: [PATCH] SSDM-55: Adding multivalued property handling for Samples, changed how array values are detected. --- api-openbis-javascript/src/v3/as/dto/sample/Sample.js | 2 +- api-openbis-javascript/src/v3/util/Json.js | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/api-openbis-javascript/src/v3/as/dto/sample/Sample.js b/api-openbis-javascript/src/v3/as/dto/sample/Sample.js index 23852de463d..795675bec4d 100644 --- a/api-openbis-javascript/src/v3/as/dto/sample/Sample.js +++ b/api-openbis-javascript/src/v3/as/dto/sample/Sample.js @@ -561,7 +561,7 @@ define([ "stjs", "util/Exceptions", "as/dto/common/Relationship" ], function(stj experiment : "Experiment", properties : { name : "Map", - arguments : [ "String", "String" ] + arguments : [ "String", "Serializable" ] }, materialProperties : { name : "Map", diff --git a/api-openbis-javascript/src/v3/util/Json.js b/api-openbis-javascript/src/v3/util/Json.js index 556741631d5..595179d1388 100644 --- a/api-openbis-javascript/src/v3/util/Json.js +++ b/api-openbis-javascript/src/v3/util/Json.js @@ -144,8 +144,9 @@ define([ 'jquery', 'underscore' ], function(jquery, _) { } var fromJsonObjectWithTypeOrArrayOrMap = function(jsonType, jsonObject, objectMap, modulesMap) { - if (jsonObject instanceof Array) { - if (jsonType && _.isString(jsonType) && jsonObject.length == 2) { + if (Array.isArray(jsonObject)) { + // properties are <String, Serializable> + if (jsonType && _.isString(jsonType) && jsonObject.length == 2 && jsonType != 'Serializable') { return jsonObject[1]; } else { var array = []; -- GitLab