wire slide to accept component to proposal accept screen
This commit is contained in:
parent
324088b5db
commit
82ad31724b
4 changed files with 58 additions and 13 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('txpDetailsController', function($scope, $rootScope, $timeout, $interval, $ionicModal, ongoingProcess, platformInfo, $ionicScrollDelegate, txFormatService, fingerprintService, bwcError, gettextCatalog, lodash, walletService, popupService) {
|
angular.module('copayApp.controllers').controller('txpDetailsController', function($scope, $rootScope, $timeout, $interval, $ionicModal, ongoingProcess, platformInfo, $ionicScrollDelegate, txFormatService, fingerprintService, bwcError, gettextCatalog, lodash, walletService, popupService, $state, $ionicHistory) {
|
||||||
var self = $scope.self;
|
var self = $scope.self;
|
||||||
var tx = $scope.tx;
|
var tx = $scope.tx;
|
||||||
var copayers = $scope.copayers;
|
var copayers = $scope.copayers;
|
||||||
|
|
@ -17,7 +17,7 @@ angular.module('copayApp.controllers').controller('txpDetailsController', functi
|
||||||
$scope.canSign = $scope.wallet.canSign() || $scope.wallet.isPrivKeyExternal();
|
$scope.canSign = $scope.wallet.canSign() || $scope.wallet.isPrivKeyExternal();
|
||||||
$scope.color = $scope.wallet.color;
|
$scope.color = $scope.wallet.color;
|
||||||
$scope.data = {};
|
$scope.data = {};
|
||||||
|
$scope.hasClick = platformInfo.hasClick;
|
||||||
initActionList();
|
initActionList();
|
||||||
checkPaypro();
|
checkPaypro();
|
||||||
}
|
}
|
||||||
|
|
@ -66,17 +66,18 @@ angular.module('copayApp.controllers').controller('txpDetailsController', functi
|
||||||
}
|
}
|
||||||
|
|
||||||
var setSendError = function(msg) {
|
var setSendError = function(msg) {
|
||||||
|
$scope.sendStatus = '';
|
||||||
var error = msg || gettextCatalog.getString('Could not send payment');
|
var error = msg || gettextCatalog.getString('Could not send payment');
|
||||||
popupService.showAlert(gettextCatalog.getString('Error'), error);
|
popupService.showAlert(gettextCatalog.getString('Error'), error);
|
||||||
}
|
}
|
||||||
|
|
||||||
$scope.sign = function() {
|
$scope.sign = function(onSendStatusChange) {
|
||||||
$scope.loading = true;
|
$scope.loading = true;
|
||||||
walletService.publishAndSign($scope.wallet, $scope.tx, function(err, txp) {
|
walletService.publishAndSign($scope.wallet, $scope.tx, function(err, txp) {
|
||||||
$scope.$emit('UpdateTx');
|
$scope.$emit('UpdateTx');
|
||||||
if (err) return setSendError(err);
|
if (err) return setSendError(err);
|
||||||
$scope.close();
|
success();
|
||||||
});
|
}, onSendStatusChange);
|
||||||
};
|
};
|
||||||
|
|
||||||
function setError(err, prefix) {
|
function setError(err, prefix) {
|
||||||
|
|
@ -213,6 +214,32 @@ angular.module('copayApp.controllers').controller('txpDetailsController', functi
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function statusChangeHandler(processName, showName, isOn) {
|
||||||
|
console.log('in statusChangeHandler', processName, showName, isOn);
|
||||||
|
console.log('$scope.wallet', $scope.wallet);
|
||||||
|
if(showName) {
|
||||||
|
$scope.sendStatus = showName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function success() {
|
||||||
|
$scope.sendStatus = 'success';
|
||||||
|
$scope.$digest();
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.statusChangeHandler = statusChangeHandler;
|
||||||
|
|
||||||
|
$scope.onConfirm = function() {
|
||||||
|
$scope.sign(statusChangeHandler);
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.onSuccessConfirm = function() {
|
||||||
|
$ionicHistory.nextViewOptions({
|
||||||
|
disableAnimate: true
|
||||||
|
});
|
||||||
|
$scope.close();
|
||||||
|
};
|
||||||
|
|
||||||
$scope.close = function() {
|
$scope.close = function() {
|
||||||
$scope.loading = null;
|
$scope.loading = null;
|
||||||
$scope.txpDetailsModal.hide();
|
$scope.txpDetailsModal.hide();
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,8 @@ angular.module('copayApp.directives')
|
||||||
transclude: true,
|
transclude: true,
|
||||||
scope: {
|
scope: {
|
||||||
isShown: '=slideSuccessShow',
|
isShown: '=slideSuccessShow',
|
||||||
onConfirm: '&slideSuccessOnConfirm'
|
onConfirm: '&slideSuccessOnConfirm',
|
||||||
|
hideOnConfirm: '=slideSuccessHideOnConfirm'
|
||||||
},
|
},
|
||||||
link: function(scope, element, attrs) {
|
link: function(scope, element, attrs) {
|
||||||
var elm = element[0];
|
var elm = element[0];
|
||||||
|
|
@ -23,8 +24,10 @@ angular.module('copayApp.directives')
|
||||||
});
|
});
|
||||||
scope.onConfirmButtonClick = function() {
|
scope.onConfirmButtonClick = function() {
|
||||||
scope.onConfirm();
|
scope.onConfirm();
|
||||||
scope.fillScreen = false;
|
if(scope.hideOnConfirm) {
|
||||||
elm.style.display = 'none';
|
scope.fillScreen = false;
|
||||||
|
elm.style.display = 'none';
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,7 @@
|
||||||
<slide-to-accept-success
|
<slide-to-accept-success
|
||||||
slide-success-show="sendStatus === 'success'"
|
slide-success-show="sendStatus === 'success'"
|
||||||
slide-success-on-confirm="onSuccessConfirm()"
|
slide-success-on-confirm="onSuccessConfirm()"
|
||||||
|
slide-success-hide-on-confirm="true"
|
||||||
>
|
>
|
||||||
<span ng-hide="wallet.m > 1">Payment Sent</span>
|
<span ng-hide="wallet.m > 1">Payment Sent</span>
|
||||||
<span ng-show="wallet.m > 1">Proposal Created</span>
|
<span ng-show="wallet.m > 1">Proposal Created</span>
|
||||||
|
|
|
||||||
|
|
@ -149,11 +149,13 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button class="button button-block button-positive"
|
|
||||||
ng-click="sign()"
|
<click-to-accept
|
||||||
ng-if="tx.pendingForUs && canSign && !loading && !paymentExpired && !isCordova" translate>
|
ng-click="onConfirm(statusChangeHandler)"
|
||||||
|
ng-if="tx.pendingForUs && canSign && !paymentExpired && hasClick"
|
||||||
|
click-send-status="sendStatus">
|
||||||
Click to accept
|
Click to accept
|
||||||
</button>
|
</click-to-accept>
|
||||||
<div class="m30t text-center" ng-if="tx.canBeRemoved || (tx.status == 'accepted' && !tx.broadcastedOn)">
|
<div class="m30t text-center" ng-if="tx.canBeRemoved || (tx.status == 'accepted' && !tx.broadcastedOn)">
|
||||||
<div class="size-12 padding" ng-show="!tx.isGlidera && isShared" translate>
|
<div class="size-12 padding" ng-show="!tx.isGlidera && isShared" translate>
|
||||||
* A payment proposal can be deleted if 1) you are the creator, and no other copayer has signed, or 2) 24 hours have passed since the proposal was created.
|
* A payment proposal can be deleted if 1) you are the creator, and no other copayer has signed, or 2) 24 hours have passed since the proposal was created.
|
||||||
|
|
@ -164,5 +166,17 @@
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</ion-content>
|
</ion-content>
|
||||||
<accept class="accept-slide" ng-if="tx.pendingForUs && canSign && !loading && !paymentExpired && isCordova"></accept>
|
|
||||||
|
<slide-to-accept
|
||||||
|
ng-if="tx.pendingForUs && canSign && !paymentExpired && !hasClick"
|
||||||
|
slide-on-confirm="onConfirm()"
|
||||||
|
slide-send-status="sendStatus">
|
||||||
|
Slide to accept
|
||||||
|
</slide-to-accept>
|
||||||
|
<slide-to-accept-success
|
||||||
|
slide-success-show="sendStatus === 'success'"
|
||||||
|
slide-success-on-confirm="onSuccessConfirm()"
|
||||||
|
>
|
||||||
|
Payment Sent
|
||||||
|
</slide-to-accept-success>
|
||||||
</ion-modal-view>
|
</ion-modal-view>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue