bea0fcdb8718c5085dd6069078e61a6bbaf5f0e1
[portal.git] / portal-FE-os / src / app / pages / users / user-details-form / user-details-form.component.ts
1 import { Component, OnInit } from '@angular/core';
2 import { FormBuilder, FormGroup, Validators } from '@angular/forms';
3 import { MustMatch } from 'src/app/shared/helpers/must-match-validator';
4 import { UsersService } from 'src/app/shared/services';
5 import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
6
7 @Component({
8   selector: 'app-user-details-form',
9   templateUrl: './user-details-form.component.html',
10   styleUrls: ['./user-details-form.component.scss']
11 })
12 export class UserDetailsFormComponent implements OnInit {
13   addNewUserForm: FormGroup;
14   submitted = false;
15
16   constructor(private formBuilder: FormBuilder, 
17     private usersService: UsersService,
18     public activeModal: NgbActiveModal) { }
19
20   ngOnInit() {
21     this.addNewUserForm = this.formBuilder.group({
22       firstName: ['', Validators.required],
23       middleInitial: [''],
24       lastName: ['', Validators.required],
25       email: ['', [Validators.required, Validators.email]],
26       loginId: ['', Validators.required],
27       loginPwd: ['', [Validators.required, Validators.minLength(6)]],
28       confirmPassword: ['', Validators.required]
29     }, {
30         validator: MustMatch('loginPwd', 'confirmPassword')
31       });
32   }
33
34   get formValue() {
35     return this.addNewUserForm.controls;
36   }
37
38   addUser() {
39     this.submitted = true;
40     if (this.addNewUserForm.invalid) {
41       console.log("Invalid form!!");
42       return;
43     }
44     console.log("New user Json : " + JSON.stringify(this.addNewUserForm.value));
45     console.log("Get Raw value : " + this.addNewUserForm.getRawValue());
46     let newUserFormData = JSON.stringify(this.addNewUserForm.getRawValue());
47     this.usersService.addNewUser(newUserFormData);
48     this.activeModal.close();
49   }
50
51 }