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