diff --git a/src/app/components/shared/_dialogs/topic-cloud-administration/TopicCloudAdminData.ts b/src/app/components/shared/_dialogs/topic-cloud-administration/TopicCloudAdminData.ts index 6e59d66b4a1ade406299bd907bbdc3afe5bfac99..5d0dbabc488342451031004c7321b514b6b9b60d 100644 --- a/src/app/components/shared/_dialogs/topic-cloud-administration/TopicCloudAdminData.ts +++ b/src/app/components/shared/_dialogs/topic-cloud-administration/TopicCloudAdminData.ts @@ -1,6 +1,9 @@ export interface TopicCloudAdminData { blacklist: string[]; - wantedLabels: Labels; + wantedLabels: { + de: string[]; + en: string[]; + }; considerVotes: boolean; profanityFilter: boolean; blacklistIsActive: boolean; diff --git a/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.html b/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.html index f66b15f46e3a07c5f58733950f47abcd905db450..4a9869beb0fb1c7edb1e375ddd55b7d1add75478 100644 --- a/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.html +++ b/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.html @@ -114,15 +114,15 @@ <mat-tab-group mat-align-tabs="center"> <mat-tab label="German"> - <mat-selection-list> - <mat-list-option selected=true class="color-on-surface" *ngFor="let label of wantedLabels.de"> + <mat-selection-list [(ngModel)]="wantedLabels.de"> + <mat-list-option selected=true [value]="label.tag" class="color-on-surface" *ngFor="let label of spacyLabels.de"> {{label.label + " (" + label.tag + ")"}} </mat-list-option> </mat-selection-list> </mat-tab> <mat-tab label="English"> - <mat-selection-list> - <mat-list-option selected=true class="color-on-surface" *ngFor="let label of wantedLabels.en"> + <mat-selection-list [(ngModel)]="wantedLabels.en"> + <mat-list-option selected=true [value]="label.tag" class="color-on-surface" *ngFor="let label of spacyLabels.en"> {{label.label + " (" + label.tag + ")"}} </mat-list-option> </mat-selection-list> @@ -130,7 +130,6 @@ </mat-tab-group> </mat-expansion-panel> </mat-accordion> - </mat-expansion-panel> </mat-accordion> diff --git a/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.ts b/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.ts index 7a5d795143cf19f21d582164c2f3c2e6d6e11575..fa7d19933b0736fbee0e2aae07955a47c96c0608 100644 --- a/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.ts +++ b/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.ts @@ -43,9 +43,11 @@ export class TopicCloudAdministrationComponent implements OnInit, OnDestroy { keywordORfulltext: string = undefined; userRole: UserRole; - wantedLabels: Labels; - englishLabels = true; - germanLabels = true; + spacyLabels: Labels; + wantedLabels: { + de: string[]; + en: string[]; + }; keywords: Keyword[] = []; private topicCloudAdminData: TopicCloudAdminData; @@ -71,8 +73,12 @@ export class TopicCloudAdministrationComponent implements OnInit, OnDestroy { this.blacklistSubscription = this.topicCloudAdminService.getBlacklist().subscribe(list => this.blacklist = list); this.isCreatorOrMod = this.data ? (this.data.user.role !== UserRole.PARTICIPANT) : true; this.translateService.use(localStorage.getItem('currentLang')); + this.spacyLabels = spacyLabels; + this.wantedLabels = { + de: [], + en: [] + }; this.setDefaultAdminData(); - this.wantedLabels = spacyLabels; } ngOnDestroy(){ @@ -108,10 +114,13 @@ export class TopicCloudAdministrationComponent implements OnInit, OnDestroy { }); } - setAdminData(){ + setAdminData() { this.topicCloudAdminData = { blacklist: [], - wantedLabels: this.wantedLabels, + wantedLabels: { + de: this.wantedLabels.de, + en: this.wantedLabels.en + }, considerVotes: this.considerVotes, profanityFilter: this.profanityFilter, blacklistIsActive: this.blacklistIsActive, @@ -127,7 +136,10 @@ export class TopicCloudAdministrationComponent implements OnInit, OnDestroy { this.profanityFilter = this.topicCloudAdminData.profanityFilter; this.blacklistIsActive = this.topicCloudAdminData.blacklistIsActive; this.keywordORfulltext = KeywordOrFulltext[this.topicCloudAdminData.keywordORfulltext]; - this.wantedLabels = this.topicCloudAdminData.wantedLabels; + this.wantedLabels = { + de: this.topicCloudAdminData.wantedLabels.de, + en: this.topicCloudAdminData.wantedLabels.en + }; } } @@ -289,7 +301,7 @@ export class TopicCloudAdministrationComponent implements OnInit, OnDestroy { this.topicCloudAdminService.removeWordFromBlacklist(word); } - refreshAllLists(){ + refreshAllLists() { this.searchKeyword(); } } diff --git a/src/app/services/util/topic-cloud-admin.service.ts b/src/app/services/util/topic-cloud-admin.service.ts index 8e16a5f2b0e731376679ea5510ba10b99e2bc4e4..43433ae5d10b04b723ad353afdb1d0b1f4501c01 100644 --- a/src/app/services/util/topic-cloud-admin.service.ts +++ b/src/app/services/util/topic-cloud-admin.service.ts @@ -40,7 +40,10 @@ export class TopicCloudAdminService { if (!data) { data = { blacklist: [], - wantedLabels: new Labels([], []), + wantedLabelsDE: { + de: [], + en: [] + }, considerVotes: false, profanityFilter: true, blacklistIsActive: false,