From ad084740497d5d221fe5a93b71bafb202f033451 Mon Sep 17 00:00:00 2001 From: Thomas Lenz <Thomas.Lenz@mni.thm.de> Date: Thu, 8 Mar 2018 20:03:48 +0100 Subject: [PATCH] Add route for creator's room view --- src/app/app-routing.module.ts | 6 ++++++ .../creator-home-screen.component.html | 9 ++++++++- .../creator-home-screen.component.ts | 10 ++++++++-- src/app/creator-room/creator-room.component.html | 2 +- src/app/creator-room/creator-room.component.ts | 16 +++++++++++++--- src/app/room-list/room-list.component.ts | 2 +- src/app/room/room.component.ts | 4 ++-- 7 files changed, 39 insertions(+), 10 deletions(-) diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 7e8c2ec26..6b23d40b2 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 a126d73ea..0b5c3509d 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 ee0b2aa26..874e0e586 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 d641f8e45..cca53d81e 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 c88fa779b..61a7984b9 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 83597ea49..effcbed6c 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 582301e28..800b70b5b 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() { -- GitLab