YangUI - Fixed "Export parameters" button`s action
[dlux.git] / modules / yangui-resources / src / main / resources / yangui / controllers / parameters / history-param.controller.js
1 define([], function () {
2     'use strict';
3     angular.module('app.yangui').controller('HistoryParamCtrl', HistoryParamCtrl);
4
5     HistoryParamCtrl.$inject = ['$scope', 'HistoryService', 'HandleFileService'];
6
7     // todo: comment the whole controller
8     function HistoryParamCtrl($scope, HistoryService, HandleFileService){
9
10         $scope.createNewParam = createNewParam;
11         $scope.exportParametersData = exportParametersData;
12         $scope.readParametersFromFile = readParametersFromFile;
13         $scope.showParamBox = showParamBox;
14
15         function showParamBox(param){
16             $scope.$broadcast('HISTORY_INIT_PARAM', param);
17         }
18
19         function createNewParam(){
20             return HistoryService.createParameter('', '');
21         }
22
23         function clearFileInputValue() {
24             var el = document.getElementById('upload-parameters');
25             el.value = '';
26         }
27
28         function exportParametersData() {
29             var cListJSON = localStorage.getItem('parameterList');
30
31             HandleFileService.downloadFile('parameters.json', cListJSON, 'json', 'charset=utf-8', function (){
32                 $scope.setStatusMessage('success', 'EXPORT_PARAMETERS_SUCCESS');
33             }, function (e){
34                     if(e == -1) {
35                         $scope.setStatusMessage('danger', 'EXPORT_PARAMETERS_ERROR_BROWSER');
36                     }
37                     else {
38                         $scope.setStatusMessage('danger', 'EXPORT_PARAMETERS_ERROR', e);
39                         // console.error('ExportCollection error:', e);
40                     }
41             });
42         }
43
44         function readParametersFromFile($fileContent) {
45             var data = $fileContent,
46                 checkArray = ['name', 'value'];
47
48             if (data && HistoryService.validateFile(data, checkArray)) {
49                 try {
50                     $scope.parameterList.loadListFromFile(data);
51                     $scope.parameterList.saveToStorage();
52                     $scope.setStatusMessage('success', 'LOAD_PARAMETERS_SUCCESS');
53                     clearFileInputValue();
54                 }
55                 catch (e) {
56                     clearFileInputValue();
57                     $scope.setStatusMessage('danger', 'PARSE_JSON_FILE_ERROR', e);
58                     // console.error('DataStorage error:', e);
59                 }
60             }
61             else {
62                 $scope.setStatusMessage('danger', 'PARSE_JSON_FILE_ERROR');
63                 clearFileInputValue();
64             }
65         }
66
67     }
68
69 });