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