fixing bugs connected with undefined parameters
[vid.git] / vid-app-common / src / main / webapp / app / vid / scripts / modals / report-modal / report-modal-request.controller.js
1 /*-
2  * ============LICENSE_START=======================================================
3  * VID
4  * ================================================================================
5  * Copyright (C) 2019 NOKIA Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 (function () {
22     'use strict';
23
24     appDS2.controller("reportModalInstanceController", ["$uibModalInstance", "$scope", "$window", "DataService", "ReportService", "errorMsg", "requestInfo", reportModalInstanceController]);
25
26     function reportModalInstanceController($uibModalInstance, $scope, $window, DataService, ReportService, errorMsg, requestInfo) {
27         const vm = this;
28
29         const init = function() {
30             vm.timestamp =  ReportService.getReportTimeStamp();
31             vm.downloadEnable = false;
32             $scope.isSpinnerVisible = true;
33
34             ReportService.getReportData(requestInfo).then(
35                 response => {
36                     $scope.isSpinnerVisible = false;
37                     vm.saveReportData(response);
38                 }, response => {
39                     $scope.isSpinnerVisible = false;
40                     vm.printReportFail(response);
41                 });
42         };
43
44         vm.saveReportData = function(response) {
45             vm.report = "Selected test API: \n" + DataService.getMsoRequestParametersTestApi();
46             if(errorMsg !== undefined && errorMsg !== null) {
47                 vm.report += "\n\n Data from GUI:\n" + errorMsg;
48             }
49             vm.report +="\n\n Collected data from API:\n" + JSON.stringify(response.data,  null, "\t") ;
50
51             const blob = new Blob([ vm.report ], { type : 'text/plain' });
52             vm.download = ($window.URL || $window.webkitURL).createObjectURL( blob );
53             vm.downloadEnable = true;
54         };
55
56         vm.printReportFail = function(response) {
57             vm.downloadEnable = false;
58             vm.report = errorMsg + "\n\n API error:\n" + JSON.stringify(response.data,  null, "\t") ;
59         };
60
61
62         vm.close = function () {
63             $uibModalInstance.close();
64         };
65
66         vm.ok = function () {
67             $uibModalInstance.close(true);
68         };
69
70         init();
71     }
72 })();