From d6720a5f4d38bbba40896fc883eb1417cc9c58d4 Mon Sep 17 00:00:00 2001 From: JO-HNSON Date: Fri, 26 May 2023 16:44:41 +0530 Subject: [PATCH] meassage --- user-app/src/app/app-routing.module.ts | 24 +++++++++- user-app/src/app/pages/app/app.component.html | 21 +++++++- user-app/src/app/pages/app/app.component.scss | 9 ++++ user-app/src/app/pages/app/app.component.ts | 29 ++++++++++- .../create-user/create-user.component.html | 48 +++++++++++++++---- .../create-user/create-user.component.ts | 36 +++++++++++++- .../app/pages/header/header.component.html | 18 ++++++- .../src/app/pages/header/header.component.ts | 10 +++- .../pages/user-card/user-card.component.html | 9 +++- .../pages/user-card/user-card.component.ts | 20 +++++++- .../user-detail/user-detail.component.html | 20 +++++++- .../user-detail/user-detail.component.ts | 39 ++++++++++++++- .../pages/user-list/user-list.component.html | 8 +++- .../pages/user-list/user-list.component.ts | 30 +++++++++++- user-app/src/app/services/user.service.ts | 23 +++++++-- 15 files changed, 317 insertions(+), 27 deletions(-) diff --git a/user-app/src/app/app-routing.module.ts b/user-app/src/app/app-routing.module.ts index 0abcce6..33b9b07 100644 --- a/user-app/src/app/app-routing.module.ts +++ b/user-app/src/app/app-routing.module.ts @@ -7,7 +7,29 @@ import { UserDetailComponent } from './pages/user-detail/user-detail.component'; import { CreateUserComponent } from './pages/create-user/create-user.component'; import { AuthGuard } from './guards/auth.guard'; -const routes: Routes = []; +const routes: Routes = [ + { + path:"", + component :UserListComponent, + }, + { + path: "about-us", + component: AboutUsComponent, + }, + { + path: "contact", + component: ContactComponent, + }, + { + path: "create-user", + component: CreateUserComponent, + }, + { + path: "user-detail", + component: UserDetailComponent, + }, + +]; @NgModule({ imports: [RouterModule.forRoot(routes)], diff --git a/user-app/src/app/pages/app/app.component.html b/user-app/src/app/pages/app/app.component.html index c6e9877..8ef8dc5 100644 --- a/user-app/src/app/pages/app/app.component.html +++ b/user-app/src/app/pages/app/app.component.html @@ -1,6 +1,23 @@ -

+ + + + + \ No newline at end of file diff --git a/user-app/src/app/pages/app/app.component.scss b/user-app/src/app/pages/app/app.component.scss index 8b13789..14458bd 100644 --- a/user-app/src/app/pages/app/app.component.scss +++ b/user-app/src/app/pages/app/app.component.scss @@ -1 +1,10 @@ +.normal { + font-size: 15px; + color: blue; +} + +.error { + font-size: 18px; + color:red; +} \ No newline at end of file diff --git a/user-app/src/app/pages/app/app.component.ts b/user-app/src/app/pages/app/app.component.ts index ba8e2e0..6f98642 100644 --- a/user-app/src/app/pages/app/app.component.ts +++ b/user-app/src/app/pages/app/app.component.ts @@ -5,4 +5,31 @@ import { Component } from '@angular/core'; templateUrl: './app.component.html', styleUrls: ['./app.component.scss'], }) -export class AppComponent {} +export class AppComponent { + name : String = "Johnson"; + show : boolean =true; + names = ['Arun', 'Mark', 'Smith', 'Jack']; + isError : boolean = true; + username : String =""; + constructor() { + console.log('Constructor called'); + } + + changeName() +{ + this.name="steve"; + console.log(this.username); +} + ngOnChanges() { + console.log('on changes called'); + } + + ngOnInit() { + console.log('on init called'); + } + + ngOnDestroy() { + console.log('on destroy called'); + } +} + diff --git a/user-app/src/app/pages/create-user/create-user.component.html b/user-app/src/app/pages/create-user/create-user.component.html index b772924..7b259cf 100644 --- a/user-app/src/app/pages/create-user/create-user.component.html +++ b/user-app/src/app/pages/create-user/create-user.component.html @@ -1,11 +1,43 @@
-
-
-

Enter Details

-
- - -
+ +
+

Enter Details

+
+ +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ Please enter all the details +
+
+ +
+
-
+
+ + \ No newline at end of file diff --git a/user-app/src/app/pages/create-user/create-user.component.ts b/user-app/src/app/pages/create-user/create-user.component.ts index 92e4498..97b58df 100644 --- a/user-app/src/app/pages/create-user/create-user.component.ts +++ b/user-app/src/app/pages/create-user/create-user.component.ts @@ -7,4 +7,38 @@ import { FormBuilder, FormGroup, Validators } from '@angular/forms'; templateUrl: './create-user.component.html', styleUrls: ['./create-user.component.scss'], }) -export class CreateUserComponent {} +export class CreateUserComponent { + hasError: boolean = false; + userFormBuilder: FormGroup; + + constructor(private readonly formBuilder: FormBuilder,private userService: UserService) { + this.userFormBuilder = this.formBuilder.group({ + emailId: formBuilder.control("", [Validators.required, Validators.email]), + name: formBuilder.control("", [Validators.required]), + phoneNumber: formBuilder.control("", [Validators.required]), + companyName: formBuilder.control("", [Validators.required]), + city: formBuilder.control("", [Validators.required]), + street: formBuilder.control("", [Validators.required]), + zipCode: formBuilder.control("", [Validators.required]), + }); + } + + addUser() { + this.hasError = false; + if (this.userFormBuilder.valid) { + this.userService.addUser({ + id: Math.floor(Math.random() * 10), + name: this.userFormBuilder.controls['name'].value, + emailId: this.userFormBuilder.controls['emailId'].value, + phoneNumber: this.userFormBuilder.controls['phoneNumber'].value, + companyName: this.userFormBuilder.controls['companyName'].value, + street: this.userFormBuilder.controls['street'].value, + city: this.userFormBuilder.controls['city'].value, + zipCode: this.userFormBuilder.controls['zipCode'].value, + }); + } else { + this.hasError = true; + } + } + +} diff --git a/user-app/src/app/pages/header/header.component.html b/user-app/src/app/pages/header/header.component.html index ad4f732..10c986f 100644 --- a/user-app/src/app/pages/header/header.component.html +++ b/user-app/src/app/pages/header/header.component.html @@ -1 +1,17 @@ -

Header Works

+ +
+ logo + +
\ No newline at end of file diff --git a/user-app/src/app/pages/header/header.component.ts b/user-app/src/app/pages/header/header.component.ts index 7082d31..bfbd613 100644 --- a/user-app/src/app/pages/header/header.component.ts +++ b/user-app/src/app/pages/header/header.component.ts @@ -1,8 +1,14 @@ -import { Component } from '@angular/core'; +import { Component,Input,Output,EventEmitter } from '@angular/core'; @Component({ selector: 'app-header', templateUrl: './header.component.html', styleUrls: ['./header.component.scss'], }) -export class HeaderComponent {} +export class HeaderComponent { + @Input() title :String; + @Output() changevalue = new EventEmitter + onClick(){ + this.changevalue.emit(); + } +} diff --git a/user-app/src/app/pages/user-card/user-card.component.html b/user-app/src/app/pages/user-card/user-card.component.html index c05cd52..81bfb2c 100644 --- a/user-app/src/app/pages/user-card/user-card.component.html +++ b/user-app/src/app/pages/user-card/user-card.component.html @@ -1,3 +1,10 @@
-

User Card works

+

+ {{ emailId }}

+ {{ city }}
+ +
+ diff --git a/user-app/src/app/pages/user-card/user-card.component.ts b/user-app/src/app/pages/user-card/user-card.component.ts index 8a5b52a..b31bfeb 100644 --- a/user-app/src/app/pages/user-card/user-card.component.ts +++ b/user-app/src/app/pages/user-card/user-card.component.ts @@ -6,4 +6,22 @@ import { UserService } from 'src/app/services/user.service'; templateUrl: './user-card.component.html', styleUrls: ['./user-card.component.scss'], }) -export class UserCardComponent {} +export class UserCardComponent { + @Input() id: number; +@Input() name: string; +@Input() emailId: string; +@Input() city: string; + +@Output() deleteUser = new EventEmitter(); + +constructor(public userService: UserService) {} + +setUserId(id: number) { + this.userService.userId = id +} + +deleteUserById(id) { + this.deleteUser.emit(id); +} + +} diff --git a/user-app/src/app/pages/user-detail/user-detail.component.html b/user-app/src/app/pages/user-detail/user-detail.component.html index 8a5c8b6..b8fe20e 100644 --- a/user-app/src/app/pages/user-detail/user-detail.component.html +++ b/user-app/src/app/pages/user-detail/user-detail.component.html @@ -1,3 +1,21 @@
-

User Detail Works

+
+

{{ userDetail.name }}

+ + + +
+

Address

+
+
+
+
+
+
+ Unable to show the data +
+ diff --git a/user-app/src/app/pages/user-detail/user-detail.component.ts b/user-app/src/app/pages/user-detail/user-detail.component.ts index 40af64c..968ac6c 100644 --- a/user-app/src/app/pages/user-detail/user-detail.component.ts +++ b/user-app/src/app/pages/user-detail/user-detail.component.ts @@ -7,4 +7,41 @@ import { UserService } from 'src/app/services/user.service'; templateUrl: './user-detail.component.html', styleUrls: ['./user-detail.component.scss'], }) -export class UserDetailComponent {} +export class UserDetailComponent { + userDetail: UserDetail = { + id: this.userService.userId, + name: '', + city: '', + companyName: '', + emailId: '', + phoneNumber: '', + street: '', + zipCode: '', + }; + + hasError: boolean = false; + + constructor(private userService: UserService) {} + + ngOnInit() { + this.hasError = false; + this.userService.getUserDetail(this.userService.userId).subscribe({ + next: (response: any) => { + console.log('user detail response', response); + this.userDetail.name = response.name; + this.userDetail.emailId = response.email; + this.userDetail.city = response.address.city; + this.userDetail.companyName = response.company.name; + this.userDetail.phoneNumber = response.phone; + this.userDetail.zipCode = response.address.zipcode; + this.userDetail.street = response.address.street; + }, + error: (error) => { + this.hasError = true; + console.log('user detail error', error); + }, + }); + } + + +} diff --git a/user-app/src/app/pages/user-list/user-list.component.html b/user-app/src/app/pages/user-list/user-list.component.html index 9326de9..80b0f82 100644 --- a/user-app/src/app/pages/user-list/user-list.component.html +++ b/user-app/src/app/pages/user-list/user-list.component.html @@ -1,3 +1,9 @@
-

User List Works

+

User List Works

+
+
+ \ No newline at end of file diff --git a/user-app/src/app/pages/user-list/user-list.component.ts b/user-app/src/app/pages/user-list/user-list.component.ts index 60cb003..be8e54d 100644 --- a/user-app/src/app/pages/user-list/user-list.component.ts +++ b/user-app/src/app/pages/user-list/user-list.component.ts @@ -7,4 +7,32 @@ import { UserService } from 'src/app/services/user.service'; templateUrl: './user-list.component.html', styleUrls: ['./user-list.component.scss'], }) -export class UserListComponent {} +export class UserListComponent { + /*users :User[] = [ + { + name : 'Johnson', + city : 'Mangalore', + emailId: 'johnson@gmail.com', + id:1, + }, + { + name : 'shaaa', + city : 'kutthi', + emailId: 'shaaa@gmail.com', + id:1, + }, + { + name : 'Jithin', + city : 'baindoor', + emailId: 'jithin@gmail.com', + id:1, + }, + ]*/ + constructor (public userService:UserService){} + ngOnInit() + { + this.userService.getUsers(); + } +} + + diff --git a/user-app/src/app/services/user.service.ts b/user-app/src/app/services/user.service.ts index 0160cc5..d6750f6 100644 --- a/user-app/src/app/services/user.service.ts +++ b/user-app/src/app/services/user.service.ts @@ -1,4 +1,5 @@ import { Injectable } from '@angular/core'; +import { HttpClient } from "@angular/common/http"; import { User, UserDetail } from '../model/common.dto'; @Injectable({ @@ -7,19 +8,31 @@ import { User, UserDetail } from '../model/common.dto'; export class UserService { baseUrl: string = 'https://jsonplaceholder.typicode.com/users'; userId: number; - users: User[] = []; + users:any= []; - constructor() {} + constructor(private http:HttpClient) {} userAleadyAdded(): boolean { return true; } - getUsers(): void {} + getUsers(): void { + this.http.get(this.baseUrl).subscribe((res)=> { + console.log(res); + this.users = res; + }) +} + - getUserDetail(id: number) {} - addUser(user: UserDetail): void {} + + getUserDetail(id: number){ + return this.http.get(this.baseUrl + '/' + id); + } + + addUser(user: UserDetail) : void {} deleteUser(id: number): void {} } + +