[CLAMP-1] Initial ONAP CLAMP seed code commit
[clamp.git] / src / main / resources / META-INF / resources / designer / scripts / FileUploadCtrl.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
24 app.controller('fileUploadCtrl', ['$scope', '$rootScope','fileUpload', function($scope, $rootScope,fileUpload){
25     console.log("///////////fileUploadCtrl");
26         $rootScope.isAllOption = false;
27         
28     $scope.uploadSchemaFile = function(element){
29         console.log("uploadSchemaFile");
30           $scope.$apply(function($scope) {
31             console.log("apply");
32         $rootScope.isStatic = true;     
33         $rootScope.isAllOption = true;          
34         $scope.requiredval= true;       
35         $rootScope.rightTabName ="UTM Build Configuration";
36         $rootScope.testSet = null;
37         $scope.parameters = null;       
38         $scope.constraints =null;
39         $scope.relations =null;
40         if($rootScope.isStatic == true){
41                         document.getElementById('buidConfigBtn').style.visibility  = "hidden";
42                 }
43         
44         var file = element.files[0];/*$scope.requestSchemaFile;*/
45         console.log('file is ' + JSON.stringify(file));        
46         $rootScope.file_type="Schema";
47         
48         var uploadUrl = "/utm-service/schema_upload/uploadSchema";
49         
50         //alert("uploadFile file::"+file + " :: " + uploadUrl);
51         
52         fileUpload.uploadFileToUrl(file, uploadUrl)
53         .then(function(pars) {
54             console.log("uploadFileToUrl");
55                 
56                 $rootScope.SUT =  pars;
57                 console.log("file name :"+pars.name);
58                 $scope.fileName = pars.name;
59                 $scope.parameters = pars.parameters;
60                 
61                 var param = pars.parameters;
62                 
63                 var paramarray = pars.parameters;
64                 var parArray1=[];
65                 for(var i=0;i<paramarray.length;i++){
66                         parArray1.push(paramarray[i].required);
67                 }
68                 
69                 $scope.parArray=parArray1;
70                 $scope.constraints =pars.constraints;
71                 $scope.relations =pars.relations;
72                 var  con  = $scope.constraints;
73                 $scope.required=pars.required;
74                 $scope.required='Required Only';
75         },
76         function(data) {
77             console.log("data");
78                 //alert("File upload failed and parameters not returned");
79         });
80         
81         
82         angular.forEach(
83                     angular.element("input[type='file']"),
84                     function(inputElem) {
85                     console.log("inputElem");
86                       angular.element(inputElem).val(null);
87                     });
88         
89           });
90     };
91     
92 //-----For Required Radio button functionality
93     
94  
95
96     $scope.requiredonly= function(){
97         console.log("requiredonly");
98         //var tempArray = $rootScope.SUT;
99         //var tempParam = tempArray.parameters;
100         //alert("testParam.length:"+tempParam.length);
101         var parameter=$scope.parArray;
102
103         
104         var param=$scope.parameters; 
105         
106         var i=0;
107
108         $('.req').each(function(){
109             console.log(".req");
110                             var newID='requiredval'+i;
111                             //jQuery(this).prev("req").attr("requiredval", "newID");
112                             //$(this).attr("requiredval","newID");
113                             //var newval=$(this).val(newID);
114                             var newval=$(this).attr('id',newID);
115                             console.log("Angular id: "+newval);
116                             if(i<param.length){
117                                 document.getElementById(newID).disabled=false;
118                             if (parameter[i]){
119                                 param[i].required=parameter[i];
120                                         //document.getElementById(newID).disabled=true;
121                                         document.getElementById(newID).checked=true;
122                                         }
123                                         else{
124                                         param[i].required=parameter[i]; 
125                                         //document.getElementById(newID).disabled=false;
126                                         document.getElementById(newID).checked=false;
127                                 }
128                             }
129                             i++;
130                         });
131     };
132     
133
134     $scope.allrequired= function(){
135         console.log("allrequired");
136         var param=$scope.parameters;
137         var i=0;
138         $('.req').each(function(){
139             console.log("req");
140                 var newID='requiredval'+i;
141                             //jQuery(this).prev("req").attr("requiredval", "newID");
142                             //$(this).attr("requiredval","newID");
143                             //var newval=$(this).val(newID);
144                             var newval=$(this).attr('id',newID);
145                             console.log("Angular id: "+newval);
146                             if(i<param.length){
147                                 param[i].required=true;
148                                 document.getElementById(newID).checked=true;
149                                 document.getElementById(newID).disabled=true;
150                     }
151                     i++;
152                 });
153
154       };
155
156     
157 $scope.uploadSUTFile = function(element){
158 console.log("uploadSUTFile");   
159         $scope.$apply(function($scope) {
160         console.log("apply");
161              $rootScope.isAllOption = false;
162              $rootScope.isStatic = true;            
163              $scope.requiredval= false;      
164              $rootScope.rightTabName ="UTM Build Configuration";
165                  $rootScope.testSet = null;
166                  
167                 if($rootScope.isStatic == true){
168                         document.getElementById('buidConfigBtn').style.visibility  = "hidden";
169                 }
170         var file = element.files[0];/*$scope.requestFile;*/
171         
172         console.log('file is ' + JSON.stringify(file));
173         
174         $rootScope.file_type="SUT";
175         
176         var uploadUrl = "/utm-service/sut_upload/uploadSUT";
177         
178         fileUpload.uploadFileToUrl(file, uploadUrl)
179         .then(function(pars) {
180             console.log("uploadFileToUrl");
181                 $rootScope.SUT =  pars;
182                 console.log("file name :"+pars.name);
183                 $scope.fileName = pars.name;
184                 $scope.parameters = pars.parameters;
185                 
186                 $scope.constraints =pars.constraints;
187                 $scope.relations =pars.relations;
188                 var  con  = $scope.constraints;
189         },
190         function(data) {
191             console.log("data");
192                 //alert("File upload failed and parameters not returned");
193         });
194         angular.forEach(
195                     angular.element("input[type='file']"),
196                     function(inputElem) {
197                     console.log("inputElem");
198                       angular.element(inputElem).val(null);
199                     });
200         
201           
202         
203         });
204     };
205     
206     $scope.buildConfig = function(){
207     console.log("buildConfig");         
208         $rootScope.isStatic = true;     
209         $rootScope.rightTabName ="UTM Build Configuration";
210         document.getElementById('buidConfigBtn').style.visibility  = "hidden";
211         $rootScope.testset = null;
212                 
213         
214     };
215     
216   /*  $scope.close = function(){
217         $modalInstance.close('closed');
218     };
219     
220     $scope.importSchema= function(){    
221          var file = $scope.requestFile;
222          console.log('file is ' + JSON.stringify(file));
223          var uploadUrl = "/utm-service/schema_upload/uploadSchema";
224          fileUpload.uploadFileToUrl(file, uploadUrl)
225          .then(function(pars) {                 
226                 $rootScope.SUT =  pars;
227                 console.log("file name :"+pars.name);
228                 $scope.fileName = pars.name;
229                 $scope.parameters = pars.parameters;            
230                 var param = pars.parameters;
231          },
232          function(data) {
233                 //alert("File upload failed and parameters not returned");
234          });
235
236                 
237     };  */
238     
239
240
241     
242     
243 }]);
244
245 function clearFileInput(id) 
246
247     console.log("clearFileInput");
248     var oldInput = document.getElementById(id); 
249
250     var newInput = document.createElement("input"); 
251
252     newInput.type = "file"; 
253     newInput.id = oldInput.id; 
254     newInput.name = oldInput.name; 
255     newInput.className = oldInput.className; 
256     newInput.style.cssText = oldInput.style.cssText; 
257     // TODO: copy any other relevant attributes 
258
259     oldInput.parentNode.replaceChild(newInput, oldInput); 
260 }
261