Wallet/src/js/controllers/copayers.js

82 lines
2.8 KiB
JavaScript
Raw Normal View History

2015-03-06 12:00:10 -03:00
'use strict';
angular.module('copayApp.controllers').controller('copayersController',
2016-09-22 16:33:30 -03:00
function($scope, $log, $ionicNavBarDelegate, $timeout, $stateParams, $state, $rootScope, $ionicHistory, lodash, profileService, walletService, popupService, platformInfo, gettextCatalog, ongoingProcess) {
2015-03-06 12:00:10 -03:00
2016-09-22 16:04:05 -03:00
$scope.$on("$ionicView.enter", function(event, data) {
init();
});
var init = function() {
$scope.fromAddShared = $stateParams.fromAddShared;
$scope.isCordova = platformInfo.isCordova;
$scope.wallet = profileService.getWallet($stateParams.walletId);
updateWallet();
};
2016-09-06 11:22:10 -03:00
2016-09-22 16:04:05 -03:00
$rootScope.$on('bwsEvent', function() {
updateWallet();
});
2015-03-06 12:00:10 -03:00
2016-09-22 16:04:05 -03:00
var updateWallet = function() {
$log.debug('Updating wallet:' + $scope.wallet.name)
walletService.getStatus($scope.wallet, {}, function(err, status) {
if (err) {
$log.error(err); //TODO
return;
}
$scope.wallet.status = status;
$scope.copayers = $scope.wallet.status.wallet.copayers;
$scope.secret = $scope.wallet.status.wallet.secret;
$timeout(function() {
$scope.$apply();
});
if (status.wallet.status == 'complete') {
$scope.wallet.openWallet(function(err, status) {
if (err) $log.error(err);
$scope.goHome();
});
}
});
};
2015-03-06 12:00:10 -03:00
2016-08-25 13:09:50 -03:00
$scope.showDeletePopup = function() {
2016-09-12 13:58:36 -03:00
popupService.showConfirm(gettextCatalog.getString('Confirm'), gettextCatalog.getString('Are you sure you want to delete this wallet?'), null, null, function(res) {
2016-09-06 11:22:10 -03:00
if (res) deleteWallet();
2015-03-06 12:00:10 -03:00
});
};
2016-08-25 13:09:50 -03:00
function deleteWallet() {
ongoingProcess.set('deletingWallet', true);
2016-09-22 16:04:05 -03:00
profileService.deleteWalletClient($scope.wallet, function(err) {
2016-08-25 13:09:50 -03:00
ongoingProcess.set('deletingWallet', false);
2016-01-28 16:49:31 -03:00
if (err) {
2016-09-01 10:56:13 -03:00
popupService.showAlert(gettextCatalog.getString('Error'), err.message || err);
2016-01-28 16:49:31 -03:00
} else {
2016-09-22 16:04:05 -03:00
$scope.goHome();
2016-01-28 16:49:31 -03:00
}
});
2015-03-06 12:00:10 -03:00
};
2016-08-15 16:07:30 -03:00
$scope.copySecret = function() {
if ($scope.isCordova) {
2016-09-22 16:04:05 -03:00
window.cordova.plugins.clipboard.copy($scope.secret);
2015-07-29 20:12:37 +09:00
window.plugins.toast.showShortCenter(gettextCatalog.getString('Copied to clipboard'));
2015-03-06 12:00:10 -03:00
}
};
2016-08-15 16:07:30 -03:00
$scope.shareSecret = function() {
if ($scope.isCordova) {
2016-06-09 10:11:37 -03:00
var message = gettextCatalog.getString('Join my Copay wallet. Here is the invitation code: {{secret}} You can download Copay for your phone or desktop at https://copay.io', {
2016-09-22 16:04:05 -03:00
secret: $scope.secret
2016-06-09 10:11:37 -03:00
});
2015-07-29 20:12:37 +09:00
window.plugins.socialsharing.share(message, gettextCatalog.getString('Invitation to share a Copay Wallet'), null, null);
2015-03-06 12:00:10 -03:00
}
};
2016-09-22 12:02:45 -03:00
2016-09-22 16:04:05 -03:00
$scope.goHome = function() {
2016-09-22 16:33:30 -03:00
$ionicHistory.removeBackView();
2016-09-22 16:04:05 -03:00
$state.go('tabs.home');
2016-09-22 12:02:45 -03:00
};
2016-09-22 16:04:05 -03:00
2016-08-19 13:09:27 -03:00
});