Remove SDC query
[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 '$modalInstance',
30 '$window',
31 '$uibModalInstance',
32 'cldsModelService',
33 '$location',
34 'dialogs',
35 'cldsTemplateService',
36 function($scope, $rootScope, $modalInstance, $window, $uibModalInstance, cldsModelService, $location,
37          dialogs, cldsTemplateService) {
38         $scope.typeModel = 'template';
39         $scope.error = {
40         flag : false,
41         message : ""
42         };
43         cldsModelService.getSavedModel().then(function(pars) {
44                 $scope.modelNamel = []
45                 for (var i = 0; i < pars.length; i++) {
46                         $scope.modelNamel.push(pars[i].value);
47                 }
48                 setTimeout(function() {
49                         setMultiSelect();
50                 }, 100);
51         });
52         $scope.paramsRetry = function() {
53                 // $("#paramsWarn").hide();
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         cldsTemplateService.getSavedTemplate().then(function(pars) {
73                 $scope.templateNamel = []
74                 for (var i = 0; i < pars.length; i++) {
75                         $scope.templateNamel.push(pars[i].value);
76                 }
77                 setTimeout(function() {
78                         setMultiSelect();
79                 }, 100);
80         });
81         function contains(a, obj) {
82                 var i = a && a.length > 0 ? a.length : 0;
83                 while (i--) {
84                         if (a[i].toLowerCase() === obj.toLowerCase()) {
85                                 return true;
86                         }
87                 }
88                 return false;
89         }
90         $scope.checkExisting=function(checkVal, errPatt, num){
91                 var name = checkVal;
92                 if (!errPatt && (checkVal!== undefined)){
93                         if(contains($scope.modelNamel,name)){
94                                 $scope["nameinUse"+num]=true;
95                                 return true;
96                         }else{
97                                 $scope["nameinUse"+num]=false;
98                                 return false;
99                         }
100                 } else {
101                         $scope["nameinUse"+num]=false;
102                         return false;
103                 }
104         }
105         function specialCharacters() {
106                 $scope.spcl = false;
107                 if (angular.element("#modelName")
108                 && angular.element("#modelName").scope().model.$error.pattern
109                 && angular.element("#modelName").scope().model.$error.pattern.length > 0) {
110                         $scope.spcl = true;
111                 }
112         }
113         $scope.setTypeModel = function(_type) {
114                 $scope.error.flag = false;
115                 $scope.typeModel = _type;
116         }
117         $scope.close = function() {
118                 $rootScope.isNewClosed = false;
119                 $uibModalInstance.close("closed");
120         };
121         $scope.closeDiagram=function(){
122                 $window.location.reload();
123         }
124         $scope.revertChanges = function() {
125                 $scope.openModel();
126         }
127         $scope.openModel = function() {
128                 reloadDefaultVariables(false)
129                 if (document.getElementById("readOnly")) {
130                         readMOnly = document.getElementById("readOnly").checked;
131                 }
132                 var modelName = document.getElementById("modelName").value;
133                 // init UTM items
134                 $scope.utmModelsArray = [];
135                 $scope.selectedParent = {};
136                 $scope.currentUTMModel = {};
137                 $scope.currentUTMModel.selectedParent = {};
138                 $rootScope.oldUTMModels = [];
139                 $rootScope.projectName = "clds_default_project";
140                 var utmModels = {};
141                 utmModels.name = modelName;
142                 utmModels.subModels = [];
143                 utmModels.type = 'Model';
144                 $rootScope.utmModels = utmModels;
145                 cldsModelService.getModel(modelName).then(function(pars) {
146                         // process data returned
147                         var propText = pars.propText;
148                         var status = pars.status;
149                         controlNamePrefix = pars.controlNamePrefix;
150                         var authorizedToUp = pars.userAuthorizedToUpdate;
151                         typeID = pars.typeId;
152                         controlNameUuid = pars.controlNameUuid;
153                         selected_template = pars.templateName;
154                         modelEventService = pars.event;
155                         actionStateCd = pars.event.actionStateCd;
156                         deploymentId = pars.deploymentId;
157                         if (readMOnly) {
158                                 pars.permittedActionCd = [ "" ];
159                         }
160
161                         // deserialize model properties
162                         if (propText == null) {
163                         } else {
164                                 elementMap = JSON.parse(propText);
165                         }
166                         var simple = elementMap.simpleModel;
167                         $rootScope.isSimpleModel = simple;
168                         selected_model = modelName;
169                         cldsModelService.processActionResponse(modelName, pars, simple);
170                         // set model bpmn and open diagram
171                         $rootScope.isPalette = true;
172                 }, function(data) {
173                 });
174                 $uibModalInstance.close("closed");
175         };
176         setMultiSelect();
177 } ]);