From b12ab08e95adf3e6f18a2cc744592fd850f6909c Mon Sep 17 00:00:00 2001 From: semenovo <oleg.semenov@student.reutlingen-university.de> Date: Fri, 17 Jul 2020 18:31:02 +0200 Subject: [PATCH] filled components create group --- frontend/{src => }/manifest.yml | 0 .../create-group/create-group.component.html | 2 ++ .../create-group/create-group.component.ts | 13 +++++++++++++ .../src/app/services/data-provider.service.ts | 19 +++++++++++++++++++ 4 files changed, 34 insertions(+) rename frontend/{src => }/manifest.yml (100%) diff --git a/frontend/src/manifest.yml b/frontend/manifest.yml similarity index 100% rename from frontend/src/manifest.yml rename to frontend/manifest.yml diff --git a/frontend/src/app/components/create-group/create-group.component.html b/frontend/src/app/components/create-group/create-group.component.html index 868d30f..53dac64 100644 --- a/frontend/src/app/components/create-group/create-group.component.html +++ b/frontend/src/app/components/create-group/create-group.component.html @@ -25,5 +25,7 @@ <span class="badge">{{group.id}}</span> {{'Gruppe'}} </li> </ul> + <button id="newGroup" (click)="clickToCreate()">Gruppe erstellen + </button> </div> </div> diff --git a/frontend/src/app/components/create-group/create-group.component.ts b/frontend/src/app/components/create-group/create-group.component.ts index cdbb1fe..075e267 100644 --- a/frontend/src/app/components/create-group/create-group.component.ts +++ b/frontend/src/app/components/create-group/create-group.component.ts @@ -19,6 +19,7 @@ export class CreateGroupComponent implements OnInit { selectedModule:ModulesDO; selectedFaculty:FacultyDO; selectedGroup: GroupDO; + newGroup: GroupDO; constructor(private route: ActivatedRoute,private dataService: DataProviderService) {} @@ -40,6 +41,11 @@ export class CreateGroupComponent implements OnInit { this.selectedGroup = groups; } + clickToCreate(): void { + this.newGroup = new GroupDO(); + this.createGroup(this.newGroup); + } + getAllFaculties() { this.route.params.subscribe((params)=> { this.dataService.getFacultyData().then((response) => { @@ -63,4 +69,11 @@ export class CreateGroupComponent implements OnInit { }) }) } + + createGroup(group: GroupDO) { + this.route.params.subscribe((params) => { + this.dataService.createGroupData(group).then((response) => { + }) + }) + } } diff --git a/frontend/src/app/services/data-provider.service.ts b/frontend/src/app/services/data-provider.service.ts index 9b8ef2b..c655bd8 100644 --- a/frontend/src/app/services/data-provider.service.ts +++ b/frontend/src/app/services/data-provider.service.ts @@ -69,4 +69,23 @@ export class DataProviderService { }); }); } + + createGroupData(group: GroupDO): Promise<RequestResponse<GroupDO>> { + return new Promise((resolve, reject) => { + this.httpClient.post<GroupDO>('http://localhost:8080/groups/new', group).toPromise().then( + (group: GroupDO) => { + resolve({type: ResponseType.SUCCESS, payload: group}); + }, (error: HttpErrorResponse) => { + if(error.status === 0) { + reject({type: ResponseType.CONNECTION_PROBLEM}); + } else if(error.status === 400) { + reject({type: ResponseType.BAD_REQUEST}); + } else if(error.status === 500) { + reject({type: ResponseType.INTERNAL_SERVER_ERROR}); + } else { + reject({type: ResponseType.FAILURE}); + } + }); + }); + } } -- GitLab