From 4de3b2db2ecdda352ec99abf0d9afe77625bd285 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lukas=20Mau=C3=9F?= <lukas.mauss@mni.thm.de>
Date: Sun, 9 Feb 2020 14:56:01 +0100
Subject: [PATCH] Add new comment list filter 'My questions'

---
 .../shared/comment-list/comment-list.component.html         | 6 ++++++
 .../shared/comment-list/comment-list.component.scss         | 4 ++++
 .../shared/comment-list/comment-list.component.ts           | 3 +++
 src/assets/i18n/creator/de.json                             | 2 ++
 src/assets/i18n/creator/en.json                             | 2 ++
 src/assets/i18n/participant/de.json                         | 2 ++
 src/assets/i18n/participant/en.json                         | 2 ++
 7 files changed, 21 insertions(+)

diff --git a/src/app/components/shared/comment-list/comment-list.component.html b/src/app/components/shared/comment-list/comment-list.component.html
index 4517a9124..a9e31ca82 100644
--- a/src/app/components/shared/comment-list/comment-list.component.html
+++ b/src/app/components/shared/comment-list/comment-list.component.html
@@ -121,6 +121,12 @@
         <span>{{ 'comment-list.filter-answered' | translate }}</span>
       </button>
 
+      <button mat-menu-item (focus)="hideCommentsList=true" matTooltip="{{ 'comment-list.owner' | translate }}"
+              (click)="filterComments(owner)" aria-labelledby="comment">
+        <mat-icon [ngClass]="{owner: 'owner-icon'}[currentFilter]">person</mat-icon>
+        <span>{{ 'comment-list.filter-owner' | translate }}</span>
+      </button>
+
       <button mat-menu-item (focus)="hideCommentsList=false" (click)="sortComments(currentSort); filterComments('')"
               aria-labelledby="close">
         <mat-icon>close</mat-icon>
diff --git a/src/app/components/shared/comment-list/comment-list.component.scss b/src/app/components/shared/comment-list/comment-list.component.scss
index a1f1b2e72..76e62c34c 100644
--- a/src/app/components/shared/comment-list/comment-list.component.scss
+++ b/src/app/components/shared/comment-list/comment-list.component.scss
@@ -128,6 +128,10 @@ app-comment {
   color: var(--yellow);
 }
 
+.owner-icon {
+  color: var(--purple)
+}
+
 .counter {
   color: var(--on-background);
 }
diff --git a/src/app/components/shared/comment-list/comment-list.component.ts b/src/app/components/shared/comment-list/comment-list.component.ts
index df01a28fe..66afb1ccd 100644
--- a/src/app/components/shared/comment-list/comment-list.component.ts
+++ b/src/app/components/shared/comment-list/comment-list.component.ts
@@ -51,6 +51,7 @@ export class CommentListComponent implements OnInit, OnDestroy {
   ack = 'ack';
   tag = 'tag';
   answer = 'answer';
+  owner = 'owner';
   currentFilter = '';
   commentVoteMap = new Map<string, Vote>();
   scroll = false;
@@ -330,6 +331,8 @@ export class CommentListComponent implements OnInit, OnDestroy {
           return c.tag === tag;
         case this.answer:
           return c.answer;
+        case this.owner:
+          return c.creatorId === this.user.id;
       }
     });
     this.hideCommentsList = true;
diff --git a/src/assets/i18n/creator/de.json b/src/assets/i18n/creator/de.json
index 8308977ea..c37c48950 100644
--- a/src/assets/i18n/creator/de.json
+++ b/src/assets/i18n/creator/de.json
@@ -29,9 +29,11 @@
     "filter-comments": "Fragen filtern",
     "filter-correct": "Bejahte Fragen",
     "filter-favorite": "Bonus-prämierte Fragen",
+    "filter-owner": "Meine Fragen",
     "filter-read": "Besprochene Fragen",
     "filter-reset": "Zurücksetzen",
     "filter-wrong": "Verneinte Fragen",
+    "owner": "Fragen, welche ich gestellt habe",
     "read": "Fragen, die der Dozent am Beamer besprochen hat",
     "really-delete": "Willst du die Frage wirklich löschen?",
     "search": "Suchen",
diff --git a/src/assets/i18n/creator/en.json b/src/assets/i18n/creator/en.json
index 30535c746..6abd54812 100644
--- a/src/assets/i18n/creator/en.json
+++ b/src/assets/i18n/creator/en.json
@@ -29,9 +29,11 @@
     "filter-comments": "Filter questions",
     "filter-correct": "Affirmed questions",
     "filter-favorite": "Questions awarded a bonus",
+    "filter-owner": "My questions",
     "filter-read": "Questions discussed",
     "filter-reset": "Reset",
     "filter-wrong": "Negated questions",
+    "owner": "Questions I have asked",
     "read": "Discussed",
     "really-delete": "Do you really want to delete this question?",
     "search": "Search",
diff --git a/src/assets/i18n/participant/de.json b/src/assets/i18n/participant/de.json
index d648bfdba..f60850115 100644
--- a/src/assets/i18n/participant/de.json
+++ b/src/assets/i18n/participant/de.json
@@ -41,9 +41,11 @@
     "filter-comments": "Fragen filtern",
     "filter-correct": "Bejahte Fragen",
     "filter-favorite": "Bonus-prämierte Fragen",
+    "filter-owner": "Meine Fragen",
     "filter-read": "Besprochene Fragen",
     "filter-reset": "Zurücksetzen",
     "filter-wrong": "Verneinte Fragen",
+    "owner": "Fragen, welche ich gestellt habe",
     "read": "Im Hörsaal besprochen",
     "search": "Suchen",
     "sort-comments": "Fragen sortieren",
diff --git a/src/assets/i18n/participant/en.json b/src/assets/i18n/participant/en.json
index 6c6a9a025..d7b2e2362 100644
--- a/src/assets/i18n/participant/en.json
+++ b/src/assets/i18n/participant/en.json
@@ -41,9 +41,11 @@
     "filter-comments": "Filter questions",
     "filter-correct": "Affirmed questions",
     "filter-favorite": "Questions awarded a bonus",
+    "filter-owner": "My questions",
     "filter-read": "Questions discussed",
     "filter-reset": "Reset",
     "filter-wrong": "Negated questions",
+    "owner": "Questions I have asked",
     "read": "Discussed by the professor",
     "search": "Search",
     "sort-comments": "Sort questions",
-- 
GitLab