From fa25e3756c83308472f3ed3a95d3b14d056b2600 Mon Sep 17 00:00:00 2001 From: Simon Konrad <simon.konrad@mni.thm.de> Date: Wed, 5 May 2021 17:55:07 +0200 Subject: [PATCH] added buttons to header-menu --- .../shared/header/header.component.html | 40 +++++++++++++++++-- .../shared/tag-cloud/tag-cloud.component.html | 18 +-------- .../shared/tag-cloud/tag-cloud.component.ts | 25 +----------- src/assets/i18n/home/de.json | 6 ++- src/assets/i18n/home/en.json | 4 +- src/assets/i18n/participant/de.json | 4 -- src/assets/i18n/participant/en.json | 4 -- 7 files changed, 47 insertions(+), 54 deletions(-) diff --git a/src/app/components/shared/header/header.component.html b/src/app/components/shared/header/header.component.html index 6b6736b44..34b6185bd 100644 --- a/src/app/components/shared/header/header.component.html +++ b/src/app/components/shared/header/header.component.html @@ -89,7 +89,7 @@ </ng-container> - <ng-container *ngIf="user && user.role == 0 && router.url.includes('/comment/')"> + <ng-container *ngIf="(user && user.role == 0 && router.url.includes('/comment/'))"> <button mat-menu-item tabindex="0" @@ -237,9 +237,9 @@ </button> </ng-container> - + <button mat-menu-item - *ngIf="user && user.role > 0 && !router.url.includes('/comment/')" + *ngIf="user && user.role > 0 && !router.url.includes('/comment/') && !router.url.endsWith('/tagcloud')" tabindex="0" (click)="showQRDialog();"> <mat-icon svgIcon="qrcode" @@ -248,6 +248,40 @@ <span>{{'header.room-qr' | translate}}</span> </button> + <button mat-menu-item + *ngIf="router.url.endsWith('/tagcloud')" + tabindex="0"> + <mat-icon aria-label="Configuration Icon">cloud</mat-icon> + <span>{{'header.tag-cloud-config' | translate}}</span> + </button> + + <button mat-menu-item + *ngIf="router.url.endsWith('/tagcloud')" + tabindex="0"> + <mat-icon aria-hidden="false" aria-label="Control Icon">edit</mat-icon> + <span>{{'header.tag-cloud-administration' | translate}}</span> + </button> + + <button mat-menu-item + *ngIf="router.url.endsWith('/tagcloud')" + tabindex="0" + (click)="navigateCreateQuestion();"> + <mat-icon> + add + </mat-icon> + <span>{{'header.create-question' | translate}}</span> + </button> + + <button mat-menu-item + tabindex="0" + *ngIf="router.url.endsWith('/tagcloud')" + routerLink="participant/room/{{shortId}}/comments"> + <mat-icon> + forum + </mat-icon> + <span>{{'header.back-to-questionboard' | translate}}</span> + </button> + </ng-container> </div> diff --git a/src/app/components/shared/tag-cloud/tag-cloud.component.html b/src/app/components/shared/tag-cloud/tag-cloud.component.html index 2a572dae5..68f445b36 100644 --- a/src/app/components/shared/tag-cloud/tag-cloud.component.html +++ b/src/app/components/shared/tag-cloud/tag-cloud.component.html @@ -2,21 +2,6 @@ <ars-row [height]="100"> </ars-row> - <ars-row style="overflow: hidden; display: flex; justify-content: space-between;"> - <ars-col> - </ars-col> - <ars-col class="config" (mouseenter)="onHoverStart($event)" (mouseleave)="onHoverEnd($event)"> - <button mat-menu-item> - <mat-icon aria-hidden="false" aria-label="Configuration Icon">cloud</mat-icon> - <span>{{'tag-cloud.config' | translate}}</span> - </button> - <button mat-menu-item> - <mat-icon aria-hidden="false" aria-label="Control Icon">edit</mat-icon> - <span>{{'tag-cloud.administration' | translate}}</span> - </button> - </ars-col> - </ars-row> - <ars-fill ars-flex-box style="width:100%;height:100%;"> <angular-tag-cloud class="spacyTagCloud" @@ -25,8 +10,7 @@ [height]="options.height" [overflow]="options.overflow" [zoomOnHover]="zoomOnHoverOptions" - [realignOnResize]="true" - [log]='"debug"'> + [realignOnResize]="true"> </angular-tag-cloud> </ars-fill> diff --git a/src/app/components/shared/tag-cloud/tag-cloud.component.ts b/src/app/components/shared/tag-cloud/tag-cloud.component.ts index e92f6f6de..8b3f37f59 100644 --- a/src/app/components/shared/tag-cloud/tag-cloud.component.ts +++ b/src/app/components/shared/tag-cloud/tag-cloud.component.ts @@ -12,6 +12,7 @@ import {Result, SpacyService} from '../../../services/http/spacy.service'; import {Comment} from '../../../models/comment'; import {LanguageService} from '../../../services/util/language.service'; import {TranslateService} from '@ngx-translate/core'; +import { EventService } from '../../../services/util/event.service'; class TagComment implements CloudData { constructor(public color: string, @@ -43,7 +44,7 @@ const weight2color = { templateUrl: './tag-cloud.component.html', styleUrls: ['./tag-cloud.component.scss'] }) -export class TagCloudComponent implements OnInit, AfterViewInit { +export class TagCloudComponent implements OnInit { @ViewChild(TCloudComponent, {static: false}) child: TCloudComponent; roomId: string; @@ -82,28 +83,6 @@ export class TagCloudComponent implements OnInit, AfterViewInit { }); } - ngAfterViewInit(): void { - const interval = setInterval(() => { - if (this.onHoverEnd(null) > 0) { - clearInterval(interval); - } - }, 10); - } - - onHoverStart(event: MouseEvent): any { - const container: HTMLElement = document.querySelector('.config'); - container.style.right = '0'; - } - - onHoverEnd(event: MouseEvent): any { - const container: HTMLElement = document.querySelector('.config'); - let maxSpanWidth = 0; - document.querySelectorAll('.config span').forEach(e => - maxSpanWidth = Math.max(e.clientWidth, maxSpanWidth)); - container.style.right = '-' + (maxSpanWidth + 16) + 'px'; //16 = margin - return maxSpanWidth; - } - analyse(comments: Comment[]) { const commentsConcatenated = comments.map(c => c.body).join(' '); diff --git a/src/assets/i18n/home/de.json b/src/assets/i18n/home/de.json index 382cd976d..bfbab3140 100644 --- a/src/assets/i18n/home/de.json +++ b/src/assets/i18n/home/de.json @@ -82,9 +82,11 @@ "moderationboard": "Zum Index", "create-question": "Frage stellen", "questionwall": "Fragen-Fokus", - "tag-cloud": "Wortwolke", + "tag-cloud": "Themenwolke", "fullscreen": "Text skalieren", - "motd": "News" + "motd": "News", + "tag-cloud-config": "Wolkenansicht ändern", + "tag-cloud-administration": "Wolkenthemen editieren" }, "help": { "cancel": "Schließen", diff --git a/src/assets/i18n/home/en.json b/src/assets/i18n/home/en.json index eb981ffc6..c06841d49 100644 --- a/src/assets/i18n/home/en.json +++ b/src/assets/i18n/home/en.json @@ -85,7 +85,9 @@ "questionwall": "Question focus", "tag-cloud": "Topic cloud", "fullscreen": "Text scaling", - "motd": "News" + "motd": "News", + "tag-cloud-config": "Modify cloud view", + "tag-cloud-administration": "Edit cloud topics" }, "help": { "cancel": "Close", diff --git a/src/assets/i18n/participant/de.json b/src/assets/i18n/participant/de.json index d9f1825b8..fdf17ae82 100644 --- a/src/assets/i18n/participant/de.json +++ b/src/assets/i18n/participant/de.json @@ -211,9 +211,5 @@ "next-comment-lbl": "Nächste Frage", "overview-question-tooltip": "Anzahl gestellter Fragen", "overview-questioners-tooltip": "Anzahl Fragensteller*innen" - }, - "tag-cloud": { - "config": "Wolkenansicht ändern", - "administration": "Wolkenthemen editieren" } } diff --git a/src/assets/i18n/participant/en.json b/src/assets/i18n/participant/en.json index 05f5cf576..0ebe2a41f 100644 --- a/src/assets/i18n/participant/en.json +++ b/src/assets/i18n/participant/en.json @@ -217,9 +217,5 @@ "next-comment-lbl": "Next question", "overview-question-tooltip": "Number of questions", "overview-questioners-tooltip": "Number of questioners" - }, - "tag-cloud": { - "config": "Modify cloud view", - "administration": "Edit cloud topics" } } -- GitLab