From a6c86ae059e2fa0d871bb9fce4bc844a72e9887f Mon Sep 17 00:00:00 2001
From: Muhammet Ali Erbay <muhammet.ali.erbay@mni.thm.de>
Date: Fri, 6 Sep 2019 10:30:55 +0200
Subject: [PATCH] Add live announcer to creator/room page and delete dialogs

---
 .../delete-comments/delete-comments.component.html   |  6 +-----
 .../delete-comments/delete-comments.component.ts     |  9 ++++++++-
 .../moderator-delete/moderator-delete.component.ts   | 10 ++++++++--
 .../_dialogs/room-delete/room-delete.component.ts    | 12 ++++++++++--
 .../room-creator-page/room-creator-page.component.ts | 10 +++++++++-
 5 files changed, 36 insertions(+), 11 deletions(-)

diff --git a/src/app/components/creator/_dialogs/delete-comments/delete-comments.component.html b/src/app/components/creator/_dialogs/delete-comments/delete-comments.component.html
index 5fa0fc81b..85738fe9c 100644
--- a/src/app/components/creator/_dialogs/delete-comments/delete-comments.component.html
+++ b/src/app/components/creator/_dialogs/delete-comments/delete-comments.component.html
@@ -1,4 +1,4 @@
-<h1 aria-labelledby="really-delete-comments">{{ 'room-page.sure' | translate }}</h1>
+<h1>{{ 'room-page.sure' | translate }}</h1>
 <mat-divider></mat-divider>
 <p>{{ 'room-page.really-delete-comments' | translate }}</p>
 <div fxLayout="row" fxLayoutAlign="center" fxLayoutGap="10px">
@@ -9,7 +9,3 @@
     {{ 'content.delete' | translate }}
   </button>
 </div>
-
-<div class="visually-hidden">
-  <div id ="really-delete-comments">{{'room-page.really-delete-comments' | translate}}</div>
-</div>
diff --git a/src/app/components/creator/_dialogs/delete-comments/delete-comments.component.ts b/src/app/components/creator/_dialogs/delete-comments/delete-comments.component.ts
index 555e26ea8..f8f3d9730 100644
--- a/src/app/components/creator/_dialogs/delete-comments/delete-comments.component.ts
+++ b/src/app/components/creator/_dialogs/delete-comments/delete-comments.component.ts
@@ -1,6 +1,7 @@
 import { Component, Inject, OnInit } from '@angular/core';
 import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';
 import { RoomEditComponent } from '../room-edit/room-edit.component';
+import { LiveAnnouncer } from '@angular/cdk/a11y';
 
 @Component({
   selector: 'app-delete-comment',
@@ -10,9 +11,15 @@ import { RoomEditComponent } from '../room-edit/room-edit.component';
 export class DeleteCommentsComponent implements OnInit {
 
   constructor(public dialogRef: MatDialogRef<RoomEditComponent>,
-              @Inject(MAT_DIALOG_DATA) public data: any) { }
+              @Inject(MAT_DIALOG_DATA) public data: any,
+              private liveAnnouncer: LiveAnnouncer)  { }
+
 
   ngOnInit() {
+    this.announce();
+  }
+  public announce() {
+    this.liveAnnouncer.announce('Willst du wirklich alle Fragen dieser Session löschen?', 'assertive');
   }
 
   close(type: string): void {
diff --git a/src/app/components/creator/_dialogs/moderator-delete/moderator-delete.component.ts b/src/app/components/creator/_dialogs/moderator-delete/moderator-delete.component.ts
index 3cabf6917..90a6fda82 100644
--- a/src/app/components/creator/_dialogs/moderator-delete/moderator-delete.component.ts
+++ b/src/app/components/creator/_dialogs/moderator-delete/moderator-delete.component.ts
@@ -1,6 +1,7 @@
 import { Component, Inject, OnInit } from '@angular/core';
 import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';
 import { ModeratorsComponent } from '../moderators/moderators.component';
+import { LiveAnnouncer } from '@angular/cdk/a11y';
 
 @Component({
   selector: 'app-moderator-delete',
@@ -12,11 +13,16 @@ export class ModeratorDeleteComponent implements OnInit {
   loginId: string;
 
   constructor(public dialogRef: MatDialogRef<ModeratorsComponent>,
-              @Inject(MAT_DIALOG_DATA) public data: any) { }
+              @Inject(MAT_DIALOG_DATA) public data: any,
+              private liveAnnouncer: LiveAnnouncer) { }
 
   ngOnInit() {
-  }
+    this.announce();
 
+  }
+  public announce() {
+    this.liveAnnouncer.announce('Willst du wirklich diesen Moderator löschen?', 'assertive');
+  }
   close(type: string): void {
     this.dialogRef.close(type);
   }
diff --git a/src/app/components/creator/_dialogs/room-delete/room-delete.component.ts b/src/app/components/creator/_dialogs/room-delete/room-delete.component.ts
index 347e0d56f..ac76ee5e8 100644
--- a/src/app/components/creator/_dialogs/room-delete/room-delete.component.ts
+++ b/src/app/components/creator/_dialogs/room-delete/room-delete.component.ts
@@ -2,6 +2,8 @@ import { Component, Inject, OnInit } from '@angular/core';
 import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';
 import { Room } from '../../../../models/room';
 import { RoomEditComponent } from '../room-edit/room-edit.component';
+import { LiveAnnouncer } from '@angular/cdk/a11y';
+
 
 @Component({
   selector: 'app-room-delete',
@@ -12,13 +14,19 @@ export class RoomDeleteComponent implements OnInit {
   room: Room;
 
   constructor(public dialogRef: MatDialogRef<RoomEditComponent>,
-              @Inject(MAT_DIALOG_DATA) public data: any) {
-  }
+              @Inject(MAT_DIALOG_DATA) public data: any,
+              private liveAnnouncer: LiveAnnouncer) { }
+
 
   onNoClick(): void {
     this.dialogRef.close();
   }
 
   ngOnInit() {
+    this.announce();
+  }
+  public announce() {
+    this.liveAnnouncer.announce('Willst du die Session wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden.', 'assertive');
+
   }
 }
diff --git a/src/app/components/creator/room-creator-page/room-creator-page.component.ts b/src/app/components/creator/room-creator-page/room-creator-page.component.ts
index 4b9017a7e..6beefe5c6 100644
--- a/src/app/components/creator/room-creator-page/room-creator-page.component.ts
+++ b/src/app/components/creator/room-creator-page/room-creator-page.component.ts
@@ -15,6 +15,7 @@ import { WsCommentServiceService } from '../../../services/websockets/ws-comment
 import { CommentService } from '../../../services/http/comment.service';
 import { ModeratorsComponent } from '../_dialogs/moderators/moderators.component';
 import { CommentSettingsComponent } from '../_dialogs/comment-settings/comment-settings.component';
+import { LiveAnnouncer } from '@angular/cdk/a11y';
 
 @Component({
   selector: 'app-room-creator-page',
@@ -39,7 +40,8 @@ export class RoomCreatorPageComponent extends RoomPageComponent implements OnIni
               private translateService: TranslateService,
               protected langService: LanguageService,
               protected wsCommentService: WsCommentServiceService,
-              protected commentService: CommentService) {
+              protected commentService: CommentService,
+              private liveAnnouncer: LiveAnnouncer) {
     super(roomService, route, location, wsCommentService, commentService);
     langService.langEmitter.subscribe(lang => translateService.use(lang));
   }
@@ -50,7 +52,13 @@ export class RoomCreatorPageComponent extends RoomPageComponent implements OnIni
     this.route.params.subscribe(params => {
       this.initializeRoom(params['roomId']);
     });
+    this.announce();
   }
+  public announce() {
+    this.liveAnnouncer.announce('Sie befinden sich nun in der Session mit ID.', 'assertive');
+  }
+
+
 
   afterRoomLoadHook() {
     if (this.moderationEnabled) {
-- 
GitLab