aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/webapp/app/vid/scripts/modals/report-modal/report-modal.controller.js
blob: 215439634128ef38d09ba78cace89dbca2405659 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*-
 * ============LICENSE_START=======================================================
 * VID
 * ================================================================================
 * Copyright (C) 2019 NOKIA Intellectual Property. All rights reserved.
 * ================================================================================
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ============LICENSE_END=========================================================
 */

(function () {
    'use strict';

    appDS2.controller("reportModalController", ["$uibModalInstance", "$scope", "$window", "DataService", "ReportService", "errorMsg", reportModalController]);

    function reportModalController($uibModalInstance, $scope, $window, DataService, ReportService, errorMsg) {
        const vm = this;

        const init = function() {
            vm.timestamp =  ReportService.getReportTimeStamp();
            vm.downloadEnable = false;
            $scope.isSpinnerVisible = true;

            ReportService.getReportData({}).then(
                response => {
                    $scope.isSpinnerVisible = false;
                    vm.saveReportData(response);
                }, response => {
                    $scope.isSpinnerVisible = false;
                    vm.printReportFail(response);
                });
        };

        vm.saveReportData = function(response) {
            vm.report = "Selected test API: \n" + DataService.getMsoRequestParametersTestApi();
            if(errorMsg !== undefined && errorMsg !== null) {
                vm.report += "\n\n Data from GUI:\n" + errorMsg;
            }
            vm.report +="\n\n Collected data from API:\n" + JSON.stringify(response.data,  null, "\t") ;

            const blob = new Blob([ vm.report ], { type : 'text/plain' });
            vm.download = ($window.URL || $window.webkitURL).createObjectURL( blob );
            vm.downloadEnable = true;
        };

        vm.printReportFail = function(response) {
            vm.downloadEnable = false;
            vm.report = errorMsg + "\n\n API error:\n" + JSON.stringify(response.data,  null, "\t") ;
        };

        vm.close = function () {
            $uibModalInstance.close();
        };

        vm.ok = function () {
            $uibModalInstance.close(true);
        };

        init();
    }
})();