Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import {Component, EventEmitter, HostListener, Input, OnChanges, OnInit, Output} from '@angular/core';
- import {TransportService} from '../../services/transport.service';
- import {LoggerService} from '../../services/logger.service';
- import {ActivatedRoute, Router} from '@angular/router';
- import {GlobalVarsService} from '../../services/global-vars.service';
- import {FormControl, Validators} from '@angular/forms';
- import {EventService} from '../../services/event.service';
- const EMAIL_REGEX = /[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])/;
- const TEL_REGEX = /\b\d{3}[-.]?\d{3}[-.]?\d{4}\b/;
- const statuses = {
- 0: 'offline',
- 1: 'online',
- 2: 'mobile',
- 3: 'donotdisturb'
- };
- @Component({
- selector: 'app-login-page',
- templateUrl: './login-page.component.html',
- styleUrls: ['./login-page.component.scss']
- })
- export class LoginPageComponent implements OnInit, OnChanges {
- name: string;
- pass: string;
- error: boolean = false;
- errorMsg: string;
- authUser: any;
- authUserInPrm: any;
- connection: any;
- viewPwd: boolean = false;
- viewInfo: boolean = false;
- @Input() login: boolean;
- @Output() loginChange = new EventEmitter();
- emailFormControl = new FormControl('', [
- Validators.required,
- Validators.pattern(EMAIL_REGEX)
- ]);
- constructor(private transportService: TransportService,
- private logger: LoggerService,
- private eventService: EventService,
- private router: Router,
- private _gv: GlobalVarsService,
- private route: ActivatedRoute) {
- this.route.params.subscribe(data => {
- if (data.key) {
- this.authUserInPrm = this.transportService.getAuthUserInParam(data.key);
- this.authUserInPrm.subscribe(
- result => this.responseLogin(result.json()),
- error => this.errorLogin(error)
- )
- }
- });
- }
- ngOnChanges(changes) {
- if (changes.login!= null){
- this.logger.l(changes.login);
- }
- }
- @HostListener('window:keyup', ['$event']) pressEnter(event: KeyboardEvent) {
- if (event.keyCode === 13) {
- this.sendData(this.name, this.pass);
- }
- }
- sendData(a,b){
- this.logger.l(a);
- this.logger.l(b);
- if(a != undefined && b != undefined){
- this.authUser = this.transportService.getAuthUser(a,b);
- this.authUser.subscribe(
- result => this.responseLogin(result.json()),
- error => this.errorLogin(error)
- )
- }
- }
- cancelData(){
- this.name = undefined;
- this.pass = undefined;
- this.error = false;
- }
- errorLogin(dt){
- this.logger.w(dt);
- this.errorMsg = "Ошибка";
- switch (dt.status) {
- case 404:
- this.logger.w('404');
- this.errorMsg = "Пользователь не найден";
- break;
- case 500:
- this.logger.w('500');
- this.errorMsg = "Сервер не доступен";
- break;
- default:
- // code...
- break;
- }
- this.error = true;
- }
- responseLogin(dt){
- this.error = false;
- this.logger.w(dt);
- if(dt.sid == undefined){
- this.error = true;
- this.errorMsg = dt.err_str;
- this.login = false;
- this.loginChange.emit(this.login);
- } else {
- this.error = false;
- dt.user.status = statuses[dt.user.status];
- this._gv.setCurrentUser(dt);
- this.login = true;
- this.loginChange.emit(this.login);
- this.router.navigate(['dashboard/home']);
- }
- }
- ngOnInit() {
- }
- }
Add Comment
Please, Sign In to add comment