From c71a9f4814a66f9c7f0a87f6b6eacc713c2bfef4 Mon Sep 17 00:00:00 2001 From: Gaurab Kumar Date: Sun, 4 Oct 2020 05:33:13 +0530 Subject: [PATCH 1/2] #2 --- angular.json | 9 +- data/data.json | 9 ++ src/app/app-routing.module.ts | 20 +++- src/app/app.module.ts | 4 +- src/app/models/student.spec.ts | 7 ++ src/app/models/student.ts | 6 ++ src/app/services/api.service.spec.ts | 16 ++++ src/app/services/api.service.ts | 91 +++++++++++++++++++ .../student-create-routing.module.ts | 17 ++++ .../student-create/student-create.module.ts | 20 ++++ .../student-create/student-create.page.html | 25 +++++ .../student-create/student-create.page.scss | 0 .../student-create.page.spec.ts | 24 +++++ src/app/student-create/student-create.page.ts | 30 ++++++ .../student-detail-routing.module.ts | 17 ++++ .../student-detail/student-detail.module.ts | 20 ++++ .../student-detail/student-detail.page.html | 9 ++ .../student-detail/student-detail.page.scss | 0 .../student-detail.page.spec.ts | 24 +++++ src/app/student-detail/student-detail.page.ts | 15 +++ .../student-edit-routing.module.ts | 17 ++++ src/app/student-edit/student-edit.module.ts | 20 ++++ src/app/student-edit/student-edit.page.html | 28 ++++++ src/app/student-edit/student-edit.page.scss | 0 .../student-edit/student-edit.page.spec.ts | 24 +++++ src/app/student-edit/student-edit.page.ts | 39 ++++++++ .../student-list-routing.module.ts | 17 ++++ src/app/student-list/student-list.module.ts | 20 ++++ src/app/student-list/student-list.page.html | 39 ++++++++ src/app/student-list/student-list.page.scss | 0 .../student-list/student-list.page.spec.ts | 24 +++++ src/app/student-list/student-list.page.ts | 45 +++++++++ 32 files changed, 627 insertions(+), 9 deletions(-) create mode 100644 data/data.json create mode 100644 src/app/models/student.spec.ts create mode 100644 src/app/models/student.ts create mode 100644 src/app/services/api.service.spec.ts create mode 100644 src/app/services/api.service.ts create mode 100644 src/app/student-create/student-create-routing.module.ts create mode 100644 src/app/student-create/student-create.module.ts create mode 100644 src/app/student-create/student-create.page.html create mode 100644 src/app/student-create/student-create.page.scss create mode 100644 src/app/student-create/student-create.page.spec.ts create mode 100644 src/app/student-create/student-create.page.ts create mode 100644 src/app/student-detail/student-detail-routing.module.ts create mode 100644 src/app/student-detail/student-detail.module.ts create mode 100644 src/app/student-detail/student-detail.page.html create mode 100644 src/app/student-detail/student-detail.page.scss create mode 100644 src/app/student-detail/student-detail.page.spec.ts create mode 100644 src/app/student-detail/student-detail.page.ts create mode 100644 src/app/student-edit/student-edit-routing.module.ts create mode 100644 src/app/student-edit/student-edit.module.ts create mode 100644 src/app/student-edit/student-edit.page.html create mode 100644 src/app/student-edit/student-edit.page.scss create mode 100644 src/app/student-edit/student-edit.page.spec.ts create mode 100644 src/app/student-edit/student-edit.page.ts create mode 100644 src/app/student-list/student-list-routing.module.ts create mode 100644 src/app/student-list/student-list.module.ts create mode 100644 src/app/student-list/student-list.page.html create mode 100644 src/app/student-list/student-list.page.scss create mode 100644 src/app/student-list/student-list.page.spec.ts create mode 100644 src/app/student-list/student-list.page.ts diff --git a/angular.json b/angular.json index 784b4bf..a8693e4 100644 --- a/angular.json +++ b/angular.json @@ -128,7 +128,9 @@ "tsconfig.spec.json", "e2e/tsconfig.json" ], - "exclude": ["**/node_modules/**"] + "exclude": [ + "**/node_modules/**" + ] } }, "e2e": { @@ -174,7 +176,8 @@ } }, "cli": { - "defaultCollection": "@ionic/angular-toolkit" + "defaultCollection": "@ionic/angular-toolkit", + "analytics": "367aa371-c6ed-45b9-924a-d2e136c6ebee" }, "schematics": { "@ionic/angular-toolkit:component": { @@ -184,4 +187,4 @@ "styleext": "scss" } } -} +} \ No newline at end of file diff --git a/data/data.json b/data/data.json new file mode 100644 index 0000000..f2304ff --- /dev/null +++ b/data/data.json @@ -0,0 +1,9 @@ +{ + "students": [ + { + "name": "m", + "age": "m", + "id": 1 + } + ] +} \ No newline at end of file diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index e7b0d5a..a3ecdbd 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -3,13 +3,23 @@ import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; const routes: Routes = [ { - path: 'home', - loadChildren: () => import('./home/home.module').then( m => m.HomePageModule) + path: '', redirectTo: 'student-list', pathMatch: 'full' }, { - path: '', - redirectTo: 'home', - pathMatch: 'full' + path: 'student-create', + loadChildren: () => import('./student-create/student-create.module').then( m => m.StudentCreatePageModule) + }, + { + path: 'student-edit', + loadChildren: () => import('./student-edit/student-edit.module').then( m => m.StudentEditPageModule) + }, + { + path: 'student-list', + loadChildren: () => import('./student-list/student-list.module').then( m => m.StudentListPageModule) + }, + { + path: 'student-detail', + loadChildren: () => import('./student-detail/student-detail.module').then( m => m.StudentDetailPageModule) }, ]; diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 23c4e84..80f2a93 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -9,10 +9,12 @@ import { StatusBar } from '@ionic-native/status-bar/ngx'; import { AppComponent } from './app.component'; import { AppRoutingModule } from './app-routing.module'; +import { HttpClientModule } from '@angular/common/http' + @NgModule({ declarations: [AppComponent], entryComponents: [], - imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule], + imports: [HttpClientModule, BrowserModule, IonicModule.forRoot(), AppRoutingModule], providers: [ StatusBar, SplashScreen, diff --git a/src/app/models/student.spec.ts b/src/app/models/student.spec.ts new file mode 100644 index 0000000..a82c137 --- /dev/null +++ b/src/app/models/student.spec.ts @@ -0,0 +1,7 @@ +import { Student } from './student'; + +describe('Student', () => { + it('should create an instance', () => { + expect(new Student()).toBeTruthy(); + }); +}); diff --git a/src/app/models/student.ts b/src/app/models/student.ts new file mode 100644 index 0000000..841c291 --- /dev/null +++ b/src/app/models/student.ts @@ -0,0 +1,6 @@ +export class Student { + id: number; + name: string; + age: string; + address: string; +} diff --git a/src/app/services/api.service.spec.ts b/src/app/services/api.service.spec.ts new file mode 100644 index 0000000..c0310ae --- /dev/null +++ b/src/app/services/api.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { ApiService } from './api.service'; + +describe('ApiService', () => { + let service: ApiService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(ApiService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/services/api.service.ts b/src/app/services/api.service.ts new file mode 100644 index 0000000..963c2ff --- /dev/null +++ b/src/app/services/api.service.ts @@ -0,0 +1,91 @@ +import { Injectable } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http'; +import { Student } from '../models/student'; +import { Observable, throwError } from 'rxjs'; +import { retry, catchError } from 'rxjs/operators' + +@Injectable({ + providedIn: 'root' +}) +export class ApiService { + + // API path + base_path = 'http://localhost:3000/students'; + + constructor(private http: HttpClient) { } + + // Http Options + httpOptions = { + headers: new HttpHeaders({ + 'Content-Type': 'application/json' + }) + } + + // Handle API errors + handleError(error: HttpErrorResponse) { + if (error.error instanceof ErrorEvent) { + // A client-side or network error occurred. Handle it accordingly. + console.error('An error occurred:', error.error.message); + } else { + // The backend returned an unsuccessful response code. + // The response body may contain clues as to what went wrong, + console.error( + `Backend returned code ${error.status}, ` + + `body was: ${error.error}`); + } + // return an observable with a user-facing error message + return throwError( + 'Something bad happened; please try again later.'); + }; + + // Create a new item + createItem(item): Observable { + return this.http + .post(this.base_path, JSON.stringify(item), this.httpOptions) + .pipe( + retry(2), + catchError(this.handleError) + ) + } + + // Get single student data by ID + getItem(id): Observable { + return this.http + .get(this.base_path + '/' + id) + .pipe( + retry(2), + catchError(this.handleError) + ) + } + + // Get students data + getList(): Observable { + return this.http + .get(this.base_path) + .pipe( + retry(2), + catchError(this.handleError) + ) + } + + // Update item by id + updateItem(id, item): Observable { + return this.http + .put(this.base_path + '/' + id, JSON.stringify(item), this.httpOptions) + .pipe( + retry(2), + catchError(this.handleError) + ) + } + + // Delete item by id + deleteItem(id) { + return this.http + .delete(this.base_path + '/' + id, this.httpOptions) + .pipe( + retry(2), + catchError(this.handleError) + ) + } + +} diff --git a/src/app/student-create/student-create-routing.module.ts b/src/app/student-create/student-create-routing.module.ts new file mode 100644 index 0000000..2019e10 --- /dev/null +++ b/src/app/student-create/student-create-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { StudentCreatePage } from './student-create.page'; + +const routes: Routes = [ + { + path: '', + component: StudentCreatePage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class StudentCreatePageRoutingModule {} diff --git a/src/app/student-create/student-create.module.ts b/src/app/student-create/student-create.module.ts new file mode 100644 index 0000000..e13ffaa --- /dev/null +++ b/src/app/student-create/student-create.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { IonicModule } from '@ionic/angular'; + +import { StudentCreatePageRoutingModule } from './student-create-routing.module'; + +import { StudentCreatePage } from './student-create.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + StudentCreatePageRoutingModule + ], + declarations: [StudentCreatePage] +}) +export class StudentCreatePageModule {} diff --git a/src/app/student-create/student-create.page.html b/src/app/student-create/student-create.page.html new file mode 100644 index 0000000..b429d48 --- /dev/null +++ b/src/app/student-create/student-create.page.html @@ -0,0 +1,25 @@ + + + + Create Student + + + + + + + Name + + + + + Age + + + + + Add + + + + \ No newline at end of file diff --git a/src/app/student-create/student-create.page.scss b/src/app/student-create/student-create.page.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/student-create/student-create.page.spec.ts b/src/app/student-create/student-create.page.spec.ts new file mode 100644 index 0000000..f4a9c96 --- /dev/null +++ b/src/app/student-create/student-create.page.spec.ts @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { StudentCreatePage } from './student-create.page'; + +describe('StudentCreatePage', () => { + let component: StudentCreatePage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ StudentCreatePage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(StudentCreatePage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/student-create/student-create.page.ts b/src/app/student-create/student-create.page.ts new file mode 100644 index 0000000..6ffbeb0 --- /dev/null +++ b/src/app/student-create/student-create.page.ts @@ -0,0 +1,30 @@ +import { Component, OnInit } from '@angular/core'; +import { Student } from '../models/student'; +import { ApiService } from '../services/api.service'; +import { Router } from '@angular/router'; + +@Component({ + selector: 'app-student-create', + templateUrl: './student-create.page.html', + styleUrls: ['./student-create.page.scss'], +}) +export class StudentCreatePage implements OnInit { + + data: Student + + constructor( + public apiService: ApiService, + public router: Router + ) { + this.data = new Student(); + } + + ngOnInit() { + } + + submitForm() { + this.apiService.createItem(this.data).subscribe((response) => { + this.router.navigate(['student-list']); + }); + } +} diff --git a/src/app/student-detail/student-detail-routing.module.ts b/src/app/student-detail/student-detail-routing.module.ts new file mode 100644 index 0000000..865231d --- /dev/null +++ b/src/app/student-detail/student-detail-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { StudentDetailPage } from './student-detail.page'; + +const routes: Routes = [ + { + path: '', + component: StudentDetailPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class StudentDetailPageRoutingModule {} diff --git a/src/app/student-detail/student-detail.module.ts b/src/app/student-detail/student-detail.module.ts new file mode 100644 index 0000000..991f713 --- /dev/null +++ b/src/app/student-detail/student-detail.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { IonicModule } from '@ionic/angular'; + +import { StudentDetailPageRoutingModule } from './student-detail-routing.module'; + +import { StudentDetailPage } from './student-detail.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + StudentDetailPageRoutingModule + ], + declarations: [StudentDetailPage] +}) +export class StudentDetailPageModule {} diff --git a/src/app/student-detail/student-detail.page.html b/src/app/student-detail/student-detail.page.html new file mode 100644 index 0000000..2902d22 --- /dev/null +++ b/src/app/student-detail/student-detail.page.html @@ -0,0 +1,9 @@ + + + student-detail + + + + + + diff --git a/src/app/student-detail/student-detail.page.scss b/src/app/student-detail/student-detail.page.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/student-detail/student-detail.page.spec.ts b/src/app/student-detail/student-detail.page.spec.ts new file mode 100644 index 0000000..1172b31 --- /dev/null +++ b/src/app/student-detail/student-detail.page.spec.ts @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { StudentDetailPage } from './student-detail.page'; + +describe('StudentDetailPage', () => { + let component: StudentDetailPage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ StudentDetailPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(StudentDetailPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/student-detail/student-detail.page.ts b/src/app/student-detail/student-detail.page.ts new file mode 100644 index 0000000..0c3d5ff --- /dev/null +++ b/src/app/student-detail/student-detail.page.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-student-detail', + templateUrl: './student-detail.page.html', + styleUrls: ['./student-detail.page.scss'], +}) +export class StudentDetailPage implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/src/app/student-edit/student-edit-routing.module.ts b/src/app/student-edit/student-edit-routing.module.ts new file mode 100644 index 0000000..f968985 --- /dev/null +++ b/src/app/student-edit/student-edit-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { StudentEditPage } from './student-edit.page'; + +const routes: Routes = [ + { + path: '', + component: StudentEditPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class StudentEditPageRoutingModule {} diff --git a/src/app/student-edit/student-edit.module.ts b/src/app/student-edit/student-edit.module.ts new file mode 100644 index 0000000..13a752a --- /dev/null +++ b/src/app/student-edit/student-edit.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { IonicModule } from '@ionic/angular'; + +import { StudentEditPageRoutingModule } from './student-edit-routing.module'; + +import { StudentEditPage } from './student-edit.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + StudentEditPageRoutingModule + ], + declarations: [StudentEditPage] +}) +export class StudentEditPageModule {} diff --git a/src/app/student-edit/student-edit.page.html b/src/app/student-edit/student-edit.page.html new file mode 100644 index 0000000..933ff9d --- /dev/null +++ b/src/app/student-edit/student-edit.page.html @@ -0,0 +1,28 @@ + + + + Edit Student Record + + + + + + + Name + + + + Age + + + + Address + + + + Update + + + Cancel + + \ No newline at end of file diff --git a/src/app/student-edit/student-edit.page.scss b/src/app/student-edit/student-edit.page.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/student-edit/student-edit.page.spec.ts b/src/app/student-edit/student-edit.page.spec.ts new file mode 100644 index 0000000..29b7563 --- /dev/null +++ b/src/app/student-edit/student-edit.page.spec.ts @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { StudentEditPage } from './student-edit.page'; + +describe('StudentEditPage', () => { + let component: StudentEditPage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ StudentEditPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(StudentEditPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/student-edit/student-edit.page.ts b/src/app/student-edit/student-edit.page.ts new file mode 100644 index 0000000..13dfb03 --- /dev/null +++ b/src/app/student-edit/student-edit.page.ts @@ -0,0 +1,39 @@ +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { Student } from '../models/student'; +import { ApiService } from '../services/api.service'; + +@Component({ + selector: 'app-student-edit', + templateUrl: './student-edit.page.html', + styleUrls: ['./student-edit.page.scss'], +}) +export class StudentEditPage implements OnInit { + + id: number; + data: Student; + + constructor( + public activatedRoute: ActivatedRoute, + public router: Router, + public apiService: ApiService + ) { + this.data = new Student(); + } + + ngOnInit() { + this.id = this.activatedRoute.snapshot.params["id"]; + //get item details using id + this.apiService.getItem(this.id).subscribe(response => { + console.log(response); + this.data = response; + }) + } + + update() { + //Update item by taking id and updated data object + this.apiService.updateItem(this.id, this.data).subscribe(response => { + this.router.navigate(['student-list']); + }) + } +} diff --git a/src/app/student-list/student-list-routing.module.ts b/src/app/student-list/student-list-routing.module.ts new file mode 100644 index 0000000..53299e2 --- /dev/null +++ b/src/app/student-list/student-list-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { StudentListPage } from './student-list.page'; + +const routes: Routes = [ + { + path: '', + component: StudentListPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class StudentListPageRoutingModule {} diff --git a/src/app/student-list/student-list.module.ts b/src/app/student-list/student-list.module.ts new file mode 100644 index 0000000..8cedfa1 --- /dev/null +++ b/src/app/student-list/student-list.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { IonicModule } from '@ionic/angular'; + +import { StudentListPageRoutingModule } from './student-list-routing.module'; + +import { StudentListPage } from './student-list.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + StudentListPageRoutingModule + ], + declarations: [StudentListPage] +}) +export class StudentListPageModule {} diff --git a/src/app/student-list/student-list.page.html b/src/app/student-list/student-list.page.html new file mode 100644 index 0000000..9be47c9 --- /dev/null +++ b/src/app/student-list/student-list.page.html @@ -0,0 +1,39 @@ + + + + List All Students + + + + + + + + + + + + + + + + + + + + + + + +
IdNameAgeAddressActions
{{ item.id }}{{ item.name }}{{ item.age }}{{ item.address }} + + + + + + +
+ + Add Student + +
\ No newline at end of file diff --git a/src/app/student-list/student-list.page.scss b/src/app/student-list/student-list.page.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/student-list/student-list.page.spec.ts b/src/app/student-list/student-list.page.spec.ts new file mode 100644 index 0000000..9b0fe19 --- /dev/null +++ b/src/app/student-list/student-list.page.spec.ts @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { StudentListPage } from './student-list.page'; + +describe('StudentListPage', () => { + let component: StudentListPage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ StudentListPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(StudentListPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/student-list/student-list.page.ts b/src/app/student-list/student-list.page.ts new file mode 100644 index 0000000..718983f --- /dev/null +++ b/src/app/student-list/student-list.page.ts @@ -0,0 +1,45 @@ +import { Component, OnInit } from '@angular/core'; +import { ApiService } from '../services/api.service'; + + +@Component({ + selector: 'app-student-list', + templateUrl: './student-list.page.html', + styleUrls: ['./student-list.page.scss'], +}) +export class StudentListPage implements OnInit { + + studentsData: any; + + constructor( + public apiService: ApiService + ) { + this.studentsData = []; + } + + ngOnInit() { + } + + ionViewWillEnter() { + // Used ionViewWillEnter as ngOnInit is not + // called due to view persistence in Ionic + this.getAllStudents(); + } + + getAllStudents() { + //Get saved list of students + this.apiService.getList().subscribe(response => { + console.log(response); + this.studentsData = response; + }) + } + + delete(item) { + //Delete item in Student data + this.apiService.deleteItem(item.id).subscribe(Response => { + //Update list after delete is successful + this.getAllStudents(); + }); + } + +} From edb76b75737f5ffe724d4ed89993cea6fa3d54da Mon Sep 17 00:00:00 2001 From: Gaurab Kumar Date: Sun, 4 Oct 2020 06:00:40 +0530 Subject: [PATCH 2/2] Update data.json --- data/data.json | 9 --------- 1 file changed, 9 deletions(-) diff --git a/data/data.json b/data/data.json index f2304ff..e69de29 100644 --- a/data/data.json +++ b/data/data.json @@ -1,9 +0,0 @@ -{ - "students": [ - { - "name": "m", - "age": "m", - "id": 1 - } - ] -} \ No newline at end of file