Upgrade angular to 1.3.2
[clamp.git] / src / main / resources / META-INF / resources / designer / scripts / CldsOpenModelCtrl.js
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP CLAMP
4  * ================================================================================
5  * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights
6  *                             reserved.
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
11  * 
12  * http://www.apache.org/licenses/LICENSE-2.0
13  * 
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  * ===================================================================
21  * 
22  */
23 app
24 .controller(
25 'CldsOpenModelCtrl',
26 [
27 '$scope',
28 '$rootScope',
29 '$uibModalInstance',
30 'cldsModelService',
31 '$location',
32 'dialogs',
33 'cldsTemplateService',
34 function($scope, $rootScope, $uibModalInstance, cldsModelService, $location,
35          dialogs, cldsTemplateService) {
36         $scope.typeModel = 'template';
37         $scope.error = {
38         flag : false,
39         message : ""
40         };
41         cldsModelService.getSavedModel().then(function(pars) {
42                 $scope.modelNamel = []
43                 for (var i = 0; i < pars.length; i++) {
44                         $scope.modelNamel.push(pars[i].value);
45                 }
46                 setTimeout(function() {
47                         setMultiSelect();
48                 }, 100);
49         });
50         $scope.paramsRetry = function() {
51                 // $("#paramsWarn").hide();
52                 var currentValue = $("#service").val() == null ? previous : $(
53                 "#service").val();
54                 $("#ridinSpinners").css("display", "")
55                 loadSharedPropertyByService(currentValue, true, callBack);
56                 $("#ridinSpinners").css("display", "none")
57         };
58         $scope.paramsCancel = function() {
59                 loadSharedPropertyByServiceProperties(callBack);
60                 $("#paramsWarnrefresh").hide();
61         };
62         function completeClose() {
63                 // if(flag) {
64                 $scope.close();
65                 // }
66         }
67         function callBack(flag) {
68                 if (flag) {
69                         $scope.close();
70                 }
71         }
72         $scope.refreshASDC = function() {
73                 $("#ridinSpinners").css("display", "")
74                 var bool = loadSharedPropertyByService(undefined, true, callBack);
75                 $("#ridinSpinners").css("display", "none");
76         }
77         cldsTemplateService.getSavedTemplate().then(function(pars) {
78                 $scope.templateNamel = []
79                 for (var i = 0; i < pars.length; i++) {
80                         $scope.templateNamel.push(pars[i].value);
81                 }
82                 setTimeout(function() {
83                         setMultiSelect();
84                 }, 100);
85         });
86         function contains(a, obj) {
87                 var i = a && a.length > 0 ? a.length : 0;
88                 while (i--) {
89                         if (a[i].toLowerCase() === obj.toLowerCase()) {
90                                 return true;
91                         }
92                 }
93                 return false;
94         }
95         $scope.checkExisting = function() {
96                 var name = $('#modelName').val();
97                 if (contains($scope.modelNamel, name)) {
98                         $scope.nameinUse = true;
99                 } else {
100                         $scope.nameinUse = false;
101                 }
102                 specialCharacters();
103         }
104         function specialCharacters() {
105                 $scope.spcl = false;
106                 if (angular.element("#modelName")
107                 && angular.element("#modelName").scope().model.$error.pattern
108                 && angular.element("#modelName").scope().model.$error.pattern.length > 0) {
109                         $scope.spcl = true;
110                 }
111         }
112         $scope.setTypeModel = function(_type) {
113                 $scope.error.flag = false;
114                 $scope.typeModel = _type;
115         }
116         $scope.close = function() {
117                 $rootScope.isNewClosed = false;
118                 $uibModalInstance.close("closed");
119         };
120         $scope.createNewModelOffTemplate = function(formModel) {
121                 reloadDefaultVariables(false)
122                 var modelName = document.getElementById("modelName").value;
123                 var templateName = document.getElementById("templateName").value;
124                 if (!modelName) {
125                         $scope.error.flag = true;
126                         $scope.error.message = "Please enter any closed template name for proceeding";
127                         return false;
128                 }
129                 // init UTM items
130                 $scope.utmModelsArray = [];
131                 $scope.selectedParent = {};
132                 $scope.currentUTMModel = {};
133                 $scope.currentUTMModel.selectedParent = {};
134                 $rootScope.oldUTMModels = [];
135                 $rootScope.projectName = "clds_default_project";
136                 var utmModels = {};
137                 utmModels.name = modelName;
138                 utmModels.subModels = [];
139                 $rootScope.utmModels = utmModels;
140                 cldsTemplateService.getTemplate(templateName).then(function(pars) {
141                         var tempImageText = pars.imageText;
142                         var authorizedToUp = pars.userAuthorizedToUpdate;
143                         pars = {}
144                         pars.imageText = tempImageText
145                         pars.status = "DESIGN";
146                         if (readMOnly) {
147                                 pars.permittedActionCd = [ "" ];
148                         } else {
149                                 pars.permittedActionCd = [ "TEST", "SUBMIT" ];
150                         }
151                         selected_template = templateName
152                         selected_model = modelName;
153                         cldsModelService.processActionResponse(modelName, pars);
154                         // set model bpmn and open diagram
155                         $rootScope.isPalette = true;
156                 }, function(data) {
157                         // alert("getModel failed");
158                 });
159                 allPolicies = {};
160                 elementMap = {};
161                 $uibModalInstance.close("closed");
162         }
163         $scope.cloneModel = function() {
164                 reloadDefaultVariables(false)
165                 var modelName = document.getElementById("modelName").value;
166                 var originalModel = document.getElementById("modelList").value;
167                 if (!modelName) {
168                         $scope.error.flag = true;
169                         $scope.error.message = "Please enter any name for proceeding";
170                         return false;
171                 }
172                 // init UTM items
173                 $scope.utmModelsArray = [];
174                 $scope.selectedParent = {};
175                 $scope.currentUTMModel = {};
176                 $scope.currentUTMModel.selectedParent = {};
177                 $rootScope.oldUTMModels = [];
178                 $rootScope.projectName = "clds_default_project";
179                 var utmModels = {};
180                 utmModels.name = modelName;
181                 utmModels.subModels = [];
182                 $rootScope.utmModels = utmModels;
183                 cldsModelService.getModel(originalModel).then(function(pars) {
184                         // process data returned
185                         var propText = pars.propText;
186                         var status = pars.status;
187                         var controlNamePrefix = pars.controlNamePrefix;
188                         var controlNameUuid = pars.controlNameUuid;
189                         selected_template = pars.templateName;
190                         typeID = pars.typeId;
191                         pars.status = "DESIGN";
192                         if (readMOnly) {
193                                 pars.permittedActionCd = [ "" ];
194                         } else {
195                                 pars.permittedActionCd = [ "TEST", "SUBMIT" ];
196                         }
197                         pars.controlNameUuid = "";
198                         modelEventService = pars.event;
199                         // actionCd = pars.event.actionCd;
200                         actionStateCd = pars.event.actionStateCd;
201                         deploymentId = pars.deploymentId;
202                         var authorizedToUp = pars.userAuthorizedToUpdate;
203                         cldsModelService.processActionResponse(modelName, pars);
204                         // deserialize model properties
205                         if (propText == null) {
206                         } else {
207                                 elementMap = JSON.parse(propText);
208                         }
209                         selected_model = modelName;
210                         // set model bpmn and open diagram
211                         $rootScope.isPalette = true;
212                 }, function(data) {
213                 });
214                 $uibModalInstance.close("closed");
215         }
216         $scope.createNewModel = function() {
217                 reloadDefaultVariables(false)
218                 var modelName = document.getElementById("modelName").value;
219                 // BEGIN env
220                 // init UTM items
221                 $scope.utmModelsArray = [];
222                 $scope.selectedParent = {};
223                 $scope.currentUTMModel = {};
224                 $scope.currentUTMModel.selectedParent = {};
225                 $rootScope.oldUTMModels = [];
226                 $rootScope.projectName = "clds_default_project";
227                 var utmModels = {};
228                 utmModels.name = modelName;
229                 utmModels.subModels = [];
230                 $rootScope.utmModels = utmModels;
231                 // enable appropriate menu options
232                 var pars = {
233                         status : "DESIGN"
234                 };
235                 cldsModelService.processActionResponse(modelName, pars);
236                 selected_model = modelName;
237                 // set model bpmn and open diagram
238                 $rootScope.isPalette = true;
239                 $uibModalInstance.close("closed");
240         }
241         $scope.revertChanges = function() {
242                 $scope.openModel();
243         }
244         $scope.openModel = function() {
245                 reloadDefaultVariables(false)
246                 if (document.getElementById("readOnly")) {
247                         readMOnly = document.getElementById("readOnly").checked;
248                 }
249                 var modelName = document.getElementById("modelName").value;
250                 // init UTM items
251                 $scope.utmModelsArray = [];
252                 $scope.selectedParent = {};
253                 $scope.currentUTMModel = {};
254                 $scope.currentUTMModel.selectedParent = {};
255                 $rootScope.oldUTMModels = [];
256                 $rootScope.projectName = "clds_default_project";
257                 var utmModels = {};
258                 utmModels.name = modelName;
259                 utmModels.subModels = [];
260                 $rootScope.utmModels = utmModels;
261                 cldsModelService.getModel(modelName).then(function(pars) {
262                         // process data returned
263                         var propText = pars.propText;
264                         var status = pars.status;
265                         controlNamePrefix = pars.controlNamePrefix;
266                         var authorizedToUp = pars.userAuthorizedToUpdate;
267                         typeID = pars.typeId;
268                         controlNameUuid = pars.controlNameUuid;
269                         selected_template = pars.templateName;
270                         modelEventService = pars.event;
271                         actionStateCd = pars.event.actionStateCd;
272                         deploymentId = pars.deploymentId;
273                         if (readMOnly) {
274                                 pars.permittedActionCd = [ "" ];
275                         }
276                         cldsModelService.processActionResponse(modelName, pars);
277                         // deserialize model properties
278                         if (propText == null) {
279                         } else {
280                                 elementMap = JSON.parse(propText);
281                         }
282                         selected_model = modelName;
283                         // set model bpmn and open diagram
284                         $rootScope.isPalette = true;
285                 }, function(data) {
286                 });
287                 $uibModalInstance.close("closed");
288         };
289         setMultiSelect();
290 } ]);