diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 7e8c2ec265b9194a6c0c47902201d7c5005a9af9..6b23d40b29f2aedf1da21b896d8135c0212e3c1b 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -9,6 +9,7 @@ import { ParticipantHomeScreenComponent } from './participant-home-screen/partic import { AuthenticationGuard } from './authentication.guard'; import { UserRole } from './user-roles.enum'; import { ParticipantRoomComponent } from './participant-room/participant-room.component'; +import { CreatorRoomComponent } from './creator-room/creator-room.component'; import { CommentComponent } from './comment/comment.component'; import { CommentListComponent } from './comment-list/comment-list.component'; @@ -32,6 +33,11 @@ const routes: Routes = [ component: RoomComponent, canActivate: [AuthenticationGuard] }, + { + path: 'creator/room/:roomId', + component: CreatorRoomComponent, + canActivate: [AuthenticationGuard] + }, { path: 'room/:roomId/comments', component: CommentListComponent, diff --git a/src/app/creator-home-screen/creator-home-screen.component.html b/src/app/creator-home-screen/creator-home-screen.component.html index a126d73ea1ac30d7bd65ace441a901476c88fa14..0b5c3509dba070f79d967cea6af93c8455b9821f 100644 --- a/src/app/creator-home-screen/creator-home-screen.component.html +++ b/src/app/creator-home-screen/creator-home-screen.component.html @@ -3,6 +3,13 @@ <button mat-raised-button color="primary" (click)="openCreateRoomDialog()">Create new room</button> </div> <div fxLayout="row" fxLayoutAlign="center"> - <app-room-list></app-room-list> +<!-- <app-room-list></app-room-list> --> + <mat-list> + <mat-list-item *ngFor="let room of rooms"> + <button mat-button routerLink="room/{{room.id}}"> + {{room.name}} + </button> + </mat-list-item> + </mat-list> </div> </div> diff --git a/src/app/creator-home-screen/creator-home-screen.component.ts b/src/app/creator-home-screen/creator-home-screen.component.ts index ee0b2aa26a9d8a53d6fd6bd0a44df10f0bd092e4..874e0e586a9a732440163466d8470fc491f9ed38 100644 --- a/src/app/creator-home-screen/creator-home-screen.component.ts +++ b/src/app/creator-home-screen/creator-home-screen.component.ts @@ -1,17 +1,23 @@ import { Component, OnInit } from '@angular/core'; import { MatDialog } from '@angular/material'; import { RoomCreationComponent } from '../room-creation/room-creation.component'; +import { RoomListComponent } from '../room-list/room-list.component'; +import { RoomService } from '../room.service'; @Component({ selector: 'app-creator-home-screen', templateUrl: './creator-home-screen.component.html', styleUrls: ['./creator-home-screen.component.scss'] }) -export class CreatorHomeScreenComponent implements OnInit { +export class CreatorHomeScreenComponent extends RoomListComponent implements OnInit { - constructor(public dialog: MatDialog) { } + constructor(public dialog: MatDialog, + protected roomService: RoomService) { + super(roomService); + } ngOnInit() { + this.getRooms(); } openCreateRoomDialog(): void { diff --git a/src/app/creator-room/creator-room.component.html b/src/app/creator-room/creator-room.component.html index d641f8e45d2b901ffc091e34e33d8ab64168d52a..cca53d81ebf3e7872b3976c6d7930f8f25592e4f 100644 --- a/src/app/creator-room/creator-room.component.html +++ b/src/app/creator-room/creator-room.component.html @@ -1,7 +1,7 @@ <div fxLayout="column" fxLayoutAlign="center" fxLayoutGap="20px" fxFill> <div fxLayout="row" fxLayoutAlign="center"> <div fxLayoutGap="20px"> - <mat-list-item>Room: {{room}}</mat-list-item> + <mat-list-item>Room: {{room.name}}</mat-list-item> <mat-list-item> <button mat-raised-button color="primary">Create content</button> </mat-list-item> diff --git a/src/app/creator-room/creator-room.component.ts b/src/app/creator-room/creator-room.component.ts index c88fa779b2de97760e8e49f51b718efd60baab33..61a7984b9639bf77f5de81c1963bba7d76c26dc0 100644 --- a/src/app/creator-room/creator-room.component.ts +++ b/src/app/creator-room/creator-room.component.ts @@ -1,15 +1,25 @@ import { Component, OnInit } from '@angular/core'; +import { RoomService } from '../room.service'; +import { ActivatedRoute } from '@angular/router'; +import { RoomComponent } from '../room/room.component'; +import { Room } from '../room'; @Component({ selector: 'app-creator-room', templateUrl: './creator-room.component.html', styleUrls: ['./creator-room.component.scss'] }) -export class CreatorRoomComponent implements OnInit { - room = '1'; - constructor() { } +export class CreatorRoomComponent extends RoomComponent implements OnInit { + room: Room; + constructor(protected roomService: RoomService, + protected route: ActivatedRoute) { + super(roomService, route); + } ngOnInit() { + this.route.params.subscribe(params => { + this.getRoom(params['roomId']); + }); } } diff --git a/src/app/room-list/room-list.component.ts b/src/app/room-list/room-list.component.ts index 83597ea4983706ea53dc3aedd85f870aa80f4753..effcbed6ce821c6a5dd162c6e705ef40be0241f4 100644 --- a/src/app/room-list/room-list.component.ts +++ b/src/app/room-list/room-list.component.ts @@ -11,7 +11,7 @@ export class RoomListComponent implements OnInit { rooms: Room[]; closedRooms: Room[]; - constructor(private roomService: RoomService) { + constructor(protected roomService: RoomService) { } ngOnInit() { diff --git a/src/app/room/room.component.ts b/src/app/room/room.component.ts index 582301e28751e4d79e5ad799dd71ecf172a75175..800b70b5bfaa7a6e21094e78179168e53b6bdc44 100644 --- a/src/app/room/room.component.ts +++ b/src/app/room/room.component.ts @@ -11,8 +11,8 @@ import { ActivatedRoute } from '@angular/router'; export class RoomComponent implements OnInit { room: Room = null; - constructor(private roomService: RoomService, - private route: ActivatedRoute) { + constructor(protected roomService: RoomService, + protected route: ActivatedRoute) { } ngOnInit() {