From 3bdfa10836ef7345108d239e56e6f57a2a36b3b4 Mon Sep 17 00:00:00 2001
From: Thomas Lenz <Thomas.Lenz@mni.thm.de>
Date: Thu, 8 Mar 2018 10:26:22 +0100
Subject: [PATCH] Add functionality to create a room on the frontend and to
 navigate into the new room

---
 src/app/room-creation/room-creation.component.ts | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/app/room-creation/room-creation.component.ts b/src/app/room-creation/room-creation.component.ts
index 62cc0a7e9..7d6815c8b 100644
--- a/src/app/room-creation/room-creation.component.ts
+++ b/src/app/room-creation/room-creation.component.ts
@@ -1,6 +1,8 @@
 import { Component, OnInit } from '@angular/core';
 import { RoomService } from '../room.service';
 import { Room } from '../room';
+import { Router } from '@angular/router';
+import { NotificationService } from '../notification.service';
 
 @Component({
   selector: 'app-room-creation',
@@ -11,7 +13,9 @@ export class RoomCreationComponent implements OnInit {
   longName: string;
   shortName: string;
 
-  constructor(private roomService: RoomService) {
+  constructor(private roomService: RoomService,
+              private router: Router,
+              private notification: NotificationService) {
   }
 
   ngOnInit() {
@@ -23,7 +27,11 @@ export class RoomCreationComponent implements OnInit {
     if (!longRoomName || !shortRoomName) {
       return;
     }
-    this.roomService.addRoom({ name: longRoomName, abbreviation: shortRoomName } as Room).subscribe();
+    this.roomService.addRoom({ name: longRoomName, abbreviation: shortRoomName } as Room)
+      .subscribe(room => {
+        this.notification.show(`room '${room.name}' successfully created.`);
+        this.router.navigate([`room/${room.id}`]);
+      });
   }
 }
 
-- 
GitLab