mirror of https://github.com/BTCPrivate/copay.git
commit
745babcc1f
|
@ -139,10 +139,9 @@
|
|||
</div>
|
||||
|
||||
<div class="item item-icon-right" ng-click="showCommentPopup()">
|
||||
<span class="text-gray" translate ng-show="!btx.note">Add Memo</i></span>
|
||||
<span class="text-gray" translate ng-show="btx.note">Memo</span>
|
||||
<i class="icon nav-item-arrow-right"></i>
|
||||
<div ng-show="btx.note && btx.note.body">
|
||||
<span class="text-gray" translate ng-if="!btx.note">Add Memo</i></span>
|
||||
<span class="text-gray" translate ng-if="btx.note">Memo</span>
|
||||
<div ng-if="btx.note && btx.note.body">
|
||||
<span class="enable_text_select">{{btx.note.body}}</span><br>
|
||||
<span class="text-italic item-note size-12">
|
||||
<span translate>Edited by</span> <span>{{btx.note.editedByName}}</span>,
|
||||
|
|
|
@ -56,13 +56,18 @@ angular.module('copayApp.controllers').controller('activityController',
|
|||
return popupService.showAlert(null, gettextCatalog.getString('Transaction not found'));
|
||||
}
|
||||
|
||||
$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();
|
||||
walletService.getTxNote(wallet, n.txid, function(err, note) {
|
||||
if (err) $log.debug(gettextCatalog.getString('Could not fetch transaction note'));
|
||||
|
||||
$scope.wallet = wallet;
|
||||
$scope.btx = lodash.cloneDeep(tx);
|
||||
$scope.btx.note = note;
|
||||
$ionicModal.fromTemplateUrl('views/modals/tx-details.html', {
|
||||
scope: $scope
|
||||
}).then(function(modal) {
|
||||
$scope.txDetailsModal = modal;
|
||||
$scope.txDetailsModal.show();
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
|
|
|
@ -24,10 +24,6 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio
|
|||
updateMemo();
|
||||
initActionList();
|
||||
getAlternativeAmount();
|
||||
|
||||
$timeout(function() {
|
||||
$scope.$apply();
|
||||
});
|
||||
};
|
||||
|
||||
function updateMemo() {
|
||||
|
@ -38,7 +34,6 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio
|
|||
$log.debug(gettextCatalog.getString('Could not fetch transaction note'));
|
||||
return;
|
||||
}
|
||||
|
||||
$scope.note = note;
|
||||
$timeout(function() {
|
||||
$scope.$apply();
|
||||
|
@ -81,7 +76,12 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio
|
|||
};
|
||||
|
||||
$scope.showCommentPopup = function() {
|
||||
popupService.showPrompt(gettextCatalog.getString('Memo'), ' ', {}, function(text) {
|
||||
var opts = {};
|
||||
if ($scope.btx.note && $scope.btx.note.body) opts.defaultText = $scope.btx.note.body;
|
||||
|
||||
popupService.showPrompt(null, gettextCatalog.getString('Memo'), opts, function(text) {
|
||||
if (typeof text == "undefined") return;
|
||||
|
||||
$log.debug('Saving memo');
|
||||
|
||||
var args = {
|
||||
|
@ -103,7 +103,6 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio
|
|||
$scope.btx.note.editedOn = Math.floor(Date.now() / 1000);
|
||||
}
|
||||
$scope.btx.searcheableString = null;
|
||||
|
||||
$timeout(function() {
|
||||
$scope.$apply();
|
||||
});
|
||||
|
@ -127,7 +126,6 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio
|
|||
$scope.rateDate = res.fetchedOn;
|
||||
$scope.rateStr = res.rate + ' ' + $scope.alternativeIsoCode;
|
||||
$scope.alternativeAmountStr = $filter('formatFiatAmount')(alternativeAmountBtc * res.rate) + ' ' + $scope.alternativeIsoCode;
|
||||
$scope.$apply();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
angular.module('copayApp.controllers').controller('tabHomeController',
|
||||
function($rootScope, $timeout, $scope, $state, $stateParams, $ionicModal, $ionicScrollDelegate, gettextCatalog, lodash, popupService, ongoingProcess, profileService, walletService, configService, $log, platformInfo, storageService, txpModalService, $window) {
|
||||
var wallet;
|
||||
$scope.externalServices = {};
|
||||
$scope.bitpayCardEnabled = true; // TODO
|
||||
$scope.openTxpModal = txpModalService.open;
|
||||
|
@ -17,22 +18,33 @@ angular.module('copayApp.controllers').controller('tabHomeController',
|
|||
});
|
||||
|
||||
$scope.openNotificationModal = function(n) {
|
||||
wallet = profileService.getWallet(n.walletId);
|
||||
|
||||
if (n.txid) {
|
||||
openTxModal(n);
|
||||
} else {
|
||||
var txp = lodash.find($scope.txps, {
|
||||
id: n.txpId
|
||||
});
|
||||
if (txp) txpModalService.open(txp);
|
||||
else {
|
||||
$log.warn('No txp found');
|
||||
return popupService.showAlert(null, gettextCatalog.getString('Transaction not found'));
|
||||
if (txp) {
|
||||
txpModalService.open(txp);
|
||||
} else {
|
||||
ongoingProcess.set('loadingTxInfo', true);
|
||||
walletService.getTxp(wallet, n.txpId, function(err, txp) {
|
||||
var _txp = txp;
|
||||
ongoingProcess.set('loadingTxInfo', false);
|
||||
if (err) {
|
||||
$log.warn('No txp found');
|
||||
return popupService.showAlert(null, gettextCatalog.getString('Transaction not found'));
|
||||
}
|
||||
txpModalService.open(_txp);
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var openTxModal = function(n) {
|
||||
var wallet = profileService.getWallet(n.walletId);
|
||||
wallet = profileService.getWallet(n.walletId);
|
||||
|
||||
ongoingProcess.set('loadingTxInfo', true);
|
||||
walletService.getTx(wallet, n.txid, function(err, tx) {
|
||||
|
@ -48,13 +60,18 @@ angular.module('copayApp.controllers').controller('tabHomeController',
|
|||
return popupService.showAlert(null, gettextCatalog.getString('Transaction not found'));
|
||||
}
|
||||
|
||||
$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();
|
||||
walletService.getTxNote(wallet, n.txid, function(err, note) {
|
||||
if (err) $log.debug(gettextCatalog.getString('Could not fetch transaction note'));
|
||||
|
||||
$scope.wallet = wallet;
|
||||
$scope.btx = lodash.cloneDeep(tx);
|
||||
$scope.btx.note = note;
|
||||
$ionicModal.fromTemplateUrl('views/modals/tx-details.html', {
|
||||
scope: $scope
|
||||
}).then(function(modal) {
|
||||
$scope.txDetailsModal = modal;
|
||||
$scope.txDetailsModal.show();
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
|
|
|
@ -37,7 +37,7 @@ angular.module('copayApp.services').service('popupService', function($log, $ioni
|
|||
inputPlaceholder: opts.inputPlaceholder,
|
||||
defaultText: opts.defaultText
|
||||
}).then(function(res) {
|
||||
return cb(res)
|
||||
return cb(res);
|
||||
});
|
||||
};
|
||||
|
||||
|
@ -58,12 +58,12 @@ angular.module('copayApp.services').service('popupService', function($log, $ioni
|
|||
navigator.notification.confirm(message, onConfirm, title, [okText, cancelText]);
|
||||
};
|
||||
|
||||
var _cordovaPrompt = function(title, message, cb) {
|
||||
var _cordovaPrompt = function(title, message, opts, cb) {
|
||||
var onPrompt = function(results) {
|
||||
if (results.buttonIndex == 1) return cb(results.input1);
|
||||
else return cb();
|
||||
}
|
||||
navigator.notification.prompt(message, onPrompt, title);
|
||||
navigator.notification.prompt(message, onPrompt, title, null, opts.defaultText);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -118,7 +118,7 @@ angular.module('copayApp.services').service('popupService', function($log, $ioni
|
|||
$log.warn(title + ": " + message);
|
||||
|
||||
if (isCordova)
|
||||
_cordovaPrompt(title, message, cb);
|
||||
_cordovaPrompt(title, message, opts, cb);
|
||||
else
|
||||
_ionicPrompt(title, message, opts, cb);
|
||||
};
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.services').factory('txpModalService', function(configService, $rootScope, $ionicModal) {
|
||||
angular.module('copayApp.services').factory('txpModalService', function(configService, profileService, $rootScope, $ionicModal) {
|
||||
|
||||
var root = {};
|
||||
|
||||
|
@ -11,11 +11,13 @@ angular.module('copayApp.services').factory('txpModalService', function(configSe
|
|||
|
||||
|
||||
root.open = function(tx) {
|
||||
var wallet = tx.wallet ? tx.wallet : profileService.getWallet(tx.walletId);
|
||||
var config = configService.getSync().wallet;
|
||||
var scope = $rootScope.$new(true);
|
||||
scope.tx = tx;
|
||||
scope.wallet = tx.wallet;
|
||||
scope.copayers = tx.wallet ? tx.wallet.copayers : null;
|
||||
if (!scope.tx.toAddress) scope.tx.toAddress = tx.outputs[0].toAddress;
|
||||
scope.wallet = wallet;
|
||||
scope.copayers = wallet ? wallet.copayers : null;
|
||||
scope.isGlidera = glideraActive;
|
||||
scope.currentSpendUnconfirmed = config.spendUnconfirmed;
|
||||
// scope.tx.hasMultiplesOutputs = true; // Uncomment to test multiple outputs
|
||||
|
|
|
@ -502,6 +502,22 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim
|
|||
});
|
||||
};
|
||||
|
||||
root.getTxNote = function(wallet, txid, cb) {
|
||||
wallet.getTxNote({
|
||||
txid: txid
|
||||
}, function(err, note) {
|
||||
if (err || !note) return cb(true);
|
||||
return cb(null, note);
|
||||
});
|
||||
};
|
||||
|
||||
root.getTxp = function(wallet, txpid, cb) {
|
||||
wallet.getTx(txpid, function(err, txp) {
|
||||
if (err) return cb(err);
|
||||
return cb(null, txp);
|
||||
});
|
||||
};
|
||||
|
||||
root.getTx = function(wallet, txid, cb) {
|
||||
var tx;
|
||||
|
||||
|
|
Loading…
Reference in New Issue