X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FUI.git;a=blobdiff_plain;f=skyquake%2Fplugins%2Fcomposer%2Fsrc%2Fsrc%2Flibraries%2Fmodel%2FDescriptorModelSerializer.js;h=cebb946ac637e6a71d34281127609979d8ebba7b;hp=4e6b792645f866b6aa1f9a8b93bccbd8cf317ed1;hb=fee1b6e85ac33ab3781a718b64678525ddfc2c9f;hpb=354a4f472b33534f1c0405bbeb8a4cdf250a8713 diff --git a/skyquake/plugins/composer/src/src/libraries/model/DescriptorModelSerializer.js b/skyquake/plugins/composer/src/src/libraries/model/DescriptorModelSerializer.js index 4e6b79264..cebb946ac 100644 --- a/skyquake/plugins/composer/src/src/libraries/model/DescriptorModelSerializer.js +++ b/skyquake/plugins/composer/src/src/libraries/model/DescriptorModelSerializer.js @@ -1,6 +1,6 @@ /* - * + * * Copyright 2016 RIFT.IO Inc * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -145,8 +145,11 @@ const DescriptorModelSerializer = { if (confd.hasOwnProperty(key) && confd[key] === '') { delete confd[key]; } + //removes choice properties from top level object and copies immediate children onto it. + checkForChoiceAndRemove(key, confd, vldModel); } + const deepProperty = 'provider-network'; for (var key in confd[deepProperty]) { if (confd[deepProperty].hasOwnProperty(key) && confd[deepProperty][key] === '') { @@ -186,10 +189,29 @@ const DescriptorModelSerializer = { }, vdu: { serialize(vduModel) { - const confd = _.omit(vduModel, ['uiState']); + const copy = _.clone(vduModel); + for (let k in copy) { + checkForChoiceAndRemove(k, copy, vduModel) + } + const confd = _.omit(copy, ['uiState']); return confd; } } }; + +function checkForChoiceAndRemove(k, confd, model) { + let state = model.uiState; + if (state.choice) { + let choice = state.choice[k] + if(choice) { + for (let key in confd[k]) { + confd[key] = confd[k][key] + }; + delete confd[k]; + } + } + return confd; + } + export default DescriptorModelSerializer;