@akveo/nga-auth
Version:
@akveo/nga-auth
67 lines • 5.98 kB
JavaScript
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);
};
/**
* @license
* Copyright Akveo. All Rights Reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*/
import { Component } from '@angular/core';
import { Router } from '@angular/router';
import { NgaUser } from '../../models/user';
import { NgaAuthService } from '../../services/auth.service';
import { NgaTokenService } from '../../services/token.service';
var NgaRegisterComponent = (function () {
function NgaRegisterComponent(service, tokenService, router) {
this.service = service;
this.tokenService = tokenService;
this.router = router;
this.redirectDelay = 1500;
this.submitted = false;
this.errors = [];
this.messages = [];
this.user = new NgaUser();
}
NgaRegisterComponent.prototype.register = function (provider) {
var _this = this;
this.errors = this.messages = [];
this.submitted = true;
this.service.register(provider, this.user).subscribe(function (result) {
_this.submitted = false;
if (result.isSuccess()) {
_this.messages = result.getMessages();
}
else {
_this.errors = result.getErrors();
}
var redirect = result.getRedirect();
if (redirect) {
setTimeout(function () {
return _this.router.navigateByUrl(redirect);
}, _this.redirectDelay);
}
});
};
NgaRegisterComponent.prototype.getConfigValue = function (provider, key) {
return this.service.getProvider(provider).getConfigValue(key);
};
return NgaRegisterComponent;
}());
NgaRegisterComponent = __decorate([
Component({
selector: 'nga-register',
styles: [""],
template: "\n <h2>Create new account</h2>\n <form (ngSubmit)=\"register('email')\" #registerForm=\"ngForm\">\n <div *ngIf=\"errors && errors.length > 0 && !submitted\" class=\"alert alert-danger\" role=\"alert\">\n <div><strong>Oh snap!</strong></div>\n <div *ngFor=\"let error of errors\">{{ error }}</div>\n </div>\n <div *ngIf=\"messages && messages.length > 0 && !submitted\" class=\"alert alert-success\" role=\"alert\">\n <div><strong>Hooray!</strong></div>\n <div *ngFor=\"let message of messages\">{{ message }}</div>\n </div>\n\n <label for=\"input-name\" class=\"sr-only\">Full name</label>\n <input name=\"fullName\" [(ngModel)]=\"user.fullName\" type=\"text\" id=\"input-name\"\n class=\"form-control form-control-lg first\" placeholder=\"Full name\"\n [required]=\"getConfigValue('email', 'validation.fullName.required')\"\n [minlength]=\"getConfigValue('email', 'validation.fullName.minLength')\"\n [maxlength]=\"getConfigValue('email', 'validation.fullName.maxLength')\"\n autofocus>\n\n <label for=\"input-email\" class=\"sr-only\">Email address</label>\n <input name=\"email\" [(ngModel)]=\"user.email\" type=\"email\" id=\"input-email\"\n class=\"form-control form-control-lg middle\" placeholder=\"Email address\"\n [required]=\"getConfigValue('email', 'validation.email.required')\">\n\n <label for=\"input-password\" class=\"sr-only\">Password</label>\n <input name=\"password\" [(ngModel)]=\"user.password\" type=\"password\" id=\"input-password\"\n class=\"form-control form-control-lg middle\" placeholder=\"Password\"\n [required]=\"getConfigValue('email', 'validation.password.required')\"\n [minlength]=\"getConfigValue('email', 'validation.password.minLength')\"\n [maxlength]=\"getConfigValue('email', 'validation.password.maxLength')\">\n\n <label for=\"input-re-password\" class=\"sr-only\">Repeat password</label>\n <input name=\"confirmPassword\" [(ngModel)]=\"user.confirmPassword\" type=\"password\" id=\"input-re-password\"\n class=\"form-control form-control-lg last\" placeholder=\"Confirm Password\"\n [required]=\"getConfigValue('email', 'validation.password.required')\"\n [minlength]=\"getConfigValue('email', 'validation.password.minLength')\"\n [maxlength]=\"getConfigValue('email', 'validation.password.maxLength')\">\n\n <div class=\"checkbox\" *ngIf=\"getConfigValue('email', 'register.terms')\">\n <label>\n <input name=\"rememberMe\" [(ngModel)]=\"user.terms\"\n type=\"checkbox\" value=\"remember-me\"> Agree to <a href=\"#\" target=\"_blank\">Terms & Conditions</a>\n </label>\n </div>\n <button [disabled]=\"submitted || !registerForm.form.valid\"\n class=\"btn btn-lg btn-primary btn-block\" type=\"submit\">Register</button>\n </form>\n\n <div class=\"links\">\n Already have an account? <a routerLink=\"../login\">Sign in</a>\n </div>\n ",
}),
__metadata("design:paramtypes", [NgaAuthService,
NgaTokenService,
Router])
], NgaRegisterComponent);
export { NgaRegisterComponent };
//# sourceMappingURL=register.component.js.map