2d76dc3ecf2c2a6abbfadf5af5fab300b7ca3b79
[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 function($scope, $rootScope, $modalInstance, $window, $uibModalInstance, cldsModelService, $location,
36          dialogs) {
37         $scope.typeModel = 'template';
38         $scope.error = {
39         flag : false,
40         message : ""
41         };
42         cldsModelService.getSavedModel().then(function(pars) {
43                 $scope.modelNamel = []
44                 for (var i = 0; i < pars.length; i++) {
45                         $scope.modelNamel.push(pars[i]);
46                 }
47                 setTimeout(function() {
48                         setMultiSelect();
49                 }, 100);
50         });
51         $scope.paramsRetry = function() {
52                 // $("#paramsWarn").hide();
53                 $("#ridinSpinners").css("display", "")
54                 $("#ridinSpinners").css("display", "none")
55         };
56         $scope.paramsCancel = function() {
57                 $("#paramsWarnrefresh").hide();
58         };
59         function completeClose() {
60                 // if(flag) {
61                 $scope.close();
62                 // }
63         }
64         function callBack(flag) {
65                 if (flag) {
66                         $scope.close();
67                 }
68         }
69         function contains(a, obj) {
70                 var i = a && a.length > 0 ? a.length : 0;
71                 while (i--) {
72                         if (a[i].toLowerCase() === obj.toLowerCase()) {
73                                 return true;
74                         }
75                 }
76                 return false;
77         }
78         $scope.checkExisting=function(checkVal, errPatt, num){
79                 var name = checkVal;
80                 if (!errPatt && (checkVal!== undefined)){
81                         if(contains($scope.modelNamel,name)){
82                                 $scope["nameinUse"+num]=true;
83                                 return true;
84                         }else{
85                                 $scope["nameinUse"+num]=false;
86                                 return false;
87                         }
88                 } else {
89                         $scope["nameinUse"+num]=false;
90                         return false;
91                 }
92         }
93         function specialCharacters() {
94                 $scope.spcl = false;
95                 if (angular.element("#modelName")
96                 && angular.element("#modelName").scope().model.$error.pattern
97                 && angular.element("#modelName").scope().model.$error.pattern.length > 0) {
98                         $scope.spcl = true;
99                 }
100         }
101         $scope.setTypeModel = function(_type) {
102                 $scope.error.flag = false;
103                 $scope.typeModel = _type;
104         }
105         $scope.close = function() {
106                 $rootScope.isNewClosed = false;
107                 $uibModalInstance.close("closed");
108         };
109         $scope.closeDiagram=function(){
110                 $window.location.reload();
111         }
112         $scope.revertChanges = function() {
113                 $scope.openModel();
114         }
115         $scope.openModel = function() {
116                 reloadDefaultVariables(false)
117                 if (document.getElementById("readOnly")) {
118                         readMOnly = document.getElementById("readOnly").checked;
119                 }
120                 var modelName = document.getElementById("modelName").value;
121                 // init UTM items
122                 $scope.utmModelsArray = [];
123                 $scope.selectedParent = {};
124                 $scope.currentUTMModel = {};
125                 $scope.currentUTMModel.selectedParent = {};
126                 $rootScope.oldUTMModels = [];
127                 $rootScope.projectName = "clds_default_project";
128                 var utmModels = {};
129                 utmModels.name = modelName;
130                 utmModels.subModels = [];
131                 utmModels.type = 'Model';
132                 $rootScope.utmModels = utmModels;
133                 cldsModelService.getModel(modelName).then(function(pars) {
134                         // deserialize model properties
135                         selected_model = modelName;
136                         cldsModelService.processActionResponse(modelName);
137                         // set model bpmn and open diagram
138                         $rootScope.isPalette = true;
139                 }, function(data) {
140                 });
141                 $uibModalInstance.close("closed");
142         };
143         setMultiSelect();
144 } ]);