Newer
Older
import { Component, Input, OnInit } from '@angular/core';
import { Comment } from '../../../models/comment';
import { AuthenticationService } from '../../../services/http/authentication.service';
import { ActivatedRoute } from '@angular/router';
import { Location } from '@angular/common';
import { CommentService } from '../../../services/http/comment.service';
import { NotificationService } from '../../../services/util/notification.service';
import { TranslateService } from '@ngx-translate/core';
import { LanguageService } from '../../../services/util/language.service';

Lukas Mauß
committed
import { WsCommentServiceService } from '../../../services/websockets/ws-comment-service.service';
import { PresentCommentComponent } from '../_dialogs/present-comment/present-comment.component';
import { MatDialog } from '@angular/material';
@Component({
selector: 'app-comment',
templateUrl: './comment.component.html',
styleUrls: ['./comment.component.scss']
})
export class CommentComponent implements OnInit {
isLoading = true;
constructor(protected authenticationService: AuthenticationService,
private route: ActivatedRoute,
private location: Location,
private commentService: CommentService,
private notification: NotificationService,
private translateService: TranslateService,
public dialog: MatDialog,

Lukas Mauß
committed
protected langService: LanguageService,
private wsCommentService: WsCommentServiceService) {
langService.langEmitter.subscribe(lang => translateService.use(lang)); }
if (this.authenticationService.getRole() === 0) {
this.isCreator = true;
}
this.translateService.use(localStorage.getItem('currentLang'));
}
setRead(comment: Comment): void {

Lukas Mauß
committed
this.comment = this.wsCommentService.toggleRead(comment);
setCorrect(comment: Comment): void {

Lukas Mauß
committed
this.comment = this.wsCommentService.toggleCorrect(comment);
setFavorite(comment: Comment): void {

Lukas Mauß
committed
this.comment = this.wsCommentService.toggleFavorite(comment);
voteUp(comment: Comment): void {
this.wsCommentService.voteUp(comment);
}
voteDown(comment: Comment): void {
this.wsCommentService.voteDown(comment);
}
delete(comment: Comment): void {
this.commentService.deleteComment(comment.id).subscribe(room => {
this.notification.show(`Comment '${comment.body}' successfully deleted.`);
openPresentDialog(body: string): void {
const dialogRef = this.dialog.open(PresentCommentComponent, {
position: {
left: '10px',
right: '10px'
},
maxWidth: '100vw',
maxHeight: '100vh',
height: '100%',
width: '100%'
});
dialogRef.componentInstance.body = body;
dialogRef.afterClosed()
.subscribe(result => {
if (result === 'close') {
return;
}
});
}