2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END============================================
20 * ===================================================================
23 app.controller('GlobalPropertiesCtrl', [
30 'cldsTemplateService',
31 function($scope, $rootScope, $uibModalInstance, cldsModelService, $location,
32 dialogs, cldsTemplateService) {
33 $scope.$watch('name', function(newValue, oldValue) {
34 var services = asdc_Services
36 // add blank service item as the default service, to force user chose
37 // the correct service by themselves
38 $("#service").append("<option></option>")
41 "<option value=" + k + ">" + services[k] + "</option>")
43 var el = elementMap["global"];
44 if (el !== undefined) {
45 for (var i = 0; i < el.length; i++) {
46 if (el[i].name === 'deployParameters')
48 // This is a special case, that value is not a string but a JSON
49 $("#" + el[i].name).val(JSON.stringify(el[i].value));
51 $("#" + el[i].name).val(el[i].value);
57 $("#savePropsBtn").attr("disabled", "");
58 $('select[multiple] option').each(function() {
59 var input = $('input[value="' + $(this).val() + '"]');
60 input.prop('disabled', true);
61 input.parent('li').addClass('disabled');
63 $('input[value="multiselect-all"]').prop('disabled', true).parent(
64 'li').addClass('disabled');
65 ($("select:not([multiple])")).multiselect("disable");
68 $scope.retry = function() {
71 $scope.close = function() {
73 $uibModalInstance.close("closed");
75 $scope.convertDeployParametersJsonToString = function() {
76 var index = elementMap["global"].findIndex(function(e) {
77 return (typeof e == "object" && !(e instanceof Array))
78 && "deployParameters" == e["name"];
81 $('#deployParameters').val(JSON.stringify(elementMap["global"][index].value));
85 function noRepeats(form) {
87 for (var i = 0; i < form.length; i++) {
88 if (form[i].hasOwnProperty("name")) {
89 if (form[i].name === 'deployParameters') {
90 // This is a special case, that value MUST not be a string but a JSON
91 select[form[i].name]=JSON.parse(form[i].value);
93 if (select[form[i].name] === undefined)
94 select[form[i].name] = []
95 select[form[i].name].push(form[i].value);
104 if (!(s == "service" && f.value == "")) {
111 $scope.submitForm = function() {
112 saveGlobalProperties(noRepeats($("#saveProps").serializeArray()))
113 //module reset, based on property updates
114 if (elementMap["global"]) {
115 $.each(Object.keys(elementMap), function(i, v) {
116 if ((v.match(/^Policy/)) && asDiff) {
119 if ((v.match(/^TCA/)) && (vfDiff || serDiff)) {
124 $uibModalInstance.close();