client-ui
Version:
Testing implementation of nodeJs Backend, angular frontend, and hopefully in a way that this can be deployed to s3/cloudfront
79 lines (69 loc) • 3.78 kB
JavaScript
(function () {
'use strict';
angular.module(moduleName).directive('navProgress', navProgress);
function navProgress() {
return {
templateUrl: 'nav-progress/nav-progress.html',
scope: {
currentLoan: '=',
clientData: '='
},
controller: ['$scope', '$state', 'loan', function ($scope, $state, loanService) {
$scope.init = function(){
$scope.$state = $state;
$scope.currentState = $state.$current.self.name;
$scope.loanExists = $scope.currentLoan && $scope.clientData;
if ($scope.loanExists){
$scope.isOfferAccepted = $scope.currentLoan.statusCode >= 300;
$scope.isEmailVerified = $scope.clientData.emailVerified;
$scope.isIncomeVerified = $scope.currentLoan.incomeSummary && $scope.currentLoan.incomeSummary.isVerified;
$scope.isBankAccountVerified = $scope.currentLoan.statusCode >= 400;
$scope.isIdentityVerified = false;
$scope.isVerificationDone = $scope.currentLoan.statusCode >= 400 && $scope.isEmailVerified && $scope.isIncomeVerified;
$scope.isAcceptedLoan = $scope.currentLoan.statusCode >= 500;
}
};
$scope.currentPersonalInfoStep = function () {
$scope.personalInfoStep = 'loanDashboard.myDashboard';
if (!$scope.loanExists) {
$scope.personalInfoStep = 'loanApplication.account-creation';
}
return $scope.personalInfoStep;
};
$scope.currentVerificationStep = function () {
if (!$scope.isEmailVerified) {
$scope.verificationStep = 'loanApplication.verify.emailAddress';
} else if (!$scope.clientData.KBAsAccepted) {
$scope.verificationStep = 'loanApplication.verify.knowledgeAssessment';
} else if (!$scope.isIncomeVerified) {
$scope.verificationStep = $scope.loanExists ? loanService.getNextIncomeSummaryStep() : 'loanApplication.verify.income.choose';
} else if (!$scope.isBankAccountVerified) {
$scope.verificationStep = 'loanApplication.verify.bank';
} else {
$scope.verificationStep = 'loanApplication.verify.complete';
}
return $scope.verificationStep;
};
$scope.currentRecieveMoneyStep = function () {
$scope.isReceiveMoneyStep = false;
if($scope.isVerificationDone && !$scope.isAcceptedLoan) {
var returnState;
switch($state.$current.self.name) {
case "loanApplication.loanAgreement":
$scope.isReceiveMoneyStep = true;
returnState = $state.$current.self.name;
break;
case "loanApplication.loanOverview":
$scope.isReceiveMoneyStep = true;
returnState = "loanApplication.loanAgreement"; break;
default:
returnState = "loanApplication.loanOverview"; break;
}
return returnState;
}
}
$scope.init();
}]
};
}
})();