fix comment (description) on send view

This commit is contained in:
Javier 2016-08-24 16:53:14 -03:00
commit dc7f55708e
3 changed files with 26 additions and 21 deletions

View file

@ -61,9 +61,9 @@
</div> </div>
<div class="item item-icon-left item-icon-right" ng-click="showCommentPopup()"> <div class="item item-icon-left item-icon-right" ng-click="showDescriptionPopup()">
<span ng-show="!comment">Add Description</span> <span ng-show="!description">Add Description</span>
<span ng-show="comment">{{comment}}</span> <span ng-show="description">{{description}}</span>
<i class="icon ion-ios-chatbubble-outline size-21"></i> <i class="icon ion-ios-chatbubble-outline size-21"></i>
<i class="icon ion-ios-plus-empty size-21"></i> <i class="icon ion-ios-plus-empty size-21"></i>
</div> </div>

View file

@ -8,4 +8,4 @@
<div class="col"> <div class="col">
<button class="button button-dark button-block" ng-click="commentPopupSave()" translate>Save</button> <button class="button button-dark button-block" ng-click="commentPopupSave()" translate>Save</button>
</div> </div>
</div> </div>

View file

@ -17,18 +17,25 @@ angular.module('copayApp.controllers').controller('confirmController', function(
alertPopup.then(cb); alertPopup.then(cb);
}; };
$scope.showCommentPopup = function() { $scope.showDescriptionPopup = function() {
var commentPopup = $ionicPopup.show({ var commentPopup = $ionicPopup.show({
templateUrl: "views/includes/note.html", templateUrl: "views/includes/note.html",
title: $scope.data.comment ? gettextCatalog.getString('Edit comment') : gettextCatalog.getString('Add comment'), title: gettextCatalog.getString('Set description'),
scope: $scope, scope: $scope,
}); });
$scope.commentPopupClose = function() { $scope.commentPopupClose = function() {
commentPopup.close(); commentPopup.close();
}; };
$scope.commentPopupSave = function() { $scope.commentPopupSave = function() {
$log.debug('Saving comment'); $log.debug('Saving description: ' + $scope.data.comment);
$scope.comment = $scope.data.comment; $scope.description = $scope.data.comment;
$scope.txp = null;
createTx($scope.wallet, $scope.toAddress, $scope.toAmount, $scope.data.comment, function(err, txp) {
if (err) return;
cachedTxp[$scope.wallet.id] = txp;
apply(txp);
});
commentPopup.close(); commentPopup.close();
}; };
}; };
@ -83,17 +90,11 @@ angular.module('copayApp.controllers').controller('confirmController', function(
stop = null; stop = null;
} }
function apply(txp) {
$scope.fee = txFormatService.formatAmountStr(txp.fee);
$scope.txp = txp;
$scope.$apply();
};
if (cachedTxp[wallet.id]) { if (cachedTxp[wallet.id]) {
apply(cachedTxp[wallet.id]); apply(cachedTxp[wallet.id]);
} else { } else {
stop = $timeout(function() { stop = $timeout(function() {
createTx(wallet, $scope.toAddress, $scope.toAmount, $scope.comment, function(err, txp) { createTx(wallet, $scope.toAddress, $scope.toAmount, $scope.description, function(err, txp) {
if (err) return; if (err) return;
cachedTxp[wallet.id] = txp; cachedTxp[wallet.id] = txp;
apply(txp); apply(txp);
@ -122,7 +123,13 @@ angular.module('copayApp.controllers').controller('confirmController', function(
showAlert(gettext('Error creating transaction'), msg); showAlert(gettext('Error creating transaction'), msg);
}; };
var createTx = function(wallet, toAddress, toAmount, comment, cb) { function apply(txp) {
$scope.fee = txFormatService.formatAmountStr(txp.fee);
$scope.txp = txp;
$scope.$apply();
};
var createTx = function(wallet, toAddress, toAmount, description, cb) {
var config = configService.getSync().wallet; var config = configService.getSync().wallet;
// //
@ -133,7 +140,7 @@ angular.module('copayApp.controllers').controller('confirmController', function(
var paypro = $scope.paypro; var paypro = $scope.paypro;
// ToDo: use a credential's (or fc's) function for this // ToDo: use a credential's (or fc's) function for this
if (comment && !wallet.credentials.sharedEncryptingKey) { if (description && !wallet.credentials.sharedEncryptingKey) {
var msg = 'Could not add message to imported wallet without shared encrypting key'; var msg = 'Could not add message to imported wallet without shared encrypting key';
$log.warn(msg); $log.warn(msg);
return setSendError(gettext(msg)); return setSendError(gettext(msg));
@ -148,7 +155,7 @@ angular.module('copayApp.controllers').controller('confirmController', function(
outputs.push({ outputs.push({
'toAddress': toAddress, 'toAddress': toAddress,
'amount': toAmount, 'amount': toAmount,
'message': comment 'message': description
}); });
var txp = {}; var txp = {};
@ -161,7 +168,7 @@ angular.module('copayApp.controllers').controller('confirmController', function(
} }
txp.outputs = outputs; txp.outputs = outputs;
txp.message = comment; txp.message = description;
txp.payProUrl = paypro ? paypro.url : null; txp.payProUrl = paypro ? paypro.url : null;
txp.excludeUnconfirmedUtxos = config.spendUnconfirmed ? false : true; txp.excludeUnconfirmedUtxos = config.spendUnconfirmed ? false : true;
txp.feeLevel = config.settings.feeLevel || 'normal'; txp.feeLevel = config.settings.feeLevel || 'normal';
@ -176,8 +183,6 @@ angular.module('copayApp.controllers').controller('confirmController', function(
$scope.approve = function() { $scope.approve = function() {
console.log($scope.comment);
return;
var wallet = $scope.wallet; var wallet = $scope.wallet;
var txp = $scope.txp; var txp = $scope.txp;
if (!wallet) { if (!wallet) {