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 fd1ff6d7c..179b87bea 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 @@ -39,3 +39,9 @@ export const canResizeAnnotation = (annotation: AnnotationWrapper, canAddRedacti !annotation.isSkipped && !annotation.pending && (annotation.isRedacted || annotation.isImage || annotation.isDictBasedHint || annotation.isRecommendation); + +export const canEditAnnotation = (annotation: AnnotationWrapper) => (annotation.isRedacted || annotation.isSkipped) && !annotation.isImage; + +export const canEditHint = (annotation: AnnotationWrapper) => annotation.HINT || annotation.isIgnoredHint; + +export const canEditImage = (annotation: AnnotationWrapper) => annotation.isImage; diff --git a/apps/red-ui/src/app/models/file/annotation.permissions.ts b/apps/red-ui/src/app/models/file/annotation.permissions.ts index cddebeb9a..02ef8c65c 100644 --- a/apps/red-ui/src/app/models/file/annotation.permissions.ts +++ b/apps/red-ui/src/app/models/file/annotation.permissions.ts @@ -2,10 +2,12 @@ import { IqserPermissionsService } from '@iqser/common-ui'; import { Dictionary } from '@red/domain'; import { Roles } from '@users/roles'; import { isArray } from 'lodash-es'; -import { IMAGE_CATEGORIES } from '../../modules/file-preview/utils/constants'; import { canAcceptRecommendation, canChangeLegalBasis, + canEditAnnotation, + canEditHint, + canEditImage, canForceHint, canForceRedaction, canMarkAsFalsePositive, @@ -61,11 +63,9 @@ export class AnnotationPermissions { permissions.canChangeLegalBasis = canChangeLegalBasis(annotation, canAddRedaction); permissions.canRecategorizeAnnotation = canRecategorizeAnnotation(annotation, canAddRedaction); permissions.canResizeAnnotation = canResizeAnnotation(annotation, canAddRedaction); - - permissions.canEditAnnotations = (annotation.isSkipped || annotation.isRedacted) && !annotation.isImage; - permissions.canEditHints = annotation.isIgnoredHint || annotation.isDictBasedHint || annotation.isHint; - permissions.canEditImages = [...IMAGE_CATEGORIES, 'ocr'].includes(annotation.type); - + permissions.canEditAnnotations = canEditAnnotation(annotation); + permissions.canEditHints = canEditHint(annotation); + permissions.canEditImages = canEditImage(annotation); summedPermissions._merge(permissions); } return summedPermissions; 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 26fa7ca9c..1f70f65d3 100644 --- a/apps/red-ui/src/app/models/file/annotation.wrapper.ts +++ b/apps/red-ui/src/app/models/file/annotation.wrapper.ts @@ -43,6 +43,7 @@ export class AnnotationWrapper implements IListable { AREA = false; HINT = false; IMAGE = false; + IMAGE_HINT = false; section?: string; reference: string[] = []; imported = false; @@ -91,7 +92,7 @@ export class AnnotationWrapper implements IListable { } get isImage() { - return this.type?.toLowerCase() === 'image' || this.IMAGE; + return this.type?.toLowerCase() === 'image' || this.IMAGE || this.IMAGE_HINT; } get isOCR() { @@ -229,6 +230,7 @@ export class AnnotationWrapper implements IListable { annotationWrapper.HINT = logEntry.entryType === EntityTypes.HINT; annotationWrapper.IMAGE = logEntry.entryType === EntityTypes.IMAGE; annotationWrapper.AREA = logEntry.entryType === EntityTypes.AREA; + annotationWrapper.IMAGE_HINT = logEntry.entryType === EntityTypes.IMAGE_HINT; annotationWrapper.isIgnored = logEntry.state === EntryStates.IGNORED; diff --git a/apps/red-ui/src/app/modules/admin/admin.module.ts b/apps/red-ui/src/app/modules/admin/admin.module.ts index fc8df4e81..45deecfee 100644 --- a/apps/red-ui/src/app/modules/admin/admin.module.ts +++ b/apps/red-ui/src/app/modules/admin/admin.module.ts @@ -57,6 +57,7 @@ import { DossierTemplateActionsComponent } from './shared/components/dossier-tem import { IqserUsersModule } from '@iqser/common-ui/lib/users'; import { TenantPipe } from '@iqser/common-ui/lib/tenants'; import { SelectComponent } from '@shared/components/select/select.component'; +import { PaginationComponent } from '@common-ui/pagination/pagination.component'; const dialogs = [ AddEditCloneDossierTemplateDialogComponent, @@ -125,6 +126,7 @@ const components = [ IqserDenyDirective, TenantPipe, SelectComponent, + PaginationComponent, ], }) export class AdminModule {} diff --git a/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.html index 4b864e455..2a5d31257 100644 --- a/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.html @@ -16,15 +16,15 @@
- + >
·
-
+
@@ -116,8 +116,8 @@
diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/edit-redaction-dialog/edit-redaction-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/edit-redaction-dialog/edit-redaction-dialog.component.ts index c9e1733b7..306e149fe 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/edit-redaction-dialog/edit-redaction-dialog.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/edit-redaction-dialog/edit-redaction-dialog.component.ts @@ -6,7 +6,6 @@ import { ActiveDossiersService } from '@services/dossiers/active-dossiers.servic import { DictionaryService } from '@services/entity-services/dictionary.service'; import { JustificationsService } from '@services/entity-services/justifications.service'; import { firstValueFrom } from 'rxjs'; -import { IMAGE_CATEGORIES } from '../../utils/constants'; import { getEditRedactionOptions, RedactOrHintOption } from '../../utils/dialog-options'; import { EditRedactionData, EditRedactResult } from '../../utils/dialog-types'; import { LegalBasisOption } from '../manual-redaction-dialog/manual-annotation-dialog.component'; @@ -41,12 +40,13 @@ export class EditRedactionDialogComponent ) { super(); const annotations = this.data.annotations; - this.isImage = annotations.reduce((acc, next) => acc && [...IMAGE_CATEGORIES, 'ocr'].includes(next.type), true); + this.isImage = annotations.reduce((acc, next) => acc && next.isImage, true); this.redactedTexts = !this.isImage ? annotations.map(annotation => annotation.value) : null; this.isModifyDictionary = annotations.every(annotation => annotation.isModifyDictionary); this.isManualRedaction = annotations.every(annotation => annotation.type === SuperTypes.ManualRedaction); - this.isHint = annotations.every(annotation => annotation.isHint); - this.showExtras = !(this.isImage || this.isHint); + this.isHint = annotations.every(annotation => annotation.HINT); + const isRedacted = annotations.every(annotation => annotation.isRedacted); + this.showExtras = !((this.isImage && !isRedacted) || this.isHint); } get displayedDictionaryLabel() { diff --git a/apps/red-ui/src/app/modules/shared/components/pagination/pagination.component.html b/apps/red-ui/src/app/modules/shared/components/pagination/pagination.component.html deleted file mode 100644 index 8a0db3f0d..000000000 --- a/apps/red-ui/src/app/modules/shared/components/pagination/pagination.component.html +++ /dev/null @@ -1,26 +0,0 @@ -
-| -
- {{ displayValue(page) }} -
-| -
diff --git a/apps/red-ui/src/app/modules/shared/components/pagination/pagination.component.scss b/apps/red-ui/src/app/modules/shared/components/pagination/pagination.component.scss deleted file mode 100644 index fae36a8b2..000000000 --- a/apps/red-ui/src/app/modules/shared/components/pagination/pagination.component.scss +++ /dev/null @@ -1,27 +0,0 @@ -:host { - display: flex; - - > *:not(:last-child) { - margin-right: 12px; - } - - .disabled, - span { - opacity: 0.5; - pointer-events: none; - } - - .page { - cursor: pointer; - - &.disabled, - &.dots { - cursor: default; - } - - &.active { - color: var(--iqser-primary); - font-weight: bold; - } - } -} diff --git a/apps/red-ui/src/app/modules/shared/components/pagination/pagination.component.ts b/apps/red-ui/src/app/modules/shared/components/pagination/pagination.component.ts deleted file mode 100644 index 0c1a5ff74..000000000 --- a/apps/red-ui/src/app/modules/shared/components/pagination/pagination.component.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core'; - -@Component({ - selector: 'redaction-pagination', - templateUrl: './pagination.component.html', - styleUrls: ['./pagination.component.scss'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class PaginationComponent { - displayedPages: (number | string)[]; - @Output() pageChanged = new EventEmitter(); - displayed; - - private _currentPage: number; - - get currentPage() { - return this._currentPage; - } - - private _totalPages: number; - - get totalPages() { - return this._totalPages; - } - - @Input() - set settings(value: { currentPage: number; totalPages: number }) { - this._currentPage = value.currentPage; - this._totalPages = value.totalPages; - this._updatePagesArray(); - } - - selectPage(page: number | string) { - if (page !== '...') { - this.pageChanged.emit(page as number); - } - } - - displayValue(page: number | string) { - return page === '...' ? page : (page as number) + 1; - } - - isNumber(page) { - return Number.isInteger(page); - } - - private _updatePagesArray() { - this.displayedPages = [0]; - if (Math.max(1, this.currentPage - 1) > 1) { - this.displayedPages.push('...'); - } - for (let page = Math.max(1, this.currentPage - 1); page <= Math.min(this.currentPage + 1, this.totalPages - 1); ++page) { - this.displayedPages.push(page); - } - if (Math.min(this.currentPage + 1, this.totalPages - 1) !== this.totalPages - 1) { - if (this.currentPage + 1 < this.totalPages - 2) { - this.displayedPages.push('...'); - } - this.displayedPages.push(this.totalPages - 1); - } - } -} diff --git a/apps/red-ui/src/app/modules/shared/shared.module.ts b/apps/red-ui/src/app/modules/shared/shared.module.ts index af66e23fb..d7330bd16 100644 --- a/apps/red-ui/src/app/modules/shared/shared.module.ts +++ b/apps/red-ui/src/app/modules/shared/shared.module.ts @@ -1,7 +1,6 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { ScrollingModule } from '@angular/cdk/scrolling'; -import { PaginationComponent } from './components/pagination/pagination.component'; import { FileDownloadBtnComponent } from './components/buttons/file-download-btn/file-download-btn.component'; import { MatConfigModule } from '../mat-config/mat-config.module'; import { IconsModule } from '../icons/icons.module'; @@ -54,7 +53,6 @@ import { MatDividerModule } from '@angular/material/divider'; const buttons = [FileDownloadBtnComponent]; const components = [ - PaginationComponent, AnnotationIconComponent, DictionaryManagerComponent, AssignUserDropdownComponent, diff --git a/apps/red-ui/src/assets/i18n/redact/de.json b/apps/red-ui/src/assets/i18n/redact/de.json index 737535ac3..cfcfdf39c 100644 --- a/apps/red-ui/src/assets/i18n/redact/de.json +++ b/apps/red-ui/src/assets/i18n/redact/de.json @@ -132,7 +132,7 @@ "dossier-dictionary-only": "Dossier dictionary only", "has-dictionary": "Has dictionary", "hint": "Hint", - "manage-entries-in-dictionary-editor-only": "Manage entries in Dictionary editor only", + "manage-entries-in-dictionary-editor-only": "Available in add/remove dialogs", "name": "Display Name", "name-placeholder": "Enter Name", "rank": "Rank", @@ -215,7 +215,7 @@ "options": { "in-dossier": { "description": "Add hint in every document in {dossierName}.", - "extraOptionLabel": "Apply to all dossiers", + "extraOptionLabel": "Apply to all active and future dossiers", "label": "Add hint in dossier" }, "only-here": { @@ -254,6 +254,9 @@ "user-management": "User Management", "watermarks": "Watermarks" }, + "annotation": { + "pending": "(Pending Analysis)" + }, "annotation-actions": { "accept-recommendation": { "label": "Empfehlung annehmen" @@ -312,14 +315,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" @@ -332,15 +335,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" }, @@ -371,9 +374,6 @@ "skipped": "Übersprungen", "text-highlight": "Earmark" }, - "annotation": { - "pending": "(Pending Analysis)" - }, "archived-dossiers-listing": { "no-data": { "title": "No archived dossiers." @@ -578,14 +578,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 redactions.", "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": { @@ -594,10 +598,6 @@ "question": "Analysis required to detect new redactions 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?", @@ -943,13 +943,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": { @@ -1018,6 +1018,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", @@ -1053,14 +1061,6 @@ "title": "{length} {length, plural, one{Dossier-Vorlage} other{Dossier-Vorlagen}}" } }, - "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.", @@ -1200,7 +1200,7 @@ "options": { "in-dossier": { "description": "Edit redaction in every document in {dossierName}.", - "extraOptionLabel": "Apply to all dossiers", + "extraOptionLabel": "Apply to all active and future dossiers", "label": "Change type in dossier" }, "only-here": { @@ -1244,6 +1244,15 @@ "title": "{length} {length, plural, one{Wörterbuch} other{Wörterbücher}}" } }, + "entity": { + "info": { + "actions": { + "revert": "Revert", + "save": "Save Changes" + }, + "heading": "Edit Entity" + } + }, "entity-rules-screen": { "error": { "generic": "Something went wrong... Entity rules update failed!" @@ -1257,28 +1266,19 @@ "title": "Entity Rule Editor", "warning-text": "Warning: experimental feature!" }, - "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": { @@ -1296,6 +1296,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", @@ -1306,12 +1312,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": { @@ -1525,15 +1525,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", @@ -1543,6 +1534,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", @@ -1721,6 +1721,14 @@ "copyright-claim-text": "Copyright © 2020 - {currentYear} knecon", "copyright-claim-title": "Copyright", "custom-app-title": "Name der Anwendung", + "email": { + "body": { + "analyzed": "Im aktuellen Lizenzzeitraum insgesamt analysierte Seiten: {pages}.", + "licensed": "Lizenzierte Seiten: {pages}." + }, + "title": "Lizenzbericht {licenseCustomer}" + }, + "email-report": "E-Mail-Bericht", "end-user-license-text": "Die Nutzung dieses Produkts unterliegt den Bedingungen der Endbenutzer-Lizenzvereinbarung für den RedactManager, sofern darin nichts anderweitig festgelegt.", "end-user-license-title": "Endbenutzer-Lizenzvereinbarung", "licensing-details": { @@ -1813,6 +1821,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", @@ -1826,7 +1841,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", @@ -1844,6 +1858,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", @@ -1851,13 +1866,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", @@ -1949,16 +1957,16 @@ "warnings-subtitle": "Do not show again options", "warnings-title": "Prompts and Dialogs Settings" }, + "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": { @@ -1975,7 +1983,7 @@ "options": { "in-dossier": { "description": "Add redaction in every document in {dossierName}.", - "extraOptionLabel": "Apply to all dossiers", + "extraOptionLabel": "Apply to all active and future dossiers", "label": "Redact in dossier" }, "only-here": { @@ -2045,19 +2053,19 @@ "do-not-recommend": { "description": "Do not recommend \"{value}\" as {type} in any document of the current dossier.", "description-bulk": "Do not recommend the selected terms in any document of the current dossier.", - "extraOptionLabel": "Apply to all dossiers", + "extraOptionLabel": "Apply to all active and future dossiers", "label": "Remove from dossier" }, "false-positive": { "description": "\"{value}\" is not a {type} in this context: \"{context}\".", "description-bulk": "Do not redact the selected terms in their respective context.", - "extraOptionLabel": "Apply to all dossiers", + "extraOptionLabel": "Apply to all active and future dossiers", "label": "False positive" }, "in-dossier": { "description": "Do not {type, select, hint{annotate} other{redact}} \"{value}\" in any document of the current dossier.", "description-bulk": "Do not redact the selected terms as their respective types in any dossier.", - "extraOptionLabel": "Apply to all dossiers", + "extraOptionLabel": "Apply to all active and future dossiers", "label": "Remove from dossier", "label-bulk": "No longer redact in any dossier" }, @@ -2162,7 +2170,7 @@ "options": { "in-dossier": { "description": "Resize in every document in {dossierName}.", - "extraOptionLabel": "Apply to all dossiers", + "extraOptionLabel": "Apply to all active and future dossiers", "label": "Resize in dossier", "tooltip": "Only available for dictionary-based types" }, @@ -2188,6 +2196,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", @@ -2211,12 +2225,6 @@ "no-match": "Keine Dokumente entsprechen Ihren aktuellen Filtern.", "table-header": "{length} {length, plural, one{Suchergebnis} other{Suchergebnisse}}" }, - "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": { diff --git a/apps/red-ui/src/assets/i18n/redact/en.json b/apps/red-ui/src/assets/i18n/redact/en.json index 63b47f971..fb14e47fb 100644 --- a/apps/red-ui/src/assets/i18n/redact/en.json +++ b/apps/red-ui/src/assets/i18n/redact/en.json @@ -132,7 +132,7 @@ "dossier-dictionary-only": "Dossier dictionary only", "has-dictionary": "Has dictionary", "hint": "Hint", - "manage-entries-in-dictionary-editor-only": "Manage entries in Dictionary editor only", + "manage-entries-in-dictionary-editor-only": "Available in add/remove dialogs", "name": "Display Name", "name-placeholder": "Enter Name", "rank": "Rank", @@ -215,7 +215,7 @@ "options": { "in-dossier": { "description": "Add hint in every document in {dossierName}.", - "extraOptionLabel": "Apply to all dossiers", + "extraOptionLabel": "Apply to all active and future dossiers", "label": "Add hint in dossier" }, "only-here": { @@ -1200,7 +1200,7 @@ "options": { "in-dossier": { "description": "Edit redaction in every document in {dossierName}.", - "extraOptionLabel": "Apply to all dossiers", + "extraOptionLabel": "Apply to all active and future dossiers", "label": "Change type in dossier" }, "only-here": { @@ -1975,7 +1975,7 @@ "options": { "in-dossier": { "description": "Add redaction in every document in {dossierName}.", - "extraOptionLabel": "Apply to all dossiers", + "extraOptionLabel": "Apply to all active and future dossiers", "label": "Redact in dossier" }, "only-here": { @@ -2045,19 +2045,19 @@ "do-not-recommend": { "description": "Do not recommend \"{value}\" as {type} in any document of the current dossier.", "description-bulk": "Do not recommend the selected terms in any document of the current dossier.", - "extraOptionLabel": "Apply to all dossiers", + "extraOptionLabel": "Apply to all active and future dossiers", "label": "Remove from dossier" }, "false-positive": { "description": "\"{value}\" is not a {type} in this context: \"{context}\".", "description-bulk": "Do not redact the selected terms in their respective context.", - "extraOptionLabel": "Apply to all dossiers", + "extraOptionLabel": "Apply to all active and future dossiers", "label": "False positive" }, "in-dossier": { "description": "Do not {type, select, hint{annotate} other{redact}} \"{value}\" in any document of the current dossier.", "description-bulk": "Do not redact the selected terms as their respective types in any dossier.", - "extraOptionLabel": "Apply to all dossiers", + "extraOptionLabel": "Apply to all active and future dossiers", "label": "Remove from dossier", "label-bulk": "No longer redact in any dossier" }, @@ -2162,7 +2162,7 @@ "options": { "in-dossier": { "description": "Resize in every document in {dossierName}.", - "extraOptionLabel": "Apply to all dossiers", + "extraOptionLabel": "Apply to all active and future dossiers", "label": "Resize in dossier", "tooltip": "Only available for dictionary-based types" }, diff --git a/libs/common-ui b/libs/common-ui index a6f8a3576..052bf3a5d 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit a6f8a3576522614b2d5bcc95b8a59ec0315e3a57 +Subproject commit 052bf3a5d76fa5bb1697a01a532af553c96922b1