YangUI - Fixed "Export parameters" button`s action 01/39401/4
authorĽubomír Balogh <lubomir.balogh@pantheon.sk>
Wed, 25 May 2016 11:15:15 +0000 (13:15 +0200)
committerDaniel Malachovsky <dmalacho@cisco.com>
Wed, 15 Jun 2016 16:00:23 +0000 (18:00 +0200)
- Bug 5499 - added Firefox support to "Export parameters" button`s action

Parent changed to https://git.opendaylight.org/gerrit/#/c/39250/

Change-Id: I6f60cbe1b6ed740c63e96ef881239a452bfd2abe
Signed-off-by: Ľubomír Balogh <lubomir.balogh@pantheon.sk>
modules/yangui-resources/src/main/resources/yangui/assets/data/locale-en_US.json
modules/yangui-resources/src/main/resources/yangui/controllers/history/request-history.controller.js
modules/yangui-resources/src/main/resources/yangui/controllers/parameters/history-param.controller.js
modules/yangui-resources/src/main/resources/yangui/services/handle-file.services.js

index 279c5bd6953e152dfa6a22a914c267a08398421f..8a7171fe7eac960d0b67c2384fa6ba658934382b 100644 (file)
   "LOAD_PARAMETERS_SUCCESS" : "Parameters was loaded successfully",
   "EXPORT_COLLECTIONS_SUCCESS" : "Collection was exported successfully",
   "EXPORT_COLLECTIONS_ERROR" : "Error in exporting collections",
+  "EXPORT_COLLECTIONS_ERROR_BROWSER" : "Error in exporting collections - Browser is NOT supported",
   "EXPORT_PARAMETERS_SUCCESS" : "Parameters was exported successfully",
   "EXPORT_PARAMETERS_ERROR" : "Error in exporting Parameters",
+  "EXPORT_PARAMETERS_ERROR_BROWSER" : "Error in exporting Parameters - Browser is NOT supported",
 
   "SUBMIT_BUTTON": "Submit",
   "CANCEL_BUTTON": "Cancel",
index a274c55b9fbc2b414402a84b192869e8670ac5ea..95a226d1055502b61cabe589f41f83358844239b 100644 (file)
@@ -149,8 +149,13 @@ define(['app/yangui/services/handle-file.services'], function () {
             HandleFileService.downloadFile('requestCollection.json', cListJSON, 'json', 'charset=utf-8', function () {
                 $scope.setStatusMessage('success', 'EXPORT_COLLECTIONS_SUCCESS');
             }, function (e){
-                $scope.setStatusMessage('danger', 'EXPORT_COLLECTIONS_ERROR', e);
-                // console.error('ExportCollection error:', e);
+                    if(e == -1) {
+                        $scope.setStatusMessage('danger', 'EXPORT_COLLECTIONS_ERROR_BROWSER');
+                    }
+                    else {
+                        $scope.setStatusMessage('danger', 'EXPORT_COLLECTIONS_ERROR', e);
+                        // console.error('ExportCollection error:', e);
+                    }
             });
         }
 
index 67bed0bf12abe7a84fb6d0f1e16daa4555229776..f87bac37c57a6bfb5ab90ce15859dcfa760a43cc 100644 (file)
@@ -31,8 +31,13 @@ define([], function () {
             HandleFileService.downloadFile('parameters.json', cListJSON, 'json', 'charset=utf-8', function (){
                 $scope.setStatusMessage('success', 'EXPORT_PARAMETERS_SUCCESS');
             }, function (e){
-                $scope.setStatusMessage('danger', 'EXPORT_PARAMETERS_ERROR', e);
-                // console.error('ExportCollection error:', e);
+                    if(e == -1) {
+                        $scope.setStatusMessage('danger', 'EXPORT_PARAMETERS_ERROR_BROWSER');
+                    }
+                    else {
+                        $scope.setStatusMessage('danger', 'EXPORT_PARAMETERS_ERROR', e);
+                        // console.error('ExportCollection error:', e);
+                    }
             });
         }
 
index 7a3d31eac1bbc12ce538a42a30fd38be937b15c0..78b2d291b507737e82075d3d0115847cd55dcd7f 100644 (file)
@@ -24,10 +24,22 @@ define(['angular', 'app/yangui/yangui.module'], function (angular, yangui) {
                 var blob = new Blob([data], { type: 'application/' + format + '; ' + charset + ';' }),
                     downloadLink = angular.element('<a></a>');
 
+                var clickEvent = new MouseEvent('click', {
+                    'view': window,
+                    'bubbles': true,
+                    'cancelable': false
+                });
+
                 downloadLink.attr('href', window.URL.createObjectURL(blob));
-                downloadLink.attr('download', filename);
-                downloadLink[0].click();
-                successCbk();
+
+                // Check if download attribute is supported
+                if(downloadLink.attr('download', filename) !== undefined) {
+                    downloadLink[0].dispatchEvent(clickEvent);
+                    successCbk();
+                }
+                else {
+                    throw -1;
+                }
             } catch (e) {
                 errorCbk(e);
             }