From d315500af8bc2b643f211243f2a696fe9d87789b Mon Sep 17 00:00:00 2001 From: Sofia Papacharalampous Date: Mon, 15 Jul 2024 15:36:19 +0300 Subject: [PATCH] added annotation mentions --- frontend/package-lock.json | 13 +++ frontend/package.json | 1 + .../annotation-dialog.component.html | 19 ++- .../annotation-dialog.component.scss | 12 +- .../annotation-dialog.component.ts | 69 +++++++++-- .../annotation-dialog.module.ts | 6 +- .../text-area-with-mentions.component.html | 35 ++++++ .../text-area-with-mentions.component.scss | 29 +++++ .../text-area-with-mentions.component.ts | 109 ++++++++++++++++++ .../plan-editor.component.html | 4 +- .../plan-editor.component.ts | 2 +- 11 files changed, 274 insertions(+), 25 deletions(-) create mode 100644 frontend/src/app/ui/annotations/components/text-area-with-mentions.component.html create mode 100644 frontend/src/app/ui/annotations/components/text-area-with-mentions.component.scss create mode 100644 frontend/src/app/ui/annotations/components/text-area-with-mentions.component.ts diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 7276e67ef..90ff854e4 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -40,6 +40,7 @@ "ngx-dropzone": "^3.0.0", "ngx-guided-tour": "^2.0.1", "ngx-matomo-client": "^6.2.0", + "ngx-mentions": "^16.2.0", "rxjs": "^7.4.0", "tinymce": "^7.2.0", "ts-simple-nameof": "^1.3.1", @@ -9838,6 +9839,18 @@ "@angular/core": "^17.0.0 || ^18.0.0" } }, + "node_modules/ngx-mentions": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/ngx-mentions/-/ngx-mentions-16.2.0.tgz", + "integrity": "sha512-D/lsJmlnb0Ifjd2GnSSHy5/GGfYhw6Xmzip22Z1pYipfCDSfgU00UfhsxHLZyiwo0cljj2vRwg5OlAH4PHP1Fg==", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/common": ">=16.0.0", + "@angular/core": ">=16.0.0" + } + }, "node_modules/nice-napi": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", diff --git a/frontend/package.json b/frontend/package.json index 2fb2dbc92..92523386f 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -44,6 +44,7 @@ "ngx-dropzone": "^3.0.0", "ngx-guided-tour": "^2.0.1", "ngx-matomo-client": "^6.2.0", + "ngx-mentions": "^16.2.0", "rxjs": "^7.4.0", "tinymce": "^7.2.0", "ts-simple-nameof": "^1.3.1", diff --git a/frontend/src/app/ui/annotations/annotation-dialog-component/annotation-dialog.component.html b/frontend/src/app/ui/annotations/annotation-dialog-component/annotation-dialog.component.html index 91a6496fe..d0439f1e1 100644 --- a/frontend/src/app/ui/annotations/annotation-dialog-component/annotation-dialog.component.html +++ b/frontend/src/app/ui/annotations/annotation-dialog-component/annotation-dialog.component.html @@ -27,12 +27,7 @@
- - {{'ANNOTATION-DIALOG.THREADS.NEW-THREAD' | translate}} - - {{threadFormGroup.get('text').getError('backendError')?.message}} - {{'COMMONS.VALIDATION.REQUIRED' | translate}} - +
@@ -96,7 +91,10 @@
-
{{getParentAnnotation(thread).payload}}
+ +
{{annotationItem.payload}} 
+
{{annotationItem.payload}} 
+
@@ -139,7 +137,7 @@
-
{{annotation.payload}}
+
@@ -154,10 +152,7 @@
- - {{'ANNOTATION-DIALOG.THREADS.REPLY' | translate}} - - +
-
{{'PLAN-EDITOR.FIELDS.DESCRIPTION' | translate}}
+
{{'PLAN-EDITOR.FIELDS.DESCRIPTION' | translate}} *
- +
diff --git a/frontend/src/app/ui/plan/plan-editor-blueprint/plan-editor.component.ts b/frontend/src/app/ui/plan/plan-editor-blueprint/plan-editor.component.ts index cfe6e8da9..b0e5dc48a 100644 --- a/frontend/src/app/ui/plan/plan-editor-blueprint/plan-editor.component.ts +++ b/frontend/src/app/ui/plan/plan-editor-blueprint/plan-editor.component.ts @@ -546,7 +546,7 @@ export class PlanEditorComponent extends BaseEditor imple this.selectedBlueprint = data; this.formGroup.get('blueprint').setValue(this.selectedBlueprint.id); - const goToNextStep: boolean = this.formGroup.get('label').valid; + const goToNextStep: boolean = this.formGroup.get('label').valid && this.formGroup.get('description').valid; if (goToNextStep) { this.buildFormAfterBlueprintSelection(); this.nextStep();