diff --git a/src/app/components/shared/header/header.component.html b/src/app/components/shared/header/header.component.html index 6b6736b44a8e50281069a4066190c4c9c56de869..34b6185bd36f0a476600307175fd10eaffb5b00a 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 2a572dae5851111ce7b67dc515c948f58c9e1f31..68f445b360dafa68d47b33ab9c6b0cd5ca5ee3f7 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 e92f6f6de5af40e37578a7b5b9ed286ff00285fe..8b3f37f595d336bcf134d41d4c7fe9d176c7a801 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 382cd976dda00c0402513f554a992556f191a7ee..bfbab314006fa64e8ac79f1782d30dd4ec06d463 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 eb981ffc6b6e0f92ee44676f4814542cb7f2ca68..c06841d49ed87d62bfad519ea9119d316e3327ea 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 d9f1825b8ffe9a03aa38651a36a74be106d34cfc..fdf17ae8273a4d8c0c9dc59e7f8277daa9cf629e 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 05f5cf576ff6f8736e6ff35a1fd176e23169e726..0ebe2a41f640fe5e63fa4f7b7bd9601e95488217 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" } }