pulseauthenticate
Version:
Common Authentication library for pulse angular apps
97 lines (95 loc) • 11.5 kB
JavaScript
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular/core");
var router_1 = require("@angular/router");
var alert_service_1 = require("../services/alert.service");
var authentication_service_1 = require("../services/authentication.service");
var LoginComponent = (function () {
function LoginComponent(route, router, authenticationService, alertService) {
this.route = route;
this.router = router;
this.authenticationService = authenticationService;
this.alertService = alertService;
this.model = {};
this.loading = false;
this.showLoginPage = true;
this.projectName = 'Pulse';
}
LoginComponent.prototype.ngOnInit = function () {
this.authenticationService.logout();
this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';
var url = decodeURIComponent(window.location.href);
var project = url.split('?returnUrl=')[1];
if (typeof project == 'undefined' || project.length < 1 || project == '/' || project == '') {
this.projectName = 'Pulse';
}
else {
var result = project.replace('/', '').replace(/([A-Z])/g, " $1");
var finalResult = result.charAt(0).toUpperCase() + result.slice(1);
this.projectName = finalResult;
}
};
LoginComponent.prototype.login = function () {
var _this = this;
this.loading = true;
this.authenticationService.login(this.model.username, this.model.password)
.subscribe(function (data) {
if (data && data.success) {
_this.router.navigate([_this.returnUrl]);
}
else {
_this.alertService.error(data.errorMessage);
_this.loading = false;
}
}, function (error) {
console.log(error);
_this.alertService.error("Invalid Username / password");
_this.loading = false;
});
};
LoginComponent.prototype.showForgotPassword = function () {
this.showLoginPage = false;
};
LoginComponent.prototype.forgotPassword = function () {
var _this = this;
this.loading = true;
this.authenticationService.forgotPassword(this.model.username)
.subscribe(function (data) {
if (data && data.success) {
_this.alertService.success(data.errorMessage);
}
else {
_this.alertService.error(data.errorMessage);
_this.loading = false;
}
}, function (error) {
console.log(error);
_this.alertService.error("Invalid Email");
_this.loading = false;
});
};
LoginComponent.prototype.cancelForgotPassword = function () {
this.showLoginPage = true;
};
return LoginComponent;
}());
LoginComponent = __decorate([
core_1.Component({
template: "\n <div class=\"btsPulse-login__container container-fluid\">\n <div class=\"btsPulse-login__row row\">\n <div class=\"btsPulse-login__header dd-brandBg-primary col-lg-5 col-md-5\">\n <div class=\"btsPulse-login__headerCont\">\n <span class=\"btsPulse-login__headerTitle dd-brandBorder-secondary\">{{projectName}}</span>\n <div class=\"btsPulse-login__headerLogo\">\n <img src=\"./assets/images/bts_logo1.png\" />\n </div>\n </div>\n </div>\n <div class=\"btsPulse-login__details col-lg-7 col-md-7\">\n <div class=\"btsPulse-login__detailsCont container-fluid\">\n <div class=\"btsPulse-login__content\" *ngIf=\"showLoginPage\">\n <div class=\"btsPulse-login__title\">Welcome !</div>\n <!--<div class=\"alert alert-danger\" role=\"alert\">\n <button type=\"button\" class=\"close\" data-dismiss=\"alert\" aria-label=\"Close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n <strong>Warning !</strong> Incorrect login details.\n </div>-->\n <form name=\"form\" (ngSubmit)=\"f.form.valid && login()\" #f=\"ngForm\" novalidate>\n <div class=\"form-group btsPulse-login__inputWrapper\" [ngClass]=\"{ 'has-error': f.submitted && !username.valid }\">\n <!--<label for=\"username\">Username</label>-->\n <span class=\"btsPulse-login__usernameIcon\"><i class=\"icon user-01\"></i></span>\n <input type=\"text\" class=\"form-control btsPulse-login__inputField\" name=\"username\" placeholder=\"Username\" [(ngModel)]=\"model.username\" #username=\"ngModel\" required />\n <div *ngIf=\"f.submitted && !username.valid\" class=\"help-block\">Username is required</div>\n </div>\n \n \n <div class=\"form-group btsPulse-login__inputWrapper\" [ngClass]=\"{ 'has-error': f.submitted && !password.valid }\">\n <!--<label for=\"password\">Password</label>-->\n <span class=\"btsPulse-login__passwordIcon\"><i class=\"icon lock-01\"></i></span>\n <input type=\"password\" class=\"form-control btsPulse-login__inputField\" name=\"password\" placeholder=\"Password\" [(ngModel)]=\"model.password\" #password=\"ngModel\" required />\n <div *ngIf=\"f.submitted && !password.valid\" class=\"help-block\">Password is required</div>\n </div>\n \n <button [disabled]=\"loading\" class=\"btn btn-primary btsPulse-login__button dd-brandBg-secondary\"><i class=\"icon login-01\"></i>Login</button>\n <!--<img *ngIf=\"loading\" src=\"data:image/gif;base64,R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQJCgAAACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkECQoAAAAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkECQoAAAAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkECQoAAAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQJCgAAACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAkKAAAALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA==\" />-->\n \n <div class=\"form group btsPulse-login__forgotPassword\">\n <a (click)=\"showForgotPassword()\">Forgot Password?</a>\n </div>\n </form>\n </div>\n <div class=\"btsPulse-forgotPassword__content\" *ngIf=\"!showLoginPage\">\n <div class=\"btsPulse-forgotPassword__title\">Forgot Password !</div>\n <form name=\"form\" (ngSubmit)=\"f.form.valid && forgotPassword()\" #f=\"ngForm\" novalidate>\n <div class=\"btsPulse-forgotPassword__textCont\">If you have forgotten your password, simply enter your email address below, and click \"Reset password\". You will then receive an email with instructions about how to choose a new password.</div>\n <div class=\"form-group btsPulse-forgotPassword__emailText\" [ngClass]=\"{ 'has-error': f.submitted && !username.valid }\">\n <span class=\"btsPulse-forgotPassword__emailIcon\"><i class=\"icon email-01\"></i></span>\n <input type=\"text\" class=\"form-control btsPulse-email__inputField\" placeholder=\"Enter Email Id\" name=\"username\" [(ngModel)]=\"model.username\" #username=\"ngModel\" required />\n <div *ngIf=\"f.submitted && !username.valid\" class=\"help-block\">Email is required</div>\n </div>\n <div class=\"form-group\">\n <button (click)=\"cancelForgotPassword()\" class=\"btn btn-primary btsPulse-email__cancelButton dd-brandBg-secondary\"><i class=\"icon cancel-01\"></i>Cancel</button>\n <button [disabled]=\"loading\" (click)=\"forgotPassword()\" class=\"btn btn-primary btsPulse-email__resetButton dd-brandBg-secondary\"><i class=\"icon reset-01\"></i>Reset</button>\n <img *ngIf=\"loading\" src=\"data:image/gif;base64,R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQJCgAAACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkECQoAAAAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkECQoAAAAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkECQoAAAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQJCgAAACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAkKAAAALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA==\" />\n </div>\n </form>\n </div>\n </div>\n </div>\n </div>\n </div>\n ",
}),
__metadata("design:paramtypes", [router_1.ActivatedRoute,
router_1.Router,
authentication_service_1.AuthenticationService,
alert_service_1.AlertService])
], LoginComponent);
exports.LoginComponent = LoginComponent;
//# sourceMappingURL=login.component.js.map