diff --git a/angular.json b/angular.json index dfd76d6..1898a56 100644 --- a/angular.json +++ b/angular.json @@ -1,5 +1,8 @@ { "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "cli": { + "analytics": false + }, "version": 1, "newProjectRoot": "projects", "projects": { diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 6224090..160b44c 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -10,6 +10,8 @@ import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; import {CoreModule} from "./core/core.module"; import {SharedModule} from "./shared/shared.module"; import {HttpClient, HttpClientModule} from "@angular/common/http"; +import { MatIconModule } from '@angular/material/icon'; +import { FormsModule } from '@angular/forms'; @NgModule({ declarations: [ @@ -31,6 +33,9 @@ import {HttpClient, HttpClientModule} from "@angular/common/http"; {path: '**', redirectTo: '', pathMatch: 'full' }, ]), SharedModule, + MatIconModule, + FormsModule, + ], providers: [HttpClient], bootstrap: [AppComponent] diff --git a/src/app/core/service/user/user.service.ts b/src/app/core/service/user/user.service.ts index 7bf3037..1195a5d 100644 --- a/src/app/core/service/user/user.service.ts +++ b/src/app/core/service/user/user.service.ts @@ -3,15 +3,40 @@ import {HttpClient} from "@angular/common/http"; import {User, UserState} from "../../store/user/user.state"; import {Observable} from "rxjs"; import {AppComponent} from "../../../app.component"; +import { environment } from '../../../../environments/environment'; @Injectable({ providedIn: 'root' }) export class UserService { + rowData:any; + baseUrl = environment.backend + constructor(private httpClient: HttpClient) {} retrieve(): Observable { return this.httpClient.post(AppComponent.api.user.retrieve, {}); } + + createUser(firstName:String, middleName:String, lastName:String, phone:String):Observable{ + return this.httpClient.post(this.baseUrl+'/user/create',{ + "firstName":firstName, + "middleName":middleName, + "lastName":lastName, + "phoneNumber":phone + }); + } + + update(id:String,firstName:String, middleName:String, lastName:String, phone:String):Observable{ + return this.httpClient.patch(this.baseUrl+'/update/${id}',{ + "firstName":firstName, + "middleName":middleName, + "lastName":lastName, + "phoneNumber":phone + + }); + } + + } diff --git a/src/app/user/user-form/user-form.component.html b/src/app/user/user-form/user-form.component.html index 0b87718..3dcf1e2 100644 --- a/src/app/user/user-form/user-form.component.html +++ b/src/app/user/user-form/user-form.component.html @@ -4,15 +4,15 @@
First Name - + Middle Name - + Last Name - +
+ + + + Delete + + diff --git a/src/app/user/user-search/user-search.component.ts b/src/app/user/user-search/user-search.component.ts index 23aa41e..3998b5c 100644 --- a/src/app/user/user-search/user-search.component.ts +++ b/src/app/user/user-search/user-search.component.ts @@ -6,6 +6,8 @@ import {MatTableDataSource} from "@angular/material/table"; import {MatSort} from "@angular/material/sort"; import {MatPaginator} from "@angular/material/paginator"; import {filter, takeUntil} from "rxjs/operators"; +import {UserService} from "../../core/service/user/user.service"; +import { Router } from '@angular/router'; @Component({ templateUrl: './user-search.component.html', @@ -13,14 +15,14 @@ import {filter, takeUntil} from "rxjs/operators"; }) export class UserSearchComponent implements AfterViewInit, OnDestroy, OnInit { - constructor(private userFacade: UserFacade) {} + constructor(private userFacade: UserFacade, private userSrvice: UserService, private router: Router) {} @ViewChild(MatPaginator) paginator!: MatPaginator; @ViewChild(MatSort) sort!: MatSort; destroyed$ = new Subject(); state: UserState | undefined; - tableFields: string[] = ['name', 'updated']; + tableFields: string[] = ['name', 'updated','edit','delete']; tableSource!: MatTableDataSource; ngAfterViewInit(): void { @@ -51,4 +53,11 @@ export class UserSearchComponent implements AfterViewInit, OnDestroy, OnInit { const filterValue = (event.target as HTMLInputElement).value; this.tableSource.filter = filterValue.trim().toLowerCase(); } + + editRecord(rowData:any){ + + this.userSrvice.rowData=rowData; + this.router.navigate(['/user/form']) + + } }