]>
Commit | Line | Data |
---|---|---|
7da18e44 | 1 | import { Component, OnInit } from '@angular/core'; |
4b2f33f3 | 2 | import { FormBuilder, FormGroup } from '@angular/forms'; |
7da18e44 C |
3 | import { Router } from '@angular/router'; |
4 | ||
5 | import { UserService } from '../shared'; | |
4b2f33f3 | 6 | import { FormReactive, USER_USERNAME, USER_PASSWORD } from '../../../shared'; |
7da18e44 C |
7 | |
8 | @Component({ | |
9 | selector: 'my-user-add', | |
ec8d8440 | 10 | templateUrl: './user-add.component.html' |
7da18e44 | 11 | }) |
4b2f33f3 | 12 | export class UserAddComponent extends FormReactive implements OnInit { |
7da18e44 C |
13 | error: string = null; |
14 | ||
4b2f33f3 C |
15 | form: FormGroup; |
16 | formErrors = { | |
17 | 'username': '', | |
18 | 'password': '' | |
19 | }; | |
20 | validationMessages = { | |
21 | 'username': USER_USERNAME.MESSAGES, | |
22 | 'password': USER_PASSWORD.MESSAGES, | |
23 | }; | |
7da18e44 | 24 | |
4b2f33f3 C |
25 | constructor( |
26 | private formBuilder: FormBuilder, | |
27 | private router: Router, | |
28 | private userService: UserService | |
29 | ) { | |
30 | super(); | |
31 | } | |
32 | ||
33 | buildForm() { | |
34 | this.form = this.formBuilder.group({ | |
35 | username: [ '', USER_USERNAME.VALIDATORS ], | |
36 | password: [ '', USER_PASSWORD.VALIDATORS ], | |
7da18e44 | 37 | }); |
4b2f33f3 C |
38 | |
39 | this.form.valueChanges.subscribe(data => this.onValueChanged(data)); | |
40 | } | |
41 | ||
42 | ngOnInit() { | |
43 | this.buildForm(); | |
7da18e44 C |
44 | } |
45 | ||
0f6da32b | 46 | addUser() { |
7da18e44 C |
47 | this.error = null; |
48 | ||
4b2f33f3 C |
49 | const { username, password } = this.form.value; |
50 | ||
51 | this.userService.addUser(username, password).subscribe( | |
7da18e44 C |
52 | ok => this.router.navigate([ '/admin/users/list' ]), |
53 | ||
bf68dd75 | 54 | err => this.error = err.text |
7da18e44 C |
55 | ); |
56 | } | |
57 | } |