Skip to content

Commit 8a8da70

Browse files
committed
submitted user register and received successful response
1 parent 7754edf commit 8a8da70

4 files changed

Lines changed: 41 additions & 6 deletions

File tree

src/app/app.module.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import { TransitionPage } from '../pages/transition/transition';
1515
import { AssessmentPage } from '../pages/assessment/assessment';
1616
import { TimelinePage } from '../pages/timeline/timeline';
1717
import { UserProvider } from '../providers/user/user';
18+
import { HttpClientModule } from '@angular/common/http';
1819

1920
@NgModule({
2021
declarations: [
@@ -31,7 +32,8 @@ import { UserProvider } from '../providers/user/user';
3132
],
3233
imports: [
3334
BrowserModule,
34-
IonicModule.forRoot(MyApp)
35+
IonicModule.forRoot(MyApp),
36+
HttpClientModule
3537
],
3638
bootstrap: [IonicApp],
3739
entryComponents: [

src/pages/register/register.html

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@
1919
</strong><p>
2020
</div>
2121

22-
<form class="form" [formGroup]='validate' (ngSubmit)='regform()'>
22+
<form class="form" [formGroup]='validate' (ngSubmit)='submitReg()'>
2323
<ion-item class="input" no-lines>
2424
<ion-input
25+
[(ngModel)]="registerUser.firstName"
2526
class="input"
2627
type="text"
2728
#first
@@ -36,6 +37,7 @@
3637

3738
<ion-item class="input" no-lines>
3839
<ion-input
40+
[(ngModel)]="registerUser.lastName"
3941
class="input"
4042
type="text"
4143
#last
@@ -50,6 +52,7 @@
5052

5153
<ion-item class="input" no-lines>
5254
<ion-input
55+
[(ngModel)]="registerUser.email"
5356
class="input"
5457
type="email"
5558
#email
@@ -64,6 +67,7 @@
6467

6568
<ion-item class="input" no-lines>
6669
<ion-input
70+
[(ngModel)]="registerUser.password"
6771
class="input"
6872
type="password"
6973
#pass
@@ -89,7 +93,7 @@
8993
<p class="invalid-text">Passwords do not match</p>
9094
</ion-item>
9195

92-
<button id="register-button"color="secondary" ion-button [disabled]="!validate.valid">REGISTER </button>
96+
<button id="register-button"color="secondary" ion-button [disabled]="!validate.valid" (click)='submitReg()'>REGISTER</button>
9397
</form>
9498

9599
<div class='login2'>

src/pages/register/register.ts

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ import { Component } from '@angular/core';
22
import { NavController, NavParams } from 'ionic-angular';
33
import { Validators, FormBuilder, FormGroup, FormControl } from '@angular/forms';
44
import { PasswordValidator } from '../../validators/password.validator';
5+
import { UserProvider } from '../../providers/user/user';
6+
57

68

79
@Component({
@@ -10,10 +12,17 @@ import { PasswordValidator } from '../../validators/password.validator';
1012
})
1113
export class RegisterPage {
1214

15+
registerUser: any = {
16+
firstName: '',
17+
lastName: '',
18+
email: '',
19+
password: ''
20+
}
21+
1322
private validate: FormGroup
1423
submitAttempt: boolean = false;
1524

16-
constructor(public navCtrl: NavController, public navParams: NavParams, private fb: FormBuilder) {
25+
constructor(public navCtrl: NavController, public navParams: NavParams, private fb: FormBuilder, public _user: UserProvider) {
1726

1827
this.validate = this.fb.group({
1928
first: ['', Validators.compose([Validators.maxLength(30), Validators.pattern('[a-zA-Z ]*'), Validators.required])],
@@ -30,9 +39,22 @@ export class RegisterPage {
3039
console.log('ionViewDidLoad RegisterPage');
3140
}
3241

33-
regForm(){
42+
submitReg() {
3443
this.submitAttempt = true
35-
console.log(this.validate)
44+
console.log('submitReg() runs', this.validate)
45+
this._user.sendReg(this.registerUser)
46+
.subscribe( (data: any) => {
47+
console.log('data from submitReg()', data)
48+
}/*,
49+
err => {
50+
console.error('err from register:', err)
51+
this.presentToast()
52+
},
53+
() => {
54+
this.navCtrl.setRoot(HomePage, {registered: this.user})
55+
}*/
56+
)
57+
3658
}
3759

3860
}

src/providers/user/user.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,15 @@ import { Injectable } from '@angular/core';
1010
@Injectable()
1111
export class UserProvider {
1212

13+
regUrl: string = "https://j-reboot-backend.herokuapp.com/api/appUsers"
14+
1315
constructor(public http: HttpClient) {
1416
console.log('Hello UserProvider Provider');
1517
}
1618

19+
sendReg(user) {
20+
console.log('sendReg() runs')
21+
return this.http.post(this.regUrl, user)
22+
}
23+
1724
}

0 commit comments

Comments
 (0)