Inverted patch commited
[clamp.git] / src / main / resources / META-INF / resources / designer / scripts / CldsOpenTemplateCtrl.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('CldsOpenTemplateCtrl',
24         ['$scope', '$rootScope', '$modalInstance','$window','cldsTemplateService', '$location', 'dialogs',
25                 function($scope, $rootScope, $modalInstance,$window, cldsTemplateService, $location,dialogs) {
26                                 
27                         $scope.error = {
28                                 flag : false,
29                                 message: ""
30                         };                                      
31                         cldsTemplateService.getSavedTemplate().then(function(pars) {
32                                 //alert("lol")
33                                 //////////mySelect.empty();
34                                 $scope.modelNamel=[]
35                                 for(var i=0;i<pars.length;i++){
36                                         $scope.modelNamel.push(pars[i].value);
37                                         
38                                         //console.log($scope.modelNamel[i])
39                                 }
40                                 setTimeout(function(){
41                         
42
43                      setMultiSelect(); }, 100);
44                                 
45                                 
46                         });
47                         function contains(a, obj) {
48                                 
49                             var i = a.length;
50                             while (i--) {
51                                if (a[i].toLowerCase() === obj.toLowerCase()) {
52                                    return true;
53                                }
54                             }
55                             return false;
56                         }
57                         $scope.checkExisting=function(){
58                                 
59                                 var name = $('#modelName').val();
60                                 //alert(name)
61                                 //console.log($scope.modelNamel)
62                                 if(contains($scope.modelNamel,name)){
63                                         $scope.nameinUse=true;
64                                 }else{
65                                         $scope.nameinUse=false;
66                                 }
67
68                         }
69                         
70                         $scope.closeDiagram=function(){
71                                 
72                                 $window.location.reload();
73                         }
74                         
75                         
76                         
77                         $scope.createNewTemplate=function(){
78                                 
79                                 reloadDefaultVariables(true)
80                                 if($(".bjs-container").is("[hidden]")){
81                                         $(".bjs-container").removeAttr("hidden");
82                                         $("#svgContainer").remove();
83                                 }
84                                 var modelName = document.getElementById("modelName").value;
85                                 if(!modelName){
86                                         $scope.error.flag =true;
87                                         $scope.error.message = "Please enter any name for proceeding";
88                                     return false;
89                                 }    
90                                 
91                                 // BEGIN env
92                                 // init UTM items
93                                 $scope.utmModelsArray = [];
94                                 $scope.selectedParent = {};
95                                 $scope.currentUTMModel = {};
96                                 $scope.currentUTMModel.selectedParent = {};
97                                 $rootScope.oldUTMModels =[];
98                                 $rootScope.projectName="clds_default_project";          
99                                 var utmModels = {};
100                                 utmModels.name = modelName;
101                                 utmModels.subModels = [];
102                                 $rootScope.utmModels = utmModels;
103                                 
104                         // enable appropriate menu options - non are available for templates...
105                         //var pars = {status: "DESIGN", permittedActionCd: ["DISTRIBUTE"]};
106                                 var pars={}
107                         pars.controlNamePrefix=""
108                         pars.controlNameUuid=""
109                         pars.event={}
110                         pars.event.actionStateCD=""
111                         pars.newTemplate = true
112                         pars.permittedActionCd= [""];
113                                 cldsTemplateService.processActionResponse(modelName, pars);
114                         
115                                 selected_model = modelName;
116
117                                 // set model bpmn and open diagram
118                         $rootScope.isPalette = true;
119
120                 var initialDiagram =
121                         '<?xml version="1.0" encoding="UTF-8"?>' +
122                         '<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
123                         'xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" ' +
124                         'xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" ' +
125                         'xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" ' +
126                         'targetNamespace="http://bpmn.io/schema/bpmn" ' +
127                         'id="Definitions_1">' +
128                         '<bpmn:process id="Process_1" isExecutable="false">' +
129                         '<bpmn:startEvent id="StartEvent_1"/>' +
130                         '</bpmn:process>' +
131                         '<bpmndi:BPMNDiagram id="BPMNDiagram_1">' +
132                         '<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">' +
133                         '<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">' +
134                         '<dc:Bounds x="50" y="162" width="36" height="36" />' +
135                         '</bpmndi:BPMNShape>' +
136                         '</bpmndi:BPMNPlane>' +
137                         '</bpmndi:BPMNDiagram>' +
138                         '</bpmn:definitions>';
139                         
140                         modelXML = initialDiagram;
141                         visibility_model();
142                         $modalInstance.close("closed");
143                         }
144                         
145                         $scope.revertChanges=function(){
146                                 
147                                 $scope.openTemplate();
148                         }
149                         $scope.close=function(){
150                                 
151                                 $rootScope.isNew = false;
152                                 $modalInstance.close("closed");
153                         }
154                         $scope.openTemplate = function() {
155                                 
156                                 reloadDefaultVariables(true)
157                                 if($(".bjs-container").is("[hidden]")){
158                                         $(".bjs-container").removeAttr("hidden");
159                                         $("#svgContainer").remove();
160                                 }
161                                 var modelName = document.getElementById("modelName").value;
162                                 if($scope.modelNamel.includes(document.getElementById("modelName").value)){
163
164                                 }
165                                 
166                                 // init UTM items
167                                 $scope.utmModelsArray = [];
168                                 $scope.selectedParent = {};
169                                 $scope.currentUTMModel = {};
170                                 $scope.currentUTMModel.selectedParent = {};
171                                 $rootScope.oldUTMModels =[];
172                                 $rootScope.projectName="clds_default_project";          
173                                 var utmModels = {};
174                                 utmModels.name = modelName;
175                                 utmModels.subModels = [];
176                                 $rootScope.utmModels = utmModels;
177                                 
178
179                                 cldsTemplateService.getTemplate( modelName ).then(function(pars) {
180                                 // process data returned
181                                 var bpmnText = pars.bpmnText;
182                                 var propText = pars.propText;
183                                 var status = pars.status;
184                                 var controlNamePrefix = pars.controlNamePrefix;
185                                 var controlNameUuid = pars.controlNameUuid;
186                                 var authorizedToUp = pars.userAuthorizedToUpdate;
187                                 pars.permittedActionCd= [""];
188                                 cldsTemplateService.processActionResponse(modelName, pars);
189                                 
190                                 // deserialize model properties
191                                 if ( propText == null ) {
192                                 } else {
193                                         elementMap =  JSON.parse(propText);
194                                 }
195
196                                 selected_model = modelName;
197                                 
198                                 // set model bpmn and open diagram
199                                 $rootScope.isPalette = true;
200                                 modelXML = bpmnText;
201                                 visibility_model();
202                         },
203                         function(data) {
204                                 //console.log("data");
205                                 //alert("getModel failed");
206                         });
207        
208                                 $modalInstance.close("closed");
209                         };
210                         
211                 }
212         ]
213 );