diff --git a/frontend/src/app/components/group-search/group-search.component.css b/frontend/src/app/components/group-search/group-search.component.css index 2b450767961494f9a15b941c0e4605608d2dc86e..3b2ae3a53d35fb0ac0babe3f845438cc5f0984a6 100644 --- a/frontend/src/app/components/group-search/group-search.component.css +++ b/frontend/src/app/components/group-search/group-search.component.css @@ -4,14 +4,14 @@ font: 13px Helvetica; } -#faculties, #modules { +#faculties, #modules, #groups { margin: 0 0 2em 0; list-style-type: none; padding: 0; width: 15em; } -#faculties li, #modules li { +#faculties li, #modules li, #groups li { cursor: pointer; position: relative; left: 0; @@ -22,20 +22,20 @@ border-radius: 4px; } -#faculties li:hover, #modules li:hover { +#faculties li:hover, #modules li:hover, #groups li:hover { background-color: palegreen; left: .1em; } -#faculties li.selected, #modules li.selected { +#faculties li.selected, #modules li.selected , #groups li.selected { background-color: darkseagreen; } -#faculties li.selected:hover, #modules li.selected.hover { +#faculties li.selected:hover, #modules li.selected.hover , #groups li.selected:hover { background-color: darkseagreen; } -#faculties .badge, #modules .badge{ +#faculties .badge, #modules .badge, #groups .badge { display: inline-block; font-size: small; color: white; diff --git a/frontend/src/app/components/group-search/group-search.component.html b/frontend/src/app/components/group-search/group-search.component.html index 39af163842a0f27154e05c76cb4560f508491d11..b5c6b6aee6e77019c3ef4b910fb9c71640a5592c 100644 --- a/frontend/src/app/components/group-search/group-search.component.html +++ b/frontend/src/app/components/group-search/group-search.component.html @@ -6,11 +6,10 @@ [class.selected]="faculty === selectedFaculty" (click)="onSelectFac(faculty)"> <span class="badge">{{faculty.fakultaet_ID}}</span> {{faculty.title}} - </li> </ul> <div *ngIf="selectedFaculty"> - <ul id="modules"> Module + <ul id="modules">Module <li *ngFor="let module of modules" [class.selected]="module === selectedModule" (click)="onSelectMod(module)"> @@ -18,4 +17,13 @@ </li> </ul> </div> + <div *ngIf="selectedModule"> + <ul id="groups">Gruppen + <li *ngFor="let group of groups" + [class.selected]="group === selectedGroup" + (click)="onSelectGroup(group)"> + <span class="badge">{{group.id}}</span> {{'Gruppe'}} + </li> + </ul> + </div> </div> diff --git a/frontend/src/app/components/group-search/group-search.component.ts b/frontend/src/app/components/group-search/group-search.component.ts index db1885c85464df1e129041effbb5cb53968bc98a..90864ae55d2464df40981481bef03fe7a557879f 100644 --- a/frontend/src/app/components/group-search/group-search.component.ts +++ b/frontend/src/app/components/group-search/group-search.component.ts @@ -22,7 +22,7 @@ export class GroupSearchComponent implements OnInit { groups: GroupDO[]; selectedModule:ModulesDO; selectedFaculty:FacultyDO; - + selectedGroup: GroupDO; constructor(private route: ActivatedRoute,private dataService: DataProviderService) {} @@ -39,6 +39,11 @@ export class GroupSearchComponent implements OnInit { this.selectedModule = module; this.getAllGroups(); } + + onSelectGroup(groups: GroupDO): void { + this.selectedGroup = groups; + } + getAllFaculties() { } diff --git a/frontend/src/app/services/data-provider.service.ts b/frontend/src/app/services/data-provider.service.ts index 3b12aa83c08628c16ec237a377da3d407f993f2d..9b8ef2b4536102a5a4b71be3ac96987fc75b3f78 100644 --- a/frontend/src/app/services/data-provider.service.ts +++ b/frontend/src/app/services/data-provider.service.ts @@ -16,8 +16,8 @@ export class DataProviderService { getGroupData(): Promise<RequestResponse<GroupDO[]>> { return new Promise((resolve, reject) => { this.httpClient.get<GroupDO[]>('http://localhost:8080/groups').toPromise().then( - (group: GroupDO[]) => { - resolve({type: ResponseType.SUCCESS, payload: group}); + (groups: GroupDO[]) => { + resolve({type: ResponseType.SUCCESS, payload: groups }); }, (error: HttpErrorResponse) => { if(error.status === 0) { reject({type: ResponseType.CONNECTION_PROBLEM}); @@ -35,8 +35,8 @@ export class DataProviderService { getFacultyData(): Promise<RequestResponse<FacultyDO[]>> { return new Promise((resolve, reject) => { this.httpClient.get<FacultyDO[]>('http://localhost:8080/faculties').toPromise().then( - (faculty: FacultyDO[]) => { - resolve({type: ResponseType.SUCCESS, payload: faculty}); + (faculties: FacultyDO[]) => { + resolve({type: ResponseType.SUCCESS, payload: faculties}); }, (error: HttpErrorResponse) => { if(error.status === 0) { reject({type: ResponseType.CONNECTION_PROBLEM}); diff --git a/groupManagement/src/main/java/thinkTogether/groupManagement/controller/GroupManagementController.java b/groupManagement/src/main/java/thinkTogether/groupManagement/controller/GroupManagementController.java index a9546067787d4227b4cc24b4c93a84fcbadd77bd..4a8266a7802775ce32279b25158a02d97a47e710 100644 --- a/groupManagement/src/main/java/thinkTogether/groupManagement/controller/GroupManagementController.java +++ b/groupManagement/src/main/java/thinkTogether/groupManagement/controller/GroupManagementController.java @@ -1,5 +1,6 @@ package thinkTogether.groupManagement.controller; +import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import thinkTogether.groupManagement.model.Learninggroup; @@ -9,6 +10,8 @@ import java.util.List; @RestController +@CrossOrigin(origins = "*", allowedHeaders = "*") + // Verwendet das Repository und gibt die Daten zurück public class GroupManagementController {