Merge pull request #4370 from JDonadio/ref/root-go
Replace $root.go - Use scope on preferences
This commit is contained in:
commit
bcd3833445
35 changed files with 346 additions and 396 deletions
|
|
@ -1,12 +1,11 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.controllers').controller('backupController',
|
||||
function($rootScope, $scope, $timeout, $log, lodash, profileService, gettext, bwcService, bwsError, walletService, ongoingProcess) {
|
||||
function($rootScope, $scope, $timeout, $log, go, lodash, profileService, gettext, bwcService, bwsError, walletService, ongoingProcess) {
|
||||
|
||||
var self = this;
|
||||
var fc = profileService.focusedClient;
|
||||
self.customWords = [];
|
||||
self.walletName = fc.credentials.walletName;
|
||||
$scope.customWords = [];
|
||||
$scope.walletName = fc.credentials.walletName;
|
||||
|
||||
var handleEncryptedWallet = function(client, cb) {
|
||||
if (!walletService.isEncrypted(client)) return cb();
|
||||
|
|
@ -17,24 +16,22 @@ angular.module('copayApp.controllers').controller('backupController',
|
|||
};
|
||||
|
||||
if (fc.isPrivKeyEncrypted() && !isDeletedSeed()) {
|
||||
self.credentialsEncrypted = true;
|
||||
$scope.credentialsEncrypted = true;
|
||||
passwordRequest();
|
||||
} else {
|
||||
if (!isDeletedSeed())
|
||||
initWords();
|
||||
}
|
||||
|
||||
init();
|
||||
|
||||
function init() {
|
||||
$scope.init = function() {
|
||||
$scope.passphrase = '';
|
||||
self.shuffledMnemonicWords = shuffledWords(self.mnemonicWords);
|
||||
self.customWords = [];
|
||||
self.step = 1;
|
||||
self.deleted = isDeletedSeed();
|
||||
self.credentialsEncrypted = false;
|
||||
self.selectComplete = false;
|
||||
self.backupError = false;
|
||||
$scope.shuffledMnemonicWords = shuffledWords($scope.mnemonicWords);
|
||||
$scope.customWords = [];
|
||||
$scope.step = 1;
|
||||
$scope.deleted = isDeletedSeed();
|
||||
$scope.credentialsEncrypted = false;
|
||||
$scope.selectComplete = false;
|
||||
$scope.backupError = false;
|
||||
};
|
||||
|
||||
function isDeletedSeed() {
|
||||
|
|
@ -43,16 +40,23 @@ angular.module('copayApp.controllers').controller('backupController',
|
|||
return false;
|
||||
};
|
||||
|
||||
self.goToStep = function(n) {
|
||||
$scope.backTo = function(state) {
|
||||
if (state == 'walletHome')
|
||||
go.walletHome();
|
||||
else
|
||||
go.preferences();
|
||||
};
|
||||
|
||||
$scope.goToStep = function(n) {
|
||||
if (n == 1)
|
||||
init();
|
||||
$scope.init();
|
||||
if (n == 2)
|
||||
self.step = 2;
|
||||
$scope.step = 2;
|
||||
if (n == 3) {
|
||||
if (!self.mnemonicHasPassphrase)
|
||||
if (!$scope.mnemonicHasPassphrase)
|
||||
finalStep();
|
||||
else
|
||||
self.step = 3;
|
||||
$scope.step = 3;
|
||||
}
|
||||
if (n == 4)
|
||||
finalStep();
|
||||
|
|
@ -65,7 +69,7 @@ angular.module('copayApp.controllers').controller('backupController',
|
|||
backupError(err);
|
||||
}
|
||||
$timeout(function() {
|
||||
self.step = 4;
|
||||
$scope.step = 4;
|
||||
return;
|
||||
}, 1);
|
||||
});
|
||||
|
|
@ -74,12 +78,12 @@ angular.module('copayApp.controllers').controller('backupController',
|
|||
|
||||
function initWords() {
|
||||
var words = fc.getMnemonic();
|
||||
self.xPrivKey = fc.credentials.xPrivKey;
|
||||
$scope.xPrivKey = fc.credentials.xPrivKey;
|
||||
walletService.lock(fc);
|
||||
self.mnemonicWords = words.split(/[\u3000\s]+/);
|
||||
self.shuffledMnemonicWords = shuffledWords(self.mnemonicWords);
|
||||
self.mnemonicHasPassphrase = fc.mnemonicHasPassphrase();
|
||||
self.useIdeograms = words.indexOf("\u3000") >= 0;
|
||||
$scope.mnemonicWords = words.split(/[\u3000\s]+/);
|
||||
$scope.shuffledMnemonicWords = shuffledWords($scope.mnemonicWords);
|
||||
$scope.mnemonicHasPassphrase = fc.mnemonicHasPassphrase();
|
||||
$scope.useIdeograms = words.indexOf("\u3000") >= 0;
|
||||
};
|
||||
|
||||
function shuffledWords(words) {
|
||||
|
|
@ -93,10 +97,10 @@ angular.module('copayApp.controllers').controller('backupController',
|
|||
});
|
||||
};
|
||||
|
||||
self.toggle = function() {
|
||||
self.error = "";
|
||||
$scope.toggle = function() {
|
||||
$scope.error = "";
|
||||
|
||||
if (self.credentialsEncrypted)
|
||||
if ($scope.credentialsEncrypted)
|
||||
passwordRequest();
|
||||
|
||||
$timeout(function() {
|
||||
|
|
@ -116,12 +120,12 @@ angular.module('copayApp.controllers').controller('backupController',
|
|||
|
||||
handleEncryptedWallet(fc, function(err) {
|
||||
if (err) {
|
||||
self.error = bwsError.msg(err, gettext('Could not decrypt'));
|
||||
$log.warn('Error decrypting credentials:', self.error); //TODO
|
||||
$scope.error = bwsError.msg(err, gettext('Could not decrypt'));
|
||||
$log.warn('Error decrypting credentials:', $scope.error); //TODO
|
||||
return;
|
||||
}
|
||||
|
||||
self.credentialsEncrypted = false;
|
||||
$scope.credentialsEncrypted = false;
|
||||
initWords();
|
||||
|
||||
$timeout(function() {
|
||||
|
|
@ -137,37 +141,38 @@ angular.module('copayApp.controllers').controller('backupController',
|
|||
word: item.word,
|
||||
prevIndex: index
|
||||
};
|
||||
self.customWords.push(newWord);
|
||||
self.shuffledMnemonicWords[index].selected = true;
|
||||
self.shouldContinue();
|
||||
$scope.customWords.push(newWord);
|
||||
$scope.shuffledMnemonicWords[index].selected = true;
|
||||
$scope.shouldContinue();
|
||||
};
|
||||
|
||||
$scope.removeButton = function(index, item) {
|
||||
self.customWords.splice(index, 1);
|
||||
self.shuffledMnemonicWords[item.prevIndex].selected = false;
|
||||
self.shouldContinue();
|
||||
if ($scope.loading) return;
|
||||
$scope.customWords.splice(index, 1);
|
||||
$scope.shuffledMnemonicWords[item.prevIndex].selected = false;
|
||||
$scope.shouldContinue();
|
||||
};
|
||||
|
||||
self.shouldContinue = function() {
|
||||
if (self.customWords.length == 12)
|
||||
self.selectComplete = true;
|
||||
$scope.shouldContinue = function() {
|
||||
if ($scope.customWords.length == 12)
|
||||
$scope.selectComplete = true;
|
||||
else
|
||||
self.selectComplete = false;
|
||||
$scope.selectComplete = false;
|
||||
};
|
||||
|
||||
function confirm(cb) {
|
||||
self.backupError = false;
|
||||
$scope.backupError = false;
|
||||
|
||||
var customWordList = lodash.pluck(self.customWords, 'word');
|
||||
var customWordList = lodash.pluck($scope.customWords, 'word');
|
||||
|
||||
if (!lodash.isEqual(self.mnemonicWords, customWordList)) {
|
||||
if (!lodash.isEqual($scope.mnemonicWords, customWordList)) {
|
||||
return cb('Mnemonic string mismatch');
|
||||
}
|
||||
|
||||
$timeout(function() {
|
||||
if (self.mnemonicHasPassphrase) {
|
||||
if ($scope.mnemonicHasPassphrase) {
|
||||
var walletClient = bwcService.getClient();
|
||||
var separator = self.useIdeograms ? '\u3000' : ' ';
|
||||
var separator = $scope.useIdeograms ? '\u3000' : ' ';
|
||||
var customSentence = customWordList.join(separator);
|
||||
var passphrase = $scope.passphrase || '';
|
||||
|
||||
|
|
@ -181,7 +186,7 @@ angular.module('copayApp.controllers').controller('backupController',
|
|||
return cb(err);
|
||||
}
|
||||
|
||||
if (walletClient.credentials.xPrivKey != self.xPrivKey) {
|
||||
if (walletClient.credentials.xPrivKey != $scope.xPrivKey) {
|
||||
return cb('Private key mismatch');
|
||||
}
|
||||
}
|
||||
|
|
@ -194,7 +199,7 @@ angular.module('copayApp.controllers').controller('backupController',
|
|||
function backupError(err) {
|
||||
ongoingProcess.set('validatingWords', false);
|
||||
$log.debug('Failed to verify backup: ', err);
|
||||
self.backupError = true;
|
||||
$scope.backupError = true;
|
||||
|
||||
$timeout(function() {
|
||||
$scope.$apply();
|
||||
|
|
|
|||
|
|
@ -2,20 +2,19 @@
|
|||
|
||||
angular.module('copayApp.controllers').controller('exportController',
|
||||
function($rootScope, $scope, $timeout, $log, backupService, storageService, profileService, platformInfo, notification, go, gettext, gettextCatalog) {
|
||||
var self = this;
|
||||
var isWP = platformInfo.isWP;
|
||||
var isAndroid = platformInfo.isAndroid;
|
||||
|
||||
self.error = null;
|
||||
self.success = null;
|
||||
$scope.error = null;
|
||||
$scope.success = null;
|
||||
$scope.metaDataEnabled = true;
|
||||
var fc = profileService.focusedClient;
|
||||
self.isEncrypted = fc.isPrivKeyEncrypted();
|
||||
$scope.isEncrypted = fc.isPrivKeyEncrypted();
|
||||
|
||||
self.downloadWalletBackup = function() {
|
||||
self.getMetaData($scope.metaDataEnabled, function(err, txsFromLocal, localAddressBook) {
|
||||
$scope.downloadWalletBackup = function() {
|
||||
$scope.getMetaData($scope.metaDataEnabled, function(err, txsFromLocal, localAddressBook) {
|
||||
if (err) {
|
||||
self.error = true;
|
||||
$scope.error = true;
|
||||
return;
|
||||
}
|
||||
var opts = {
|
||||
|
|
@ -24,9 +23,9 @@ angular.module('copayApp.controllers').controller('exportController',
|
|||
addressBook: localAddressBook
|
||||
};
|
||||
|
||||
backupService.walletDownload(self.password, opts, function(err) {
|
||||
backupService.walletDownload($scope.password, opts, function(err) {
|
||||
if (err) {
|
||||
self.error = true;
|
||||
$scope.error = true;
|
||||
return;
|
||||
}
|
||||
$rootScope.$emit('Local/BackupDone');
|
||||
|
|
@ -36,12 +35,12 @@ angular.module('copayApp.controllers').controller('exportController',
|
|||
});
|
||||
};
|
||||
|
||||
self.getMetaData = function(metaData, cb) {
|
||||
$scope.getMetaData = function(metaData, cb) {
|
||||
if (metaData == false) return cb();
|
||||
self.getHistoryCache(function(err, txsFromLocal) {
|
||||
$scope.getHistoryCache(function(err, txsFromLocal) {
|
||||
if (err) return cb(err);
|
||||
|
||||
self.getAddressbook(function(err, localAddressBook) {
|
||||
$scope.getAddressbook(function(err, localAddressBook) {
|
||||
if (err) return cb(err);
|
||||
|
||||
return cb(null, txsFromLocal, localAddressBook)
|
||||
|
|
@ -49,7 +48,7 @@ angular.module('copayApp.controllers').controller('exportController',
|
|||
});
|
||||
}
|
||||
|
||||
self.getHistoryCache = function(cb) {
|
||||
$scope.getHistoryCache = function(cb) {
|
||||
storageService.getTxHistory(fc.credentials.walletId, function(err, txs) {
|
||||
if (err) return cb(err);
|
||||
|
||||
|
|
@ -66,7 +65,7 @@ angular.module('copayApp.controllers').controller('exportController',
|
|||
});
|
||||
}
|
||||
|
||||
self.getAddressbook = function(cb) {
|
||||
$scope.getAddressbook = function(cb) {
|
||||
storageService.getAddressbook(fc.credentials.network, function(err, addressBook) {
|
||||
if (err) return cb(err);
|
||||
|
||||
|
|
@ -81,10 +80,10 @@ angular.module('copayApp.controllers').controller('exportController',
|
|||
});
|
||||
}
|
||||
|
||||
self.getBackup = function(cb) {
|
||||
self.getMetaData($scope.metaDataEnabled, function(err, txsFromLocal, localAddressBook) {
|
||||
$scope.getBackup = function(cb) {
|
||||
$scope.getMetaData($scope.metaDataEnabled, function(err, txsFromLocal, localAddressBook) {
|
||||
if (err) {
|
||||
self.error = true;
|
||||
$scope.error = true;
|
||||
return cb(null);
|
||||
}
|
||||
var opts = {
|
||||
|
|
@ -93,30 +92,29 @@ angular.module('copayApp.controllers').controller('exportController',
|
|||
addressBook: localAddressBook
|
||||
};
|
||||
|
||||
var ew = backupService.walletExport(self.password, opts);
|
||||
var ew = backupService.walletExport($scope.password, opts);
|
||||
if (!ew) {
|
||||
self.error = true;
|
||||
$scope.error = true;
|
||||
} else {
|
||||
self.error = false;
|
||||
$scope.error = false;
|
||||
$rootScope.$emit('Local/BackupDone');
|
||||
}
|
||||
return cb(ew);
|
||||
});
|
||||
}
|
||||
|
||||
self.viewWalletBackup = function() {
|
||||
var self = this;
|
||||
$scope.viewWalletBackup = function() {
|
||||
$timeout(function() {
|
||||
self.getBackup(function(backup) {
|
||||
$scope.getBackup(function(backup) {
|
||||
var ew = backup;
|
||||
if (!ew) return;
|
||||
self.backupWalletPlainText = ew;
|
||||
$scope.backupWalletPlainText = ew;
|
||||
});
|
||||
}, 100);
|
||||
};
|
||||
|
||||
self.copyWalletBackup = function() {
|
||||
self.getBackup(function(backup) {
|
||||
$scope.copyWalletBackup = function() {
|
||||
$scope.getBackup(function(backup) {
|
||||
var ew = backup;
|
||||
if (!ew) return;
|
||||
window.cordova.plugins.clipboard.copy(ew);
|
||||
|
|
@ -124,14 +122,14 @@ angular.module('copayApp.controllers').controller('exportController',
|
|||
});
|
||||
};
|
||||
|
||||
self.sendWalletBackup = function() {
|
||||
$scope.sendWalletBackup = function() {
|
||||
var fc = profileService.focusedClient;
|
||||
window.plugins.toast.showShortCenter(gettextCatalog.getString('Preparing backup...'));
|
||||
var name = (fc.credentials.walletName || fc.credentials.walletId);
|
||||
if (fc.alias) {
|
||||
name = fc.alias + ' [' + name + ']';
|
||||
}
|
||||
self.getBackup(function(backup) {
|
||||
$scope.getBackup(function(backup) {
|
||||
var ew = backup;
|
||||
if (!ew) return;
|
||||
|
||||
|
|
|
|||
|
|
@ -3,28 +3,27 @@
|
|||
angular.module('copayApp.controllers').controller('preferencesController',
|
||||
function($scope, $rootScope, $timeout, $log, configService, profileService, fingerprintService, walletService) {
|
||||
|
||||
var self = this;
|
||||
var fc;
|
||||
var config = configService.getSync();
|
||||
|
||||
var disableFocusListener = $rootScope.$on('Local/NewFocusedWalletReady', function() {
|
||||
self.init();
|
||||
$scope.init();
|
||||
});
|
||||
|
||||
$scope.$on('$destroy', function() {
|
||||
disableFocusListener();
|
||||
});
|
||||
|
||||
this.init = function() {
|
||||
$scope.init = function() {
|
||||
fc = profileService.focusedClient;
|
||||
if (fc) {
|
||||
$scope.encryptEnabled = walletService.isEncrypted(fc);
|
||||
this.externalSource = fc.getPrivKeyExternalSourceName() == 'ledger' ? "Ledger" : null;
|
||||
$scope.externalSource = fc.getPrivKeyExternalSourceName() == 'ledger' ? "Ledger" : null;
|
||||
// TODO externalAccount
|
||||
//this.externalIndex = fc.getExternalIndex();
|
||||
}
|
||||
|
||||
this.touchidAvailable = fingerprintService.isAvailable();
|
||||
$scope.touchidAvailable = fingerprintService.isAvailable();
|
||||
$scope.touchidEnabled = config.touchIdFor ? config.touchIdFor[fc.credentials.walletId] : null;
|
||||
|
||||
$scope.deleted = false;
|
||||
|
|
@ -41,7 +40,6 @@ angular.module('copayApp.controllers').controller('preferencesController',
|
|||
};
|
||||
|
||||
$scope.encryptChange = function() {
|
||||
var self = this;
|
||||
if (!fc) return;
|
||||
var val = $scope.encryptEnabled;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.controllers').controller('preferencesAdvancedController',
|
||||
function($scope) {
|
||||
|
||||
});
|
||||
|
|
@ -2,20 +2,18 @@
|
|||
|
||||
angular.module('copayApp.controllers').controller('preferencesAliasController',
|
||||
function($scope, $timeout, configService, profileService, go) {
|
||||
var config = configService.getSync();
|
||||
var fc = profileService.focusedClient;
|
||||
var walletId = fc.credentials.walletId;
|
||||
|
||||
var config = configService.getSync();
|
||||
config.aliasFor = config.aliasFor || {};
|
||||
this.alias = config.aliasFor[walletId] || fc.credentials.walletName;
|
||||
|
||||
this.save = function() {
|
||||
var self = this;
|
||||
config.aliasFor = config.aliasFor || {};
|
||||
$scope.alias = config.aliasFor[walletId] || fc.credentials.walletName;
|
||||
|
||||
$scope.save = function() {
|
||||
var opts = {
|
||||
aliasFor: {}
|
||||
};
|
||||
opts.aliasFor[walletId] = self.alias;
|
||||
opts.aliasFor[walletId] = $scope.alias;
|
||||
|
||||
configService.set(opts, function(err) {
|
||||
if (err) {
|
||||
|
|
@ -23,10 +21,9 @@ angular.module('copayApp.controllers').controller('preferencesAliasController',
|
|||
return;
|
||||
}
|
||||
$scope.$emit('Local/AliasUpdated');
|
||||
$timeout(function(){
|
||||
$timeout(function() {
|
||||
go.path('preferences');
|
||||
}, 50);
|
||||
});
|
||||
|
||||
};
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.controllers').controller('preferencesBwsUrlController',
|
||||
function($scope, $log, configService, go, applicationService, profileService, storageService) {
|
||||
this.error = null;
|
||||
this.success = null;
|
||||
function($scope, $log, configService, applicationService, profileService, storageService) {
|
||||
$scope.error = null;
|
||||
$scope.success = null;
|
||||
|
||||
var fc = profileService.focusedClient;
|
||||
var walletId = fc.credentials.walletId;
|
||||
var defaults = configService.getDefaults();
|
||||
var config = configService.getSync();
|
||||
|
||||
this.bwsurl = (config.bwsFor && config.bwsFor[walletId]) || defaults.bws.url;
|
||||
$scope.bwsurl = (config.bwsFor && config.bwsFor[walletId]) || defaults.bws.url;
|
||||
|
||||
this.resetDefaultUrl = function() {
|
||||
this.bwsurl = defaults.bws.url;
|
||||
$scope.resetDefaultUrl = function() {
|
||||
$scope.bwsurl = defaults.bws.url;
|
||||
};
|
||||
|
||||
this.save = function() {
|
||||
$scope.save = function() {
|
||||
|
||||
var bws;
|
||||
switch (this.bwsurl) {
|
||||
switch ($scope.bwsurl) {
|
||||
case 'prod':
|
||||
case 'production':
|
||||
bws = 'https://bws.bitpay.com/bws/api'
|
||||
|
|
@ -35,16 +35,16 @@ angular.module('copayApp.controllers').controller('preferencesBwsUrlController',
|
|||
};
|
||||
if (bws) {
|
||||
$log.info('Using BWS URL Alias to ' + bws);
|
||||
this.bwsurl = bws;
|
||||
$scope.bwsurl = bws;
|
||||
}
|
||||
|
||||
var opts = {
|
||||
bwsFor: {}
|
||||
};
|
||||
opts.bwsFor[walletId] = this.bwsurl;
|
||||
opts.bwsFor[walletId] = $scope.bwsurl;
|
||||
|
||||
configService.set(opts, function(err) {
|
||||
if (err) console.log(err);
|
||||
if (err) $log.debug(err);
|
||||
storageService.setCleanAndScanAddresses(walletId, function() {
|
||||
applicationService.restart();
|
||||
});
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
angular.module('copayApp.controllers').controller('preferencesDeleteWalletController',
|
||||
function($scope, $rootScope, $filter, $timeout, $modal, $log, $ionicModal, storageService, notification, profileService, platformInfo, go, gettext, gettextCatalog, applicationService, ongoingProcess) {
|
||||
var isCordova = platformInfo.isCordova;
|
||||
this.isCordova = isCordova;
|
||||
this.error = null;
|
||||
$scope.isCordova = isCordova;
|
||||
$scope.error = null;
|
||||
|
||||
var delete_msg = gettextCatalog.getString('Are you sure you want to delete this wallet?');
|
||||
var accept_msg = gettextCatalog.getString('Accept');
|
||||
|
|
@ -20,8 +20,7 @@ angular.module('copayApp.controllers').controller('preferencesDeleteWalletContro
|
|||
$scope.loading = false;
|
||||
|
||||
$ionicModal.fromTemplateUrl('views/modals/confirmation.html', {
|
||||
scope: $scope,
|
||||
animation: 'slide-in-up'
|
||||
scope: $scope
|
||||
}).then(function(modal) {
|
||||
$scope.confirmationModal = modal;
|
||||
$scope.confirmationModal.show();
|
||||
|
|
@ -33,12 +32,11 @@ angular.module('copayApp.controllers').controller('preferencesDeleteWalletContro
|
|||
var fc = profileService.focusedClient;
|
||||
var name = fc.credentials.walletName;
|
||||
var walletName = (fc.alias || '') + ' [' + name + ']';
|
||||
var self = this;
|
||||
|
||||
profileService.deleteWalletClient(fc, function(err) {
|
||||
ongoingProcess.set('deletingWallet', false);
|
||||
if (err) {
|
||||
self.error = err.message || err;
|
||||
$scope.error = err.message || err;
|
||||
} else {
|
||||
notification.success(gettextCatalog.getString('Success'), gettextCatalog.getString('The wallet "{{walletName}}" was deleted', {
|
||||
walletName: walletName
|
||||
|
|
@ -48,7 +46,7 @@ angular.module('copayApp.controllers').controller('preferencesDeleteWalletContro
|
|||
});
|
||||
};
|
||||
|
||||
this.deleteWallet = function() {
|
||||
$scope.deleteWallet = function() {
|
||||
if (isCordova) {
|
||||
navigator.notification.confirm(
|
||||
delete_msg,
|
||||
|
|
|
|||
|
|
@ -1,15 +1,14 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.controllers').controller('preferencesDeleteWordsController', function(confirmDialog, lodash, notification, profileService, go, gettext) {
|
||||
var self = this;
|
||||
angular.module('copayApp.controllers').controller('preferencesDeleteWordsController', function($scope, confirmDialog, lodash, notification, profileService, go, gettext) {
|
||||
var fc = profileService.focusedClient;
|
||||
var msg = gettext('Are you sure you want to delete the recovery phrase?');
|
||||
var successMsg = gettext('Recovery phrase deleted');
|
||||
|
||||
if (lodash.isEmpty(fc.credentials.mnemonic) && lodash.isEmpty(fc.credentials.mnemonicEncrypted))
|
||||
self.deleted = true;
|
||||
$scope.deleted = true;
|
||||
|
||||
self.delete = function() {
|
||||
$scope.delete = function() {
|
||||
confirmDialog.show(msg, function(ok) {
|
||||
if (ok) {
|
||||
fc.clearMnemonic();
|
||||
|
|
|
|||
|
|
@ -1,21 +1,19 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.controllers').controller('preferencesEmailController',
|
||||
function($rootScope, go, profileService, gettext, $log, walletService) {
|
||||
this.save = function(form) {
|
||||
var self = this;
|
||||
this.error = null;
|
||||
angular.module('copayApp.controllers').controller('preferencesEmailController', function($rootScope, $scope, go, profileService, walletService) {
|
||||
$scope.save = function(form) {
|
||||
$scope.error = null;
|
||||
$scope.saving = true;
|
||||
var fc = profileService.focusedClient;
|
||||
var email = $scope.email || '';
|
||||
|
||||
var fc = profileService.focusedClient;
|
||||
var email = self.email || '';
|
||||
|
||||
walletService.updateRemotePreferences(fc, {
|
||||
email: email,
|
||||
}, function(err) {
|
||||
if (!err)
|
||||
$rootScope.$emit('Local/EmailUpdated', email);
|
||||
|
||||
go.path('preferences');
|
||||
});
|
||||
};
|
||||
});
|
||||
walletService.updateRemotePreferences(fc, {
|
||||
email: email,
|
||||
}, function(err) {
|
||||
$scope.saving = false;
|
||||
if (!err)
|
||||
$rootScope.$emit('Local/EmailUpdated', email);
|
||||
go.path('preferences');
|
||||
});
|
||||
};
|
||||
});
|
||||
|
|
|
|||
|
|
@ -4,17 +4,18 @@ angular.module('copayApp.controllers').controller('preferencesGlobalController',
|
|||
function($scope, $rootScope, $log, configService, uxLanguage, platformInfo, pushNotificationsService, profileService, feeService) {
|
||||
|
||||
var isCordova = platformInfo.isCordova;
|
||||
this.init = function() {
|
||||
|
||||
$scope.init = function() {
|
||||
var config = configService.getSync();
|
||||
this.unitName = config.wallet.settings.unitName;
|
||||
this.currentLanguageName = uxLanguage.getCurrentLanguageName();
|
||||
this.selectedAlternative = {
|
||||
$scope.unitName = config.wallet.settings.unitName;
|
||||
$scope.currentLanguageName = uxLanguage.getCurrentLanguageName();
|
||||
$scope.selectedAlternative = {
|
||||
name: config.wallet.settings.alternativeName,
|
||||
isoCode: config.wallet.settings.alternativeIsoCode
|
||||
};
|
||||
this.feeOpts = feeService.feeOpts;
|
||||
this.currentFeeLevel = feeService.getCurrentFeeLevel();
|
||||
this.usePushNotifications = isCordova && !platformInfo.isWP;
|
||||
$scope.feeOpts = feeService.feeOpts;
|
||||
$scope.currentFeeLevel = feeService.getCurrentFeeLevel();
|
||||
$scope.usePushNotifications = isCordova && !platformInfo.isWP;
|
||||
$scope.PNEnabledByUser = true;
|
||||
$scope.isIOSApp = platformInfo.isIOS && isCordova;
|
||||
if ($scope.isIOSApp) {
|
||||
|
|
@ -28,7 +29,7 @@ angular.module('copayApp.controllers').controller('preferencesGlobalController',
|
|||
$scope.pushNotifications = config.pushNotifications.enabled;
|
||||
};
|
||||
|
||||
this.openSettings = function() {
|
||||
$scope.openSettings = function() {
|
||||
cordova.plugins.diagnostic.switchToSettings(function() {
|
||||
$log.debug('switched to settings');
|
||||
}, function(err) {
|
||||
|
|
|
|||
|
|
@ -4,26 +4,11 @@ angular.module('copayApp.controllers').controller('preferencesHistory',
|
|||
function($scope, $log, $timeout, storageService, go, profileService, lodash) {
|
||||
var fc = profileService.focusedClient;
|
||||
var c = fc.credentials;
|
||||
this.csvReady = false;
|
||||
$scope.csvReady = false;
|
||||
|
||||
$scope.csvHistory = function(cb) {
|
||||
var allTxs = [];
|
||||
|
||||
this.csvHistory = function(cb) {
|
||||
|
||||
function formatDate(date) {
|
||||
var dateObj = new Date(date);
|
||||
if (!dateObj) {
|
||||
$log.debug('Error formating a date');
|
||||
return 'DateError'
|
||||
}
|
||||
if (!dateObj.toJSON()) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return dateObj.toJSON();
|
||||
}
|
||||
|
||||
var step = 6;
|
||||
var unique = {};
|
||||
function getHistory(cb) {
|
||||
storageService.getTxHistory(c.walletId, function(err, txs) {
|
||||
if (err) return cb(err);
|
||||
|
|
@ -38,16 +23,7 @@ angular.module('copayApp.controllers').controller('preferencesHistory',
|
|||
allTxs.push(txsFromLocal);
|
||||
return cb(null, lodash.flatten(allTxs));
|
||||
});
|
||||
}
|
||||
|
||||
var fc = profileService.focusedClient;
|
||||
var c = fc.credentials;
|
||||
|
||||
if (!fc.isComplete())
|
||||
return;
|
||||
|
||||
var self = this;
|
||||
var allTxs = [];
|
||||
};
|
||||
|
||||
$log.debug('Generating CSV from History');
|
||||
getHistory(function(err, txs) {
|
||||
|
|
@ -59,12 +35,12 @@ angular.module('copayApp.controllers').controller('preferencesHistory',
|
|||
|
||||
$log.debug('Wallet Transaction History Length:', txs.length);
|
||||
|
||||
self.satToUnit = 1 / self.unitToSatoshi;
|
||||
$scope.satToUnit = 1 / $scope.unitToSatoshi;
|
||||
var data = txs;
|
||||
var satToBtc = 1 / 100000000;
|
||||
self.csvContent = [];
|
||||
self.csvFilename = 'Copay-' + (self.alias || self.walletName) + '.csv';
|
||||
self.csvHeader = ['Date', 'Destination', 'Description', 'Amount', 'Currency', 'Txid', 'Creator', 'Copayers', 'Comment'];
|
||||
$scope.csvContent = [];
|
||||
$scope.csvFilename = 'Copay-' + ($scope.alias || $scope.walletName) + '.csv';
|
||||
$scope.csvHeader = ['Date', 'Destination', 'Description', 'Amount', 'Currency', 'Txid', 'Creator', 'Copayers', 'Comment'];
|
||||
|
||||
var _amount, _note, _copayers, _creator, _comment;
|
||||
data.forEach(function(it, index) {
|
||||
|
|
@ -89,7 +65,7 @@ angular.module('copayApp.controllers').controller('preferencesHistory',
|
|||
if (it.action == 'moved')
|
||||
_note += ' Moved:' + (it.amount * satToBtc).toFixed(8)
|
||||
|
||||
self.csvContent.push({
|
||||
$scope.csvContent.push({
|
||||
'Date': formatDate(it.time * 1000),
|
||||
'Destination': it.addressTo || '',
|
||||
'Description': _note,
|
||||
|
|
@ -103,7 +79,7 @@ angular.module('copayApp.controllers').controller('preferencesHistory',
|
|||
|
||||
if (it.fees && (it.action == 'moved' || it.action == 'sent')) {
|
||||
var _fee = (it.fees * satToBtc).toFixed(8)
|
||||
self.csvContent.push({
|
||||
$scope.csvContent.push({
|
||||
'Date': formatDate(it.time * 1000),
|
||||
'Destination': 'Bitcoin Network Fees',
|
||||
'Description': '',
|
||||
|
|
@ -116,16 +92,31 @@ angular.module('copayApp.controllers').controller('preferencesHistory',
|
|||
}
|
||||
});
|
||||
|
||||
self.csvReady = true;
|
||||
$scope.csvReady = true;
|
||||
$timeout(function() {
|
||||
$scope.$apply();
|
||||
}, 100);
|
||||
|
||||
if (cb)
|
||||
return cb();
|
||||
return;
|
||||
|
||||
});
|
||||
|
||||
function formatDate(date) {
|
||||
var dateObj = new Date(date);
|
||||
if (!dateObj) {
|
||||
$log.debug('Error formating a date');
|
||||
return 'DateError'
|
||||
}
|
||||
if (!dateObj.toJSON()) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return dateObj.toJSON();
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
this.clearTransactionHistory = function() {
|
||||
$scope.clearTransactionHistory = function() {
|
||||
storageService.removeTxHistory(c.walletId, function(err) {
|
||||
if (err) {
|
||||
$log.error(err);
|
||||
|
|
@ -137,5 +128,5 @@ angular.module('copayApp.controllers').controller('preferencesHistory',
|
|||
go.walletHome();
|
||||
}, 100);
|
||||
});
|
||||
}
|
||||
};
|
||||
});
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ angular.module('copayApp.controllers').controller('preferencesInformation',
|
|||
var fc = profileService.focusedClient;
|
||||
var c = fc.credentials;
|
||||
|
||||
this.init = function() {
|
||||
$scope.init = function() {
|
||||
var basePath = c.getBaseAddressDerivationPath();
|
||||
|
||||
$scope.walletName = c.walletName;
|
||||
|
|
@ -43,11 +43,7 @@ angular.module('copayApp.controllers').controller('preferencesInformation',
|
|||
});
|
||||
};
|
||||
|
||||
this.sendAddrs = function() {
|
||||
var self = this;
|
||||
|
||||
self.loading = true;
|
||||
|
||||
$scope.sendAddrs = function() {
|
||||
function formatDate(ts) {
|
||||
var dateObj = new Date(ts * 1000);
|
||||
if (!dateObj) {
|
||||
|
|
@ -64,7 +60,6 @@ angular.module('copayApp.controllers').controller('preferencesInformation',
|
|||
fc.getMainAddresses({
|
||||
doNotVerify: true
|
||||
}, function(err, addrs) {
|
||||
self.loading = false;
|
||||
if (err) {
|
||||
$log.warn(err);
|
||||
return;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue