86e21fb7d865e22be67e7392a8983710b3f98343
[eliot.git] / blueprints / common / eliot-ui / frontend-src / src / app / signup / signup.component.ts
1 import { Component, OnInit } from '@angular/core';
2 import { ToolbarService } from './../toolbar/toolbar.service';
3
4 import { Router, ActivatedRoute } from '@angular/router';
5 import { FormBuilder, FormGroup, Validators } from '@angular/forms';
6 import { UserService } from '../_services/user.service';
7 // import { ToastrService } from 'ngx-toastr';
8 import { AuthenticationService } from '../_services/authentication.service';
9
10 // import * as  particlesJS from 'particles.js';
11 // import {particlesJS} from 'particles.js';
12 // import 'particles.js/particles';
13 declare var particlesJS: any;
14
15
16
17 @Component({
18   selector: 'app-signup',
19   templateUrl: './signup.component.html',
20   styleUrls: ['./signup.component.scss']
21 })
22 export class SignupComponent implements OnInit {
23
24   // particlesJS: any;
25   // particlesJS = window.particlesJS;
26   
27   signupForm: FormGroup;
28   loading = false;
29   submitted = false;
30   returnUrl: string;
31   hide = true;
32   constructor(
33     public toolbarService: ToolbarService,
34     private formBuilder: FormBuilder,
35     private route: ActivatedRoute,
36     private router: Router,
37     private authenticationService: AuthenticationService,
38     private userService: UserService,
39     
40     // private toastr: ToastrService
41   ) { }
42
43   ngOnInit() {
44     
45     this.toolbarService.show();
46     this.signupForm = this.formBuilder.group({
47       username: ['', Validators.required],
48       firstname: ['', Validators.required],
49       lastname: ['', Validators.required],
50       email: ['', Validators.required],
51       password: ['', Validators.required],
52       role: ['', Validators.required]
53     });
54
55     particlesJS.load('particles-js', './../../assets/particlesjs-config-1.json', function() {
56       console.log('callback - particles.js config loaded');
57     });
58     // particlesJS
59   }
60
61   get fval() { return this.signupForm.controls; }
62
63
64   onFormSubmit() {
65     console.log("on Form Submit Method triggered......")
66     this.submitted = true;
67
68     // return for here if form is invalid
69     console.log(this.signupForm);
70     if (this.signupForm.invalid) {
71       console.log("Signup Form invalid...");
72       return;
73     }
74     this.loading = true;
75     this.userService.register(this.signupForm.value).subscribe(
76       (data) => {
77         alert('User Registered successfully!!');
78         this.router.navigate(['/login']);
79       },
80       (error) => {
81         // this.toastr.error(error.error.message, 'Error');
82         this.loading = false;
83
84       }
85     )
86   }
87
88 }