diff --git a/src/js/controllers/modals/search.js b/src/js/controllers/modals/search.js index e5de5d8c1..3d5ae366e 100644 --- a/src/js/controllers/modals/search.js +++ b/src/js/controllers/modals/search.js @@ -1,13 +1,11 @@ 'use strict'; -angular.module('copayApp.controllers').controller('searchController', function($scope, $rootScope, $interval, $timeout, $filter, $log, $ionicModal, $ionicPopover, $state, $stateParams, $ionicScrollDelegate, bwcError, profileService, lodash, configService, gettext, gettextCatalog, platformInfo, walletService) { +angular.module('copayApp.controllers').controller('searchController', function($scope, $interval, $timeout, $filter, $log, $ionicModal, $ionicPopover, $state, $stateParams, $ionicScrollDelegate, bwcError, profileService, lodash, configService, gettext, gettextCatalog, platformInfo, walletService) { var HISTORY_SHOW_LIMIT = 10; var currentTxHistoryPage = 0; var wallet; var isCordova = platformInfo.isCordova; - $scope.txHistorySearchResults = []; - $scope.filteredTxHistory = []; $scope.updateSearchInput = function(search) { if (isCordova) @@ -26,7 +24,7 @@ angular.module('copayApp.controllers').controller('searchController', function($ function computeSearchableString(tx) { var addrbook = ''; - if (tx.addressTo && self.addressbook && self.addressbook[tx.addressTo]) addrbook = self.addressbook[tx.addressTo] || ''; + if (tx.addressTo && $scope.addressbook && $scope.addressbook[tx.addressTo]) addrbook = $scope.addressbook[tx.addressTo].name || $scope.addressbook[tx.addressTo] || ''; var searchableDate = computeSearchableDate(new Date(tx.time * 1000)); var message = tx.message ? tx.message : ''; var comment = tx.note ? tx.note.body : ''; @@ -54,7 +52,6 @@ angular.module('copayApp.controllers').controller('searchController', function($ if ($scope.filteredTxHistory.length > HISTORY_SHOW_LIMIT) $scope.txHistoryShowMore = true; else $scope.txHistoryShowMore = false; - return $scope.filteredTxHistory; }; @@ -64,7 +61,7 @@ angular.module('copayApp.controllers').controller('searchController', function($ window.plugins.toast.showShortBottom(gettextCatalog.getString('Matches: ' + $scope.filteredTxHistory.length)); $timeout(function() { - $rootScope.$apply(); + $scope.$apply(); }); }, 1000); diff --git a/src/js/controllers/walletDetails.js b/src/js/controllers/walletDetails.js index 40579a52a..95d24354c 100644 --- a/src/js/controllers/walletDetails.js +++ b/src/js/controllers/walletDetails.js @@ -77,6 +77,9 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun $scope.openSearchModal = function() { $scope.color = $scope.wallet.color; + $scope.isSearching = true; + $scope.txHistorySearchResults = []; + $scope.filteredTxHistory = []; $ionicModal.fromTemplateUrl('views/modals/search.html', { scope: $scope, @@ -87,6 +90,7 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun }); $scope.close = function() { + $scope.isSearching = false; $scope.searchModal.hide(); }; @@ -94,7 +98,7 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun $ionicHistory.nextViewOptions({ disableAnimate: true }); - $scope.searchModal.hide(); + $scope.close(); $scope.openTxModal(tx); }; }; @@ -197,6 +201,7 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun }; function createdDuringSameMonth(tx1, tx2) { + if (!tx1 || !tx2) return false; var date1 = new Date(tx1.time * 1000); var date2 = new Date(tx2.time * 1000); return getMonthYear(date1) === getMonthYear(date2); diff --git a/www/views/includes/walletHistory.html b/www/views/includes/walletHistory.html new file mode 100644 index 000000000..59df75735 --- /dev/null +++ b/www/views/includes/walletHistory.html @@ -0,0 +1,74 @@ +
- - - Unconfirmed - -
- - -