From db55fa377492cea75e445cd8b3f8051ef2935886 Mon Sep 17 00:00:00 2001 From: Ruben Bimberg <ruben.bimberg@mni.thm.de> Date: Tue, 31 Aug 2021 17:58:43 +0200 Subject: [PATCH] Adjust to backend --- .../cloud-configuration.component.ts | 2 ++ .../TopicCloudAdminData.ts | 4 +-- .../shared/tag-cloud/tag-cloud.component.ts | 27 +++++++++++++++++++ src/app/models/room.ts | 5 +++- 4 files changed, 35 insertions(+), 3 deletions(-) diff --git a/src/app/components/shared/_dialogs/cloud-configuration/cloud-configuration.component.ts b/src/app/components/shared/_dialogs/cloud-configuration/cloud-configuration.component.ts index 209c57152..9aeb0a2e3 100644 --- a/src/app/components/shared/_dialogs/cloud-configuration/cloud-configuration.component.ts +++ b/src/app/components/shared/_dialogs/cloud-configuration/cloud-configuration.component.ts @@ -188,6 +188,7 @@ export class CloudConfigurationComponent implements OnInit { cancel() { this.parent.setCloudParameters(this.defaultCloudParameters); + this.parent.updateTagCloudSettings(); this.cloudParameters = new CloudParameters(this.defaultCloudParameters); this.setStep(0); this.closePanel(); @@ -195,6 +196,7 @@ export class CloudConfigurationComponent implements OnInit { save() { this.parent.setCloudParameters(this.cloudParameters); + this.parent.updateTagCloudSettings(); this.defaultCloudParameters = new CloudParameters(this.cloudParameters); this.setStep(0); this.closePanel(); 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 1337a08d1..42b959a8f 100644 --- a/src/app/components/shared/_dialogs/topic-cloud-administration/TopicCloudAdminData.ts +++ b/src/app/components/shared/_dialogs/topic-cloud-administration/TopicCloudAdminData.ts @@ -45,13 +45,13 @@ const deLabels: Label[] = [ {tag: 'og', label: 'Genitivobjekt', enabledByDefault: true}, {tag: 'da', label: 'Dativobjekt', enabledByDefault: true}, {tag: 'oa', label: 'Akkusativobjekt', enabledByDefault: true}, + {tag: 'ROOT', label: 'Satzkernelement', enabledByDefault: true}, {tag: 'pd', label: 'Prädikat', enabledByDefault: false}, {tag: 'ag', label: 'Genitivattribut', enabledByDefault: false}, {tag: 'app', label: 'Apposition', enabledByDefault: false}, {tag: 'nk', label: 'Nomen Kernelement', enabledByDefault: false}, {tag: 'mo', label: 'Modifikator', enabledByDefault: false}, {tag: 'cj', label: 'Konjunktor', enabledByDefault: false}, - {tag: 'ROOT', label: 'Satzkernelement', enabledByDefault: false}, {tag: 'par', label: 'Klammerzusatz', enabledByDefault: false} ]; @@ -61,11 +61,11 @@ const enLabels: Label[] = [ {tag: 'dobj', label: 'Direct object', enabledByDefault: true}, {tag: 'compound', label: 'Compound', enabledByDefault: true}, {tag: 'nsubjpass', label: 'Passive nominal subject', enabledByDefault: true}, + {tag: 'ROOT', label: 'Sentence kernel element', enabledByDefault: true}, {tag: 'nummod', label: 'Numeric modifier', enabledByDefault: false}, {tag: 'amod', label: 'Adjectival modifier', enabledByDefault: false}, {tag: 'npadvmod', label: 'Noun phrase as adverbial modifier', enabledByDefault: false}, {tag: 'conj', label: 'Conjunct', enabledByDefault: false}, - {tag: 'ROOT', label: 'Sentence kernel element', enabledByDefault: false}, {tag: 'intj', label: 'Interjection', enabledByDefault: false} ]; 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 db63d7c08..fab3397b2 100644 --- a/src/app/components/shared/tag-cloud/tag-cloud.component.ts +++ b/src/app/components/shared/tag-cloud/tag-cloud.component.ts @@ -199,6 +199,13 @@ export class TagCloudComponent implements OnInit, OnDestroy, AfterContentInit { if (message.type === 'RoomPatched') { this.room.questionsBlocked = message.payload.changes.questionsBlocked; this.room.blacklistIsActive = message.payload.changes.blacklistIsActive; + const data = JSON.parse(message.payload.changes.tagCloudSettings); + if (data) { + this.setCloudParameters(data as CloudParameters); + } else { + this.resetColorsToTheme(); + this.setCloudParameters(this.currentCloudParameters); + } } }); this.directSend = this.room.directSend; @@ -344,6 +351,26 @@ export class TagCloudComponent implements OnInit, OnDestroy, AfterContentInit { this.router.navigate(['../'], { relativeTo: this.route }); } + updateTagCloudSettings() { + if (!this.user || this.user.role < 1) { + throw new Error('user has no rights.'); + } + this.roomService.getRoom(this.roomId).subscribe(room => { + room.tagCloudSettings = JSON.stringify(this._currentSettings); + this.room = room; + this.roomService.updateRoom(room).subscribe(_ => { + this.translateService.get('topic-cloud.changes-successful').subscribe(msg => { + this.notificationService.show(msg); + }); + }, + error => { + this.translateService.get('topic-cloud.changes-gone-wrong').subscribe(msg => { + this.notificationService.show(msg); + }); + }); + }); + } + private updateAlphabeticalPosition(elements: TagComment[]): void { const sizes = new Array(10); const fontRange = (this._currentSettings.fontSizeMax - this._currentSettings.fontSizeMin) / 10; diff --git a/src/app/models/room.ts b/src/app/models/room.ts index d90e5be0e..01afbca86 100644 --- a/src/app/models/room.ts +++ b/src/app/models/room.ts @@ -15,6 +15,7 @@ export class Room { questionsBlocked: boolean; profanityFilter: ProfanityFilter; blacklistIsActive: boolean; + tagCloudSettings: string; constructor( ownerId: string = '', @@ -30,7 +31,8 @@ export class Room { tags: string[] = [], questionsBlocked: boolean = false, profanityFilter: ProfanityFilter = ProfanityFilter.none, - blacklistIsActive: boolean = true + blacklistIsActive: boolean = true, + tagCloudSettings: string = null ) { this.id = ''; this.ownerId = ownerId; @@ -47,6 +49,7 @@ export class Room { this.questionsBlocked = questionsBlocked; this.profanityFilter = profanityFilter; this.blacklistIsActive = blacklistIsActive; + this.tagCloudSettings = tagCloudSettings; } } -- GitLab