Remove and change useless code
[clamp.git] / src / main / resources / META-INF / resources / designer / scripts / CldsOpenModelCtrl.js
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP CLAMP
4  * ================================================================================
5  * Copyright (C) 2017 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  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
22  */
23 app.controller('CldsOpenModelCtrl',
24         ['$scope', '$rootScope', '$modalInstance','cldsModelService', '$location', 'dialogs','cldsTemplateService',
25                 function($scope, $rootScope, $modalInstance, cldsModelService, $location,dialogs,cldsTemplateService) {
26                         
27                         $scope.typeModel='template';
28                         $scope.error = {
29                                 flag : false,
30                                 message: ""
31                         };      
32                         
33                         cldsModelService.getSavedModel().then(function(pars) {
34                                 
35                                 $scope.modelNamel=[]
36                                 for(var i=0;i<pars.length;i++){
37                                         $scope.modelNamel.push(pars[i].value);           
38                                 }
39                                 setTimeout(function(){
40
41                      setMultiSelect(); }, 100);
42                                 
43                         });
44
45                         $scope.paramsRetry = function() {
46                                 //$("#paramsWarn").hide();
47                                 var currentValue = $("#service").val() == null ? previous : $("#service").val();
48                                 $("#ridinSpinners").css("display","")
49                                 loadSharedPropertyByService(currentValue,true,callBack);
50                                 $("#ridinSpinners").css("display","none")
51                         };
52                          $scope.paramsCancel =function() {
53                                 loadSharedPropertyByServiceProperties(callBack);
54                                 $("#paramsWarnrefresh").hide();
55                                 
56                         };
57
58                         function completeClose(){
59                                         //if(flag)      {
60                                                 $scope.close();
61                                         //}
62                                 }
63                         
64                         function callBack(flag){
65                                         if(flag)        {
66                                                 $scope.close();
67                                         }
68                                 }
69                         $scope.refreshASDC=function(){
70                                 $("#ridinSpinners").css("display","")
71                                 var bool=loadSharedPropertyByService(undefined,true,callBack);
72                                 $("#ridinSpinners").css("display","none");
73                                 
74                                 
75                         }
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();}, 100);
84                         });
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
113                         $scope.setTypeModel=function(_type){
114                                 $scope.error.flag = false;
115                                 $scope.typeModel=_type;
116                         }
117                         
118                         $scope.close = function(){
119                                 $rootScope.isNewClosed = false;
120                                 $modalInstance.close("closed");
121                         };
122                         $scope.createNewModelOffTemplate=function(formModel){
123                                 reloadDefaultVariables(false)
124                                 var modelName = document.getElementById("modelName").value;
125                                 var templateName=document.getElementById("templateName").value;
126                                 
127                                 if(!modelName){
128                                         $scope.error.flag =true;
129                                         $scope.error.message = "Please enter any closed template name for proceeding";
130                                     return false;
131                                 }
132                                 // init UTM items
133                                 $scope.utmModelsArray = [];
134                                 $scope.selectedParent = {};
135                                 $scope.currentUTMModel = {};
136                                 $scope.currentUTMModel.selectedParent = {};
137                                 $rootScope.oldUTMModels =[];
138                                 $rootScope.projectName="clds_default_project";          
139                                 var utmModels = {};
140                                 utmModels.name = modelName;
141                                 utmModels.subModels = [];
142                                 $rootScope.utmModels = utmModels;
143                                 
144
145                                 cldsTemplateService.getTemplate( templateName ).then(function(pars) {
146                                 
147                                 var tempImageText=pars.imageText
148                                 var bpmnText=pars.bpmnText
149                                 var authorizedToUp = pars.userAuthorizedToUpdate;
150                                 pars={}
151                                 
152                                 pars.imageText=tempImageText
153                                 pars.status= "DESIGN";
154                                 if (readOnly || readMOnly){
155                                         pars.permittedActionCd=[""];
156                                 } else {
157                                         pars.permittedActionCd=["TEST", "SUBMIT"];
158                                 }
159                                 
160                                 selected_template= templateName
161                                 selected_model = modelName;
162                                 
163                                 cldsModelService.processActionResponse(modelName, pars);
164                                 
165                                 // set model bpmn and open diagram
166                                 $rootScope.isPalette = true;
167                                 modelXML = bpmnText;
168                                 visibility_model();
169                         },
170                         function(data) {
171                                 //alert("getModel failed");
172                         });
173                                 allPolicies = {};
174                                 elementMap = {};
175                                 $modalInstance.close("closed");
176                         
177                         }
178                         
179                         $scope.cloneModel=function(){
180                                 reloadDefaultVariables(false)
181                                 var modelName = document.getElementById("modelName").value;
182                                 var originalModel=document.getElementById("modelList").value;
183                                 if(!modelName){
184                                         $scope.error.flag =true;
185                                         $scope.error.message = "Please enter any name for proceeding";
186                                     return false;
187                                 }   
188                                 
189                                 // init UTM items
190                                 $scope.utmModelsArray = [];
191                                 $scope.selectedParent = {};
192                                 $scope.currentUTMModel = {};
193                                 $scope.currentUTMModel.selectedParent = {};
194                                 $rootScope.oldUTMModels =[];
195                                 $rootScope.projectName="clds_default_project";          
196                                 var utmModels = {};
197                                 utmModels.name = modelName;
198                                 utmModels.subModels = [];
199                                 $rootScope.utmModels = utmModels;
200                                 
201
202                                 cldsModelService.getModel( originalModel ).then(function(pars) {
203                                 
204                                 // process data returned
205                                 var bpmnText = pars.bpmnText;
206                                 var propText = pars.propText;
207                                 var status = pars.status;
208                                 var controlNamePrefix = pars.controlNamePrefix;
209                                 var controlNameUuid = pars.controlNameUuid;
210                                 selected_template=pars.templateName;
211                                 typeID = pars.typeId;
212                                 pars.status="DESIGN";
213                                 if (readOnly || readMOnly){
214                                         pars.permittedActionCd=[""];
215                                 } else {
216                                         pars.permittedActionCd=["TEST", "SUBMIT"];
217                                 }
218                                 pars.controlNameUuid="";
219                                 modelEventService = pars.event;
220                                 //actionCd = pars.event.actionCd;
221                                 actionStateCd = pars.event.actionStateCd;
222                                 deploymentId = pars.deploymentId;
223                                         
224                                 var authorizedToUp = pars.userAuthorizedToUpdate;
225                                 
226                                 cldsModelService.processActionResponse(modelName, pars);
227                                 
228                                 // deserialize model properties
229                                 if ( propText == null ) {
230                                 } else {
231                                         elementMap =  JSON.parse(propText);
232                                 }
233
234                                 selected_model = modelName;
235                                 
236                                 // set model bpmn and open diagram
237                                 $rootScope.isPalette = true;
238                                 modelXML = bpmnText;
239                                 visibility_model();
240                         },
241                         function(data) {
242                                 //alert("getModel failed");
243                         });
244        
245                                 $modalInstance.close("closed");
246                         }
247                         $scope.createNewModel=function(){
248                                 reloadDefaultVariables(false)
249                                 var modelName = document.getElementById("modelName").value;  
250                                 
251                                 // BEGIN env
252                                 // init UTM items
253                                 $scope.utmModelsArray = [];
254                                 $scope.selectedParent = {};
255                                 $scope.currentUTMModel = {};
256                                 $scope.currentUTMModel.selectedParent = {};
257                                 $rootScope.oldUTMModels =[];
258                                 $rootScope.projectName="clds_default_project";          
259                                 var utmModels = {};
260                                 utmModels.name = modelName;
261                                 utmModels.subModels = [];
262                                 $rootScope.utmModels = utmModels;
263                                 
264                         // enable appropriate menu options
265                         var pars = {status: "DESIGN"};
266                         
267                                 cldsModelService.processActionResponse(modelName, pars);
268                         
269                                 selected_model = modelName;
270
271                                 // set model bpmn and open diagram
272                         $rootScope.isPalette = true;
273
274                 var initialDiagram =
275                         '<?xml version="1.0" encoding="UTF-8"?>' +
276                         '<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
277                         'xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" ' +
278                         'xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" ' +
279                         'xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" ' +
280                         'targetNamespace="http://bpmn.io/schema/bpmn" ' +
281                         'id="Definitions_1">' +
282                         '<bpmn:process id="Process_1" isExecutable="false">' +
283                         '<bpmn:startEvent id="StartEvent_1"/>' +
284                         '</bpmn:process>' +
285                         '<bpmndi:BPMNDiagram id="BPMNDiagram_1">' +
286                         '<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">' +
287                         '<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">' +
288                         '<dc:Bounds x="50" y="162" width="36" height="36" />' +
289                         '</bpmndi:BPMNShape>' +
290                         '</bpmndi:BPMNPlane>' +
291                         '</bpmndi:BPMNDiagram>' +
292                         '</bpmn:definitions>';
293                         
294                         modelXML = initialDiagram;
295                         visibility_model();
296                         $modalInstance.close("closed");
297                         }
298                         $scope.revertChanges=function(){
299                                 $scope.openModel();
300                         }
301                         $scope.openModel = function(){
302                                 reloadDefaultVariables(false)
303                                 if(document.getElementById("readOnly")){
304                                         readOnly=document.getElementById("readOnly").checked;
305                                 }
306                                 var modelName = document.getElementById("modelName").value;    
307                                 
308                                 // init UTM items
309                                 $scope.utmModelsArray = [];
310                                 $scope.selectedParent = {};
311                                 $scope.currentUTMModel = {};
312                                 $scope.currentUTMModel.selectedParent = {};
313                                 $rootScope.oldUTMModels =[];
314                                 $rootScope.projectName="clds_default_project";          
315                                 var utmModels = {};
316                                 utmModels.name = modelName;
317                                 utmModels.subModels = [];
318                                 $rootScope.utmModels = utmModels;
319                                 
320                                 cldsModelService.getModel( modelName ).then(function(pars) {
321                                 // process data returned
322                                 var bpmnText = pars.bpmnText;
323                                 var propText = pars.propText;
324                                 var status = pars.status;
325                                 controlNamePrefix = pars.controlNamePrefix;
326                                 // var controlNameUuid = pars.controlNameUuid;
327                                 var authorizedToUp = pars.userAuthorizedToUpdate;
328                                 typeID = pars.typeId;
329                                 controlNameUuid = pars.controlNameUuid;
330                                 selected_template=pars.templateName;
331                                 modelEventService = pars.event;
332                                 //actionCd = pars.event.actionCd;
333                                 actionStateCd = pars.event.actionStateCd;
334                                 deploymentId = pars.deploymentId;
335
336                                 if (readMOnly || readOnly){
337                                         pars.permittedActionCd= [""];
338                                 }
339                                 cldsModelService.processActionResponse(modelName, pars);
340                                 
341                                 // deserialize model properties
342                                 if ( propText == null ) {
343                                 } else {
344                                         elementMap =  JSON.parse(propText);
345                                 }
346
347                                 selected_model = modelName;
348                                 
349                                 // set model bpmn and open diagram
350                                 $rootScope.isPalette = true;
351                                 modelXML = bpmnText;
352                                 visibility_model();
353                         },
354                         function(data) {
355                                 //alert("getModel failed");
356                         });
357        
358                                 $modalInstance.close("closed");
359                         };
360
361                         setMultiSelect();
362                 }
363         ]
364 );