aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/resources/META-INF/resources/designer/scripts/GlobalPropertiesCtrl.js
blob: ffe17371caa6713ad026bcb4385ae97c3e934863 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/*-
 * ============LICENSE_START=======================================================
 * ONAP CLAMP
 * ================================================================================
 * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights
 *                             reserved.
 * ================================================================================
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License.
 * ============LICENSE_END============================================
 * ===================================================================
 * 
 */
app.controller('GlobalPropertiesCtrl', [
'$scope',
'$rootScope',
'$uibModalInstance',
'cldsModelService',
'$location',
'dialogs',
'cldsTemplateService',
function($scope, $rootScope, $uibModalInstance, cldsModelService, $location,
         dialogs, cldsTemplateService) {
	$scope.$watch('name', function(newValue, oldValue) {

		setASDCFields()

		var el = getGlobalProperty();
		if (el !== undefined) {
			for (var i = 0; i < el.length; i++) {
				if (el[i].name === 'deployParameters')
				{
					// This is a special case, that value is not a string but a JSON
					$("#" + el[i].name).val(JSON.stringify(el[i].value));
				} else {
					$("#" + 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");
		}
	});
	$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 === 'deployParameters') {
					// 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() {
        saveGlobalProperties(noRepeats($("#saveProps").serializeArray()))
        $uibModalInstance.close();
    }
  
} ]);