From a9b399ebbdcee2d5e4e01df0774fec9053d935cd Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Thu, 25 Jul 2024 11:49:40 +0300 Subject: [PATCH 01/14] RED-9201 - UI for Component Mapping Tables --- .../component-mappings-screen.component.html | 4 + .../component-mappings-screen.component.scss | 5 + .../component-mappings-screen.component.ts | 2 + apps/red-ui/src/assets/i18n/redact/de.json | 149 +++++++++--------- apps/red-ui/src/assets/i18n/redact/en.json | 7 +- apps/red-ui/src/assets/i18n/scm/de.json | 149 +++++++++--------- apps/red-ui/src/assets/i18n/scm/en.json | 7 +- 7 files changed, 169 insertions(+), 154 deletions(-) create mode 100644 apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.scss diff --git a/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.html index 4b2923982..75d03b0c8 100644 --- a/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.html @@ -44,6 +44,10 @@ {{ entity.numberOfLines }} +
+ {{ entity.columnLabels.join(', ') }} +
+

Möchten Sie es trotzdem freigeben?", - "title": "Warnung!" - }, "approve-file-without-analysis": { "confirmationText": "Ohne Analyse freigeben", "denyText": "Abbrechen", "question": "Analyse zur Erkennung neuer Schwärzungen erforderlich.", "title": "Warnung!" }, - "approve-multiple-files": { - "question": "Mindestens eine der ausgewählten Dateien enthält ungesehene Änderungen, die im Zuge einer Reanalyse hinzugefügt wurden.

Möchen Sie die Dateien wirklich freigeben?", + "approve-file": { + "question": "Dieses Dokument enthält ungesehene Änderungen, die sich durch die Reanalyse ergeben haben.

Möchten Sie es trotzdem freigeben?", "title": "Warnung!" }, "approve-multiple-files-without-analysis": { @@ -656,6 +653,10 @@ "question": "Für mindestens eine Datei ist ein Analyselauf zur Erkennung neuer Schwärzungen erforderlich.", "title": "Warnung" }, + "approve-multiple-files": { + "question": "Mindestens eine der ausgewählten Dateien enthält ungesehene Änderungen, die im Zuge einer Reanalyse hinzugefügt wurden.

Möchen Sie die Dateien wirklich freigeben?", + "title": "Warnung!" + }, "assign-file-to-me": { "question": { "multiple": "Dieses Dokument wird gerade von einer anderen Person geprüft.

Möchten Sie sich die Datei dennoch zuweisen?", @@ -1025,13 +1026,13 @@ "recent": "Neu ({hours} h)", "unassigned": "Keinem Bearbeiter zugewiesen" }, - "reanalyse": { - "action": "Datei analysieren" - }, "reanalyse-dossier": { "error": "Einplanung der Dateien für die Reanalyse fehlgeschlagen. Bitte versuchen Sie es noch einmal.", "success": "Dateien für Reanalyse vorgesehen." }, + "reanalyse": { + "action": "Datei analysieren" + }, "start-auto-analysis": "Auto-Analyse aktivieren", "stop-auto-analysis": "Auto-Analyse anhalten", "table-col-names": { @@ -1101,14 +1102,6 @@ "total-documents": "Dokumente", "total-people": "{count} {count, plural, one{Benutzer} other {Benutzer}}" }, - "dossier-templates": { - "label": "Dossier-Vorlagen", - "status": { - "active": "Aktiv", - "inactive": "Inaktiv", - "incomplete": "Unvollständig" - } - }, "dossier-templates-listing": { "action": { "clone": "Vorlage klonen", @@ -1143,6 +1136,14 @@ "title": "{length} {length, plural, one{Dossier-Vorlage} other{Dossier-Vorlagen}}" } }, + "dossier-templates": { + "label": "Dossier-Vorlagen", + "status": { + "active": "Aktiv", + "inactive": "Inaktiv", + "incomplete": "Unvollständig" + } + }, "dossier-watermark-selector": { "heading": "Wasserzeichen auf Dokumenten", "no-watermark": "Kein Wasserzeichen in der Dossier-Vorlage verfügbar:
Bitten Sie Ihren Admin, eines zu konfigurieren.", @@ -1338,15 +1339,6 @@ "title": "{length} {length, plural, one{Wörterbuch} other{Wörterbücher}}" } }, - "entity": { - "info": { - "actions": { - "revert": "Zurücksetzen", - "save": "Änderungen speichern" - }, - "heading": "Entität bearbeiten" - } - }, "entity-rules-screen": { "error": { "generic": "Fehler: Aktualisierung der Entitätsregeln fehlgeschlagen." @@ -1361,19 +1353,28 @@ "warning-text": "Warnung: experimentelle Funktion!", "warnings-found": "{warnings, plural, one{A warning} other{{warnings} warnings}} in Regeln gefunden" }, + "entity": { + "info": { + "actions": { + "revert": "Zurücksetzen", + "save": "Änderungen speichern" + }, + "heading": "Entität bearbeiten" + } + }, "error": { "deleted-entity": { "dossier": { "action": "Zurück zur Übersicht", "label": "Dieses Dossier wurde gelöscht!" }, - "file": { - "action": "Zurück zum Dossier", - "label": "Diese Datei wurde gelöscht!" - }, "file-dossier": { "action": "Zurück zur Übersicht", "label": "Das Dossier dieser Datei wurde gelöscht!" + }, + "file": { + "action": "Zurück zum Dossier", + "label": "Diese Datei wurde gelöscht!" } }, "file-preview": { @@ -1391,12 +1392,6 @@ }, "exact-date": "{day}. {month} {year} um {hour}:{minute} Uhr", "file": "Datei", - "file-attribute": { - "update": { - "error": "Aktualisierung des Werts für das Datei-Attribut fehlgeschlagen. Bitte versuchen Sie es noch einmal.", - "success": "Der Wert für das Dateiattribut wurde erfolgreich aktualisiert." - } - }, "file-attribute-encoding-types": { "ascii": "ASCII", "iso": "ISO-8859-1", @@ -1407,6 +1402,12 @@ "number": "Nummer", "text": "Freier Text" }, + "file-attribute": { + "update": { + "error": "Aktualisierung des Werts für das Datei-Attribut fehlgeschlagen. Bitte versuchen Sie es noch einmal.", + "success": "Der Wert für das Dateiattribut wurde erfolgreich aktualisiert." + } + }, "file-attributes-configurations": { "cancel": "Abbrechen", "form": { @@ -1624,15 +1625,6 @@ "csv": "Die Datei-Attribute wurden erfolgreich aus der hochgeladenen CSV-Datei importiert." } }, - "filter": { - "analysis": "Analyse erforderlich", - "comment": "Kommentare", - "hint": "Nur Hinweise", - "image": "Bilder", - "none": "Keine Annotationen", - "redaction": "Schwärzungen", - "updated": "Aktualisiert" - }, "filter-menu": { "filter-options": "Filteroptionen", "filter-types": "Filter", @@ -1642,6 +1634,15 @@ "unseen-pages": "Nur Annotationen auf ungesehenen Seiten", "with-comments": "Nur Annotationen mit Kommentaren" }, + "filter": { + "analysis": "Analyse erforderlich", + "comment": "Kommentare", + "hint": "Nur Hinweise", + "image": "Bilder", + "none": "Keine Annotationen", + "redaction": "Schwärzungen", + "updated": "Aktualisiert" + }, "filters": { "assigned-people": "Bearbeiter", "documents-status": "Dokumentenstatus", @@ -1920,13 +1921,6 @@ "user-promoted-to-approver": "{user} wurde im Dossier {dossierHref, select, null{{dossierName}} other{{dossierName}}} zum Genehmiger ernannt!", "user-removed-as-dossier-member": "{user} wurde als Mitglied von: {dossierHref, select, null{{dossierName}} other{{dossierName}}} entfernt!" }, - "notifications": { - "button-text": "Benachrichtigungen", - "deleted-dossier": "Gelöschtes Dossier", - "label": "Benachrichtigungen", - "mark-all-as-read": "Alle als gelesen markieren", - "mark-as": "Als {type, select, read{gelesen} unread{ungelesen} other{}} markieren" - }, "notifications-screen": { "category": { "email-notifications": "E-Mail-Benachrichtigungen", @@ -1940,6 +1934,7 @@ "dossier": "Benachrichtigungen zu Dossiers", "other": "Andere Benachrichtigungen" }, + "options-title": "Wählen Sie aus, bei welchen Aktivitäten Sie benachrichtigt werden möchten", "options": { "ASSIGN_APPROVER": "Wenn ich einem Dokument als Genehmiger zugewiesen werde", "ASSIGN_REVIEWER": "Wenn ich einem Dokument als Prüfer zugewiesen werde", @@ -1957,7 +1952,6 @@ "USER_PROMOTED_TO_APPROVER": "Wenn ich Genehmiger in einem Dossier werde", "USER_REMOVED_AS_DOSSIER_MEMBER": "Wenn ich die Dossier-Mitgliedschaft verliere" }, - "options-title": "Wählen Sie aus, bei welchen Aktivitäten Sie benachrichtigt werden möchten", "schedule": { "daily": "Tägliche Zusammenfassung", "instant": "Sofort", @@ -1965,6 +1959,13 @@ }, "title": "Benachrichtigungseinstellungen" }, + "notifications": { + "button-text": "Benachrichtigungen", + "deleted-dossier": "Gelöschtes Dossier", + "label": "Benachrichtigungen", + "mark-all-as-read": "Alle als gelesen markieren", + "mark-as": "Als {type, select, read{gelesen} unread{ungelesen} other{}} markieren" + }, "ocr": { "confirmation-dialog": { "cancel": "Abbrechen", @@ -2056,16 +2057,16 @@ "warnings-label": "Dialoge und Meldungen", "warnings-subtitle": "„Nicht mehr anzeigen“-Optionen" }, - "processing": { - "basic": "Verarbeitung läuft", - "ocr": "OCR" - }, "processing-status": { "ocr": "OCR", "pending": "Ausstehend", "processed": "Verarbeitet", "processing": "Verarbeitung läuft" }, + "processing": { + "basic": "Verarbeitung läuft", + "ocr": "OCR" + }, "readonly": "Lesemodus", "readonly-archived": "Lesemodus (archiviert)", "redact-text": { @@ -2301,12 +2302,6 @@ "red-user-admin": "Benutzeradmin", "regular": "regulärer Benutzer" }, - "search": { - "active-dossiers": "Dokumente in aktiven Dossiers", - "all-dossiers": "Alle Dokumente", - "placeholder": "Dokumente durchsuchen...", - "this-dossier": "In diesem Dossier" - }, "search-screen": { "cols": { "assignee": "Bearbeiter", @@ -2330,6 +2325,12 @@ "no-match": "Der Suchbegriff wurde in keinem der Dokumente gefunden.", "table-header": "{length} {length, plural, one{Suchergebnis} other{Suchergebnisse}}" }, + "search": { + "active-dossiers": "Dokumente in aktiven Dossiers", + "all-dossiers": "Alle Dokumente", + "placeholder": "Dokumente durchsuchen...", + "this-dossier": "In diesem Dossier" + }, "seconds": "Sekunden", "size": "Größe", "smtp-auth-config": { @@ -2585,4 +2586,4 @@ } }, "yesterday": "Gestern" -} \ No newline at end of file +} diff --git a/apps/red-ui/src/assets/i18n/redact/en.json b/apps/red-ui/src/assets/i18n/redact/en.json index 856ceb02b..809974c94 100644 --- a/apps/red-ui/src/assets/i18n/redact/en.json +++ b/apps/red-ui/src/assets/i18n/redact/en.json @@ -568,9 +568,10 @@ }, "search": "Search by name...", "table-col-names": { - "name": "name", + "column-labels": "Column labels", + "name": "Name", "number-of-lines": "Number of lines", - "version": "version" + "version": "Version" }, "table-header": { "title": "Component mapping" @@ -2585,4 +2586,4 @@ } }, "yesterday": "Yesterday" -} \ No newline at end of file +} diff --git a/apps/red-ui/src/assets/i18n/scm/de.json b/apps/red-ui/src/assets/i18n/scm/de.json index 515f352af..240c1f2fa 100644 --- a/apps/red-ui/src/assets/i18n/scm/de.json +++ b/apps/red-ui/src/assets/i18n/scm/de.json @@ -272,9 +272,6 @@ "watermarks": "Watermarks" }, "analysis-disabled": "Analysis disabled", - "annotation": { - "pending": "(Pending analysis)" - }, "annotation-actions": { "accept-recommendation": { "label": "Empfehlung annehmen" @@ -330,14 +327,14 @@ "error": "Rekategorisierung des Bildes gescheitert: {error}", "success": "Bild wurde einer neuen Kategorie zugeordnet." }, - "remove": { - "error": "Fehler beim Entfernen der Schwärzung: {error}", - "success": "Schwärzung entfernt!" - }, "remove-hint": { "error": "Failed to remove hint: {error}", "success": "Hint removed!" }, + "remove": { + "error": "Fehler beim Entfernen der Schwärzung: {error}", + "success": "Schwärzung entfernt!" + }, "undo": { "error": "Die Aktion konnte nicht rückgängig gemacht werden. Fehler: {error}", "success": "erfolgreich Rückgängig gemacht" @@ -350,15 +347,15 @@ "remove-highlights": { "label": "Remove selected earmarks" }, - "resize": { - "label": "Größe ändern" - }, "resize-accept": { "label": "Größe speichern" }, "resize-cancel": { "label": "Größenänderung abbrechen" }, + "resize": { + "label": "Größe ändern" + }, "see-references": { "label": "See references" }, @@ -392,6 +389,9 @@ "skipped": "Übersprungen", "text-highlight": "Earmark" }, + "annotation": { + "pending": "(Pending analysis)" + }, "annotations": "Annotations", "archived-dossiers-listing": { "no-data": { @@ -568,6 +568,7 @@ }, "search": "Search by name...", "table-col-names": { + "column-labels": "", "name": "name", "number-of-lines": "Number of lines", "version": "version" @@ -636,18 +637,14 @@ "warning": "Achtung: Diese Aktion kann nicht rückgängig gemacht werden!" }, "confirmation-dialog": { - "approve-file": { - "question": "Dieses Dokument enthält ungesehene Änderungen. Möchten Sie es trotzdem genehmigen?", - "title": "Warnung!" - }, "approve-file-without-analysis": { "confirmationText": "Approve without analysis", "denyText": "Cancel", "question": "Analysis required to detect new components.", "title": "Warning!" }, - "approve-multiple-files": { - "question": "Mindestens eine der ausgewählten Dateien enthält ungesehene Änderungen. Möchten Sie sie trotzdem genehmigen?", + "approve-file": { + "question": "Dieses Dokument enthält ungesehene Änderungen. Möchten Sie es trotzdem genehmigen?", "title": "Warnung!" }, "approve-multiple-files-without-analysis": { @@ -656,6 +653,10 @@ "question": "Analysis required to detect new components for at least one file.", "title": "Warning" }, + "approve-multiple-files": { + "question": "Mindestens eine der ausgewählten Dateien enthält ungesehene Änderungen. Möchten Sie sie trotzdem genehmigen?", + "title": "Warnung!" + }, "assign-file-to-me": { "question": { "multiple": "Dieses Dokument wird gerade von einer anderen Person geprüft. Möchten Sie Reviewer werden und sich selbst dem Dokument zuweisen?", @@ -1025,13 +1026,13 @@ "recent": "Neu ({hours} h)", "unassigned": "Niemandem zugewiesen" }, - "reanalyse": { - "action": "Datei analysieren" - }, "reanalyse-dossier": { "error": "Die Dateien konnten nicht für eine Reanalyse eingeplant werden. Bitte versuchen Sie es erneut.", "success": "Dateien für Reanalyse vorgesehen." }, + "reanalyse": { + "action": "Datei analysieren" + }, "start-auto-analysis": "Enable auto-analysis", "stop-auto-analysis": "Stop auto-analysis", "table-col-names": { @@ -1101,14 +1102,6 @@ "total-documents": "Anzahl der Dokumente", "total-people": "{count} {count, plural, one{user} other {users}}" }, - "dossier-templates": { - "label": "Dossier-Vorlagen", - "status": { - "active": "Active", - "inactive": "Inactive", - "incomplete": "Incomplete" - } - }, "dossier-templates-listing": { "action": { "clone": "Clone template", @@ -1143,6 +1136,14 @@ "title": "{length} dossier {length, plural, one{template} other{templates}}" } }, + "dossier-templates": { + "label": "Dossier-Vorlagen", + "status": { + "active": "Active", + "inactive": "Inactive", + "incomplete": "Incomplete" + } + }, "dossier-watermark-selector": { "heading": "Watermarks on documents", "no-watermark": "There is no watermark defined for the dossier template.
Contact your app admin to define one.", @@ -1338,15 +1339,6 @@ "title": "{length} {length, plural, one{entity} other{entities}}" } }, - "entity": { - "info": { - "actions": { - "revert": "Revert", - "save": "Save changes" - }, - "heading": "Edit entity" - } - }, "entity-rules-screen": { "error": { "generic": "Something went wrong... Entity rules update failed!" @@ -1361,19 +1353,28 @@ "warning-text": "Warning: experimental feature!", "warnings-found": "{warnings, plural, one{A warning} other{{warnings} warnings}} found in rules" }, + "entity": { + "info": { + "actions": { + "revert": "Revert", + "save": "Save changes" + }, + "heading": "Edit entity" + } + }, "error": { "deleted-entity": { "dossier": { "action": "Zurück zur Übersicht", "label": "Dieses Dossier wurde gelöscht!" }, - "file": { - "action": "Zurück zum Dossier", - "label": "Diese Datei wurde gelöscht!" - }, "file-dossier": { "action": "Zurück zur Übersicht", "label": "Das Dossier dieser Datei wurde gelöscht!" + }, + "file": { + "action": "Zurück zum Dossier", + "label": "Diese Datei wurde gelöscht!" } }, "file-preview": { @@ -1391,12 +1392,6 @@ }, "exact-date": "{day} {month} {year} um {hour}:{minute} Uhr", "file": "Datei", - "file-attribute": { - "update": { - "error": "Failed to update file attribute value!", - "success": "File attribute value has been updated successfully!" - } - }, "file-attribute-encoding-types": { "ascii": "ASCII", "iso": "ISO-8859-1", @@ -1407,6 +1402,12 @@ "number": "Nummer", "text": "Freier Text" }, + "file-attribute": { + "update": { + "error": "Failed to update file attribute value!", + "success": "File attribute value has been updated successfully!" + } + }, "file-attributes-configurations": { "cancel": "Cancel", "form": { @@ -1624,15 +1625,6 @@ "csv": "File attributes were imported successfully from uploaded CSV file." } }, - "filter": { - "analysis": "Analyse erforderlich", - "comment": "Kommentare", - "hint": "Nut Hinweise", - "image": "Bilder", - "none": "Keine Anmerkungen", - "redaction": "Geschwärzt", - "updated": "Aktualisiert" - }, "filter-menu": { "filter-options": "Filteroptionen", "filter-types": "Filter", @@ -1642,6 +1634,15 @@ "unseen-pages": "Nur Anmerkungen auf unsichtbaren Seiten", "with-comments": "Nur Anmerkungen mit Kommentaren" }, + "filter": { + "analysis": "Analyse erforderlich", + "comment": "Kommentare", + "hint": "Nut Hinweise", + "image": "Bilder", + "none": "Keine Anmerkungen", + "redaction": "Geschwärzt", + "updated": "Aktualisiert" + }, "filters": { "assigned-people": "Beauftragt", "documents-status": "Documents state", @@ -1920,13 +1921,6 @@ "user-promoted-to-approver": "{user} wurde im Dossier {dossierHref, select, null{{dossierName}} other{{dossierName}}} zum Genehmiger ernannt!", "user-removed-as-dossier-member": "{user} wurde als Mitglied von: {dossierHref, select, null{{dossierName}} other{{dossierName}}} entfernt!" }, - "notifications": { - "button-text": "Notifications", - "deleted-dossier": "Deleted dossier", - "label": "Benachrichtigungen", - "mark-all-as-read": "Alle als gelesen markieren", - "mark-as": "Mark as {type, select, read{read} unread{unread} other{}}" - }, "notifications-screen": { "category": { "email-notifications": "E-Mail Benachrichtigungen", @@ -1940,6 +1934,7 @@ "dossier": "Dossierbezogene Benachrichtigungen", "other": "Andere Benachrichtigungen" }, + "options-title": "Wählen Sie aus, in welcher Kategorie Sie benachrichtigt werden möchten", "options": { "ASSIGN_APPROVER": "Wenn ich einem Dokument als Genehmiger zugewiesen bin", "ASSIGN_REVIEWER": "Wenn ich einem Dokument als Überprüfer zugewiesen bin", @@ -1957,7 +1952,6 @@ "USER_PROMOTED_TO_APPROVER": "Wenn ich Genehmiger in einem Dossier werde", "USER_REMOVED_AS_DOSSIER_MEMBER": "Wenn ich die Dossier-Mitgliedschaft verliere" }, - "options-title": "Wählen Sie aus, in welcher Kategorie Sie benachrichtigt werden möchten", "schedule": { "daily": "Tägliche Zusammenfassung", "instant": "Sofortig", @@ -1965,6 +1959,13 @@ }, "title": "Benachrichtigungseinstellungen" }, + "notifications": { + "button-text": "Notifications", + "deleted-dossier": "Deleted dossier", + "label": "Benachrichtigungen", + "mark-all-as-read": "Alle als gelesen markieren", + "mark-as": "Mark as {type, select, read{read} unread{unread} other{}}" + }, "ocr": { "confirmation-dialog": { "cancel": "Cancel", @@ -2056,16 +2057,16 @@ "warnings-label": "Prompts and dialogs", "warnings-subtitle": "Do not show again options" }, - "processing": { - "basic": "Processing", - "ocr": "OCR" - }, "processing-status": { "ocr": "OCR", "pending": "Pending", "processed": "Processed", "processing": "Processing" }, + "processing": { + "basic": "Processing", + "ocr": "OCR" + }, "readonly": "Lesemodus", "readonly-archived": "Read only (archived)", "redact-text": { @@ -2301,12 +2302,6 @@ "red-user-admin": "Benutzer-Admin", "regular": "Regulär" }, - "search": { - "active-dossiers": "ganze Plattform", - "all-dossiers": "all documents", - "placeholder": "Nach Dokumenten oder Dokumenteninhalt suchen", - "this-dossier": "in diesem Dossier" - }, "search-screen": { "cols": { "assignee": "Bevollmächtigter", @@ -2330,6 +2325,12 @@ "no-match": "Keine Dokumente entsprechen Ihren aktuellen Filtern.", "table-header": "{length} search {length, plural, one{result} other{results}}" }, + "search": { + "active-dossiers": "ganze Plattform", + "all-dossiers": "all documents", + "placeholder": "Nach Dokumenten oder Dokumenteninhalt suchen", + "this-dossier": "in diesem Dossier" + }, "seconds": "seconds", "size": "Size", "smtp-auth-config": { @@ -2585,4 +2586,4 @@ } }, "yesterday": "Gestern" -} \ No newline at end of file +} diff --git a/apps/red-ui/src/assets/i18n/scm/en.json b/apps/red-ui/src/assets/i18n/scm/en.json index 55ab7cdab..8b58ac9a1 100644 --- a/apps/red-ui/src/assets/i18n/scm/en.json +++ b/apps/red-ui/src/assets/i18n/scm/en.json @@ -568,9 +568,10 @@ }, "search": "Search by name...", "table-col-names": { - "name": "name", + "column-labels": "Column labels", + "name": "Name", "number-of-lines": "Number of lines", - "version": "version" + "version": "Version" }, "table-header": { "title": "Component mapping" @@ -2585,4 +2586,4 @@ } }, "yesterday": "Yesterday" -} \ No newline at end of file +} From 299be2364e3d3f57265f23b93d72be24040c4b25 Mon Sep 17 00:00:00 2001 From: Nicoleta Panaghiu Date: Thu, 25 Jul 2024 12:06:23 +0300 Subject: [PATCH 02/14] RED-9589: enabled false positive option for some annotation configs. --- .../src/app/models/file/annotation-permissions.utils.ts | 7 ++----- apps/red-ui/src/app/models/file/annotation.wrapper.ts | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/apps/red-ui/src/app/models/file/annotation-permissions.utils.ts b/apps/red-ui/src/app/models/file/annotation-permissions.utils.ts index cfd8afc3d..aa0830d0c 100644 --- a/apps/red-ui/src/app/models/file/annotation-permissions.utils.ts +++ b/apps/red-ui/src/app/models/file/annotation-permissions.utils.ts @@ -16,10 +16,7 @@ export const canForceRedaction = (annotation: AnnotationWrapper, canAddRedaction export const canAcceptRecommendation = (annotation: AnnotationWrapper) => annotation.isRecommendation && !annotation.pending; export const canMarkAsFalsePositive = (annotation: AnnotationWrapper, annotationEntity: Dictionary) => - annotation.canBeMarkedAsFalsePositive && - !annotation.hasBeenForcedRedaction && - !annotation.hasBeenResizedLocally && - annotationEntity?.hasDictionary; + annotation.canBeMarkedAsFalsePositive && !annotation.hasBeenResizedLocally && annotationEntity?.hasDictionary; export const canRemoveOnlyHere = (annotation: AnnotationWrapper, canAddRedaction: boolean, autoAnalysisDisabled: boolean) => canAddRedaction && @@ -30,7 +27,7 @@ export const canRemoveFromDictionary = (annotation: AnnotationWrapper, autoAnaly annotation.isModifyDictionary && (annotation.isRedacted || annotation.isSkipped || annotation.isHint || (annotation.isIgnoredHint && !annotation.isRuleBased)) && (autoAnalysisDisabled || !annotation.pending) && - [LogEntryEngines.DICTIONARY, LogEntryEngines.DOSSIER_DICTIONARY].some(engine => annotation.engines.includes(engine)); + annotation.isDictBased; export const canRemoveRedaction = (annotation: AnnotationWrapper, permissions: AnnotationPermissions) => (!annotation.isIgnoredHint || !annotation.isRuleBased) && diff --git a/apps/red-ui/src/app/models/file/annotation.wrapper.ts b/apps/red-ui/src/app/models/file/annotation.wrapper.ts index 96c3456c3..714c90df5 100644 --- a/apps/red-ui/src/app/models/file/annotation.wrapper.ts +++ b/apps/red-ui/src/app/models/file/annotation.wrapper.ts @@ -74,7 +74,7 @@ export class AnnotationWrapper implements IListable { } get isDictBased() { - return this.engines.includes(LogEntryEngines.DICTIONARY); + return [LogEntryEngines.DICTIONARY, LogEntryEngines.DOSSIER_DICTIONARY].some(engine => this.engines.includes(engine)); } get isRedactedImageHint() { From 0bcb3829c7e38427e797810699301bf1b828914b Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Thu, 25 Jul 2024 12:12:50 +0300 Subject: [PATCH 03/14] RED-9201 - displayed all column labels string in a tooltip --- .../component-mappings-screen.component.html | 4 ++-- .../component-mappings-screen.component.scss | 6 ++++++ .../component-mappings-screen.component.ts | 2 ++ .../src/lib/component-mappings/component-mapping.ts | 3 +++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.html index 75d03b0c8..1ecc27038 100644 --- a/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.html @@ -44,8 +44,8 @@ {{ entity.numberOfLines }}
-
- {{ entity.columnLabels.join(', ') }} +
+ {{ entity.columnLabelsString }}
diff --git a/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.scss b/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.scss index 60096fc14..fad13c3cd 100644 --- a/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.scss +++ b/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.scss @@ -3,3 +3,9 @@ overflow: hidden; white-space: nowrap; } + +::ng-deep .custom-tooltip { + max-width: 300px; + white-space: normal; + word-wrap: break-word; +} diff --git a/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.ts index 87c82ca50..09ef65805 100644 --- a/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.ts @@ -30,6 +30,7 @@ import { DossierTemplateActionsComponent } from '../../shared/components/dossier import { DossierTemplateBreadcrumbsComponent } from '../../shared/components/dossier-template-breadcrumbs/dossier-template-breadcrumbs.component'; import { AddEditComponentMappingDialogComponent } from './add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component'; import { download } from '@utils/file-download-utils'; +import { MatTooltip } from '@angular/material/tooltip'; @Component({ templateUrl: './component-mappings-screen.component.html', @@ -49,6 +50,7 @@ import { download } from '@utils/file-download-utils'; InputWithActionComponent, IconButtonComponent, IqserAllowDirective, + MatTooltip, ], }) export default class ComponentMappingsScreenComponent extends ListingComponent implements OnInit { diff --git a/libs/red-domain/src/lib/component-mappings/component-mapping.ts b/libs/red-domain/src/lib/component-mappings/component-mapping.ts index b8e1e7745..9bfa2d6b1 100644 --- a/libs/red-domain/src/lib/component-mappings/component-mapping.ts +++ b/libs/red-domain/src/lib/component-mappings/component-mapping.ts @@ -6,6 +6,7 @@ export interface IComponentMapping extends IListable { fileName: string; version: number; columnLabels: string[]; + columnLabelsString: string; numberOfLines: number; encoding: string; delimiter: string; @@ -17,6 +18,7 @@ export class ComponentMapping implements IComponentMapping, IListable { readonly fileName: string; readonly version: number; readonly columnLabels: string[]; + readonly columnLabelsString: string; readonly numberOfLines: number; readonly encoding: string; readonly delimiter: string; @@ -27,6 +29,7 @@ export class ComponentMapping implements IComponentMapping, IListable { this.fileName = componentMapping.fileName; this.version = componentMapping.version; this.columnLabels = componentMapping.columnLabels; + this.columnLabelsString = componentMapping.columnLabels?.join(', '); this.numberOfLines = componentMapping.numberOfLines; this.encoding = componentMapping.encoding; this.delimiter = componentMapping.delimiter; From ebc074c3088755da798888b4389e77b2a6bc4a03 Mon Sep 17 00:00:00 2001 From: Nicoleta Panaghiu Date: Thu, 25 Jul 2024 16:44:57 +0300 Subject: [PATCH 04/14] RED-9542: fixed resize dialog header. --- apps/red-ui/src/app/models/file/annotation.wrapper.ts | 4 ++++ .../resize-redaction-dialog.component.html | 5 +---- .../resize-redaction-dialog.component.ts | 4 ++++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/apps/red-ui/src/app/models/file/annotation.wrapper.ts b/apps/red-ui/src/app/models/file/annotation.wrapper.ts index 714c90df5..fe01347fd 100644 --- a/apps/red-ui/src/app/models/file/annotation.wrapper.ts +++ b/apps/red-ui/src/app/models/file/annotation.wrapper.ts @@ -81,6 +81,10 @@ export class AnnotationWrapper implements IListable { return this.IMAGE_HINT && this.superType === SuperTypes.Redaction; } + get isSkippedImageHint() { + return this.IMAGE_HINT && this.superType === SuperTypes.Hint; + } + get searchKey(): string { return this.id; } diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/resize-redaction-dialog/resize-redaction-dialog.component.html b/apps/red-ui/src/app/modules/file-preview/dialogs/resize-redaction-dialog/resize-redaction-dialog.component.html index 74d340e88..2013a2410 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/resize-redaction-dialog/resize-redaction-dialog.component.html +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/resize-redaction-dialog/resize-redaction-dialog.component.html @@ -1,9 +1,6 @@
-
+
diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/resize-redaction-dialog/resize-redaction-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/resize-redaction-dialog/resize-redaction-dialog.component.ts index a2f2de68a..c51877fb3 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/resize-redaction-dialog/resize-redaction-dialog.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/resize-redaction-dialog/resize-redaction-dialog.component.ts @@ -63,6 +63,10 @@ export class ResizeRedactionDialogComponent extends IqserDialogComponent< this.form = this.#getForm(); } + get dialogHeaderType() { + return this.data.redaction.HINT ? 'hint' : this.data.redaction.isSkippedImageHint ? 'image' : 'redaction'; + } + get displayedDictionaryLabel() { const dictType = this.form.get('dictionary').value; if (dictType) { From 2b00876e6b115b2fcb221a3742cb9c708262b813 Mon Sep 17 00:00:00 2001 From: project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1 Date: Fri, 26 Jul 2024 01:03:27 +0000 Subject: [PATCH 05/14] push back localazy update --- apps/red-ui/src/assets/i18n/redact/de.json | 149 ++++++++++----------- apps/red-ui/src/assets/i18n/redact/en.json | 6 +- apps/red-ui/src/assets/i18n/scm/de.json | 149 ++++++++++----------- apps/red-ui/src/assets/i18n/scm/en.json | 10 +- 4 files changed, 156 insertions(+), 158 deletions(-) diff --git a/apps/red-ui/src/assets/i18n/redact/de.json b/apps/red-ui/src/assets/i18n/redact/de.json index 982e5855e..57cc94144 100644 --- a/apps/red-ui/src/assets/i18n/redact/de.json +++ b/apps/red-ui/src/assets/i18n/redact/de.json @@ -272,6 +272,9 @@ "watermarks": "Wasserzeichen" }, "analysis-disabled": "", + "annotation": { + "pending": "(Analyse steht aus)" + }, "annotation-actions": { "accept-recommendation": { "label": "Empfehlung annehmen" @@ -327,14 +330,14 @@ "error": "Rekategorisierung des Bilds fehlgeschlagen: {error}", "success": "Bild wurde einer neuen Kategorie zugeordnet." }, - "remove-hint": { - "error": "Entfernen des Hinweises fehlgeschlagen: {error}", - "success": "Hinweis wurde entfernt" - }, "remove": { "error": "Entfernen der Schwärzung fehlgeschlagen: {error}", "success": "Schwärzung wurde entfernt" }, + "remove-hint": { + "error": "Entfernen des Hinweises fehlgeschlagen: {error}", + "success": "Hinweis wurde entfernt" + }, "undo": { "error": "Die Aktion konnte nicht rückgängig gemacht werden. Fehler: {error}", "success": "Rücksetzung erfolgreich" @@ -347,15 +350,15 @@ "remove-highlights": { "label": "Ausgewählte Markierungen entfernen" }, + "resize": { + "label": "Größe ändern" + }, "resize-accept": { "label": "Neue Größe speichern" }, "resize-cancel": { "label": "Größenänderung abbrechen" }, - "resize": { - "label": "Größe ändern" - }, "see-references": { "label": "Referenzen anzeigen" }, @@ -389,9 +392,6 @@ "skipped": "Ignorierte Schwärzung", "text-highlight": "Markierung" }, - "annotation": { - "pending": "(Analyse steht aus)" - }, "annotations": "Annotationen", "archived-dossiers-listing": { "no-data": { @@ -568,7 +568,6 @@ }, "search": "Nach Name suchen...", "table-col-names": { - "column-labels": "", "name": "Name", "number-of-lines": "Zeilenzahl", "version": "Version" @@ -637,14 +636,18 @@ "warning": "Warnung: Wiederherstellung des Benutzers nicht möglich." }, "confirmation-dialog": { + "approve-file": { + "question": "Dieses Dokument enthält ungesehene Änderungen, die sich durch die Reanalyse ergeben haben.

Möchten Sie es trotzdem freigeben?", + "title": "Warnung!" + }, "approve-file-without-analysis": { "confirmationText": "Ohne Analyse freigeben", "denyText": "Abbrechen", "question": "Analyse zur Erkennung neuer Schwärzungen erforderlich.", "title": "Warnung!" }, - "approve-file": { - "question": "Dieses Dokument enthält ungesehene Änderungen, die sich durch die Reanalyse ergeben haben.

Möchten Sie es trotzdem freigeben?", + "approve-multiple-files": { + "question": "Mindestens eine der ausgewählten Dateien enthält ungesehene Änderungen, die im Zuge einer Reanalyse hinzugefügt wurden.

Möchen Sie die Dateien wirklich freigeben?", "title": "Warnung!" }, "approve-multiple-files-without-analysis": { @@ -653,10 +656,6 @@ "question": "Für mindestens eine Datei ist ein Analyselauf zur Erkennung neuer Schwärzungen erforderlich.", "title": "Warnung" }, - "approve-multiple-files": { - "question": "Mindestens eine der ausgewählten Dateien enthält ungesehene Änderungen, die im Zuge einer Reanalyse hinzugefügt wurden.

Möchen Sie die Dateien wirklich freigeben?", - "title": "Warnung!" - }, "assign-file-to-me": { "question": { "multiple": "Dieses Dokument wird gerade von einer anderen Person geprüft.

Möchten Sie sich die Datei dennoch zuweisen?", @@ -1026,13 +1025,13 @@ "recent": "Neu ({hours} h)", "unassigned": "Keinem Bearbeiter zugewiesen" }, + "reanalyse": { + "action": "Datei analysieren" + }, "reanalyse-dossier": { "error": "Einplanung der Dateien für die Reanalyse fehlgeschlagen. Bitte versuchen Sie es noch einmal.", "success": "Dateien für Reanalyse vorgesehen." }, - "reanalyse": { - "action": "Datei analysieren" - }, "start-auto-analysis": "Auto-Analyse aktivieren", "stop-auto-analysis": "Auto-Analyse anhalten", "table-col-names": { @@ -1102,6 +1101,14 @@ "total-documents": "Dokumente", "total-people": "{count} {count, plural, one{Benutzer} other {Benutzer}}" }, + "dossier-templates": { + "label": "Dossier-Vorlagen", + "status": { + "active": "Aktiv", + "inactive": "Inaktiv", + "incomplete": "Unvollständig" + } + }, "dossier-templates-listing": { "action": { "clone": "Vorlage klonen", @@ -1136,14 +1143,6 @@ "title": "{length} {length, plural, one{Dossier-Vorlage} other{Dossier-Vorlagen}}" } }, - "dossier-templates": { - "label": "Dossier-Vorlagen", - "status": { - "active": "Aktiv", - "inactive": "Inaktiv", - "incomplete": "Unvollständig" - } - }, "dossier-watermark-selector": { "heading": "Wasserzeichen auf Dokumenten", "no-watermark": "Kein Wasserzeichen in der Dossier-Vorlage verfügbar:
Bitten Sie Ihren Admin, eines zu konfigurieren.", @@ -1339,6 +1338,15 @@ "title": "{length} {length, plural, one{Wörterbuch} other{Wörterbücher}}" } }, + "entity": { + "info": { + "actions": { + "revert": "Zurücksetzen", + "save": "Änderungen speichern" + }, + "heading": "Entität bearbeiten" + } + }, "entity-rules-screen": { "error": { "generic": "Fehler: Aktualisierung der Entitätsregeln fehlgeschlagen." @@ -1353,28 +1361,19 @@ "warning-text": "Warnung: experimentelle Funktion!", "warnings-found": "{warnings, plural, one{A warning} other{{warnings} warnings}} in Regeln gefunden" }, - "entity": { - "info": { - "actions": { - "revert": "Zurücksetzen", - "save": "Änderungen speichern" - }, - "heading": "Entität bearbeiten" - } - }, "error": { "deleted-entity": { "dossier": { "action": "Zurück zur Übersicht", "label": "Dieses Dossier wurde gelöscht!" }, - "file-dossier": { - "action": "Zurück zur Übersicht", - "label": "Das Dossier dieser Datei wurde gelöscht!" - }, "file": { "action": "Zurück zum Dossier", "label": "Diese Datei wurde gelöscht!" + }, + "file-dossier": { + "action": "Zurück zur Übersicht", + "label": "Das Dossier dieser Datei wurde gelöscht!" } }, "file-preview": { @@ -1392,6 +1391,12 @@ }, "exact-date": "{day}. {month} {year} um {hour}:{minute} Uhr", "file": "Datei", + "file-attribute": { + "update": { + "error": "Aktualisierung des Werts für das Datei-Attribut fehlgeschlagen. Bitte versuchen Sie es noch einmal.", + "success": "Der Wert für das Dateiattribut wurde erfolgreich aktualisiert." + } + }, "file-attribute-encoding-types": { "ascii": "ASCII", "iso": "ISO-8859-1", @@ -1402,12 +1407,6 @@ "number": "Nummer", "text": "Freier Text" }, - "file-attribute": { - "update": { - "error": "Aktualisierung des Werts für das Datei-Attribut fehlgeschlagen. Bitte versuchen Sie es noch einmal.", - "success": "Der Wert für das Dateiattribut wurde erfolgreich aktualisiert." - } - }, "file-attributes-configurations": { "cancel": "Abbrechen", "form": { @@ -1625,15 +1624,6 @@ "csv": "Die Datei-Attribute wurden erfolgreich aus der hochgeladenen CSV-Datei importiert." } }, - "filter-menu": { - "filter-options": "Filteroptionen", - "filter-types": "Filter", - "label": "Filter", - "pages-without-annotations": "Nur Seiten ohne Annotationen", - "redaction-changes": "Nur Annotationen mit lokalen manuellen Änderungen", - "unseen-pages": "Nur Annotationen auf ungesehenen Seiten", - "with-comments": "Nur Annotationen mit Kommentaren" - }, "filter": { "analysis": "Analyse erforderlich", "comment": "Kommentare", @@ -1643,6 +1633,15 @@ "redaction": "Schwärzungen", "updated": "Aktualisiert" }, + "filter-menu": { + "filter-options": "Filteroptionen", + "filter-types": "Filter", + "label": "Filter", + "pages-without-annotations": "Nur Seiten ohne Annotationen", + "redaction-changes": "Nur Annotationen mit lokalen manuellen Änderungen", + "unseen-pages": "Nur Annotationen auf ungesehenen Seiten", + "with-comments": "Nur Annotationen mit Kommentaren" + }, "filters": { "assigned-people": "Bearbeiter", "documents-status": "Dokumentenstatus", @@ -1921,6 +1920,13 @@ "user-promoted-to-approver": "{user} wurde im Dossier {dossierHref, select, null{{dossierName}} other{{dossierName}}} zum Genehmiger ernannt!", "user-removed-as-dossier-member": "{user} wurde als Mitglied von: {dossierHref, select, null{{dossierName}} other{{dossierName}}} entfernt!" }, + "notifications": { + "button-text": "Benachrichtigungen", + "deleted-dossier": "Gelöschtes Dossier", + "label": "Benachrichtigungen", + "mark-all-as-read": "Alle als gelesen markieren", + "mark-as": "Als {type, select, read{gelesen} unread{ungelesen} other{}} markieren" + }, "notifications-screen": { "category": { "email-notifications": "E-Mail-Benachrichtigungen", @@ -1934,7 +1940,6 @@ "dossier": "Benachrichtigungen zu Dossiers", "other": "Andere Benachrichtigungen" }, - "options-title": "Wählen Sie aus, bei welchen Aktivitäten Sie benachrichtigt werden möchten", "options": { "ASSIGN_APPROVER": "Wenn ich einem Dokument als Genehmiger zugewiesen werde", "ASSIGN_REVIEWER": "Wenn ich einem Dokument als Prüfer zugewiesen werde", @@ -1952,6 +1957,7 @@ "USER_PROMOTED_TO_APPROVER": "Wenn ich Genehmiger in einem Dossier werde", "USER_REMOVED_AS_DOSSIER_MEMBER": "Wenn ich die Dossier-Mitgliedschaft verliere" }, + "options-title": "Wählen Sie aus, bei welchen Aktivitäten Sie benachrichtigt werden möchten", "schedule": { "daily": "Tägliche Zusammenfassung", "instant": "Sofort", @@ -1959,13 +1965,6 @@ }, "title": "Benachrichtigungseinstellungen" }, - "notifications": { - "button-text": "Benachrichtigungen", - "deleted-dossier": "Gelöschtes Dossier", - "label": "Benachrichtigungen", - "mark-all-as-read": "Alle als gelesen markieren", - "mark-as": "Als {type, select, read{gelesen} unread{ungelesen} other{}} markieren" - }, "ocr": { "confirmation-dialog": { "cancel": "Abbrechen", @@ -2057,16 +2056,16 @@ "warnings-label": "Dialoge und Meldungen", "warnings-subtitle": "„Nicht mehr anzeigen“-Optionen" }, + "processing": { + "basic": "Verarbeitung läuft", + "ocr": "OCR" + }, "processing-status": { "ocr": "OCR", "pending": "Ausstehend", "processed": "Verarbeitet", "processing": "Verarbeitung läuft" }, - "processing": { - "basic": "Verarbeitung läuft", - "ocr": "OCR" - }, "readonly": "Lesemodus", "readonly-archived": "Lesemodus (archiviert)", "redact-text": { @@ -2302,6 +2301,12 @@ "red-user-admin": "Benutzeradmin", "regular": "regulärer Benutzer" }, + "search": { + "active-dossiers": "Dokumente in aktiven Dossiers", + "all-dossiers": "Alle Dokumente", + "placeholder": "Dokumente durchsuchen...", + "this-dossier": "In diesem Dossier" + }, "search-screen": { "cols": { "assignee": "Bearbeiter", @@ -2325,12 +2330,6 @@ "no-match": "Der Suchbegriff wurde in keinem der Dokumente gefunden.", "table-header": "{length} {length, plural, one{Suchergebnis} other{Suchergebnisse}}" }, - "search": { - "active-dossiers": "Dokumente in aktiven Dossiers", - "all-dossiers": "Alle Dokumente", - "placeholder": "Dokumente durchsuchen...", - "this-dossier": "In diesem Dossier" - }, "seconds": "Sekunden", "size": "Größe", "smtp-auth-config": { @@ -2586,4 +2585,4 @@ } }, "yesterday": "Gestern" -} +} \ No newline at end of file diff --git a/apps/red-ui/src/assets/i18n/redact/en.json b/apps/red-ui/src/assets/i18n/redact/en.json index 809974c94..cba884999 100644 --- a/apps/red-ui/src/assets/i18n/redact/en.json +++ b/apps/red-ui/src/assets/i18n/redact/en.json @@ -569,9 +569,9 @@ "search": "Search by name...", "table-col-names": { "column-labels": "Column labels", - "name": "Name", + "name": "name", "number-of-lines": "Number of lines", - "version": "Version" + "version": "version" }, "table-header": { "title": "Component mapping" @@ -2586,4 +2586,4 @@ } }, "yesterday": "Yesterday" -} +} \ No newline at end of file diff --git a/apps/red-ui/src/assets/i18n/scm/de.json b/apps/red-ui/src/assets/i18n/scm/de.json index 240c1f2fa..515f352af 100644 --- a/apps/red-ui/src/assets/i18n/scm/de.json +++ b/apps/red-ui/src/assets/i18n/scm/de.json @@ -272,6 +272,9 @@ "watermarks": "Watermarks" }, "analysis-disabled": "Analysis disabled", + "annotation": { + "pending": "(Pending analysis)" + }, "annotation-actions": { "accept-recommendation": { "label": "Empfehlung annehmen" @@ -327,14 +330,14 @@ "error": "Rekategorisierung des Bildes gescheitert: {error}", "success": "Bild wurde einer neuen Kategorie zugeordnet." }, - "remove-hint": { - "error": "Failed to remove hint: {error}", - "success": "Hint removed!" - }, "remove": { "error": "Fehler beim Entfernen der Schwärzung: {error}", "success": "Schwärzung entfernt!" }, + "remove-hint": { + "error": "Failed to remove hint: {error}", + "success": "Hint removed!" + }, "undo": { "error": "Die Aktion konnte nicht rückgängig gemacht werden. Fehler: {error}", "success": "erfolgreich Rückgängig gemacht" @@ -347,15 +350,15 @@ "remove-highlights": { "label": "Remove selected earmarks" }, + "resize": { + "label": "Größe ändern" + }, "resize-accept": { "label": "Größe speichern" }, "resize-cancel": { "label": "Größenänderung abbrechen" }, - "resize": { - "label": "Größe ändern" - }, "see-references": { "label": "See references" }, @@ -389,9 +392,6 @@ "skipped": "Übersprungen", "text-highlight": "Earmark" }, - "annotation": { - "pending": "(Pending analysis)" - }, "annotations": "Annotations", "archived-dossiers-listing": { "no-data": { @@ -568,7 +568,6 @@ }, "search": "Search by name...", "table-col-names": { - "column-labels": "", "name": "name", "number-of-lines": "Number of lines", "version": "version" @@ -637,14 +636,18 @@ "warning": "Achtung: Diese Aktion kann nicht rückgängig gemacht werden!" }, "confirmation-dialog": { + "approve-file": { + "question": "Dieses Dokument enthält ungesehene Änderungen. Möchten Sie es trotzdem genehmigen?", + "title": "Warnung!" + }, "approve-file-without-analysis": { "confirmationText": "Approve without analysis", "denyText": "Cancel", "question": "Analysis required to detect new components.", "title": "Warning!" }, - "approve-file": { - "question": "Dieses Dokument enthält ungesehene Änderungen. Möchten Sie es trotzdem genehmigen?", + "approve-multiple-files": { + "question": "Mindestens eine der ausgewählten Dateien enthält ungesehene Änderungen. Möchten Sie sie trotzdem genehmigen?", "title": "Warnung!" }, "approve-multiple-files-without-analysis": { @@ -653,10 +656,6 @@ "question": "Analysis required to detect new components for at least one file.", "title": "Warning" }, - "approve-multiple-files": { - "question": "Mindestens eine der ausgewählten Dateien enthält ungesehene Änderungen. Möchten Sie sie trotzdem genehmigen?", - "title": "Warnung!" - }, "assign-file-to-me": { "question": { "multiple": "Dieses Dokument wird gerade von einer anderen Person geprüft. Möchten Sie Reviewer werden und sich selbst dem Dokument zuweisen?", @@ -1026,13 +1025,13 @@ "recent": "Neu ({hours} h)", "unassigned": "Niemandem zugewiesen" }, + "reanalyse": { + "action": "Datei analysieren" + }, "reanalyse-dossier": { "error": "Die Dateien konnten nicht für eine Reanalyse eingeplant werden. Bitte versuchen Sie es erneut.", "success": "Dateien für Reanalyse vorgesehen." }, - "reanalyse": { - "action": "Datei analysieren" - }, "start-auto-analysis": "Enable auto-analysis", "stop-auto-analysis": "Stop auto-analysis", "table-col-names": { @@ -1102,6 +1101,14 @@ "total-documents": "Anzahl der Dokumente", "total-people": "{count} {count, plural, one{user} other {users}}" }, + "dossier-templates": { + "label": "Dossier-Vorlagen", + "status": { + "active": "Active", + "inactive": "Inactive", + "incomplete": "Incomplete" + } + }, "dossier-templates-listing": { "action": { "clone": "Clone template", @@ -1136,14 +1143,6 @@ "title": "{length} dossier {length, plural, one{template} other{templates}}" } }, - "dossier-templates": { - "label": "Dossier-Vorlagen", - "status": { - "active": "Active", - "inactive": "Inactive", - "incomplete": "Incomplete" - } - }, "dossier-watermark-selector": { "heading": "Watermarks on documents", "no-watermark": "There is no watermark defined for the dossier template.
Contact your app admin to define one.", @@ -1339,6 +1338,15 @@ "title": "{length} {length, plural, one{entity} other{entities}}" } }, + "entity": { + "info": { + "actions": { + "revert": "Revert", + "save": "Save changes" + }, + "heading": "Edit entity" + } + }, "entity-rules-screen": { "error": { "generic": "Something went wrong... Entity rules update failed!" @@ -1353,28 +1361,19 @@ "warning-text": "Warning: experimental feature!", "warnings-found": "{warnings, plural, one{A warning} other{{warnings} warnings}} found in rules" }, - "entity": { - "info": { - "actions": { - "revert": "Revert", - "save": "Save changes" - }, - "heading": "Edit entity" - } - }, "error": { "deleted-entity": { "dossier": { "action": "Zurück zur Übersicht", "label": "Dieses Dossier wurde gelöscht!" }, - "file-dossier": { - "action": "Zurück zur Übersicht", - "label": "Das Dossier dieser Datei wurde gelöscht!" - }, "file": { "action": "Zurück zum Dossier", "label": "Diese Datei wurde gelöscht!" + }, + "file-dossier": { + "action": "Zurück zur Übersicht", + "label": "Das Dossier dieser Datei wurde gelöscht!" } }, "file-preview": { @@ -1392,6 +1391,12 @@ }, "exact-date": "{day} {month} {year} um {hour}:{minute} Uhr", "file": "Datei", + "file-attribute": { + "update": { + "error": "Failed to update file attribute value!", + "success": "File attribute value has been updated successfully!" + } + }, "file-attribute-encoding-types": { "ascii": "ASCII", "iso": "ISO-8859-1", @@ -1402,12 +1407,6 @@ "number": "Nummer", "text": "Freier Text" }, - "file-attribute": { - "update": { - "error": "Failed to update file attribute value!", - "success": "File attribute value has been updated successfully!" - } - }, "file-attributes-configurations": { "cancel": "Cancel", "form": { @@ -1625,15 +1624,6 @@ "csv": "File attributes were imported successfully from uploaded CSV file." } }, - "filter-menu": { - "filter-options": "Filteroptionen", - "filter-types": "Filter", - "label": "Filter", - "pages-without-annotations": "Only pages without annotations", - "redaction-changes": "Nur Anmerkungen mit Schwärzungsänderungen", - "unseen-pages": "Nur Anmerkungen auf unsichtbaren Seiten", - "with-comments": "Nur Anmerkungen mit Kommentaren" - }, "filter": { "analysis": "Analyse erforderlich", "comment": "Kommentare", @@ -1643,6 +1633,15 @@ "redaction": "Geschwärzt", "updated": "Aktualisiert" }, + "filter-menu": { + "filter-options": "Filteroptionen", + "filter-types": "Filter", + "label": "Filter", + "pages-without-annotations": "Only pages without annotations", + "redaction-changes": "Nur Anmerkungen mit Schwärzungsänderungen", + "unseen-pages": "Nur Anmerkungen auf unsichtbaren Seiten", + "with-comments": "Nur Anmerkungen mit Kommentaren" + }, "filters": { "assigned-people": "Beauftragt", "documents-status": "Documents state", @@ -1921,6 +1920,13 @@ "user-promoted-to-approver": "{user} wurde im Dossier {dossierHref, select, null{{dossierName}} other{{dossierName}}} zum Genehmiger ernannt!", "user-removed-as-dossier-member": "{user} wurde als Mitglied von: {dossierHref, select, null{{dossierName}} other{{dossierName}}} entfernt!" }, + "notifications": { + "button-text": "Notifications", + "deleted-dossier": "Deleted dossier", + "label": "Benachrichtigungen", + "mark-all-as-read": "Alle als gelesen markieren", + "mark-as": "Mark as {type, select, read{read} unread{unread} other{}}" + }, "notifications-screen": { "category": { "email-notifications": "E-Mail Benachrichtigungen", @@ -1934,7 +1940,6 @@ "dossier": "Dossierbezogene Benachrichtigungen", "other": "Andere Benachrichtigungen" }, - "options-title": "Wählen Sie aus, in welcher Kategorie Sie benachrichtigt werden möchten", "options": { "ASSIGN_APPROVER": "Wenn ich einem Dokument als Genehmiger zugewiesen bin", "ASSIGN_REVIEWER": "Wenn ich einem Dokument als Überprüfer zugewiesen bin", @@ -1952,6 +1957,7 @@ "USER_PROMOTED_TO_APPROVER": "Wenn ich Genehmiger in einem Dossier werde", "USER_REMOVED_AS_DOSSIER_MEMBER": "Wenn ich die Dossier-Mitgliedschaft verliere" }, + "options-title": "Wählen Sie aus, in welcher Kategorie Sie benachrichtigt werden möchten", "schedule": { "daily": "Tägliche Zusammenfassung", "instant": "Sofortig", @@ -1959,13 +1965,6 @@ }, "title": "Benachrichtigungseinstellungen" }, - "notifications": { - "button-text": "Notifications", - "deleted-dossier": "Deleted dossier", - "label": "Benachrichtigungen", - "mark-all-as-read": "Alle als gelesen markieren", - "mark-as": "Mark as {type, select, read{read} unread{unread} other{}}" - }, "ocr": { "confirmation-dialog": { "cancel": "Cancel", @@ -2057,16 +2056,16 @@ "warnings-label": "Prompts and dialogs", "warnings-subtitle": "Do not show again options" }, + "processing": { + "basic": "Processing", + "ocr": "OCR" + }, "processing-status": { "ocr": "OCR", "pending": "Pending", "processed": "Processed", "processing": "Processing" }, - "processing": { - "basic": "Processing", - "ocr": "OCR" - }, "readonly": "Lesemodus", "readonly-archived": "Read only (archived)", "redact-text": { @@ -2302,6 +2301,12 @@ "red-user-admin": "Benutzer-Admin", "regular": "Regulär" }, + "search": { + "active-dossiers": "ganze Plattform", + "all-dossiers": "all documents", + "placeholder": "Nach Dokumenten oder Dokumenteninhalt suchen", + "this-dossier": "in diesem Dossier" + }, "search-screen": { "cols": { "assignee": "Bevollmächtigter", @@ -2325,12 +2330,6 @@ "no-match": "Keine Dokumente entsprechen Ihren aktuellen Filtern.", "table-header": "{length} search {length, plural, one{result} other{results}}" }, - "search": { - "active-dossiers": "ganze Plattform", - "all-dossiers": "all documents", - "placeholder": "Nach Dokumenten oder Dokumenteninhalt suchen", - "this-dossier": "in diesem Dossier" - }, "seconds": "seconds", "size": "Size", "smtp-auth-config": { @@ -2586,4 +2585,4 @@ } }, "yesterday": "Gestern" -} +} \ No newline at end of file diff --git a/apps/red-ui/src/assets/i18n/scm/en.json b/apps/red-ui/src/assets/i18n/scm/en.json index 8b58ac9a1..e8686af82 100644 --- a/apps/red-ui/src/assets/i18n/scm/en.json +++ b/apps/red-ui/src/assets/i18n/scm/en.json @@ -569,9 +569,9 @@ "search": "Search by name...", "table-col-names": { "column-labels": "Column labels", - "name": "Name", + "name": "name", "number-of-lines": "Number of lines", - "version": "Version" + "version": "version" }, "table-header": { "title": "Component mapping" @@ -1272,8 +1272,8 @@ "dictionary": "Dictionary", "dossier-attributes": "Dossier attributes", "dossier-dictionary": "Dossier dictionary", - "dossier-info": "Dossier Info", - "download-package": "Download Package", + "dossier-info": "Dossier info", + "download-package": "Download package", "general-info": "General Information", "members": "Members", "team-members": "Team Members" @@ -2586,4 +2586,4 @@ } }, "yesterday": "Yesterday" -} +} \ No newline at end of file From 9010677c6dda709f604a95341885672b1033f067 Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Fri, 26 Jul 2024 12:13:05 +0300 Subject: [PATCH 06/14] RED-9201 - UI for Component Mapping Tables --- .../add-edit-component-mapping-dialog.component.ts | 3 ++- .../app/services/entity-services/component-mappings.service.ts | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/screens/component-mappings/add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component.ts b/apps/red-ui/src/app/modules/admin/screens/component-mappings/add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component.ts index 28c4fd351..cef6b2bdd 100644 --- a/apps/red-ui/src/app/modules/admin/screens/component-mappings/add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/component-mappings/add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component.ts @@ -63,9 +63,10 @@ export class AddEditComponentMappingDialogComponent async ngOnInit() { if (this.data.mapping?.fileName) { this.activeFile = { name: this.data.mapping.fileName } as File; - const file = await firstValueFrom( + const fileContent = await firstValueFrom( this._componentMappingService.getComponentMappingFile(this.data.dossierTemplateId, this.data.mapping.id), ); + const file = new Blob([fileContent.body as Blob], { type: 'text/csv' }); this.form.get('file').setValue(file); this.initialFormValue = this.form.getRawValue(); } diff --git a/apps/red-ui/src/app/services/entity-services/component-mappings.service.ts b/apps/red-ui/src/app/services/entity-services/component-mappings.service.ts index b124f0681..a665779dc 100644 --- a/apps/red-ui/src/app/services/entity-services/component-mappings.service.ts +++ b/apps/red-ui/src/app/services/entity-services/component-mappings.service.ts @@ -22,7 +22,7 @@ export class ComponentMappingsService extends EntitiesService { const formParams = new FormData(); - formParams.append('file', file); + formParams.append('file', file, `${componentMapping.name}.csv`); const queryParams: List = [ { key: 'name', value: componentMapping.name }, From c5fd581a62e771d0e51237618b617fe20d7b51ae Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Fri, 26 Jul 2024 15:36:24 +0300 Subject: [PATCH 07/14] RED-9201 - UI for Component Mapping Tables --- .../add-edit-component-mapping-dialog.component.ts | 6 ++++-- .../component-mappings-screen.component.ts | 4 ++-- .../services/entity-services/component-mappings.service.ts | 2 +- libs/common-ui | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/screens/component-mappings/add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component.ts b/apps/red-ui/src/app/modules/admin/screens/component-mappings/add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component.ts index cef6b2bdd..b3ae5b60f 100644 --- a/apps/red-ui/src/app/modules/admin/screens/component-mappings/add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/component-mappings/add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit } from '@angular/core'; -import { CircleButtonComponent, IconButtonComponent, IconButtonTypes, IqserDialogComponent, UploadFileComponent } from '@iqser/common-ui'; +import { CircleButtonComponent, IconButtonComponent, IqserDialogComponent, UploadFileComponent } from '@iqser/common-ui'; import { FileAttributeEncodingTypes, IComponentMapping } from '@red/domain'; import { FormBuilder, ReactiveFormsModule, UntypedFormGroup, Validators } from '@angular/forms'; import { TranslateModule } from '@ngx-translate/core'; @@ -22,6 +22,7 @@ interface DialogResult { file: Blob; encoding: string; delimiter: string; + fileName?: string; } @Component({ @@ -77,7 +78,8 @@ export class AddEditComponentMappingDialogComponent } save() { - this.dialogRef.close({ ...this.data.mapping, ...this.form.getRawValue() }); + const fileName = document.getElementById('file-name-label')?.textContent; + this.dialogRef.close({ ...this.data.mapping, ...this.form.getRawValue(), fileName }); } #getForm(): UntypedFormGroup { diff --git a/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.ts index 09ef65805..b451d54b3 100644 --- a/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.ts @@ -99,8 +99,8 @@ export default class ComponentMappingsScreenComponent extends ListingComponent { const formParams = new FormData(); - formParams.append('file', file, `${componentMapping.name}.csv`); + formParams.append('file', file, componentMapping.fileName); const queryParams: List = [ { key: 'name', value: componentMapping.name }, diff --git a/libs/common-ui b/libs/common-ui index 98ac49fbc..9df87dc21 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 98ac49fbc81bb9989c14a8ca06c11d98ed042c86 +Subproject commit 9df87dc218ea8090159059a7bad184aaaeba8854 From 456ca8cc468f556575bec2ac2eb3c76293b697e0 Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Fri, 26 Jul 2024 16:14:37 +0300 Subject: [PATCH 08/14] RED-9201 - UI for Component Mapping Tables --- .../add-edit-component-mapping-dialog.component.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/screens/component-mappings/add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component.ts b/apps/red-ui/src/app/modules/admin/screens/component-mappings/add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component.ts index b3ae5b60f..2542e31eb 100644 --- a/apps/red-ui/src/app/modules/admin/screens/component-mappings/add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/component-mappings/add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component.ts @@ -73,19 +73,20 @@ export class AddEditComponentMappingDialogComponent } } - fileChanged(file: Blob) { + fileChanged(file: File) { this.form.get('file').setValue(file); + this.form.get('fileName').setValue(file?.name); } save() { - const fileName = document.getElementById('file-name-label')?.textContent; - this.dialogRef.close({ ...this.data.mapping, ...this.form.getRawValue(), fileName }); + this.dialogRef.close({ ...this.data.mapping, ...this.form.getRawValue() }); } #getForm(): UntypedFormGroup { return this._formBuilder.group({ name: [this.data?.mapping?.name, Validators.required], file: [null, Validators.required], + fileName: [this.data?.mapping?.fileName, Validators.required], encoding: this.encodingTypeOptions.find(e => e === this.data?.mapping?.encoding) ?? this.encodingTypeOptions[0], delimiter: [this.data?.mapping?.delimiter ?? ',', Validators.required], }); From 47b16d22875354bce909e31c4f9db805b795153e Mon Sep 17 00:00:00 2001 From: Nicoleta Panaghiu Date: Fri, 26 Jul 2024 16:28:36 +0300 Subject: [PATCH 09/14] RED-9754: removed document version in dossier templates in documine. --- ...ossier-template-info-screen.component.html | 138 +++++++++--------- .../dossier-template-info-screen.component.ts | 2 + 2 files changed, 72 insertions(+), 68 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/screens/info/dossier-template-info-screen/dossier-template-info-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/info/dossier-template-info-screen/dossier-template-info-screen.component.html index 94e7dc00a..529fbd011 100644 --- a/apps/red-ui/src/app/modules/admin/screens/info/dossier-template-info-screen/dossier-template-info-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/info/dossier-template-info-screen/dossier-template-info-screen.component.html @@ -33,7 +33,7 @@
- + @if (hasValidFrom()) { - + }
@@ -53,7 +53,7 @@ {{ 'add-edit-clone-dossier-template.form.valid-to' | translate }}
- + @if (hasValidTo()) { - + }
-
-
- {{ 'add-edit-clone-dossier-template.form.apply-updates-default.heading' | translate }} -
-
- - {{ 'add-edit-clone-dossier-template.form.apply-updates-default.description' | translate }} - -
-
- -
-
{{ 'download-includes' | translate }}
- - -
- -
-
- {{ 'add-edit-clone-dossier-template.form.upload-settings.heading' | translate }} -
-
- - {{ 'add-edit-clone-dossier-template.form.upload-settings.ocr-by-default' | translate }} - -
-
- - {{ 'add-edit-clone-dossier-template.form.upload-settings.remove-watermark' | translate }} - -
-
- -
-
{{ 'add-edit-clone-dossier-template.form.hidden-text.heading' | translate }}
-
- - {{ 'add-edit-clone-dossier-template.form.hidden-text.title' | translate }} - -
{{ 'add-edit-clone-dossier-template.form.hidden-text.description' | translate }}
-
-
- - {{ 'add-edit-clone-dossier-template.form.image-metadata.title' | translate }} - -
{{ 'add-edit-clone-dossier-template.form.image-metadata.description' | translate }}
-
-
- - {{ 'add-edit-clone-dossier-template.form.overlapping-elements.title' | translate }} - -
- {{ 'add-edit-clone-dossier-template.form.overlapping-elements.description' | translate }} + @if (!isDocumine) { +
+
+ {{ 'add-edit-clone-dossier-template.form.apply-updates-default.heading' | translate }} +
+
+ + {{ 'add-edit-clone-dossier-template.form.apply-updates-default.description' | translate }} +
-
+ +
+
{{ 'download-includes' | translate }}
+ + +
+ +
+
+ {{ 'add-edit-clone-dossier-template.form.upload-settings.heading' | translate }} +
+
+ + {{ 'add-edit-clone-dossier-template.form.upload-settings.ocr-by-default' | translate }} + +
+
+ + {{ 'add-edit-clone-dossier-template.form.upload-settings.remove-watermark' | translate }} + +
+
+ +
+
{{ 'add-edit-clone-dossier-template.form.hidden-text.heading' | translate }}
+
+ + {{ 'add-edit-clone-dossier-template.form.hidden-text.title' | translate }} + +
{{ 'add-edit-clone-dossier-template.form.hidden-text.description' | translate }}
+
+
+ + {{ 'add-edit-clone-dossier-template.form.image-metadata.title' | translate }} + +
{{ 'add-edit-clone-dossier-template.form.image-metadata.description' | translate }}
+
+
+ + {{ 'add-edit-clone-dossier-template.form.overlapping-elements.title' | translate }} + +
+ {{ 'add-edit-clone-dossier-template.form.overlapping-elements.description' | translate }} +
+
+
+ }
diff --git a/apps/red-ui/src/app/modules/admin/screens/info/dossier-template-info-screen/dossier-template-info-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/info/dossier-template-info-screen/dossier-template-info-screen.component.ts index 0d21402f1..a9b2ffd59 100644 --- a/apps/red-ui/src/app/modules/admin/screens/info/dossier-template-info-screen/dossier-template-info-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/info/dossier-template-info-screen/dossier-template-info-screen.component.ts @@ -26,6 +26,7 @@ import { NgIf } from '@angular/common'; import { MatDatepickerModule } from '@angular/material/datepicker'; import { MatIcon } from '@angular/material/icon'; import { SelectComponent } from '@shared/components/select/select.component'; +import { MatSuffix } from '@angular/material/form-field'; const downloadTypes = ['ORIGINAL', 'PREVIEW', 'DELTA_PREVIEW', 'REDACTED'].map(type => ({ key: type, @@ -47,6 +48,7 @@ const downloadTypes = ['ORIGINAL', 'PREVIEW', 'DELTA_PREVIEW', 'REDACTED'].map(t SelectComponent, IconButtonComponent, MatIcon, + MatSuffix, ], }) export default class DossierTemplateInfoScreenComponent extends BaseFormComponent implements OnInit { From aaef6c764941293f2f38ec1c2aed7a73455ad9ed Mon Sep 17 00:00:00 2001 From: project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1 Date: Sat, 27 Jul 2024 01:03:29 +0000 Subject: [PATCH 10/14] push back localazy update --- apps/red-ui/src/assets/i18n/redact/de.json | 1 + apps/red-ui/src/assets/i18n/scm/de.json | 1 + 2 files changed, 2 insertions(+) diff --git a/apps/red-ui/src/assets/i18n/redact/de.json b/apps/red-ui/src/assets/i18n/redact/de.json index 57cc94144..91a25aeb1 100644 --- a/apps/red-ui/src/assets/i18n/redact/de.json +++ b/apps/red-ui/src/assets/i18n/redact/de.json @@ -568,6 +568,7 @@ }, "search": "Nach Name suchen...", "table-col-names": { + "column-labels": "Column labels", "name": "Name", "number-of-lines": "Zeilenzahl", "version": "Version" diff --git a/apps/red-ui/src/assets/i18n/scm/de.json b/apps/red-ui/src/assets/i18n/scm/de.json index 515f352af..9c1134212 100644 --- a/apps/red-ui/src/assets/i18n/scm/de.json +++ b/apps/red-ui/src/assets/i18n/scm/de.json @@ -568,6 +568,7 @@ }, "search": "Search by name...", "table-col-names": { + "column-labels": "Column labels", "name": "name", "number-of-lines": "Number of lines", "version": "version" From dbc609765bf855673e5a941e5d554e1892eba059 Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Mon, 29 Jul 2024 01:02:46 +0300 Subject: [PATCH 11/14] WIP on master RED-8748 - Integrated component view in DocuMine --- .../documine-export.component.html | 1 - .../documine-export.component.ts | 13 +- ...-structured-component-value.component.html | 130 +++--- ...-structured-component-value.component.scss | 24 +- .../file-header/file-header.component.html | 2 +- .../file-workload.component.html | 373 +++++++++--------- ...ile-preview-right-container.component.html | 4 +- .../file-preview-screen.component.scss | 2 +- .../services/viewer-header.service.ts | 9 +- apps/red-ui/src/styles.scss | 2 +- 10 files changed, 303 insertions(+), 257 deletions(-) diff --git a/apps/red-ui/src/app/modules/file-preview/components/documine-export/documine-export.component.html b/apps/red-ui/src/app/modules/file-preview/components/documine-export/documine-export.component.html index c54c1298b..7dc0226f5 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/documine-export/documine-export.component.html +++ b/apps/red-ui/src/app/modules/file-preview/components/documine-export/documine-export.component.html @@ -6,7 +6,6 @@ [matMenuTriggerFor]="bulkComponentDownloadMenu" [matTooltipPosition]="'above'" [matTooltip]="'documine-export.export-tooltip' | translate" - [hidden]="true" class="red-tab" > {{ 'documine-export.export' | translate }} diff --git a/apps/red-ui/src/app/modules/file-preview/components/documine-export/documine-export.component.ts b/apps/red-ui/src/app/modules/file-preview/components/documine-export/documine-export.component.ts index 2a412ffb4..74c75e514 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/documine-export/documine-export.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/components/documine-export/documine-export.component.ts @@ -1,6 +1,6 @@ -import { Component, Input } from '@angular/core'; +import { Component, input, Input } from '@angular/core'; import { firstValueFrom } from 'rxjs'; -import { Dossier } from '@red/domain'; +import { Dossier, File } from '@red/domain'; import { ComponentLogService } from '@services/files/component-log.service'; import { MatTooltip } from '@angular/material/tooltip'; import { TranslateModule } from '@ngx-translate/core'; @@ -13,15 +13,18 @@ import { MatMenu, MatMenuItem, MatMenuTrigger } from '@angular/material/menu'; imports: [MatTooltip, TranslateModule, MatMenuTrigger, MatMenu, MatMenuItem], }) export class DocumineExportComponent { - @Input() dossier: Dossier; + readonly dossier = input(); + readonly file = input(); constructor(private readonly _componentLogService: ComponentLogService) {} downloadComponentAsJSON() { - return firstValueFrom(this._componentLogService.exportJSON(this.dossier.dossierTemplateId, this.dossier.dossierId)); + return firstValueFrom( + this._componentLogService.exportJSON(this.dossier().dossierTemplateId, this.dossier().dossierId, this.file()), + ); } async downloadComponentAsXML() { - return firstValueFrom(this._componentLogService.exportXML(this.dossier.dossierTemplateId, this.dossier.dossierId)); + return firstValueFrom(this._componentLogService.exportXML(this.dossier().dossierTemplateId, this.dossier().dossierId, this.file())); } } diff --git a/apps/red-ui/src/app/modules/file-preview/components/editable-structured-component-value/editable-structured-component-value.component.html b/apps/red-ui/src/app/modules/file-preview/components/editable-structured-component-value/editable-structured-component-value.component.html index 42be825f6..92216e66a 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/editable-structured-component-value/editable-structured-component-value.component.html +++ b/apps/red-ui/src/app/modules/file-preview/components/editable-structured-component-value/editable-structured-component-value.component.html @@ -1,64 +1,76 @@
{{ entryLabel }}
-
-
- - -
-
- -
-
-
- -
- - -
-
- -
- + @if (!editing) { +
+
+ @for (componentValue of entry.componentValues; track componentValue) { + + } +
+
+ @if (canEdit) { + + @if (hasUpdatedValues) { +
+ } + }
-
-
-
- -
-
- - + } @else { +
+ @for (value of entry.componentValues; track value) { +
+ +
+ +
+ +
+ }
-
- +
+ +
+
+ @if (hasUpdatedValues && canEdit) { + + } + +
+
+ } + @if (!editing) { + + } +
diff --git a/apps/red-ui/src/app/modules/file-preview/components/editable-structured-component-value/editable-structured-component-value.component.scss b/apps/red-ui/src/app/modules/file-preview/components/editable-structured-component-value/editable-structured-component-value.component.scss index 288ed4125..3ee2c0515 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/editable-structured-component-value/editable-structured-component-value.component.scss +++ b/apps/red-ui/src/app/modules/file-preview/components/editable-structured-component-value/editable-structured-component-value.component.scss @@ -59,7 +59,6 @@ &:not(.header):hover, &.selected { background-color: var(--iqser-grey-8); - border-left: 4px solid var(--iqser-primary); margin-left: 0; margin-right: 0; @@ -67,18 +66,31 @@ cursor: pointer; } - .component { - margin-left: 22px; - } .value { margin-right: 26px; + } + } + &:hover { + .component { + margin-left: 26px; + } + + .value { .actions { iqser-circle-button { visibility: visible; } } } + } + + &.selected { + border-left: 4px solid var(--iqser-primary); + + .component { + margin-left: 22px; + } .arrow-right { visibility: visible; @@ -129,6 +141,10 @@ } } +.hidden-button { + visibility: hidden; +} + ::ng-deep .add-value { mat-icon { transform: scale(2); diff --git a/apps/red-ui/src/app/modules/file-preview/components/file-header/file-header.component.html b/apps/red-ui/src/app/modules/file-preview/components/file-header/file-header.component.html index a18228626..f7606feb3 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/file-header/file-header.component.html +++ b/apps/red-ui/src/app/modules/file-preview/components/file-header/file-header.component.html @@ -1,7 +1,7 @@