add wallet change events
This commit is contained in:
parent
1f7d9a99b4
commit
26b58fd9ed
5 changed files with 78 additions and 32 deletions
|
|
@ -1,7 +1,7 @@
|
|||
<div class="wallets" ng-show="wallets[0]">
|
||||
<div class="wallets" ng-show="content.wallets[0]">
|
||||
<ion-slides class="slides" slider="data.slider">
|
||||
<ion-slide-page ng-repeat="wallet in wallets track by $index">
|
||||
<div ng-show="wallets[0]" class="item item-icon-left">
|
||||
<ion-slide-page ng-repeat="wallet in content.wallets track by $index">
|
||||
<div class="item item-icon-left">
|
||||
<i class="icon ion-briefcase size-21" ng-style="{'color':wallet.color}"></i>
|
||||
{{wallet.name || wallet.id}}
|
||||
<span class="item-note" ng-show="wallet.n > 1 && wallet.isComplete()">
|
||||
|
|
|
|||
|
|
@ -54,7 +54,8 @@ Error: {{addrError}}
|
|||
<span ng-show="!generatingAddress" copy-to-clipboard="addr">{{addr}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item item-text-wrap" ng-style="{'height' : '200px'}">
|
||||
<wallets only-complete="false"></wallets>
|
||||
<!-- <div class="item item-text-wrap" ng-style="{'height' : '200px'}">
|
||||
<ion-slides class="slides" options="options" slider="data.slider">
|
||||
<ion-slide-page ng-repeat="item in wallets track by $index" >
|
||||
<div class="list card">
|
||||
|
|
@ -74,6 +75,6 @@ Error: {{addrError}}
|
|||
</div>
|
||||
</ion-slide-page>
|
||||
</ion-slides>
|
||||
</div>
|
||||
</div> -->
|
||||
</ion-content>
|
||||
</ion-view>
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
<div class="item item-divider">
|
||||
Preferences
|
||||
</div>
|
||||
<wallets></wallets>
|
||||
<div class="list">
|
||||
<div class="item item-icon-left" href ui-sref="settings.language">
|
||||
<i class="icon ion-ios-chatbubble-outline"></i>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.controllers').controller('tabReceiveController', function($scope, $ionicPopover, $timeout, platformInfo, nodeWebkit, walletService, profileService, configService, lodash, gettextCatalog) {
|
||||
angular.module('copayApp.controllers').controller('tabReceiveController', function($scope, $ionicPopover, $timeout, $log, platformInfo, nodeWebkit, walletService, profileService, configService, lodash, gettextCatalog) {
|
||||
|
||||
$scope.isCordova = platformInfo.isCordova;
|
||||
|
||||
|
|
@ -8,43 +8,82 @@ angular.module('copayApp.controllers').controller('tabReceiveController', functi
|
|||
$scope.index = 0;
|
||||
$scope.isCordova = platformInfo.isCordova;
|
||||
$scope.isNW = platformInfo.isNW;
|
||||
$scope.setWallets();
|
||||
// $scope.setWallets();
|
||||
$scope.setAddress(false);
|
||||
$scope.options = {
|
||||
loop: false,
|
||||
effect: 'flip',
|
||||
speed: 500,
|
||||
spaceBetween: 100
|
||||
}
|
||||
|
||||
$scope.$on("$ionicSlides.sliderInitialized", function(event, data) {
|
||||
// data.slider is the instance of Swiper
|
||||
$scope.slider = data.slider;
|
||||
});
|
||||
|
||||
$scope.$on("$ionicSlides.slideChangeStart", function(event, data) {
|
||||
console.log('Slide change is beginning');
|
||||
});
|
||||
|
||||
$scope.$on("$ionicSlides.slideChangeEnd", function(event, data) {
|
||||
$scope.index = data.slider.activeIndex;
|
||||
$scope.setAddress();
|
||||
});
|
||||
// $scope.options = {
|
||||
// loop: false,
|
||||
// effect: 'flip',
|
||||
// speed: 500,
|
||||
// spaceBetween: 100
|
||||
// }
|
||||
//
|
||||
// $scope.$on("$ionicSlides.sliderInitialized", function(event, data) {
|
||||
// // data.slider is the instance of Swiper
|
||||
// $scope.slider = data.slider;
|
||||
// });
|
||||
//
|
||||
// $scope.$on("$ionicSlides.slideChangeStart", function(event, data) {
|
||||
// console.log('Slide change is beginning');
|
||||
// });
|
||||
//
|
||||
// $scope.$on("$ionicSlides.slideChangeEnd", function(event, data) {
|
||||
// $scope.index = data.slider.activeIndex;
|
||||
// $scope.setAddress();
|
||||
// });
|
||||
}
|
||||
|
||||
$scope.copyToClipboard = function(addr, $event) {
|
||||
|
||||
var showPopover = function() {
|
||||
|
||||
$ionicPopover.fromTemplateUrl('views/includes/copyToClipboard.html', {
|
||||
scope: $scope
|
||||
}).then(function(popover) {
|
||||
$scope.popover = popover;
|
||||
$scope.popover.show($event);
|
||||
});
|
||||
|
||||
$scope.close = function() {
|
||||
$scope.popover.hide();
|
||||
}
|
||||
|
||||
$timeout(function() {
|
||||
$scope.popover.hide(); //close the popover after 0.7 seconds
|
||||
}, 700);
|
||||
|
||||
$scope.$on('$destroy', function() {
|
||||
$scope.popover.remove();
|
||||
});
|
||||
};
|
||||
|
||||
if ($scope.isCordova) {
|
||||
window.cordova.plugins.clipboard.copy(addr);
|
||||
window.plugins.toast.showShortCenter(gettextCatalog.getString('Copied to clipboard'));
|
||||
} else if ($scope.isNW) {
|
||||
nodeWebkit.writeToClipboard(addr);
|
||||
showPopover($event);
|
||||
}
|
||||
};
|
||||
|
||||
$scope.$on('Wallet/Changed', function(event, wallet) {
|
||||
console.log(wallet);
|
||||
$log.debug('Wallet changed: ' + wallet.name);
|
||||
$scope.setAddress(wallet);
|
||||
});
|
||||
|
||||
$scope.shareAddress = function(addr) {
|
||||
if ($scope.isCordova) {
|
||||
window.plugins.socialsharing.share('bitcoin:' + addr, null, null, null);
|
||||
}
|
||||
};
|
||||
|
||||
$scope.setAddress = function(forceNew) {
|
||||
$scope.setAddress = function(wallet, forceNew) {
|
||||
if (!wallet) return;
|
||||
if ($scope.generatingAddress) return;
|
||||
|
||||
$scope.addr = null;
|
||||
$scope.addrError = null;
|
||||
|
||||
var wallet = $scope.wallets[$scope.index];
|
||||
if (!wallet.isComplete()) {
|
||||
$scope.incomplete = true;
|
||||
$timeout(function() {
|
||||
|
|
@ -55,8 +94,9 @@ angular.module('copayApp.controllers').controller('tabReceiveController', functi
|
|||
|
||||
$scope.incomplete = false;
|
||||
$scope.generatingAddress = true;
|
||||
|
||||
$timeout(function() {
|
||||
walletService.getAddress($scope.wallets[$scope.index], forceNew, function(err, addr) {
|
||||
walletService.getAddress(wallet, forceNew, function(err, addr) {
|
||||
$scope.generatingAddress = false;
|
||||
if (err) {
|
||||
$scope.addrError = err;
|
||||
|
|
|
|||
|
|
@ -143,25 +143,29 @@ angular.module('copayApp.directives')
|
|||
}
|
||||
}
|
||||
})
|
||||
.directive('wallets', function(profileService, lodash) {
|
||||
.directive('wallets', function(profileService) {
|
||||
return {
|
||||
restrict: 'E',
|
||||
templateUrl: 'views/includes/wallets.html',
|
||||
scope: {},
|
||||
scope: false,
|
||||
link: function(scope, element, attrs) {
|
||||
var opts = {};
|
||||
opts.onlyComplete = attrs.onlyComplete == 'true' ? true : null;
|
||||
opts.network = attrs.network;
|
||||
opts.n = attrs.n;
|
||||
|
||||
scope.wallets = profileService.getWallets(opts);
|
||||
scope.content = {};
|
||||
scope.content.wallets = profileService.getWallets(opts);
|
||||
|
||||
scope.$on("$ionicSlides.sliderInitialized", function(event, data) {
|
||||
scope.slider = data.slider;
|
||||
scope.content.index = data.slider.activeIndex;
|
||||
scope.$emit('Wallet/Changed', scope.content.wallets[scope.content.index]);
|
||||
});
|
||||
|
||||
scope.$on("$ionicSlides.slideChangeEnd", function(event, data) {
|
||||
scope.index = data.slider.activeIndex;
|
||||
scope.content.index = data.slider.activeIndex;
|
||||
scope.$emit('Wallet/Changed', scope.content.wallets[scope.content.index]);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue