X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fresources%2FMETA-INF%2Fresources%2Fdesigner%2Fscripts%2FGlobalPropertiesCtrl.js;h=d7985b5ed6c4e8ac7fadda12e2374da1283ca7e7;hb=71b8dc8a2e445d5cfc0a4cffac84c43e61192cad;hp=2aea4c7bae2838989ab82c13a1f94ac4dc341c3c;hpb=d3d704955440cc869374ca3268c34ae4694982e2;p=clamp.git diff --git a/src/main/resources/META-INF/resources/designer/scripts/GlobalPropertiesCtrl.js b/src/main/resources/META-INF/resources/designer/scripts/GlobalPropertiesCtrl.js index 2aea4c7b..d7985b5e 100644 --- a/src/main/resources/META-INF/resources/designer/scripts/GlobalPropertiesCtrl.js +++ b/src/main/resources/META-INF/resources/designer/scripts/GlobalPropertiesCtrl.js @@ -20,45 +20,104 @@ * =================================================================== * */ -app.controller('GlobalPropertiesCtrl', - ['$scope', '$rootScope', '$modalInstance','cldsModelService', '$location', 'dialogs','cldsTemplateService', - function($scope, $rootScope, $modalInstance, cldsModelService, $location,dialogs,cldsTemplateService) { - //cldsModelService.getASDCServices().then(function(pars) { - $scope.$watch('name', function(newValue, oldValue) { - var services=asdc_Services - setASDCFields() - // add blank service item as the default service, to force user chose the correct service by themselves - $("#service").append("") - for(k in services){ - $("#service").append("") - } - var el = elementMap["global"]; - if (el !== undefined) { - for (var i = 0; i < el.length; i++) { - $("#" + el[i].name).val(el[i].value); - } - } - setMultiSelect(); - - if(readMOnly){ - $("#savePropsBtn").attr("disabled", ""); - $('select[multiple] option').each(function() { - var input = $('input[value="' + $(this).val() + '"]'); - input.prop('disabled', true); - input.parent('li').addClass('disabled'); - }); - $('input[value="multiselect-all"]').prop('disabled', true).parent('li').addClass('disabled'); - ($("select:not([multiple])")).multiselect("disable"); +app.controller('GlobalPropertiesCtrl', [ +'$scope', +'$rootScope', +'$uibModalInstance', +'$http', +'$q', +'cldsModelService', +'$location', +'dialogs', +function($scope, $rootScope, $uibModalInstance, $http, $q, cldsModelService, $location, + dialogs) { + $scope.$watch('name', function(newValue, oldValue) { + + var el = getGlobalProperty(); + if (el !== undefined) { + for (var key in el) { + if (key === 'dcaeDeployParameters') + { + $("#" + key).val(JSON.stringify(el[key])); + } else { + $("#" + key).val(el[key]); } + } + } + if (readMOnly) { + $("#savePropsBtn").attr("disabled", ""); + $('select[multiple] option').each(function() { + var input = $('input[value="' + $(this).val() + '"]'); + input.prop('disabled', true); + input.parent('li').addClass('disabled'); }); - $scope.retry = function(){ - console.log("retry"); - + $('input[value="multiselect-all"]').prop('disabled', true).parent( + 'li').addClass('disabled'); + ($("select:not([multiple])")).multiselect("disable"); + } + }); + $scope.retry = function() { + console.log("retry"); + } + $scope.close = function() { + console.log("close"); + $uibModalInstance.close("closed"); + }; + + + function noRepeats(form) { + + var select = {}; + for (var i = 0; i < form.length; i++) { + if (form[i].hasOwnProperty("name")) { + if (form[i].name === 'dcaeDeployParameters') { + // This is a special case, that value MUST not be a string but a JSON + select[form[i].name]=JSON.parse(form[i].value); + } else { + if (select[form[i].name] === undefined) + select[form[i].name] = [] + select[form[i].name].push(form[i].value); + } + } + } + var arr = [] + for (s in select) { + var f = {} + f.name = s + f.value = select[s] + if (!(s == "service" && f.value == "")) { + arr.push(f) + } + } + return arr + } + + $scope.submitForm = function() { + var form = noRepeats($("#saveProps").serializeArray()); + var obj = {}; + for( var i = 0; i < form.length; ++i ) { + var name = form[i].name; + var value = form[i].value; + if( name ) { + obj[ name ] = value; } - $scope.close = function() { - console.log("close"); - $modalInstance.close("closed"); - }; } - ] -); + + $scope.saveGlobalProperties(JSON.stringify(obj)).then(function(pars) { + updateGlobalProperties(obj); + }, function(data) { + }); + $uibModalInstance.close(); + }; + $scope.saveGlobalProperties = function(form) { + var modelName = getLoopName(); + var def = $q.defer(); + var svcUrl = "/restservices/clds/v2/loop/updateGlobalProperties/" + modelName; + $http.post(svcUrl, form).success(function(data) { + def.resolve(data); + }).error(function(data) { + def.reject("Save Model not successful"); + }); + return def.promise; + }; +} ]);