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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
/*-
* ============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',
'$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]);
}
}
}
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 === '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.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;
};
} ]);
|