Merge pull request #5706 from gabrielbazan7/fix/swipeios

Fix swipe back on ios
This commit is contained in:
Gustavo Maximiliano Cortez 2017-03-03 11:45:21 -03:00 committed by GitHub
commit 162357835c
15 changed files with 93 additions and 33 deletions

View file

@ -7,7 +7,14 @@ angular.module('copayApp.controllers').controller('confirmController', function(
var countDown = null;
var cachedSendMax = {};
$scope.isCordova = platformInfo.isCordova;
$ionicConfig.views.swipeBackEnabled(false);
$scope.$on("$ionicView.beforeLeave", function(event, data) {
$ionicConfig.views.swipeBackEnabled(true);
});
$scope.$on("$ionicView.enter", function(event, data) {
$ionicConfig.views.swipeBackEnabled(false);
});
$scope.$on("$ionicView.beforeEnter", function(event, data) {

View file

@ -46,6 +46,15 @@ angular.module('copayApp.controllers').controller('completeController', function
});
};
$scope.$on("$ionicView.beforeLeave", function() {
$ionicConfig.views.swipeBackEnabled(true);
});
$scope.$on("$ionicView.enter", function() {
if (!$scope.fromSettings)
$ionicConfig.views.swipeBackEnabled(false);
});
$scope.$on("$ionicView.beforeEnter", function(event, data) {
$scope.score = (data.stateParams && data.stateParams.score) ? parseInt(data.stateParams.score) : null;
$scope.skipped = (data.stateParams && data.stateParams.skipped) ? true : false;
@ -53,11 +62,9 @@ angular.module('copayApp.controllers').controller('completeController', function
$scope.fromSettings = (data.stateParams && data.stateParams.fromSettings) ? true : false;
if (!$scope.fromSettings) {
$ionicConfig.views.swipeBackEnabled(false);
$ionicNavBarDelegate.showBackButton(false);
} else {
$ionicNavBarDelegate.showBackButton(true);
$ionicConfig.views.swipeBackEnabled(true);
}
storageService.getFeedbackInfo(function(error, info) {

View file

@ -41,15 +41,20 @@ angular.module('copayApp.controllers').controller('sendController', function($sc
if (goHome) $state.go('tabs.home');
};
$scope.$on("$ionicView.beforeLeave", function(event, data) {
$ionicConfig.views.swipeBackEnabled(true);
});
$scope.$on("$ionicView.enter", function(event, data) {
if ($scope.score)
$ionicConfig.views.swipeBackEnabled(false);
});
$scope.$on("$ionicView.beforeEnter", function(event, data) {
$scope.isCordova = platformInfo.isCordova;
$scope.score = (data.stateParams && data.stateParams.score) ? parseInt(data.stateParams.score) : null;
$scope.feedback = {};
if ($scope.score) {
$ionicConfig.views.swipeBackEnabled(false);
}
switch ($scope.score) {
case 1:
$scope.reaction = "Ouch!";

View file

@ -2,9 +2,16 @@
angular.module('copayApp.controllers').controller('backupRequestController', function($scope, $state, $stateParams, $ionicConfig, popupService, gettextCatalog) {
$ionicConfig.views.swipeBackEnabled(false);
$scope.walletId = $stateParams.walletId;
$scope.$on("$ionicView.enter", function() {
$ionicConfig.views.swipeBackEnabled(false);
});
$scope.$on("$ionicView.beforeLeave", function() {
$ionicConfig.views.swipeBackEnabled(true);
});
$scope.openPopup = function() {
var title = gettextCatalog.getString('Watch out!');

View file

@ -2,7 +2,14 @@
angular.module('copayApp.controllers').controller('collectEmailController', function($scope, $state, $timeout, $stateParams, $ionicConfig, profileService, configService, walletService, platformInfo) {
$ionicConfig.views.swipeBackEnabled(false);
$scope.$on("$ionicView.beforeLeave", function() {
$ionicConfig.views.swipeBackEnabled(true);
});
$scope.$on("$ionicView.enter", function() {
$ionicConfig.views.swipeBackEnabled(false);
});
var isCordova = platformInfo.isCordova;
var isWP = platformInfo.isWP;
var usePushNotifications = isCordova && !isWP;
@ -34,8 +41,7 @@ angular.module('copayApp.controllers').controller('collectEmailController', func
$state.go('onboarding.backupRequest', {
walletId: walletId
});
}
else if (requiresOptIn) {
} else if (requiresOptIn) {
$state.go('onboarding.notifications', {
walletId: walletId
});

View file

@ -1,6 +1,6 @@
'use strict';
angular.module('copayApp.controllers').controller('disclaimerController', function($scope, $timeout, $state, $log, $ionicModal, profileService, uxLanguage, externalLinkService, storageService, $stateParams, startupService, $rootScope) {
angular.module('copayApp.controllers').controller('disclaimerController', function($scope, $timeout, $state, $log, $ionicModal, $ionicConfig, profileService, uxLanguage, externalLinkService, storageService, $stateParams, startupService, $rootScope) {
$scope.$on("$ionicView.afterEnter", function() {
startupService.ready();
@ -11,11 +11,19 @@ angular.module('copayApp.controllers').controller('disclaimerController', functi
$scope.terms = {};
$scope.accepted = {};
$scope.accepted.first = $scope.accepted.second = $scope.accepted.third = false;
$scope.backedUp = $stateParams.backedUp;
$scope.resume = $stateParams.resume;
$scope.backedUp = $stateParams.backedUp == 'false' ? false : true;
$scope.resume = $stateParams.resume || false;
$scope.shrinkView = false;
});
$scope.$on("$ionicView.enter", function() {
if ($scope.backedUp || $scope.resume) $ionicConfig.views.swipeBackEnabled(false);
});
$scope.$on("$ionicView.beforeLeave", function() {
$ionicConfig.views.swipeBackEnabled(true);
});
$scope.confirm = function() {
profileService.setDisclaimerAccepted(function(err) {
if (err) $log.error(err);

View file

@ -2,7 +2,14 @@
angular.module('copayApp.controllers').controller('notificationsController', function($scope, $state, $timeout, $stateParams, $ionicConfig, profileService, configService, $interval) {
$ionicConfig.views.swipeBackEnabled(false);
$scope.$on("$ionicView.enter", function() {
$ionicConfig.views.swipeBackEnabled(false);
});
$scope.$on("$ionicView.beforeLeave", function() {
$ionicConfig.views.swipeBackEnabled(true);
});
$scope.walletId = $stateParams.walletId;
$scope.allowNotif = function() {

View file

@ -2,12 +2,18 @@
angular.module('copayApp.controllers').controller('welcomeController', function($scope, $state, $timeout, $ionicConfig, $log, profileService, startupService, storageService) {
$ionicConfig.views.swipeBackEnabled(false);
$scope.$parent.$on("$ionicView.afterEnter", function() {
$scope.$on("$ionicView.afterEnter", function() {
startupService.ready();
});
$scope.$on("$ionicView.enter", function() {
$ionicConfig.views.swipeBackEnabled(false);
});
$scope.$on("$ionicView.beforeLeave", function() {
$ionicConfig.views.swipeBackEnabled(true);
});
$scope.createProfile = function() {
$log.debug('Creating profile');
profileService.createProfile(function(err) {

View file

@ -699,7 +699,8 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
url: '/welcome',
views: {
'onboarding': {
templateUrl: 'views/onboarding/welcome.html'
templateUrl: 'views/onboarding/welcome.html',
controller: 'welcomeController'
}
}
})
@ -707,7 +708,8 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
url: '/tour',
views: {
'onboarding': {
templateUrl: 'views/onboarding/tour.html'
templateUrl: 'views/onboarding/tour.html',
controller: 'tourController'
}
}
})
@ -715,7 +717,8 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
url: '/collectEmail/:walletId',
views: {
'onboarding': {
templateUrl: 'views/onboarding/collectEmail.html'
templateUrl: 'views/onboarding/collectEmail.html',
controller: 'collectEmailController'
}
}
})
@ -723,7 +726,8 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
url: '/notifications/:walletId',
views: {
'onboarding': {
templateUrl: 'views/onboarding/notifications.html'
templateUrl: 'views/onboarding/notifications.html',
controller: 'notificationsController'
}
}
})
@ -731,7 +735,8 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
url: '/backupRequest/:walletId',
views: {
'onboarding': {
templateUrl: 'views/onboarding/backupRequest.html'
templateUrl: 'views/onboarding/backupRequest.html',
controller: 'backupRequestController'
}
}
})
@ -739,7 +744,8 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
url: '/backupWarning/:from/:walletId',
views: {
'onboarding': {
templateUrl: 'views/backupWarning.html'
templateUrl: 'views/backupWarning.html',
controller: 'backupWarningController'
}
}
})
@ -765,7 +771,8 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
url: '/terms',
views: {
'onboarding': {
templateUrl: 'views/onboarding/terms.html'
templateUrl: 'views/onboarding/terms.html',
controller: 'termsController'
}
}
})

View file

@ -1,4 +1,4 @@
<ion-view id="backup-warning" class="onboarding" ng-controller="backupWarningController" hide-tabs>
<ion-view id="backup-warning" class="onboarding" hide-tabs>
<ion-nav-bar>
<ion-nav-buttons side="primary">
<button class="button button-back button-clear" ng-click="goBack()">

View file

@ -1,5 +1,5 @@
<ion-view id="onboarding-backup-request" class="onboarding">
<ion-content ng-controller="backupRequestController" scroll="false">
<ion-content scroll="false">
<div id="warning">
<img class="svg" src="img/onboarding-warning.svg" id="alert-icon">
<div class="onboarding-topic" translate>No backup, no bitcoin.</div>

View file

@ -1,4 +1,4 @@
<ion-view ng-controller="collectEmailController" id="onboarding-collect-email" class="onboarding">
<ion-view id="onboarding-collect-email" class="onboarding">
<ion-content scroll="false">
<div id="success-container">
<img src="img/onboarding-success.svg" id="success-image" />

View file

@ -1,6 +1,6 @@
<ion-pane class="pane-onboarding">
<ion-view id="onboarding-disclaimer" class="onboarding" ng-class="{'shrink': shrinkView}">
<ion-nav-bar class="bar-stable" ng-if="backedUp == 'false'">
<ion-nav-bar class="bar-stable" ng-if="!backedUp">
<ion-nav-title></ion-nav-title>
<ion-nav-buttons side="primary">
<button class="button back-button button-clear" ng-click="goBack()">
@ -8,7 +8,7 @@
</button>
</ion-nav-buttons>
</ion-nav-bar>
<ion-content scroll="false" ng-class="{'has-header': backedUp == 'false'}">
<ion-content scroll="false" ng-class="{'has-header': !backedUp}">
<div id="onboarding-disclaimer-container">
<div ng-show="resume" class="onboarding-topic" id="disclaimer-topic" translate>Quick review!</div>
<div ng-show="!resume" class="onboarding-topic" id="disclaimer-topic" translate>Almost done! Let's review.</div>
@ -37,7 +37,7 @@
<div ng-include="'views/includes/terms.html'" direction="y"></div>
</div>
</div>
<div id="agree-to-terms" ng-if="accepted.first && accepted.second" ng-class="{'header-present': backedUp == 'false'}">
<div id="agree-to-terms" ng-if="accepted.first && accepted.second" ng-class="{'header-present': !backedUp}">
<div id="agree-to-terms-content" class="center-block">
<ion-checkbox ng-model="terms.accepted"></ion-checkbox>
<p translate>I have read, understood, and agree to the <a ng-click="openTerms()" translate>Terms of Use</a>.</p>

View file

@ -1,5 +1,5 @@
<ion-view class="onboarding" id="onboarding-push-notifications">
<ion-content ng-controller="notificationsController" scroll="false">
<ion-content scroll="false">
<div class="onboarding-topic" id="notifications-topic" translate>Push Notifications</div>
<div class="onboarding-description" translate>Would you like to receive push notifications about payments?</div>
<div class="onboarding-illustration-notifications"></div>

View file

@ -1,4 +1,4 @@
<ion-view ng-controller="tourController" class="onboarding" id="onboarding-tour">
<ion-view class="onboarding" id="onboarding-tour">
<ion-nav-bar>
<ion-nav-title></ion-nav-title>
<ion-nav-buttons side="primary">