diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 406b86608..083703f50 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -495,8 +495,8 @@ -
- +
+ Download CSV file diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index faf3a335c..6c6cbdc29 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -537,14 +537,13 @@ angular.module('copayApp.controllers').controller('indexController', function($r this.csvHistory = function() { - function saveFile(name,data) { + function saveFile(name, data) { var chooser = document.querySelector(name); chooser.addEventListener("change", function(evt) { - console.log(this.value); // get your file name - var fs = require('fs'); // save it now + var fs = require('fs'); fs.writeFile(this.value, data, function(err) { - if(err) { - alert("error"+err); + if (err) { + console.log(err); } }); }, false); @@ -582,6 +581,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r log.info('Not available on mobile'); return; } + var isNode = nodeWebkit.isDefined(); var fc = profileService.focusedClient; if (!fc.isComplete()) return; var self = this; @@ -602,17 +602,20 @@ angular.module('copayApp.controllers').controller('indexController', function($r var data = txs; var satToBtc = 1 / 100000000; var filename = 'Copay-' + (self.alias || self.walletName ) + '.csv'; - var csvContent = "data:text/csv;charset=utf-8,"; - csvContent += "Date,Destination,Note,Amount,Currency,Spot Value,Total Value,Tax Type,Category\n"; + var csvContent = ''; + if (!isNode) csvContent = 'data:text/csv;charset=utf-8,'; + csvContent += 'Date,Destination,Note,Amount,Currency,Spot Value,Total Value,Tax Type,Category\n'; + var _amount; + var dataString; data.forEach(function(it, index) { - var _amount = (it.action == 'sent' ? '-' : '') + (it.amount * satToBtc).toFixed(8); - var dataString = formatDate(it.time * 1000) + ',' + formatString(it.addressTo) + ',' + formatString(it.message) + ',' + _amount + ',BTC,,,,'; + _amount = (it.action == 'sent' ? '-' : '') + (it.amount * satToBtc).toFixed(8); + dataString = formatDate(it.time * 1000) + ',' + formatString(it.addressTo) + ',' + formatString(it.message) + ',' + _amount + ',BTC,,,,'; csvContent += index < data.length ? dataString + "\n" : dataString; }); - if (nodeWebkit.isDefined()) { - saveFile('#export_file',csvContent); + if (isNode) { + saveFile('#export_file', csvContent); } else { var encodedUri = encodeURI(csvContent);