diff options
author | Danijel Andjelkovic <adanijel99@gmail.com> | 2022-03-02 23:44:50 +0100 |
---|---|---|
committer | Danijel Andjelkovic <adanijel99@gmail.com> | 2022-03-02 23:44:50 +0100 |
commit | 311c84b1bf0fa3a9680b16ba1ec3309a0a1dca1f (patch) | |
tree | 987a2b00e211e56298f257834bef29bb268a6274 /sandbox/testAppSonja/frontend/front/src/app/edit-page | |
parent | e3999e37a0a0018be4704ed58b7d984781f429c8 (diff) | |
parent | ee11a13a99d5635eb27850bcd909b73e6f50fced (diff) |
Merge branch 'dev' of http://gitlab.pmf.kg.ac.rs/igrannonica/neuronstellar
Diffstat (limited to 'sandbox/testAppSonja/frontend/front/src/app/edit-page')
4 files changed, 151 insertions, 0 deletions
diff --git a/sandbox/testAppSonja/frontend/front/src/app/edit-page/edit-page.component.css b/sandbox/testAppSonja/frontend/front/src/app/edit-page/edit-page.component.css new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/sandbox/testAppSonja/frontend/front/src/app/edit-page/edit-page.component.css diff --git a/sandbox/testAppSonja/frontend/front/src/app/edit-page/edit-page.component.html b/sandbox/testAppSonja/frontend/front/src/app/edit-page/edit-page.component.html new file mode 100644 index 00000000..3faaca85 --- /dev/null +++ b/sandbox/testAppSonja/frontend/front/src/app/edit-page/edit-page.component.html @@ -0,0 +1,70 @@ +<div> + <form #f="ngForm" (ngSubmit)="handleSubmit(f)"> + + <input type="hidden" id="id" name="id" [(ngModel)]="student.id"> + <input type="hidden" id="regNum" name="regNum" [(ngModel)]="student.regNum"> + + <label for="fname">Ime</label><br> + <input type="text" id="fname" name="firstname" [(ngModel)]="student.firstName"> + <br> + + <label for="lname">Prezime</label><br> + <input type="text" id="lname" name="lastname" [(ngModel)]="student.lastName"> + <br> + + <label for="gpa">Prosecna ocena</label><br> + <input type="text" id="gpa" name="gpa" [(ngModel)]="student.gpa"> + <br> + + <label for="address">Adresa</label><br> + <input type="text" id="address" name="address" [(ngModel)]="student.address"> + <br> + + <label for="phone">Broj telefona</label><br> + <input type="text" id="phone" name="phone" [(ngModel)]="student.phoneNum"> + <br> + + <input type="submit" value="Sacuvaj izmenu"> + </form> + + <br><br> + <a routerLink="">Povratak na spisak studenata</a> + +</div> + +<style> + +input[type=text], select { + width: 100%; + padding: 12px 20px; + margin: 8px 0; + display: inline-block; + border: 1px solid #ccc; + border-radius: 4px; + box-sizing: border-box; + } + +input[type=submit] { + width: 100%; + background-color: #4CAF50; + color: white; + padding: 14px 20px; + margin: 8px 0; + border: none; + border-radius: 4px; + cursor: pointer; + } + + input[type=submit]:hover { + background-color: #45a049; + } + + div { + border-radius: 5px; + background-color: #f2f2f2; + padding: 20px; + width: 50%; + margin: 50px auto; + } + +</style>
\ No newline at end of file diff --git a/sandbox/testAppSonja/frontend/front/src/app/edit-page/edit-page.component.spec.ts b/sandbox/testAppSonja/frontend/front/src/app/edit-page/edit-page.component.spec.ts new file mode 100644 index 00000000..898e7568 --- /dev/null +++ b/sandbox/testAppSonja/frontend/front/src/app/edit-page/edit-page.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { EditPageComponent } from './edit-page.component'; + +describe('EditPageComponent', () => { + let component: EditPageComponent; + let fixture: ComponentFixture<EditPageComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ EditPageComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(EditPageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/sandbox/testAppSonja/frontend/front/src/app/edit-page/edit-page.component.ts b/sandbox/testAppSonja/frontend/front/src/app/edit-page/edit-page.component.ts new file mode 100644 index 00000000..e86c1f39 --- /dev/null +++ b/sandbox/testAppSonja/frontend/front/src/app/edit-page/edit-page.component.ts @@ -0,0 +1,56 @@ +import { Component, OnInit } from '@angular/core'; +import { NgForm } from '@angular/forms'; +import { ActivatedRoute, Router } from '@angular/router'; +import { StudentService } from '../services/student.service'; +import { Student } from '../Student'; + +@Component({ + selector: 'app-edit-page', + templateUrl: './edit-page.component.html', + styleUrls: ['./edit-page.component.css'] +}) +export class EditPageComponent implements OnInit { + + submitted = false; + id: number = -1; + student = new Student(); + + constructor(private studentService: StudentService, private route: ActivatedRoute, private router: Router) { } + + ngOnInit(): void { + this.route.paramMap.subscribe( + params => this.id = parseInt(params.get('id')!) + ); + + this.loadOneStudent(); + } + + loadOneStudent() { + this.studentService.getOneStudent(this.id) + .subscribe( + data => this.student = data + ) + } + + handleSubmit(f: NgForm) { //f.value su name-ovi pokupljeni iz forme pa njihove vrednosti + let editedStudent : Student = { + id: f.value.id, + firstName: f.value.firstname, //znaci ovo je name iz forme + lastName: f.value.lastname, + regNum: f.value.regNum, + address: f.value.address, + phoneNum: f.value.phone, + gpa: f.value.gpa + } + + this.studentService.updateStudent(this.id, editedStudent) + .subscribe( + data => { + this.submitted = true; + //console.log("Form:", f.value); + this.router.navigate(['']); + } + ) + } + +} |