Merge pull request #224 from JDonadio/fix/comment-tpx

Add description
This commit is contained in:
Matias Alejo Garcia 2016-08-24 17:07:12 -03:00 committed by GitHub
commit a556f36f4c
3 changed files with 49 additions and 28 deletions

View File

@ -23,7 +23,7 @@
</div>
<div class="list card">
<div class="item">Fee: {{feeLevel}}
<div class="item">Fee: {{feeLevel}}
<span class="item-note">
{{fee || '...'}}
</span>
@ -49,7 +49,7 @@
<ul class="pr">
<li ng-show="wallets[0]" class="item item-icon-left">
<i class="icon ion-briefcase size-21" ng-style="{'color':item.color}"></i>
{{item.name || item.id}}
{{item.name || item.id}}
<span class="item-note" ng-show="item.isComplete()">
{{item.availableBalanceStr}}
</span>
@ -61,9 +61,11 @@
</div>
<div class="item item-icon-right">
Add Description (not yet working...)
<i class="icon ion-ios-arrow-right size-21"></i>
<div class="item item-icon-left item-icon-right" ng-click="showDescriptionPopup()">
<span ng-show="!description">Add Description</span>
<span ng-show="description">{{description}}</span>
<i class="icon ion-ios-chatbubble-outline size-21"></i>
<i class="icon ion-ios-plus-empty size-21"></i>
</div>
</div>

View File

@ -1,15 +1,11 @@
<div class="columns m20t">
<label class="size-14 text-center">
<span ng-show="!comment" translate>Add comment</span>
<span ng-show="comment" translate>Edit comment</span>
</label>
<div class="padding">
<input type="text" ng-model="data.comment" autofocus>
</div>
<div class="row m20t dib">
<div class="half-row left">
<button class="round outline dark-gray expand" ng-click="commentPopupClose()" translate>Cancel</button>
<div class="row">
<div class="col">
<button class="button button-dark button-block" ng-click="commentPopupClose()" translate>Cancel</button>
</div>
<div class="half-row left">
<button ng-style="{'background-color': index.backgroundColor}" class="round outline expand" ng-click="commentPopupSave()" translate>Save</button>
<div class="col">
<button class="button button-dark button-block" ng-click="commentPopupSave()" translate>Save</button>
</div>
</div>

View File

@ -1,12 +1,12 @@
'use strict';
angular.module('copayApp.controllers').controller('confirmController', function($rootScope, $scope, $filter, $timeout, $ionicScrollDelegate, walletService, platformInfo, lodash, configService, rateService, $stateParams, $window, $state, $log, profileService, bitcore, $ionicPopup, txStatus, gettext, txFormatService) {
angular.module('copayApp.controllers').controller('confirmController', function($rootScope, $scope, $filter, $timeout, $ionicScrollDelegate, gettextCatalog, walletService, platformInfo, lodash, configService, rateService, $stateParams, $window, $state, $log, profileService, bitcore, $ionicPopup, txStatus, gettext, txFormatService) {
var cachedTxp = {};
// An alert dialog
var showAlert = function(title, msg, cb) {
$log.warn(title + ":" + msg);
$log.warn(title + ": " + msg);
var alertPopup = $ionicPopup.alert({
title: title,
template: msg
@ -17,6 +17,29 @@ angular.module('copayApp.controllers').controller('confirmController', function(
alertPopup.then(cb);
};
$scope.showDescriptionPopup = function() {
var commentPopup = $ionicPopup.show({
templateUrl: "views/includes/note.html",
title: gettextCatalog.getString('Set description'),
scope: $scope,
});
$scope.commentPopupClose = function() {
commentPopup.close();
};
$scope.commentPopupSave = function() {
$log.debug('Saving description: ' + $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();
};
};
$scope.init = function() {
// TODO (URL , etc)
@ -67,17 +90,11 @@ angular.module('copayApp.controllers').controller('confirmController', function(
stop = null;
}
function apply(txp) {
$scope.fee = txFormatService.formatAmountStr(txp.fee);
$scope.txp = txp;
$scope.$apply();
};
if (cachedTxp[wallet.id]) {
apply(cachedTxp[wallet.id]);
} else {
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;
cachedTxp[wallet.id] = txp;
apply(txp);
@ -106,7 +123,13 @@ angular.module('copayApp.controllers').controller('confirmController', function(
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;
//
@ -117,7 +140,7 @@ angular.module('copayApp.controllers').controller('confirmController', function(
var paypro = $scope.paypro;
// 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';
$log.warn(msg);
return setSendError(gettext(msg));
@ -132,7 +155,7 @@ angular.module('copayApp.controllers').controller('confirmController', function(
outputs.push({
'toAddress': toAddress,
'amount': toAmount,
'message': comment
'message': description
});
var txp = {};
@ -145,7 +168,7 @@ angular.module('copayApp.controllers').controller('confirmController', function(
}
txp.outputs = outputs;
txp.message = comment;
txp.message = description;
txp.payProUrl = paypro ? paypro.url : null;
txp.excludeUnconfirmedUtxos = config.spendUnconfirmed ? false : true;
txp.feeLevel = config.settings.feeLevel || 'normal';