Added Manage Dictionaries screen and route

This commit is contained in:
Timo 2020-11-24 19:26:30 +02:00
parent 3050af9521
commit 16c0ab247c
9 changed files with 265 additions and 48 deletions

View File

@ -83,6 +83,7 @@ import { IconButtonComponent } from './components/buttons/icon-button/icon-butto
import { UserButtonComponent } from './components/buttons/user-button/user-button.component';
import { CircleButtonComponent } from './components/buttons/circle-button/circle-button.component';
import { ChevronButtonComponent } from './components/buttons/chevron-button/chevron-button.component';
import { DictionaryListingScreenComponent } from './screens/admin/dictionary-listing-screen/dictionary-listing-screen.component';
export function HttpLoaderFactory(httpClient: HttpClient) {
return new TranslateHttpLoader(httpClient, '/assets/i18n/', '.json');
@ -133,7 +134,8 @@ export function HttpLoaderFactory(httpClient: HttpClient) {
IconButtonComponent,
UserButtonComponent,
CircleButtonComponent,
ChevronButtonComponent
ChevronButtonComponent,
DictionaryListingScreenComponent
],
imports: [
BrowserModule,
@ -195,6 +197,14 @@ export function HttpLoaderFactory(httpClient: HttpClient) {
data: {
routeGuards: [AuthGuard, RedRoleGuard, AppStateGuard]
}
},
{
path: 'admin-dictionaries',
component: DictionaryListingScreenComponent,
canActivate: [CompositeRouteGuard],
data: {
routeGuards: [AuthGuard, RedRoleGuard, AppStateGuard]
}
}
]
}

View File

@ -50,7 +50,8 @@ export class IconsModule {
'check-alt',
'page',
'upload',
'undo'
'undo',
'under-construction'
];
for (const icon of icons) {

View File

@ -0,0 +1,4 @@
<section>
<h1 class="heading-xl">Under Construction</h1>
<mat-icon svgIcon="red:under-construction"></mat-icon>
</section>

View File

@ -0,0 +1,17 @@
@import '../../../../assets/styles/red-variables';
section {
display: flex;
justify-content: center;
align-items: center;
color: $red-1;
flex-direction: column;
gap: 20px;
height: calc(100vh - 61px);
mat-icon {
color: $grey-1;
height: 100px;
width: 100px;
}
}

View File

@ -0,0 +1,12 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'redaction-dictionary-listing-screen',
templateUrl: './dictionary-listing-screen.component.html',
styleUrls: ['./dictionary-listing-screen.component.scss']
})
export class DictionaryListingScreenComponent implements OnInit {
constructor() {}
ngOnInit(): void {}
}

View File

@ -44,6 +44,12 @@
<div class="menu right flex-2">
<redaction-user-button [user]="user" [matMenuTriggerFor]="menu"></redaction-user-button>
<mat-menu #menu="matMenu">
<button
(click)="appStateService.reset()"
[routerLink]="'/ui/admin-dictionaries'"
mat-menu-item
translate="top-bar.navigation-items.my-account.children.admin-dictionaries"
></button>
<button [matMenuTriggerFor]="language" mat-menu-item translate="top-bar.navigation-items.my-account.children.language.label"></button>
<mat-menu #language="matMenu">
<button (click)="changeLanguage('en')" mat-menu-item translate="top-bar.navigation-items.my-account.children.language.english"></button>

View File

@ -7,10 +7,26 @@
"logout": "Ausloggen"
},
"app-name": "DDA-R",
"upload-status": { "dialog": { "title": "Datei-Upload", "actions": { "re-upload": "Wiederholen Sie den Upload", "cancel": "Upload abbrechen" } } },
"pdf-viewer": { "text-popup": { "actions": { "search": "Suche nach Auswahl" } } },
"upload-status": {
"dialog": {
"title": "Datei-Upload",
"actions": {
"re-upload": "Wiederholen Sie den Upload",
"cancel": "Upload abbrechen"
}
}
},
"pdf-viewer": {
"text-popup": {
"actions": {
"search": "Suche nach Auswahl"
}
}
},
"common": {
"dialog": { "close": "Dialog schließen" },
"dialog": {
"close": "Dialog schließen"
},
"confirmation-dialog": {
"title": "Aktion bestätigen",
"description": "Diese Aktion muss bestätigt werden. Möchten Sie fortfahren?",
@ -21,7 +37,17 @@
"top-bar": {
"navigation-items": {
"projects": "Projekte",
"my-account": { "children": { "language": { "label": "Sprache", "english": "Englisch", "german": "Deutsche" }, "logout": "Ausloggen" } }
"my-account": {
"children": {
"admin-dictionaries": "Wörterbücher verwalten",
"language": {
"label": "Sprache",
"english": "Englisch",
"german": "Deutsche"
},
"logout": "Ausloggen"
}
}
}
},
"filters": {
@ -41,36 +67,76 @@
"action": "Redaktionsbericht herunterladen"
},
"project-listing": {
"reanalyse": { "action": "Analysieren Sie das gesamte Projekt erneut" },
"assign": { "action": "Eigentümer zuweisen" },
"table-header": { "title": "{{length}} aktive Projekte", "bulk-select": "Auswahl umschalten", "recent": "Kürzlich" },
"table-col-names": { "name": "Dokument", "needs-work": "Analysiert", "owner": "Inhaber", "status": "Status" },
"reanalyse": {
"action": "Analysieren Sie das gesamte Projekt erneut"
},
"assign": {
"action": "Eigentümer zuweisen"
},
"table-header": {
"title": "{{length}} aktive Projekte",
"bulk-select": "Auswahl umschalten",
"recent": "Kürzlich"
},
"table-col-names": {
"name": "Dokument",
"needs-work": "Analysiert",
"owner": "Inhaber",
"status": "Status"
},
"stats": {
"analyzed-pages": "Analysierte Seiten",
"total-people": "Benutzer insgesamt",
"charts": { "projects": "Projekte", "total-documents": "Gesamtdokument (e)" }
"charts": {
"projects": "Projekte",
"total-documents": "Gesamtdokument (e)"
}
},
"add-edit-dialog": {
"header-new": "Neues Projekt",
"header-edit": "Projekt bearbeiten",
"form": { "description": "Beschreibung", "name": "Name", "due-date": "Geburtstermin" },
"actions": { "save": "speichern", "save-and-add-members": "Team speichern und bearbeiten" }
"form": {
"description": "Beschreibung",
"name": "Name",
"due-date": "Geburtstermin"
},
"actions": {
"save": "speichern",
"save-and-add-members": "Team speichern und bearbeiten"
}
},
"header": "Projekte",
"edit": { "action": "Projekt bearbeiten" },
"delete": { "action": "Projekt löschen", "delete-failed": "Projekt konnte nicht gelöscht werden: {{projectName}}" },
"edit": {
"action": "Projekt bearbeiten"
},
"delete": {
"action": "Projekt löschen",
"delete-failed": "Projekt konnte nicht gelöscht werden: {{projectName}}"
},
"add-new": "Neues Projekt",
"no-projects": "Sie haben derzeit keine Projekte.",
"no-projects-match": "Keine Projekte stimmen mit Ihren aktuellen Filtern überein"
},
"file-details": { "dialog": { "title": "Dateidetails", "actions": { "download-redaction-report": "Redaktionsbericht herunterladen" } } },
"file-details": {
"dialog": {
"title": "Dateidetails",
"actions": {
"download-redaction-report": "Redaktionsbericht herunterladen"
}
}
},
"project-details": {
"edit": "Bearbeiten",
"delete": "Löschen",
"dialog": {
"title": "Projekt Details",
"info": { "file-count": "Anzahl der Dateien: {{fileCount}}" },
"actions": { "download-redaction-report": "Redaktionsbericht herunterladen", "reanalyse-project": "Projekt erneut analysieren" }
"info": {
"file-count": "Anzahl der Dateien: {{fileCount}}"
},
"actions": {
"download-redaction-report": "Redaktionsbericht herunterladen",
"reanalyse-project": "Projekt erneut analysieren"
}
},
"owner": "Inhaber",
"members": "Mitglieder"
@ -87,12 +153,23 @@
"label": "Veraltet",
"toast": {
"message-project": "Dokumente müssen erneut analysiert werden.",
"actions": { "reanalyse-all": "Analysieren Sie alle erneut", "reanalyse-file": "Analysieren Sie diese Datei erneut", "later": "Später" }
"actions": {
"reanalyse-all": "Analysieren Sie alle erneut",
"reanalyse-file": "Analysieren Sie diese Datei erneut",
"later": "Später"
}
}
},
"report": { "action": "Redaktionsbericht herunterladen" },
"assign": { "action": "Prüfer zuweisen" },
"table-header": { "title": "{{length}} Dokumente", "bulk-select": "Auswahl umschalten" },
"report": {
"action": "Redaktionsbericht herunterladen"
},
"assign": {
"action": "Prüfer zuweisen"
},
"table-header": {
"title": "{{length}} Dokumente",
"bulk-select": "Auswahl umschalten"
},
"table-col-names": {
"name": "Name",
"added-on": "Hinzugefügt",
@ -104,8 +181,12 @@
"upload-error": "Datei konnte nicht hochgeladen werden: {{name}}",
"delete-file-error": "Fehler beim Löschen der Datei: {{filename}}",
"delete-files-error": "Dateien konnten nicht gelöscht werden.",
"reanalyse": { "action": "Datei erneut analysieren" },
"delete": { "action": "Datei löschen" },
"reanalyse": {
"action": "Datei erneut analysieren"
},
"delete": {
"action": "Datei löschen"
},
"file-listing": {
"file-entry": {
"status": "Status: {{status}}",
@ -119,7 +200,9 @@
}
},
"project-details": {
"charts": { "documents-in-project": "Dokumente im Projekt" },
"charts": {
"documents-in-project": "Dokumente im Projekt"
},
"stats": {
"documents": "{{count}} Dokumente",
"analysed-pages": "{{count}} analysierte Seiten",
@ -148,29 +231,52 @@
"reanalyse-notification": "Dieses Dokument wurde nicht mit dem neuesten Regel- / Wörterbuchsatz verarbeitet. Analysieren Sie jetzt erneut, um aktualisierte Anmerkungen zu erhalten.",
"reanalyse-file": "Datei-Reanalyse läuft ...",
"view-toggle": "Redigierte Ansicht",
"tabs": { "quick-navigation": "Schnelle Navigation", "annotations": { "label": "Arbeitsbelastung" } },
"tabs": {
"quick-navigation": "Schnelle Navigation",
"annotations": {
"label": "Arbeitsbelastung"
}
},
"reviewer": "Zugewiesen an",
"unassigned": "Nicht zugewiesen"
},
"annotation-actions": {
"message": {
"manual-redaction": {
"undo": { "success": "Rückgängig machen erfolgreich", "error": "Fehler beim Rückgängigmachen: {{error}}" },
"undo": {
"success": "Rückgängig machen erfolgreich",
"error": "Fehler beim Rückgängigmachen: {{error}}"
},
"suggest": {
"success": "Manueller Redaktionsvorschlag gespeichert",
"error": "Fehler beim Speichern des manuellen Redaktionsvorschlags: {{error}}"
},
"add": { "success": "Manuelle Redaktion hinzugefügt!", "error": "Fehler beim Speichern der manuellen Redaktion: {{error}}" },
"decline": { "success": "Manueller Redaktionsvorschlag abgelehnt!", "error": "Manuelle Redaktion konnte nicht abgelehnt werden: {{error}}" },
"approve": { "success": "Manueller Redaktionsvorschlag genehmigt!", "error": "Manuelle Redaktion konnte nicht genehmigt werden: {{error}}" },
"add": {
"success": "Manuelle Redaktion hinzugefügt!",
"error": "Fehler beim Speichern der manuellen Redaktion: {{error}}"
},
"decline": {
"success": "Manueller Redaktionsvorschlag abgelehnt!",
"error": "Manuelle Redaktion konnte nicht abgelehnt werden: {{error}}"
},
"approve": {
"success": "Manueller Redaktionsvorschlag genehmigt!",
"error": "Manuelle Redaktion konnte nicht genehmigt werden: {{error}}"
},
"request-remove": {
"success": "Angefordert, Redaktion zu entfernen!",
"error": "Fehler beim Anfordern der Entfernung der Redaktion: {{error}}"
},
"remove": { "success": "Redaktion entfernt!", "error": "Manuelle Redaktion konnte nicht entfernt werden: {{error}}" }
"remove": {
"success": "Redaktion entfernt!",
"error": "Manuelle Redaktion konnte nicht entfernt werden: {{error}}"
}
},
"dictionary": {
"undo": { "success": "Rückgängig machen erfolgreich", "error": "Fehler beim Rückgängigmachen: {{error}}" },
"undo": {
"success": "Rückgängig machen erfolgreich",
"error": "Fehler beim Rückgängigmachen: {{error}}"
},
"suggest": {
"success": "Vorschlag zur Wörterbuchänderung gespeichert!",
"error": "Vorschlag zum Ändern des Wörterbuchs konnte nicht gespeichert werden: {{error}}"
@ -179,7 +285,10 @@
"success": "Eintrag zum Wörterbuch hinzugefügt. Änderungen werden nach einer erneuten Analyse sichtbar.",
"error": "Fehler beim Hinzufügen des Eintrags zum Wörterbuch: {{error}}"
},
"decline": { "success": "Wörterbuchvorschlag abgelehnt.", "error": "Fehler beim Ablehnen des Wörterbuchvorschlags: {{error}}" },
"decline": {
"success": "Wörterbuchvorschlag abgelehnt.",
"error": "Fehler beim Ablehnen des Wörterbuchvorschlags: {{error}}"
},
"approve": {
"success": "Wörterbucheintrag genehmigt. Änderungen werden nach einer erneuten Analyse sichtbar.",
"error": "Wörterbucheintrag konnte nicht genehmigt werden: {{error}}"
@ -188,7 +297,10 @@
"success": "Angefordert, Wörterbucheintrag zu entfernen!",
"error": "Das Entfernen des Wörterbucheintrags konnte nicht angefordert werden: {{error}}"
},
"remove": { "success": "Wörterbucheintrag entfernt!", "error": "Fehler beim Entfernen des Wörterbucheintrags: {{error}}" }
"remove": {
"success": "Wörterbucheintrag entfernt!",
"error": "Fehler beim Entfernen des Wörterbucheintrags: {{error}}"
}
}
},
"accept-suggestion": {
@ -209,8 +321,16 @@
"undo": "Rückgängig machen",
"reject": "Ablehnen"
},
"initials-avatar": { "unassigned": "Nicht zugewiesen" },
"assign-file-owner": { "dialog": { "single-user": "Gutachter", "title": "File Reviewer verwalten", "save": "speichern" } },
"initials-avatar": {
"unassigned": "Nicht zugewiesen"
},
"assign-file-owner": {
"dialog": {
"single-user": "Gutachter",
"title": "File Reviewer verwalten",
"save": "speichern"
}
},
"assign-project-owner": {
"dialog": {
"single-user": "Inhaber",
@ -219,7 +339,9 @@
"save": "speichern"
}
},
"project-member-guard": { "access-denied": "Sie dürfen nicht auf diese Seite zugreifen." },
"project-member-guard": {
"access-denied": "Sie dürfen nicht auf diese Seite zugreifen."
},
"comments": {
"comment": "{{count}} Kommentar",
"comments": "{{count}} Kommentare",
@ -251,7 +373,12 @@
"analysis": "Erneute Analyse erforderlich",
"none": "Keine Anmerkungen"
},
"filter-menu": { "label": "Filter", "all": "Alle", "none": "Keiner", "filter-types": "Filtertypen" },
"filter-menu": {
"label": "Filter",
"all": "Alle",
"none": "Keiner",
"filter-types": "Filtertypen"
},
"sorting": {
"recent": "Kürzlich",
"oldest": "Älteste",
@ -261,7 +388,10 @@
"custom": "Benutzerdefiniert"
},
"readonly-pill": "Schreibgeschützt",
"group": { "redactions": "Redaktionswörterbücher", "hints": "Tipp Wörterbücher" },
"group": {
"redactions": "Redaktionswörterbücher",
"hints": "Tipp Wörterbücher"
},
"annotation-type": {
"add-dictionary": "Ausstehend zum Wörterbuch hinzufügen",
"remove-dictionary": "Ausstehend aus dem Wörterbuch entfernen",
@ -283,15 +413,46 @@
"request-dictionary": "Anfrage zum Wörterbuch hinzufügen",
"request-redaction": "Redaktion anfordern"
},
"add-redaction": { "success": "Redaktionsvorschlag hinzugefügt!", "failed": "Manuelle Redaktion konnte nicht hinzugefügt werden: {{message}}" },
"actions": { "save": "speichern" },
"content": { "text": "Ausgewählter Text:", "dictionary": "Art", "reason": "Grund", "legalBasis": "Rechtliche Grundlage", "comment": "Kommentar" }
"add-redaction": {
"success": "Redaktionsvorschlag hinzugefügt!",
"failed": "Manuelle Redaktion konnte nicht hinzugefügt werden: {{message}}"
},
"actions": {
"save": "speichern"
},
"content": {
"text": "Ausgewählter Text:",
"dictionary": "Art",
"reason": "Grund",
"legalBasis": "Rechtliche Grundlage",
"comment": "Kommentar"
}
},
"approve-request": { "success": "Anfrage genehmigt.", "error": "Anfrage konnte nicht genehmigt werden." },
"undo": { "success": "Aktion rückgängig gemacht.", "error": "Aktion konnte nicht rückgängig gemacht werden." },
"redaction-request": { "success": "Redaktion angefordert.", "error": "Redaktion konnte nicht angefordert werden." },
"remove-redaction-request": { "success": "Redaktion entfernt.", "error": "Redaktion konnte nicht entfernt werden." },
"redaction-add": { "success": "Manuelle Redaktion hinzugefügt.", "error": "Redaktion konnte nicht hinzugefügt werden." }
"approve-request": {
"success": "Anfrage genehmigt.",
"error": "Anfrage konnte nicht genehmigt werden."
},
"undo": {
"success": "Aktion rückgängig gemacht.",
"error": "Aktion konnte nicht rückgängig gemacht werden."
},
"redaction-request": {
"success": "Redaktion angefordert.",
"error": "Redaktion konnte nicht angefordert werden."
},
"remove-redaction-request": {
"success": "Redaktion entfernt.",
"error": "Redaktion konnte nicht entfernt werden."
},
"redaction-add": {
"success": "Manuelle Redaktion hinzugefügt.",
"error": "Redaktion konnte nicht hinzugefügt werden."
}
},
"confirmation-dialog": { "delete-file": { "title": "Löschung bestätigen", "question": "Möchten Sie fortfahren?" } }
"confirmation-dialog": {
"delete-file": {
"title": "Löschung bestätigen",
"question": "Möchten Sie fortfahren?"
}
}
}

View File

@ -40,6 +40,7 @@
"projects": "Projects",
"my-account": {
"children": {
"admin-dictionaries": "Manage Dictionaries",
"language": {
"label": "Language",
"english": "English",

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 128 128">
<path
d="M126.25,39.258a1.75,1.75,0,0,0,1.75-1.75V11.755a1.75,1.75,0,0,0-1.75-1.75H114.818V1.747A1.75,1.75,0,0,0,113.068,0h-12a1.751,1.751,0,0,0-1.75,1.75v8.258H28.682V1.747A1.751,1.751,0,0,0,26.932,0h-12a1.75,1.75,0,0,0-1.75,1.75v8.258H1.75A1.75,1.75,0,0,0,0,11.755V37.508a1.75,1.75,0,0,0,1.75,1.75H13.182V52.005H1.75A1.75,1.75,0,0,0,0,53.755V79.508a1.75,1.75,0,0,0,1.75,1.75H13.182V114.5H6.75A6.758,6.758,0,0,0,0,121.247v5A1.75,1.75,0,0,0,1.75,128H40.113a1.75,1.75,0,0,0,1.75-1.75v-5a6.758,6.758,0,0,0-6.75-6.75H28.682V81.258H99.318V114.5H92.887a6.758,6.758,0,0,0-6.75,6.75v5a1.75,1.75,0,0,0,1.75,1.75H126.25a1.75,1.75,0,0,0,1.75-1.75v-5a6.758,6.758,0,0,0-6.75-6.75h-6.432V81.258H126.25a1.75,1.75,0,0,0,1.75-1.75V53.755a1.75,1.75,0,0,0-1.75-1.75H114.818V39.258Zm-1.75-3.5H105.618l8.647-22.253H124.5Zm-56.947,42L76.2,55.505h22.31L89.863,77.758ZM99.318,52.005H28.682V39.258H99.318ZM29.489,77.758l8.647-22.253H60.447L51.8,77.758ZM60.447,13.505,51.8,35.758H29.489l8.647-22.253Zm-33.515,42h7.45L25.734,77.758H17.489l8.648-22.253Zm71.579-42L89.863,35.758H67.553L76.2,13.505ZM93.618,35.758l8.648-22.253h8.245l-8.648,22.253Zm9.2-32.261h8.5v6.508h-8.5ZM72.446,13.505,63.8,35.758H55.554L64.2,13.505ZM25.734,35.758H17.489l8.648-22.253h8.245ZM16.682,3.5h8.5v6.508h-8.5ZM3.5,13.505H22.382L13.735,35.758H3.5ZM16.682,39.258h8.5V52.005h-8.5ZM3.5,55.505H22.382L13.735,77.758H3.5Zm34.863,65.742v3.25H3.5v-3.25A3.254,3.254,0,0,1,6.75,118H35.113A3.254,3.254,0,0,1,38.363,121.247ZM16.682,114.5V81.258h8.5V114.5ZM55.554,77.758,64.2,55.505h8.245L63.8,77.758Zm46.712-22.253h8.245l-8.648,22.253H93.618ZM124.5,121.247v3.25H89.637v-3.25a3.254,3.254,0,0,1,3.25-3.25H121.25A3.254,3.254,0,0,1,124.5,121.247Zm-13.182-6.75h-8.5V81.258h8.5ZM124.5,77.758H105.618l8.647-22.253H124.5ZM111.318,52.005h-8.5V39.258h8.5Z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB