X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FUI.git;a=blobdiff_plain;f=skyquake%2Fplugins%2Fcomposer%2Fsrc%2Fsrc%2Flibraries%2Futils.js;h=75afab33a17fb9766b635ea4a95656fbfe6aa84e;hp=ee4163cd2da264e5c963768f3828aa10af333d32;hb=132f9b77e1c32b82eb1c27cea048a5c1f2bfcb56;hpb=37c9d56c7c9460074e582c639c6277d661797018 diff --git a/skyquake/plugins/composer/src/src/libraries/utils.js b/skyquake/plugins/composer/src/src/libraries/utils.js index ee4163cd2..75afab33a 100644 --- a/skyquake/plugins/composer/src/src/libraries/utils.js +++ b/skyquake/plugins/composer/src/src/libraries/utils.js @@ -237,6 +237,10 @@ export default { } else { // contains no predicate objectCopy = objectCopy[fragment]; + if (!objectCopy) { + // contains no value + break; + } } } } @@ -314,6 +318,21 @@ export default { } } } else if (fieldKeyArray.length == 2) { + for (let key in catalogs) { + for (let subKey in catalogs[key]) { + let found = _.find(catalogs[key][subKey], {id: fieldKeyArray[0]}); + if (found) { + for (let foundKey in found) { + // let topLevel = _.find(found[foundKey], {id: fieldKeyArray[1]}); + if (foundKey == fieldKeyArray[1]) { + results = this.getAbsoluteResults(found[foundKey], pathArray.splice(-i, i)); + return results; + } + } + } + } + } + } else if (fieldKeyArray.length == 3) { for (let key in catalogs) { for (let subKey in catalogs[key]) { let found = _.find(catalogs[key][subKey], {id: fieldKeyArray[0]});