-
Mohammad Alayoub authorede3aa7728
Forked from an inaccessible project.
<mat-dialog-content>
<mat-card class="color-surface">
<div>
<mat-slide-toggle [(ngModel)]="considerVotes">
{{'topic-cloud-dialog.consider-votes' | translate}}
</mat-slide-toggle>
<mat-slide-toggle (change)="refreshAllLists()" [(ngModel)]="profanityFilter">
{{'topic-cloud-dialog.profanity' | translate}}
</mat-slide-toggle>
<mat-accordion hideToggle class="new-Badword" multi>
<mat-expansion-panel class="color-background"
(opened)="enterBadword = true; focusBadWordInput()"
(closed)="enterBadword = false">
<mat-expansion-panel-header class="color-background">
<mat-panel-description>
{{'topic-cloud-dialog.add-profanity-word' | translate}}
<mat-icon>{{!enterBadword ? 'add' : 'remove'}}</mat-icon>
</mat-panel-description>
</mat-expansion-panel-header>
<mat-form-field>
<mat-label>{{'topic-cloud-dialog.enter-word' | translate}}</mat-label>
<input matInput id="bad-word-input" [(ngModel)]="newBadWord">
</mat-form-field>
<button mat-button color="primary" (click)="addBadword()">
<mat-icon>add_circle</mat-icon>
{{'topic-cloud-dialog.send' | translate}}
</button>
</mat-expansion-panel>
</mat-accordion>
</div>
</mat-card>
<div fxLayout="row" style="margin-top: 10px;">
<mat-label fxLayoutAlign="center center">
<mat-icon>search</mat-icon>
</mat-label>
<div style="margin-left: 10px;">
<mat-form-field [ngClass]="{'search': searchMode}">
<input #searchBox id="searchBox" (input)="searchKeyword()"
[(ngModel)]="searchedKeyword" matInput type="text"
placeholder="{{'topic-cloud-dialog.keyword-search' | translate}}">
<button *ngIf="searchedKeyword"
(click)="searchedKeyword = ''; searchMode = false;"
mat-button matSuffix mat-icon-button aria-label="topic-cloud-dialog.keyword-search">
<mat-icon>close</mat-icon>
</button>
</mat-form-field>
</div>
<div fxLayoutAlign="center center" style="margin-left: 52%; font-weight: bold;" >
<p [ngClass]="{'animation-blink': searchMode}">{{searchMode ? filteredKeywords.length : keywords.length}}</p>
</div>
<div fxLayoutAlign="end" *ngIf="!searchMode">
<button [ngClass]="{'animation-blink': sortMode!=='alphabetic'}" mat-button [matMenuTriggerFor]="sortMenu" mat-ripple>
<mat-icon>sort</mat-icon>
</button>
</div>
</div>
<mat-menu #sortMenu>
<button [ngClass]="{'animation-blink': sortMode==='alphabetic'}" mat-menu-item (click)="sortQuestions('alphabetic')">
<mat-icon>sort_by_alpha</mat-icon>
{{'topic-cloud-dialog.sort-alpha' | translate}} </button>
<button [ngClass]="{'animation-blink': sortMode==='questionsCount'}" mat-menu-item (click)="sortQuestions('questionsCount')">
<mat-icon>swap_vert</mat-icon>
{{'topic-cloud-dialog.sort-count' | translate}} </button>
<button [ngClass]="{'animation-blink': sortMode==='voteCount'}" mat-menu-item (click)="sortQuestions('voteCount')">
<mat-icon>swap_vert</mat-icon>
{{'topic-cloud-dialog.sort-vote' | translate}} </button>
</mat-menu>
<mat-accordion>
<mat-expansion-panel class="color-surface" hideToggle *ngIf="searchMode && filteredKeywords.length === 0">
<mat-expansion-panel-header class="color-surface">
<mat-panel-title fxLayoutAlign="center">
{{'topic-cloud-dialog.no-keywords-note' | translate}}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
<!-- *ngFor="let keyword of (searchMode ? filteredKeywords : keywords); let i = index" [attr.data-index]="i">
-->
<mat-expansion-panel class="color-surface"
(opened)="panelOpenState = true"
(closed)="panelOpenState = edit = false"
*ngFor="let keyword of
(searchMode ? filteredKeywords : keywords); let i = index" [attr.data-index]="i">
<mat-expansion-panel-header class="color-surface">
<mat-panel-title>
{{profanityFilter ? getKeywordWithoutProfanity(keyword.keyword) : keyword.keyword}}
</mat-panel-title>
<mat-panel-description>
{{keyword.questions.length}}
{{'topic-cloud-dialog.question-count-'+(keyword.questions.length > 1 ? 'plural' : 'singular') | translate}}
</mat-panel-description>
</mat-expansion-panel-header>
<div *ngFor="let question of keyword.questions">
<mat-divider></mat-divider>
<app-topic-dialog-comment
[question]="question"
[keyword]="keyword.keyword"
[maxShowedCharachters]="140"
[isCollapsed]="!panelOpenState"
[profanityFilter]="profanityFilter"
></app-topic-dialog-comment>
</div>
<!-- Only visible when not editing -->
<div *ngIf="!edit" align="end">
<mat-divider></mat-divider>
<button class="margin-right" mat-icon-button style="align-self:flex-end;" (click)="editKeyword(i)">
<mat-icon class="primary">edit</mat-icon>
</button>
<button class="margin-right" mat-icon-button style="align-self:flex-end;"
(click)="openConfirmDialog(keyword)">
<mat-icon class="red">delete</mat-icon>
</button>
</div>
<!-- Only visible when editing -->
<div *ngIf="edit">
<mat-divider></mat-divider>
<mat-form-field>
<mat-label>{{'topic-cloud-dialog.edit-keyword-tip' | translate}}</mat-label>
<input matInput id="{{'edit-input'+i}}" [(ngModel)]="newKeyword">
</mat-form-field>
<!-- TODO: textinput and buttons in one row -->
<div align="end">
<button mat-raised-button class="redBackground margin-right" (click)="cancelEdit()">{{'topic-cloud-dialog.cancel' | translate}}</button>
<button mat-raised-button class="primaryBackground" (click)="confirmEdit(keyword)">{{'topic-cloud-dialog.save' | translate}}</button>
</div>
</div>
</mat-expansion-panel><br>
</mat-accordion>
</mat-dialog-content>