'use strict'; angular.module('copayApp.controllers').controller('addressbookViewController', function($scope, sendFlowService, $state, $timeout, lodash, addressbookService, popupService, $ionicHistory, platformInfo, gettextCatalog, configService, bitcoinCashJsService) { var config = configService.getSync(); var defaults = configService.getDefaults(); $scope.isChromeApp = platformInfo.isChromeApp; $scope.addressbookEntry = {}; $scope.$on("$ionicView.beforeEnter", function(event, data) { $scope.addressbookEntry = {}; $scope.addressbookEntry.name = data.stateParams.name; $scope.addressbookEntry.email = data.stateParams.email; $scope.addressbookEntry.address = data.stateParams.address; $scope.addressbookEntry.coin = data.stateParams.coin; var bitcoinAlias = (config.bitcoinAlias || defaults.bitcoinAlias).toUpperCase(); var bitcoinCashAlias = (config.bitcoinCashAlias || defaults.bitcoinCashAlias).toUpperCase(); $scope.coinAlias = data.stateParams.coin == 'bch' ? bitcoinCashAlias : bitcoinAlias; }); $scope.sendTo = function() { $ionicHistory.removeBackView(); sendFlowService.clear(); $state.go('tabs.send'); $timeout(function() { var to = ''; if ($scope.addressbookEntry.coin == 'bch') { var a = 'bitcoincash:' + $scope.addressbookEntry.address; to = bitcoinCashJsService.readAddress(a).legacy; } else { to = $scope.addressbookEntry.address; } var stateParams = { toAddress: to, toName: $scope.addressbookEntry.name, toEmail: $scope.addressbookEntry.email, coin: $scope.addressbookEntry.coin }; sendFlowService.pushState(stateParams); $state.transitionTo('tabs.send.origin'); }, 100); }; $scope.remove = function(addressbookEntry) { var title = gettextCatalog.getString('Warning!'); var message = gettextCatalog.getString('Are you sure you want to delete this contact?'); popupService.showConfirm(title, message, null, null, function(res) { if (!res) return; addressbookService.remove(addressbookEntry, function(err, ab) { if (err) { popupService.showAlert(gettextCatalog.getString('Error'), err); return; } $ionicHistory.goBack(); }); }); }; });