From 298956f97f826e4f74daaa7c2d9fe4f1492e6a63 Mon Sep 17 00:00:00 2001 From: Marty Alcala Date: Fri, 21 Oct 2016 16:56:19 -0400 Subject: [PATCH 01/14] prelim remake of tx detail view --- src/js/controllers/modals/txDetails.js | 9 ++ src/js/controllers/tab-home.js | 2 +- src/js/controllers/walletDetails.js | 15 ++-- src/js/routes.js | 13 +++ www/views/modals/tx-details.html | 109 ++++++++++++++++++++++++- 5 files changed, 139 insertions(+), 9 deletions(-) diff --git a/src/js/controllers/modals/txDetails.js b/src/js/controllers/modals/txDetails.js index 9d0386fc3..b5c13717e 100644 --- a/src/js/controllers/modals/txDetails.js +++ b/src/js/controllers/modals/txDetails.js @@ -1,14 +1,21 @@ 'use strict'; angular.module('copayApp.controllers').controller('txDetailsController', function($log, $timeout, $scope, $filter, $stateParams, ongoingProcess, walletService, lodash, gettextCatalog, profileService, configService, txFormatService, externalLinkService, popupService) { + console.log('in txDetailsController'); var config = configService.getSync(); var configWallet = config.wallet; var walletSettings = configWallet.settings; var wallet; $scope.title = gettextCatalog.getString('Transaction'); + console.log('$stateParams', $stateParams); + $scope.btx = $stateParams.tx; + $scope.wallet = $stateParams.wallet; + $scope.init = function() { + console.log('init called'); wallet = $scope.wallet; + console.log('wallet', wallet); $scope.alternativeIsoCode = walletSettings.alternativeIsoCode; $scope.color = wallet.color; $scope.copayerId = wallet.credentials.copayerId; @@ -149,4 +156,6 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio $scope.cancel = function() { $scope.txDetailsModal.hide(); }; + + $scope.init(); }); diff --git a/src/js/controllers/tab-home.js b/src/js/controllers/tab-home.js index 0773f68af..c6459c7c5 100644 --- a/src/js/controllers/tab-home.js +++ b/src/js/controllers/tab-home.js @@ -68,7 +68,7 @@ angular.module('copayApp.controllers').controller('tabHomeController', $scope.wallet = wallet; $scope.btx = lodash.cloneDeep(tx); - $ionicModal.fromTemplateUrl('views/modals/tx-details.html', { + $ionicModal.fromTemplateUrl('views/confirm.html', { scope: $scope }).then(function(modal) { $scope.txDetailsModal = modal; diff --git a/src/js/controllers/walletDetails.js b/src/js/controllers/walletDetails.js index 9f839a600..fb2cbf85b 100644 --- a/src/js/controllers/walletDetails.js +++ b/src/js/controllers/walletDetails.js @@ -92,12 +92,15 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun $scope.openTxModal = function(btx) { $scope.btx = lodash.cloneDeep(btx); $scope.walletId = $scope.wallet.id; - $ionicModal.fromTemplateUrl('views/modals/tx-details.html', { - scope: $scope - }).then(function(modal) { - $scope.txDetailsModal = modal; - $scope.txDetailsModal.show(); - }); + + console.log('$state.go called'); + $state.go('tabs.wallet.tx-details', {tx: $scope.btx, wallet: $scope.wallet}); + // $ionicModal.fromTemplateUrl('views/modals/tx-details.html', { + // scope: $scope + // }).then(function(modal) { + // $scope.txDetailsModal = modal; + // $scope.txDetailsModal.show(); + // }); }; $scope.recreate = function() { diff --git a/src/js/routes.js b/src/js/routes.js index 2c45c13c6..ff96d1aa6 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -177,6 +177,19 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr } } }) + .state('tabs.wallet.tx-details', { + url: '/:id', + views: { + 'tab-home@tabs': { + controller: 'txDetailsController', + templateUrl: 'views/modals/tx-details.html' + } + }, + params: { + tx: null, + wallet: null + } + }) /* * diff --git a/www/views/modals/tx-details.html b/www/views/modals/tx-details.html index f23cd902c..9647b9d52 100644 --- a/www/views/modals/tx-details.html +++ b/www/views/modals/tx-details.html @@ -1,4 +1,109 @@ - + + + + {{title}} + + + + + + +
+
+
+ + Sent +
+
+
{{displayAmount}} {{displayUnit}}
+
{{alternativeAmountStr}}
+
+
+
+
+ Payment Expires: + {{remainingTimeStr.value}} + Expired +
+
+ To + + + + +
+ + {{toName}} +
+ +
+ + + {{_paypro.domain || _paypro.toAddress}} + {{toName}} +
+ +
+
+
+ Insufficient funds +
+
+ From +
+ + + +
{{wallet.name}}
+
+
+ + Add Memo + + {{description}} + + + +
+ Fee: {{feeLevel}} + + {{fee || '...'}} + +
+
+
+ + Click to pay + +
+ + Slide to pay + + + Payment Sent + Proposal Created + + + + + +
+ + From ade2fb1c806c5137f029c82f1c3b73bf92259503 Mon Sep 17 00:00:00 2001 From: Marty Alcala Date: Fri, 21 Oct 2016 17:16:35 -0400 Subject: [PATCH 02/14] get memos working --- src/js/controllers/modals/txDetails.js | 19 ++++++++++++++++++- www/views/modals/tx-details.html | 25 ++++++++++++++++++++----- 2 files changed, 38 insertions(+), 6 deletions(-) diff --git a/src/js/controllers/modals/txDetails.js b/src/js/controllers/modals/txDetails.js index b5c13717e..09aa59af8 100644 --- a/src/js/controllers/modals/txDetails.js +++ b/src/js/controllers/modals/txDetails.js @@ -28,18 +28,32 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio if ($scope.btx.action == 'moved') $scope.title = gettextCatalog.getString('Moved Funds'); } + //$scope.toAmount = parseInt($scope.toAmount); + //$scope.amountStr = txFormatService.formatAmountStr($scope.toAmount); + $scope.displayAmount = getDisplayAmount($scope.btx.amountStr); + $scope.displayUnit = getDisplayUnit($scope.btx.amountStr); + updateMemo(); initActionList(); getAlternativeAmount(); }; + function getDisplayAmount(amountStr) { + return amountStr.split(' ')[0]; + } + + function getDisplayUnit(amountStr) { + return amountStr.split(' ')[1]; + } + function updateMemo() { + console.log('in updateMemo()'); walletService.getTxNote(wallet, $scope.btx.txid, function(err, note) { if (err) { $log.warn('Could not fetch transaction note: ' + err); return; } - + console.log('note', note); if (!note) return; $scope.btx.note = note; @@ -94,6 +108,9 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio $scope.showCommentPopup = function() { var opts = {}; + if($scope.btx.message) { + opts.defaultText = $scope.btx.message; + } if ($scope.btx.note && $scope.btx.note.body) opts.defaultText = $scope.btx.note.body; popupService.showPrompt(wallet.name, gettextCatalog.getString('Memo'), opts, function(text) { diff --git a/www/views/modals/tx-details.html b/www/views/modals/tx-details.html index 9647b9d52..30a882231 100644 --- a/www/views/modals/tx-details.html +++ b/www/views/modals/tx-details.html @@ -58,17 +58,32 @@
{{wallet.name}}
- - Add Memo + + Memo - {{description}} + + {{btx.note.body || btx.message}} + +
- Fee: {{feeLevel}} + Fee - {{fee || '...'}} + {{btx.feeStr}}
From f8f56544aecfe18f16043f2f4c0731f454b4f90e Mon Sep 17 00:00:00 2001 From: Marty Alcala Date: Fri, 21 Oct 2016 17:20:46 -0400 Subject: [PATCH 03/14] wire alternative amount --- src/js/controllers/modals/txDetails.js | 46 +++++++++++++------------- www/views/modals/tx-details.html | 4 +-- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/js/controllers/modals/txDetails.js b/src/js/controllers/modals/txDetails.js index 09aa59af8..97d41ca2c 100644 --- a/src/js/controllers/modals/txDetails.js +++ b/src/js/controllers/modals/txDetails.js @@ -35,7 +35,7 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio updateMemo(); initActionList(); - getAlternativeAmount(); + //getAlternativeAmount(); }; function getDisplayAmount(amountStr) { @@ -138,28 +138,28 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio }); }; - var getAlternativeAmount = function() { - var satToBtc = 1 / 100000000; - - wallet.getFiatRate({ - code: $scope.alternativeIsoCode, - ts: $scope.btx.time * 1000 - }, function(err, res) { - if (err) { - $log.debug('Could not get historic rate'); - return; - } - if (res && res.rate) { - var alternativeAmountBtc = ($scope.btx.amount * satToBtc).toFixed(8); - $scope.rateDate = res.fetchedOn; - $scope.rateStr = res.rate + ' ' + $scope.alternativeIsoCode; - $scope.alternativeAmountStr = $filter('formatFiatAmount')(alternativeAmountBtc * res.rate) + ' ' + $scope.alternativeIsoCode; - $timeout(function() { - $scope.$apply(); - }); - } - }); - }; + // var getAlternativeAmount = function() { + // var satToBtc = 1 / 100000000; + // + // wallet.getFiatRate({ + // code: $scope.alternativeIsoCode, + // ts: $scope.btx.time * 1000 + // }, function(err, res) { + // if (err) { + // $log.debug('Could not get historic rate'); + // return; + // } + // if (res && res.rate) { + // var alternativeAmountBtc = ($scope.btx.amount * satToBtc).toFixed(8); + // $scope.rateDate = res.fetchedOn; + // $scope.rateStr = res.rate + ' ' + $scope.alternativeIsoCode; + // $scope.alternativeAmountStr = $filter('formatFiatAmount')(alternativeAmountBtc * res.rate) + ' ' + $scope.alternativeIsoCode; + // $timeout(function() { + // $scope.$apply(); + // }); + // } + // }); + // }; $scope.openExternalLink = function(url, optIn, title, message, okText, cancelText) { externalLinkService.open(url, optIn, title, message, okText, cancelText); diff --git a/www/views/modals/tx-details.html b/www/views/modals/tx-details.html index 30a882231..cd33631db 100644 --- a/www/views/modals/tx-details.html +++ b/www/views/modals/tx-details.html @@ -7,7 +7,7 @@ - +
@@ -16,7 +16,7 @@
{{displayAmount}} {{displayUnit}}
-
{{alternativeAmountStr}}
+
{{btx.alternativeAmountStr}}
From c41ac537b3fc2996914ea78b4020c3aa8ea42ede Mon Sep 17 00:00:00 2001 From: Marty Alcala Date: Fri, 21 Oct 2016 17:38:51 -0400 Subject: [PATCH 04/14] add checkmark --- src/sass/views/includes/txp-details.scss | 4 ++++ www/img/icon-check-circled.svg | 17 ++++++++++++++ www/views/modals/tx-details.html | 30 +++++++++--------------- 3 files changed, 32 insertions(+), 19 deletions(-) create mode 100644 www/img/icon-check-circled.svg diff --git a/src/sass/views/includes/txp-details.scss b/src/sass/views/includes/txp-details.scss index dc3ec8817..b967776df 100644 --- a/src/sass/views/includes/txp-details.scss +++ b/src/sass/views/includes/txp-details.scss @@ -24,6 +24,10 @@ img { margin-right: 1rem; } + + span { + text-transform: capitalize; + } } .amount-label{ line-height: 30px; diff --git a/www/img/icon-check-circled.svg b/www/img/icon-check-circled.svg new file mode 100644 index 000000000..17027dd45 --- /dev/null +++ b/www/img/icon-check-circled.svg @@ -0,0 +1,17 @@ + + + + Group + Created with Sketch. + + + + + + + + + + + + \ No newline at end of file diff --git a/www/views/modals/tx-details.html b/www/views/modals/tx-details.html index cd33631db..6d65183de 100644 --- a/www/views/modals/tx-details.html +++ b/www/views/modals/tx-details.html @@ -11,8 +11,8 @@
- - Sent + + {{btx.action | translate}}
{{displayAmount}} {{displayUnit}}
@@ -42,8 +42,6 @@ {{_paypro.domain || _paypro.toAddress}} {{toName}}
-
@@ -61,24 +59,9 @@ Memo - {{btx.note.body || btx.message}} - -
Fee @@ -118,6 +101,15 @@ + + + + + + + + + + Group + Created with Sketch. + + + + + + + + + + + + \ No newline at end of file diff --git a/www/views/modals/tx-details.html b/www/views/modals/tx-details.html index a9065e4ed..c210c134a 100644 --- a/www/views/modals/tx-details.html +++ b/www/views/modals/tx-details.html @@ -76,7 +76,10 @@
!
-
{{actionList.length - $index}}
+ +
+ {{actionList.length - $index}} +
-
+ + + + + + From 5234231dad773d98204be7f72c3f1cd7608af591 Mon Sep 17 00:00:00 2001 From: Marty Alcala Date: Fri, 21 Oct 2016 18:47:14 -0400 Subject: [PATCH 09/14] ensure to/from wallet is correct in all cases --- www/views/modals/tx-details.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/www/views/modals/tx-details.html b/www/views/modals/tx-details.html index 8e8f1dd58..66af03c46 100644 --- a/www/views/modals/tx-details.html +++ b/www/views/modals/tx-details.html @@ -48,7 +48,8 @@ Insufficient funds
- From + From + To
From 83cdc77e35c9c42d2cce2dc25608f4dbda551d06 Mon Sep 17 00:00:00 2001 From: Marty Alcala Date: Fri, 21 Oct 2016 19:04:18 -0400 Subject: [PATCH 10/14] use new txp-detail view from activity --- src/js/controllers/activity.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/js/controllers/activity.js b/src/js/controllers/activity.js index 304e5b62b..7e24f2bf5 100644 --- a/src/js/controllers/activity.js +++ b/src/js/controllers/activity.js @@ -1,7 +1,7 @@ 'use strict'; angular.module('copayApp.controllers').controller('activityController', - function($timeout, $scope, $log, $ionicModal, lodash, txpModalService, profileService, walletService, ongoingProcess, popupService, gettextCatalog) { + function($timeout, $scope, $log, $ionicModal, lodash, txpModalService, profileService, walletService, ongoingProcess, popupService, gettextCatalog, $state) { $scope.openTxpModal = txpModalService.open; $scope.fetchingNotifications = true; @@ -66,12 +66,13 @@ angular.module('copayApp.controllers').controller('activityController', $scope.wallet = wallet; $scope.btx = lodash.cloneDeep(tx); - $ionicModal.fromTemplateUrl('views/modals/tx-details.html', { - scope: $scope - }).then(function(modal) { - $scope.txDetailsModal = modal; - $scope.txDetailsModal.show(); - }); + $state.go('tabs.wallet.tx-details', {tx: $scope.btx, wallet: $scope.wallet}); + // $ionicModal.fromTemplateUrl('views/modals/tx-details.html', { + // scope: $scope + // }).then(function(modal) { + // $scope.txDetailsModal = modal; + // $scope.txDetailsModal.show(); + // }); walletService.getTxNote(wallet, n.txid, function(err, note) { if (err) $log.warn('Could not fetch transaction note: ' + err); From 92c64fe3531ef5f40f3dd94eb7efd29b38b0c6dc Mon Sep 17 00:00:00 2001 From: Marty Alcala Date: Fri, 21 Oct 2016 19:13:14 -0400 Subject: [PATCH 11/14] a little cleanup --- src/js/controllers/activity.js | 6 --- src/js/controllers/modals/txDetails.js | 64 +------------------------- src/js/controllers/tab-home.js | 7 +-- src/js/controllers/walletDetails.js | 10 +--- www/views/modals/tx-details.html | 10 +--- 5 files changed, 5 insertions(+), 92 deletions(-) diff --git a/src/js/controllers/activity.js b/src/js/controllers/activity.js index 7e24f2bf5..b0e182c6f 100644 --- a/src/js/controllers/activity.js +++ b/src/js/controllers/activity.js @@ -67,12 +67,6 @@ angular.module('copayApp.controllers').controller('activityController', $scope.wallet = wallet; $scope.btx = lodash.cloneDeep(tx); $state.go('tabs.wallet.tx-details', {tx: $scope.btx, wallet: $scope.wallet}); - // $ionicModal.fromTemplateUrl('views/modals/tx-details.html', { - // scope: $scope - // }).then(function(modal) { - // $scope.txDetailsModal = modal; - // $scope.txDetailsModal.show(); - // }); walletService.getTxNote(wallet, n.txid, function(err, note) { if (err) $log.warn('Could not fetch transaction note: ' + err); diff --git a/src/js/controllers/modals/txDetails.js b/src/js/controllers/modals/txDetails.js index b579a2c5e..89f5e19ac 100644 --- a/src/js/controllers/modals/txDetails.js +++ b/src/js/controllers/modals/txDetails.js @@ -1,21 +1,17 @@ 'use strict'; angular.module('copayApp.controllers').controller('txDetailsController', function($log, $timeout, $scope, $filter, $stateParams, ongoingProcess, walletService, lodash, gettextCatalog, profileService, configService, txFormatService, externalLinkService, popupService) { - console.log('in txDetailsController'); var config = configService.getSync(); var configWallet = config.wallet; var walletSettings = configWallet.settings; var wallet; $scope.title = gettextCatalog.getString('Transaction'); - console.log('$stateParams', $stateParams); $scope.btx = $stateParams.tx; $scope.wallet = $stateParams.wallet; $scope.init = function() { - console.log('init called'); wallet = $scope.wallet; - console.log('wallet', wallet); $scope.alternativeIsoCode = walletSettings.alternativeIsoCode; $scope.color = wallet.color; $scope.copayerId = wallet.credentials.copayerId; @@ -28,14 +24,11 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio if ($scope.btx.action == 'moved') $scope.title = gettextCatalog.getString('Moved Funds'); } - //$scope.toAmount = parseInt($scope.toAmount); - //$scope.amountStr = txFormatService.formatAmountStr($scope.toAmount); $scope.displayAmount = getDisplayAmount($scope.btx.amountStr); $scope.displayUnit = getDisplayUnit($scope.btx.amountStr); updateMemo(); initActionList(); - //getAlternativeAmount(); }; function getDisplayAmount(amountStr) { @@ -47,13 +40,11 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio } function updateMemo() { - console.log('in updateMemo()'); walletService.getTxNote(wallet, $scope.btx.txid, function(err, note) { if (err) { $log.warn('Could not fetch transaction note: ' + err); return; } - console.log('note', note); if (!note) return; $scope.btx.note = note; @@ -72,36 +63,6 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio }); } - // function initActionList() { - // $scope.actionList = []; - // var tx = $scope.btx; - // - // if (!$scope.isShared) return; - // - // var actionDescriptions = { - // created: gettextCatalog.getString('Proposal Created'), - // accept: gettextCatalog.getString('Accepted'), - // reject: gettextCatalog.getString('Rejected'), - // broadcasted: gettextCatalog.getString('Broadcasted'), - // }; - // - // $scope.actionList.push({ - // type: 'created', - // time: tx.createdOn, - // description: actionDescriptions['created'], - // by: tx.creatorName - // }); - // - // lodash.each(tx.actions, function(action) { - // $scope.actionList.push({ - // type: action.type, - // time: action.createdOn, - // description: actionDescriptions[action.type], - // by: action.copayerName - // }); - // }); - // } - function initActionList() { $scope.actionList = []; if ($scope.btx.action != 'sent' || !$scope.isShared) return; @@ -134,7 +95,7 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio time: $scope.btx.time, description: actionDescriptions['broadcasted'], }); - }; + } $scope.showCommentPopup = function() { var opts = {}; @@ -168,29 +129,6 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio }); }; - // var getAlternativeAmount = function() { - // var satToBtc = 1 / 100000000; - // - // wallet.getFiatRate({ - // code: $scope.alternativeIsoCode, - // ts: $scope.btx.time * 1000 - // }, function(err, res) { - // if (err) { - // $log.debug('Could not get historic rate'); - // return; - // } - // if (res && res.rate) { - // var alternativeAmountBtc = ($scope.btx.amount * satToBtc).toFixed(8); - // $scope.rateDate = res.fetchedOn; - // $scope.rateStr = res.rate + ' ' + $scope.alternativeIsoCode; - // $scope.alternativeAmountStr = $filter('formatFiatAmount')(alternativeAmountBtc * res.rate) + ' ' + $scope.alternativeIsoCode; - // $timeout(function() { - // $scope.$apply(); - // }); - // } - // }); - // }; - $scope.viewOnBlockchain = function() { var btx = $scope.btx; var url = 'https://' + ($scope.getShortNetworkName() == 'test' ? 'test-' : '') + 'insight.bitpay.com/tx/' + btx.txid; diff --git a/src/js/controllers/tab-home.js b/src/js/controllers/tab-home.js index c6459c7c5..61542dbd8 100644 --- a/src/js/controllers/tab-home.js +++ b/src/js/controllers/tab-home.js @@ -68,12 +68,7 @@ angular.module('copayApp.controllers').controller('tabHomeController', $scope.wallet = wallet; $scope.btx = lodash.cloneDeep(tx); - $ionicModal.fromTemplateUrl('views/confirm.html', { - scope: $scope - }).then(function(modal) { - $scope.txDetailsModal = modal; - $scope.txDetailsModal.show(); - }); + $state.go('tabs.wallet.tx-details', {tx: $scope.btx, wallet: $scope.wallet}); walletService.getTxNote(wallet, n.txid, function(err, note) { if (err) $log.warn('Could not fetch transaction note: ' + err); diff --git a/src/js/controllers/walletDetails.js b/src/js/controllers/walletDetails.js index fb2cbf85b..221808210 100644 --- a/src/js/controllers/walletDetails.js +++ b/src/js/controllers/walletDetails.js @@ -86,21 +86,13 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun $scope.close = function() { $scope.searchModal.hide(); - } + }; }; $scope.openTxModal = function(btx) { $scope.btx = lodash.cloneDeep(btx); $scope.walletId = $scope.wallet.id; - - console.log('$state.go called'); $state.go('tabs.wallet.tx-details', {tx: $scope.btx, wallet: $scope.wallet}); - // $ionicModal.fromTemplateUrl('views/modals/tx-details.html', { - // scope: $scope - // }).then(function(modal) { - // $scope.txDetailsModal = modal; - // $scope.txDetailsModal.show(); - // }); }; $scope.recreate = function() { diff --git a/www/views/modals/tx-details.html b/www/views/modals/tx-details.html index 66af03c46..a51a8f68c 100644 --- a/www/views/modals/tx-details.html +++ b/www/views/modals/tx-details.html @@ -98,15 +98,9 @@
- - - - - + From c552425803e54e753d39b725b07c4de9505098cc Mon Sep 17 00:00:00 2001 From: Marty Alcala Date: Fri, 21 Oct 2016 19:20:34 -0400 Subject: [PATCH 12/14] remove commented code --- src/sass/views/includes/txp-details.scss | 1 - www/views/modals/tx-details.html | 189 ----------------------- 2 files changed, 190 deletions(-) diff --git a/src/sass/views/includes/txp-details.scss b/src/sass/views/includes/txp-details.scss index 74693b491..5bb8fd467 100644 --- a/src/sass/views/includes/txp-details.scss +++ b/src/sass/views/includes/txp-details.scss @@ -237,7 +237,6 @@ } .view-on-blockchain-btn { - //background: #EDEDED; background: #e8e7e7; color: rgba(58, 58, 58, .6); margin-bottom: 1.5rem; diff --git a/www/views/modals/tx-details.html b/www/views/modals/tx-details.html index a51a8f68c..4a8ef256f 100644 --- a/www/views/modals/tx-details.html +++ b/www/views/modals/tx-details.html @@ -102,194 +102,5 @@ View on blockchain - - - - - - - - - - - - From 52ac7f30151d1860f7f4d5fbf28327014364d663 Mon Sep 17 00:00:00 2001 From: Marty Alcala Date: Fri, 21 Oct 2016 19:30:13 -0400 Subject: [PATCH 13/14] add ellipsis to bitcoin address --- www/views/modals/tx-details.html | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/www/views/modals/tx-details.html b/www/views/modals/tx-details.html index 4a8ef256f..208943149 100644 --- a/www/views/modals/tx-details.html +++ b/www/views/modals/tx-details.html @@ -20,33 +20,17 @@
-
- Payment Expires: - {{remainingTimeStr.value}} - Expired -
To - -
- +
+ {{toName}}
- -
- - - {{_paypro.domain || _paypro.toAddress}} - {{toName}} -
-
- Insufficient funds -
From To From f7624bcc9bf12ec0ceb64cd2544392ee99150b88 Mon Sep 17 00:00:00 2001 From: Javier Date: Sat, 22 Oct 2016 17:43:05 -0300 Subject: [PATCH 14/14] fix routes and params --- src/js/controllers/activity.js | 5 +++- src/js/controllers/modals/txDetails.js | 41 +++++++++++++++----------- src/js/controllers/tab-home.js | 5 +++- src/js/controllers/walletDetails.js | 5 +++- src/js/routes.js | 8 ++--- 5 files changed, 37 insertions(+), 27 deletions(-) diff --git a/src/js/controllers/activity.js b/src/js/controllers/activity.js index b0e182c6f..dbf2f5ada 100644 --- a/src/js/controllers/activity.js +++ b/src/js/controllers/activity.js @@ -66,7 +66,10 @@ angular.module('copayApp.controllers').controller('activityController', $scope.wallet = wallet; $scope.btx = lodash.cloneDeep(tx); - $state.go('tabs.wallet.tx-details', {tx: $scope.btx, wallet: $scope.wallet}); + $state.transitionTo('tabs.wallet.tx-details', { + txid: $scope.btx.txid, + walletId: $scope.walletId + }); walletService.getTxNote(wallet, n.txid, function(err, note) { if (err) $log.warn('Could not fetch transaction note: ' + err); diff --git a/src/js/controllers/modals/txDetails.js b/src/js/controllers/modals/txDetails.js index 89f5e19ac..ea2cb431a 100644 --- a/src/js/controllers/modals/txDetails.js +++ b/src/js/controllers/modals/txDetails.js @@ -1,34 +1,39 @@ 'use strict'; -angular.module('copayApp.controllers').controller('txDetailsController', function($log, $timeout, $scope, $filter, $stateParams, ongoingProcess, walletService, lodash, gettextCatalog, profileService, configService, txFormatService, externalLinkService, popupService) { +angular.module('copayApp.controllers').controller('txDetailsController', function($log, $timeout, $ionicHistory, $scope, $filter, $stateParams, ongoingProcess, walletService, lodash, gettextCatalog, profileService, configService, txFormatService, externalLinkService, popupService) { var config = configService.getSync(); var configWallet = config.wallet; var walletSettings = configWallet.settings; - var wallet; + var wallet = profileService.getWallet($stateParams.walletId); + + $scope.wallet = wallet; $scope.title = gettextCatalog.getString('Transaction'); - $scope.btx = $stateParams.tx; - $scope.wallet = $stateParams.wallet; - $scope.init = function() { - wallet = $scope.wallet; $scope.alternativeIsoCode = walletSettings.alternativeIsoCode; $scope.color = wallet.color; $scope.copayerId = wallet.credentials.copayerId; $scope.isShared = wallet.credentials.n > 1; - $scope.btx.feeLevel = walletSettings.feeLevel; + walletService.getTx(wallet, $stateParams.txid, function(err, tx) { + if (err) { + $log.warn('Could not get tx'); + $ionicHistory.goBack(); + return; + } + $scope.btx = tx; + $scope.btx.feeLevel = walletSettings.feeLevel; + if ($scope.btx.action != 'invalid') { + if ($scope.btx.action == 'sent') $scope.title = gettextCatalog.getString('Sent Funds'); + if ($scope.btx.action == 'received') $scope.title = gettextCatalog.getString('Received Funds'); + if ($scope.btx.action == 'moved') $scope.title = gettextCatalog.getString('Moved Funds'); + } - if ($scope.btx.action != 'invalid') { - if ($scope.btx.action == 'sent') $scope.title = gettextCatalog.getString('Sent Funds'); - if ($scope.btx.action == 'received') $scope.title = gettextCatalog.getString('Received Funds'); - if ($scope.btx.action == 'moved') $scope.title = gettextCatalog.getString('Moved Funds'); - } + $scope.displayAmount = getDisplayAmount($scope.btx.amountStr); + $scope.displayUnit = getDisplayUnit($scope.btx.amountStr); - $scope.displayAmount = getDisplayAmount($scope.btx.amountStr); - $scope.displayUnit = getDisplayUnit($scope.btx.amountStr); - - updateMemo(); - initActionList(); + updateMemo(); + initActionList(); + }); }; function getDisplayAmount(amountStr) { @@ -99,7 +104,7 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio $scope.showCommentPopup = function() { var opts = {}; - if($scope.btx.message) { + if ($scope.btx.message) { opts.defaultText = $scope.btx.message; } if ($scope.btx.note && $scope.btx.note.body) opts.defaultText = $scope.btx.note.body; diff --git a/src/js/controllers/tab-home.js b/src/js/controllers/tab-home.js index 61542dbd8..8d1f3963a 100644 --- a/src/js/controllers/tab-home.js +++ b/src/js/controllers/tab-home.js @@ -68,7 +68,10 @@ angular.module('copayApp.controllers').controller('tabHomeController', $scope.wallet = wallet; $scope.btx = lodash.cloneDeep(tx); - $state.go('tabs.wallet.tx-details', {tx: $scope.btx, wallet: $scope.wallet}); + $state.transitionTo('tabs.wallet.tx-details', { + txid: $scope.btx.txid, + walletId: $scope.walletId + }); walletService.getTxNote(wallet, n.txid, function(err, note) { if (err) $log.warn('Could not fetch transaction note: ' + err); diff --git a/src/js/controllers/walletDetails.js b/src/js/controllers/walletDetails.js index 221808210..6fd7a8b30 100644 --- a/src/js/controllers/walletDetails.js +++ b/src/js/controllers/walletDetails.js @@ -92,7 +92,10 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun $scope.openTxModal = function(btx) { $scope.btx = lodash.cloneDeep(btx); $scope.walletId = $scope.wallet.id; - $state.go('tabs.wallet.tx-details', {tx: $scope.btx, wallet: $scope.wallet}); + $state.transitionTo('tabs.wallet.tx-details', { + txid: $scope.btx.txid, + walletId: $scope.walletId + }); }; $scope.recreate = function() { diff --git a/src/js/routes.js b/src/js/routes.js index ff96d1aa6..c09789ab2 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -178,16 +178,12 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr } }) .state('tabs.wallet.tx-details', { - url: '/:id', + url: '/tx-details/:txid', views: { 'tab-home@tabs': { controller: 'txDetailsController', templateUrl: 'views/modals/tx-details.html' } - }, - params: { - tx: null, - wallet: null } }) @@ -859,7 +855,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr * */ - .state('tabs.bitpayCardIntro', { + .state('tabs.bitpayCardIntro', { url: '/bitpay-card-intro/:secret/:email/:otp', views: { 'tab-home@tabs': {