Translation rework: delete file attributes, dossier attributes, audit categories

This commit is contained in:
Adina Țeudan 2021-07-20 16:55:37 +03:00
parent 74a82a4745
commit 99b6676641
45 changed files with 174 additions and 167 deletions

View File

@ -27,7 +27,7 @@
<label translate="add-edit-dossier-attribute.form.type"></label>
<mat-select formControlName="type">
<mat-option *ngFor="let type of typeOptions" [value]="type">
{{ 'dossier-attribute-types.' + type | translate }}
{{ translations[type] | translate }}
</mat-option>
</mat-select>
</div>

View File

@ -3,11 +3,12 @@ import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { DossierAttributeConfig, FileAttributeConfig } from '@redaction/red-ui-http';
import { AppStateService } from '@state/app-state.service';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { LoadingService } from '../../../../services/loading.service';
import { LoadingService } from '@services/loading.service';
import { HttpErrorResponse } from '@angular/common/http';
import { Toaster } from '../../../../services/toaster.service';
import { AutoUnsubscribeComponent } from '../../../shared/base/auto-unsubscribe.component';
import { Toaster } from '@services/toaster.service';
import { AutoUnsubscribeComponent } from '@shared/base/auto-unsubscribe.component';
import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service';
import dossierAttributeTypesTranslations from '../../translations/dossier-attribute-types-translations';
@Component({
selector: 'redaction-add-edit-dossier-attribute-dialog',
@ -17,6 +18,7 @@ import { DossierAttributesService } from '@shared/services/controller-wrappers/d
export class AddEditDossierAttributeDialogComponent extends AutoUnsubscribeComponent implements OnDestroy {
dossierAttributeForm: FormGroup;
dossierAttribute: DossierAttributeConfig;
translations = dossierAttributeTypesTranslations;
dossierTemplateId: string;
readonly typeOptions = [
DossierAttributeConfig.TypeEnum.TEXT,

View File

@ -1,6 +1,13 @@
<section class="dialog">
<div class="dialog-header heading-l">
{{ 'confirm-delete-file-attribute.title.' + type | translate: { name: fileAttribute?.label } }}
{{
'confirm-delete-file-attribute.title'
| translate
: {
type: type,
name: fileAttribute?.label
}
}}
</div>
<div *ngIf="showToast" class="inline-dialog-toast toast-error">
@ -19,15 +26,20 @@
[class.error]="!checkbox.value && showToast"
color="primary"
>
{{ 'confirm-delete-file-attribute.' + checkbox.label | translate }}
{{ checkbox.label | translate: { type: type } }}
</mat-checkbox>
</div>
<div class="dialog-actions">
<button (click)="deleteFileAttribute()" color="primary" mat-flat-button>
{{ 'confirm-delete-file-attribute.delete.' + type | translate }}
{{ 'confirm-delete-file-attribute.delete' | translate: { type: type } }}
</button>
<div (click)="cancel()" [translate]="'confirm-delete-file-attribute.cancel.' + type" class="all-caps-label cancel"></div>
<div
(click)="cancel()"
[translateParams]="{ type: type }"
[translate]="'confirm-delete-file-attribute.cancel'"
class="all-caps-label cancel"
></div>
</div>
<redaction-circle-button class="dialog-close" icon="red:close" mat-dialog-close></redaction-circle-button>
</section>

View File

@ -1,6 +1,7 @@
import { Component, Inject } from '@angular/core';
import { FileAttributeConfig } from '@redaction/red-ui-http';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
@Component({
selector: 'redaction-confirm-delete-file-attribute-dialog',
@ -10,8 +11,8 @@ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
export class ConfirmDeleteFileAttributeDialogComponent {
fileAttribute: FileAttributeConfig;
checkboxes = [
{ value: false, label: 'impacted-documents.' + this.type },
{ value: false, label: 'lost-details' }
{ value: false, label: _('confirm-delete-file-attribute.impacted-documents') },
{ value: false, label: _('confirm-delete-file-attribute.lost-details') }
];
showToast = false;
@ -27,7 +28,7 @@ export class ConfirmDeleteFileAttributeDialogComponent {
}
get type(): 'bulk' | 'single' {
return !this.fileAttribute ? 'bulk' : 'single';
return this.fileAttribute ? 'single' : 'bulk';
}
deleteFileAttribute() {

View File

@ -1,5 +1,5 @@
<section class="dialog">
<div [translateParams]="{ userCount: users.length }" [translate]="'confirm-delete-users.title'" class="dialog-header heading-l"></div>
<div [translateParams]="{ usersCount: users.length }" [translate]="'confirm-delete-users.title'" class="dialog-header heading-l"></div>
<div *ngIf="showToast" class="inline-dialog-toast toast-error">
<div translate="confirm-delete-users.toast-error"></div>
@ -22,7 +22,7 @@
| translate
: {
dossiersCount: dossiersCount,
userCount: users.length
usersCount: users.length
}
}}
</mat-checkbox>
@ -30,11 +30,11 @@
<div class="dialog-actions">
<button (click)="deleteUser()" color="primary" mat-flat-button>
{{ 'confirm-delete-users.delete' | translate: { userCount: users.length } }}
{{ 'confirm-delete-users.delete' | translate: { usersCount: users.length } }}
</button>
<div
(click)="cancel()"
[translateParams]="{ userCount: users.length }"
[translateParams]="{ usersCount: users.length }"
[translate]="'confirm-delete-users.cancel'"
class="all-caps-label cancel"
></div>

View File

@ -1,5 +1,5 @@
<section class="dialog">
<div [translate]="'default-colors-screen.types.' + this.colorKey" class="dialog-header heading-l"></div>
<div [translate]="translations[colorKey]" class="dialog-header heading-l"></div>
<form (submit)="saveColors()" [formGroup]="colorForm">
<div class="dialog-content">

View File

@ -1,10 +1,11 @@
import { Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { Colors, DictionaryControllerService } from '@redaction/red-ui-http';
import { Toaster } from '../../../../services/toaster.service';
import { Toaster } from '@services/toaster.service';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { TranslateService } from '@ngx-translate/core';
import { DefaultColorType } from '@models/default-color-key.model';
import defaultColorsTranslations from '../../translations/default-colors-translations';
@Component({
selector: 'redaction-edit-color-dialog',
@ -15,6 +16,7 @@ export class EditColorDialogComponent {
readonly colors: Colors;
readonly colorKey: DefaultColorType;
colorForm: FormGroup;
translations = defaultColorsTranslations;
private readonly _initialColor: string;
private readonly _dossierTemplateId: string;

View File

@ -6,7 +6,7 @@ import * as Papa from 'papaparse';
import { FileAttributeConfig, FileAttributesConfig, FileAttributesControllerService } from '@redaction/red-ui-http';
import { Observable } from 'rxjs';
import { map, startWith } from 'rxjs/operators';
import { Toaster } from '../../../../services/toaster.service';
import { Toaster } from '@services/toaster.service';
import { TranslateService } from '@ngx-translate/core';
import { FilterService } from '@shared/services/filter.service';
import { SearchService } from '@shared/services/search.service';

View File

@ -35,7 +35,7 @@
<mat-form-field class="no-label">
<mat-select formControlName="category">
<mat-option *ngFor="let category of categories" [value]="category">
{{ 'audit-screen.categories.' + category | translate }}
{{ translations[category] | translate }}
</mat-option>
</mat-select>
</mat-form-field>
@ -124,7 +124,7 @@
<div class="user-column">
<redaction-initials-avatar [userId]="log.userId" [withName]="true" size="small"></redaction-initials-avatar>
</div>
<div [translate]="'audit-screen.categories.' + log.category"></div>
<div [translate]="translations[log.category]"></div>
<div class="scrollbar-placeholder"></div>
</div>
</cdk-virtual-scroll-viewport>

View File

@ -4,8 +4,9 @@ import { FormBuilder, FormGroup } from '@angular/forms';
import { AuditControllerService, AuditResponse, AuditSearchRequest } from '@redaction/red-ui-http';
import { Moment } from 'moment';
import { applyIntervalConstraints } from '@utils/date-inputs-utils';
import { LoadingService } from '../../../../services/loading.service';
import { AutoUnsubscribeComponent } from '../../../shared/base/auto-unsubscribe.component';
import { LoadingService } from '@services/loading.service';
import { AutoUnsubscribeComponent } from '@shared/base/auto-unsubscribe.component';
import auditCategoriesTranslations from '../../translations/audit-categories-translations';
const PAGE_SIZE = 50;
@ -15,8 +16,9 @@ const PAGE_SIZE = 50;
styleUrls: ['./audit-screen.component.scss']
})
export class AuditScreenComponent extends AutoUnsubscribeComponent implements OnDestroy {
readonly ALL_CATEGORIES = 'all-categories';
readonly ALL_CATEGORIES = 'allCategories';
readonly ALL_USERS = 'audit-screen.all-users';
translations = auditCategoriesTranslations;
filterForm: FormGroup;
categories: string[] = [];

View File

@ -46,7 +46,7 @@
<!-- Table lines -->
<div *cdkVirtualFor="let color of sortedDisplayedEntities$ | async; trackBy: trackByPrimaryKey" class="table-item">
<div>
<div [translate]="'default-colors-screen.types.' + color.key" class="table-item-title heading"></div>
<div [translate]="translations[color.key]" class="table-item-title heading"></div>
</div>
<div class="color-wrapper">

View File

@ -10,7 +10,8 @@ import { SearchService } from '@shared/services/search.service';
import { ScreenStateService } from '@shared/services/screen-state.service';
import { BaseListingComponent } from '@shared/base/base-listing.component';
import { DefaultColorType } from '@models/default-color-key.model';
import { SortingService } from '../../../../services/sorting.service';
import { SortingService } from '@services/sorting.service';
import defaultColorsTranslations from '../../translations/default-colors-translations';
@Component({
templateUrl: './default-colors-screen.component.html',
@ -25,6 +26,7 @@ export class DefaultColorsScreenComponent
}>
implements OnInit
{
translations = defaultColorsTranslations;
protected readonly _primaryKey = 'key';
private _colorsObj: Colors;

View File

@ -12,7 +12,7 @@ import { LoadingService } from '@services/loading.service';
import { FilterService } from '@shared/services/filter.service';
import { SearchService } from '@shared/services/search.service';
import { ScreenStateService } from '@shared/services/screen-state.service';
import { SortingService } from '../../../../services/sorting.service';
import { SortingService } from '@services/sorting.service';
import { BaseListingComponent } from '@shared/base/base-listing.component';
import { AdminDialogService } from '../../services/admin-dialog.service';

View File

@ -1,11 +1,11 @@
import { Component, OnDestroy } from '@angular/core';
import { DigitalSignature, DigitalSignatureControllerService } from '@redaction/red-ui-http';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { Toaster } from '../../../../services/toaster.service';
import { Toaster } from '@services/toaster.service';
import { PermissionsService } from '@services/permissions.service';
import { lastIndexOfEnd } from '@utils/functions';
import { AutoUnsubscribeComponent } from '../../../shared/base/auto-unsubscribe.component';
import { LoadingService } from '../../../../services/loading.service';
import { AutoUnsubscribeComponent } from '@shared/base/auto-unsubscribe.component';
import { LoadingService } from '@services/loading.service';
@Component({
selector: 'redaction-digital-signature-screen',

View File

@ -116,7 +116,7 @@
</div>
<div class="small-label">
{{ 'dossier-attribute-types.' + attribute.type | translate }}
{{ translations[attribute.type] | translate }}
</div>
<div class="actions-container">
<div *ngIf="permissionsService.isAdmin()" class="action-buttons">

View File

@ -5,12 +5,13 @@ import { AppStateService } from '@state/app-state.service';
import { ActivatedRoute } from '@angular/router';
import { AdminDialogService } from '../../services/admin-dialog.service';
import { LoadingService } from '@services/loading.service';
import { SortingService } from '../../../../services/sorting.service';
import { SortingService } from '@services/sorting.service';
import { FilterService } from '@shared/services/filter.service';
import { SearchService } from '@shared/services/search.service';
import { ScreenStateService } from '@shared/services/screen-state.service';
import { PermissionsService } from '@services/permissions.service';
import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service';
import dossierAttributeTypesTranslations from '../../translations/dossier-attribute-types-translations';
@Component({
templateUrl: './dossier-attributes-listing-screen.component.html',
@ -18,6 +19,7 @@ import { DossierAttributesService } from '@shared/services/controller-wrappers/d
providers: [FilterService, SearchService, ScreenStateService, SortingService]
})
export class DossierAttributesListingScreenComponent extends BaseListingComponent<DossierAttributeConfig> implements OnInit {
translations = dossierAttributeTypesTranslations;
protected readonly _primaryKey = 'label';
constructor(

View File

@ -10,7 +10,7 @@ import { FilterService } from '@shared/services/filter.service';
import { SearchService } from '@shared/services/search.service';
import { ScreenStateService } from '@shared/services/screen-state.service';
import { BaseListingComponent } from '@shared/base/base-listing.component';
import { SortingService } from '../../../../services/sorting.service';
import { SortingService } from '@services/sorting.service';
@Component({
templateUrl: './dossier-templates-listing-screen.component.html',

View File

@ -8,7 +8,7 @@ import { LoadingService } from '@services/loading.service';
import { FilterService } from '@shared/services/filter.service';
import { SearchService } from '@shared/services/search.service';
import { ScreenStateService } from '@shared/services/screen-state.service';
import { SortingService } from '../../../../services/sorting.service';
import { SortingService } from '@services/sorting.service';
import { BaseListingComponent } from '@shared/base/base-listing.component';
@Component({

View File

@ -4,9 +4,9 @@ import { LicenseReport, LicenseReportControllerService } from '@redaction/red-ui
import { AppConfigService } from '@app-config/app-config.service';
import * as moment from 'moment';
import { TranslateService } from '@ngx-translate/core';
import { LoadingService } from '../../../../services/loading.service';
import { ButtonConfig } from '../../../shared/components/page-header/models/button-config.model';
import { IconButtonTypes } from '../../../shared/components/buttons/icon-button/icon-button.component';
import { LoadingService } from '@services/loading.service';
import { ButtonConfig } from '@shared/components/page-header/models/button-config.model';
import { IconButtonTypes } from '@shared/components/buttons/icon-button/icon-button.component';
@Component({
selector: 'redaction-license-information-screen',

View File

@ -1,7 +1,7 @@
import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';
import { PermissionsService } from '@services/permissions.service';
import { RulesControllerService } from '@redaction/red-ui-http';
import { Toaster } from '../../../../services/toaster.service';
import { Toaster } from '@services/toaster.service';
import { TranslateService } from '@ngx-translate/core';
import { saveAs } from 'file-saver';
import { ComponentHasChanges } from '@guards/can-deactivate.guard';

View File

@ -8,8 +8,8 @@ import {
SmtpConfigurationControllerService,
SMTPConfigurationModel
} from '@redaction/red-ui-http';
import { Toaster } from '../../../../services/toaster.service';
import { AutoUnsubscribeComponent } from '../../../shared/base/auto-unsubscribe.component';
import { Toaster } from '@services/toaster.service';
import { AutoUnsubscribeComponent } from '@shared/base/auto-unsubscribe.component';
@Component({
selector: 'redaction-smtp-config-screen',

View File

@ -8,7 +8,7 @@ import * as moment from 'moment';
import { FilterService } from '@shared/services/filter.service';
import { SearchService } from '@shared/services/search.service';
import { ScreenStateService } from '@shared/services/screen-state.service';
import { SortingService } from '../../../../services/sorting.service';
import { SortingService } from '@services/sorting.service';
import { BaseListingComponent } from '@shared/base/base-listing.component';
import { DossiersService } from '../../../dossier/services/dossiers.service';

View File

@ -7,7 +7,7 @@ import { HttpClient } from '@angular/common/http';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { debounce } from '@utils/debounce';
import { WatermarkControllerService, WatermarkModelRes } from '@redaction/red-ui-http';
import { Toaster } from '../../../../services/toaster.service';
import { Toaster } from '@services/toaster.service';
import { ActivatedRoute } from '@angular/router';
import { BASE_HREF } from '../../../../tokens';
import { stampPDFPage } from '../../../../utils/page-stamper';

View File

@ -0,0 +1,18 @@
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
const auditCategoriesTranslations: { [key: string]: string } = {
allCategories: _('audit-screen.categories.all-categories'),
LICENSE: _('audit-screen.categories.license'),
DOWNLOAD: _('audit-screen.categories.download'),
AUDIT_LOG: _('audit-screen.categories.audit-log'),
PROJECT: _('audit-screen.categories.project'),
DOSSIER: _('audit-screen.categories.dossier'),
DICTIONARY: _('audit-screen.categories.dictionary'),
PROJECT_TEMPLATE: _('audit-screen.categories.project-template'),
USER: _('audit-screen.categories.user'),
DOCUMENT: _('audit-screen.categories.document'),
AUDIT: _('audit-screen.categories.audit'),
DOSSIER_TEMPLATE: _('audit-screen.categories.dossier-template')
};
export default auditCategoriesTranslations;

View File

@ -1,7 +1,7 @@
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { DefaultColorType } from '@models/default-color-key.model';
const translations: { [key in DefaultColorType]: string } = {
const defaultColorsTranslations: { [key in DefaultColorType]: string } = {
analysisColor: _('default-colors-screen.types.analysisColor'),
defaultColor: _('default-colors-screen.types.defaultColor'),
dictionaryRequestColor: _('default-colors-screen.types.dictionaryRequestColor'),
@ -13,4 +13,4 @@ const translations: { [key in DefaultColorType]: string } = {
updatedColor: _('default-colors-screen.types.updatedColor')
};
export default translations;
export default defaultColorsTranslations;

View File

@ -0,0 +1,11 @@
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { DossierAttributeConfig } from '@redaction/red-ui-http';
const dossierAttributeTypesTranslations: { [key in DossierAttributeConfig.TypeEnum]: string } = {
TEXT: _('dossier-attribute-types.text'),
NUMBER: _('dossier-attribute-types.number'),
DATE: _('dossier-attribute-types.date'),
IMAGE: _('dossier-attribute-types.image')
};
export default dossierAttributeTypesTranslations;

View File

@ -6,9 +6,9 @@ import { FileStatusWrapper } from '@models/file/file-status.wrapper';
import { FileActionService } from '../../services/file-action.service';
import { from, Observable } from 'rxjs';
import { DossiersDialogService } from '../../services/dossiers-dialog.service';
import { LoadingService } from '../../../../services/loading.service';
import { ConfirmationDialogInput } from '../../../shared/dialogs/confirmation-dialog/confirmation-dialog.component';
import { ScreenStateService } from '../../../shared/services/screen-state.service';
import { LoadingService } from '@services/loading.service';
import { ConfirmationDialogInput } from '@shared/dialogs/confirmation-dialog/confirmation-dialog.component';
import { ScreenStateService } from '@shared/services/screen-state.service';
import { TranslateService } from '@ngx-translate/core';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';

View File

@ -7,8 +7,8 @@ import { TranslateChartService } from '@services/translate-chart.service';
import { StatusSorter } from '@utils/sorters/status-sorter';
import { UserService } from '@services/user.service';
import { User } from '@redaction/red-ui-http';
import { Toaster } from '../../../../services/toaster.service';
import { FilterService } from '../../../shared/services/filter.service';
import { Toaster } from '@services/toaster.service';
import { FilterService } from '@shared/services/filter.service';
import { DossierAttributeWithValue } from '@models/dossier-attributes.model';
@Component({

View File

@ -3,8 +3,8 @@ import { PermissionsService } from '@services/permissions.service';
import { FormBuilder, FormGroup } from '@angular/forms';
import { PageRange, ReanalysisControllerService } from '@redaction/red-ui-http';
import { FileDataModel } from '../../../../models/file/file-data.model';
import { Toaster } from '../../../../services/toaster.service';
import { LoadingService } from '../../../../services/loading.service';
import { Toaster } from '@services/toaster.service';
import { LoadingService } from '@services/loading.service';
@Component({
selector: 'redaction-page-exclusion',

View File

@ -2,7 +2,7 @@ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { Dossier } from '@redaction/red-ui-http';
import { AppStateService } from '@state/app-state.service';
import { UserService } from '@services/user.service';
import { Toaster } from '../../../../services/toaster.service';
import { Toaster } from '@services/toaster.service';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { DossierWrapper } from '@state/model/dossier.wrapper';

View File

@ -3,7 +3,7 @@ import { StatusControllerService } from '@redaction/red-ui-http';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { AppStateService } from '@state/app-state.service';
import { UserService } from '@services/user.service';
import { Toaster } from '../../../../services/toaster.service';
import { Toaster } from '@services/toaster.service';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { FileStatusWrapper } from '@models/file/file-status.wrapper';
import { DossierWrapper } from '@state/model/dossier.wrapper';

View File

@ -4,7 +4,7 @@ import { DossierWrapper } from '@state/model/dossier.wrapper';
import { EditDossierGeneralInfoComponent } from './general-info/edit-dossier-general-info.component';
import { EditDossierDownloadPackageComponent } from './download-package/edit-dossier-download-package.component';
import { EditDossierSectionInterface } from './edit-dossier-section.interface';
import { Toaster } from '../../../../services/toaster.service';
import { Toaster } from '@services/toaster.service';
import { EditDossierDictionaryComponent } from './dictionary/edit-dossier-dictionary.component';
import { EditDossierTeamMembersComponent } from './team-members/edit-dossier-team-members.component';
import { EditDossierAttributesComponent } from './attributes/edit-dossier-attributes.component';

View File

@ -10,7 +10,7 @@ import { PermissionsService } from '@services/permissions.service';
import { Router } from '@angular/router';
import { MatDialogRef } from '@angular/material/dialog';
import { EditDossierDialogComponent } from '../edit-dossier-dialog.component';
import { Toaster } from '../../../../../services/toaster.service';
import { Toaster } from '@services/toaster.service';
@Component({
selector: 'redaction-edit-dossier-general-info',

View File

@ -3,7 +3,7 @@ import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { AppStateService } from '@state/app-state.service';
import { MatDialogRef } from '@angular/material/dialog';
import { ForceRedactionRequest, LegalBasisMappingControllerService } from '@redaction/red-ui-http';
import { Toaster } from '../../../../services/toaster.service';
import { Toaster } from '@services/toaster.service';
import { TranslateService } from '@ngx-translate/core';
import { UserService } from '@services/user.service';
import { ManualAnnotationService } from '../../services/manual-annotation.service';

View File

@ -3,7 +3,7 @@ import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { AppStateService } from '@state/app-state.service';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { AddRedactionRequest, LegalBasisMappingControllerService } from '@redaction/red-ui-http';
import { Toaster } from '../../../../services/toaster.service';
import { Toaster } from '@services/toaster.service';
import { TranslateService } from '@ngx-translate/core';
import { UserService } from '@services/user.service';
import { ManualRedactionEntryWrapper } from '@models/file/manual-redaction-entry.wrapper';

View File

@ -28,7 +28,7 @@ import { SearchService } from '@shared/services/search.service';
import { ScreenStateService } from '@shared/services/screen-state.service';
import { BaseListingComponent } from '@shared/base/base-listing.component';
import { SortingService } from '@services/sorting.service';
import { TableColConfig } from '../../../shared/components/table-col-name/table-col-name.component';
import { TableColConfig } from '@shared/components/table-col-name/table-col-name.component';
const isLeavingScreen = event => event instanceof NavigationStart && event.url !== '/main/dossiers';

View File

@ -1,6 +1,6 @@
import { ChangeDetectorRef, Component, ElementRef, HostListener, Injector, OnDestroy, OnInit, TemplateRef, ViewChild } from '@angular/core';
import { NavigationStart, Router } from '@angular/router';
import { Toaster } from '../../../../services/toaster.service';
import { Toaster } from '@services/toaster.service';
import { AppStateService } from '@state/app-state.service';
import { FileDropOverlayService } from '@upload-download/services/file-drop-overlay.service';
import { FileUploadModel } from '@upload-download/model/file-upload.model';
@ -26,12 +26,12 @@ import { ActionConfig } from '@shared/components/page-header/models/action-confi
import { FilterService } from '@shared/services/filter.service';
import { SearchService } from '@shared/services/search.service';
import { ScreenStateService } from '@shared/services/screen-state.service';
import { SortingService } from '../../../../services/sorting.service';
import { SortingService } from '@services/sorting.service';
import { BaseListingComponent } from '@shared/base/base-listing.component';
import { LoadingService } from '@services/loading.service';
import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service';
import { DossierAttributeWithValue } from '@models/dossier-attributes.model';
import { UserPreferenceService } from '../../../../services/user-preference.service';
import { UserPreferenceService } from '@services/user-preference.service';
@Component({
templateUrl: './dossier-overview-screen.component.html',

View File

@ -12,7 +12,7 @@ import { AnnotationData, FileDataModel } from '@models/file/file-data.model';
import { FileActionService } from '../../services/file-action.service';
import { AnnotationDrawService } from '../../services/annotation-draw.service';
import { AnnotationProcessingService } from '../../services/annotation-processing.service';
import { Toaster } from '../../../../services/toaster.service';
import { Toaster } from '@services/toaster.service';
import { FileStatusWrapper } from '@models/file/file-status.wrapper';
import { PermissionsService } from '@services/permissions.service';
import { Subscription, timer } from 'rxjs';
@ -33,10 +33,10 @@ import { DossiersDialogService } from '../../services/dossiers-dialog.service';
import { OnAttach, OnDetach } from '@utils/custom-route-reuse.strategy';
import { FilterModel } from '@shared/components/filters/popup-filter/model/filter.model';
import { handleFilterDelta, processFilters } from '@shared/components/filters/popup-filter/utils/filter-utils';
import { LoadingService } from '../../../../services/loading.service';
import { LoadingService } from '@services/loading.service';
import { stampPDFPage } from '../../../../utils/page-stamper';
import { TranslateService } from '@ngx-translate/core';
import { AutoUnsubscribeComponent } from '../../../shared/base/auto-unsubscribe.component';
import { AutoUnsubscribeComponent } from '@shared/base/auto-unsubscribe.component';
const ALL_HOTKEY_ARRAY = ['Escape', 'F', 'f'];

View File

@ -7,7 +7,7 @@ import {
ManualRedactionControllerService
} from '@redaction/red-ui-http';
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
import { Toaster } from '../../../services/toaster.service';
import { Toaster } from '@services/toaster.service';
import { TranslateService } from '@ngx-translate/core';
import { tap } from 'rxjs/operators';
import { UserService } from '@services/user.service';

View File

@ -1,13 +1,13 @@
import { Component, Injector, OnDestroy, ViewChild } from '@angular/core';
import { SortingOrders, SortingService } from '@services/sorting.service';
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
import { FilterService } from '../services/filter.service';
import { SearchService } from '../services/search.service';
import { ScreenStateService } from '../services/screen-state.service';
import { combineLatest, Observable } from 'rxjs';
import { AutoUnsubscribeComponent } from './auto-unsubscribe.component';
import { distinctUntilChanged, map } from 'rxjs/operators';
import { PermissionsService } from '../../../services/permissions.service';
import { PermissionsService } from '@services/permissions.service';
import { FilterService } from '../services/filter.service';
@Component({ template: '' })
export abstract class BaseListingComponent<T> extends AutoUnsubscribeComponent implements OnDestroy {

View File

@ -1,5 +1,5 @@
import { Pipe, PipeTransform } from '@angular/core';
import { SortingService } from '../../../services/sorting.service';
import { SortingService } from '@services/sorting.service';
@Pipe({ name: 'sortBy' })
export class SortByPipe implements PipeTransform {

View File

@ -1,6 +1,6 @@
import { Injectable } from '@angular/core';
import { Observable, throwError } from 'rxjs';
import { Toaster } from '../../../services/toaster.service';
import { Toaster } from '@services/toaster.service';
import { DictionaryControllerService } from '@redaction/red-ui-http';
import { tap } from 'rxjs/operators';

View File

@ -9,7 +9,7 @@ import {
ReanalysisControllerService,
StatusControllerService
} from '@redaction/red-ui-http';
import { Toaster } from '../services/toaster.service';
import { Toaster } from '@services/toaster.service';
import { TranslateService } from '@ngx-translate/core';
import { Event, NavigationEnd, ResolveStart, Router } from '@angular/router';
import { UserService } from '@services/user.service';

View File

@ -300,17 +300,17 @@
"all-users": "All Users",
"categories": {
"all-categories": "All Categories",
"LICENSE": "License",
"DOWNLOAD": "Download",
"AUDIT_LOG": "Audit Log",
"PROJECT": "Project",
"DOSSIER": "Dossier",
"DICTIONARY": "Dictionary",
"PROJECT_TEMPLATE": "Project Template",
"USER": "User",
"DOCUMENT": "Document",
"AUDIT": "Audit",
"DOSSIER_TEMPLATE": "Dossier Template"
"license": "License",
"download": "Download",
"audit-log": "Audit Log",
"project": "Project",
"dossier": "Dossier",
"dictionary": "Dictionary",
"project-template": "Project Template",
"user": "User",
"document": "Document",
"audit": "Audit",
"dossier-template": "Dossier Template"
},
"no-data": {
"title": "No available logs."
@ -367,32 +367,20 @@
},
"configurations": "Configurations",
"confirm-delete-file-attribute": {
"cancel": {
"bulk": "Keep Attributes",
"single": "Keep Attribute"
},
"delete": {
"bulk": "Delete Attributes",
"single": "Delete Attribute"
},
"impacted-documents": {
"bulk": "All documents they are used on will be impacted",
"single": "All documents it is used on will be impacted"
},
"cancel": "Keep {type, select, single{Attribute} bulk{Attributes} other{}}",
"delete": "Delete {type, select, single{Attribute} bulk{Attributes} other{}}",
"impacted-documents": "All documents {type, select, single{it is} bulk{they are} other{}} used on will be impacted",
"lost-details": "All inputted details on the documents will be lost",
"title": {
"bulk": "Delete File Attributes",
"single": "Delete {name}"
},
"title": "Delete {type, select, single{{name}} bulk{File Attributes} other{}}",
"toast-error": "Please confirm that you understand the ramifications of your action!",
"warning": "Warning: this cannot be undone!"
},
"confirm-delete-users": {
"cancel": "Keep {userCount, plural, =0{} one{User} other{Users}}",
"delete": "Delete {userCount, plural, =0{} one{User} other{Users}}",
"impacted-documents": "All documents pending review from the {userCount, plural, =0{} one{user} other{users}} will be impacted",
"cancel": "Keep {usersCount, plural, =0{} one{User} other{Users}}",
"delete": "Delete {usersCount, plural, =0{} one{User} other{Users}}",
"impacted-documents": "All documents pending review from the {usersCount, plural, =0{} one{user} other{users}} will be impacted",
"impacted-dossiers": "{dossiersCount} {dossiersCount, plural, =0{dossiers} one{dossier} other{dossiers}} will be impacted",
"title": "Delete {userCount, plural, =0{} one{User} other{Users}} from Workspace",
"title": "Delete {usersCount, plural, =0{} one{User} other{Users}} from Workspace",
"toast-error": "Please confirm that you understand the ramifications of your action!",
"warning": "Warning: this cannot be undone!"
},
@ -548,10 +536,10 @@
"title": "Introduce File Attributes"
},
"dossier-attribute-types": {
"DATE": "Date",
"NUMBER": "Number",
"TEXT": "Free Text",
"IMAGE": "Image"
"date": "Date",
"number": "Number",
"text": "Free Text",
"image": "Image"
},
"dossier-attributes": "Dossier Attributes",
"dossier-attributes-listing": {

View File

@ -16,10 +16,6 @@
"save": "",
"save-and-add-members": ""
},
"errors": {
"dossier-already-exists": "",
"generic": ""
},
"form": {
"description": {
"label": "",
@ -161,7 +157,18 @@
"audit": "",
"audit-screen": {
"categories": {
"": ""
"all-categories": "",
"audit": "",
"audit-log": "",
"dictionary": "",
"document": "",
"dossier": "",
"dossier-template": "",
"download": "",
"license": "",
"project": "",
"project-template": "",
"user": ""
},
"no-data": {
"title": ""
@ -213,9 +220,11 @@
},
"configurations": "",
"confirm-delete-file-attribute": {
"cancel": {
"": ""
},
"cancel": "",
"delete": "",
"impacted-documents": "",
"lost-details": "",
"title": "",
"toast-error": "",
"warning": ""
},
@ -261,7 +270,6 @@
"title": ""
},
"types": {
"": "",
"analysisColor": "",
"defaultColor": "",
"dictionaryRequestColor": "",
@ -319,29 +327,17 @@
"dictionary-details": {
"description": ""
},
"error": {
"entries-too-short": "",
"generic": ""
},
"revert-changes": "",
"save-changes": "",
"search": "",
"select-dictionary": "",
"success": {
"generic": ""
}
"select-dictionary": ""
},
"digital-signature": "",
"digital-signature-screen": {
"action": {
"certificate-not-valid-error": "",
"delete": "",
"delete-error": "",
"delete-success": "",
"reset": "",
"save": "",
"save-error": "",
"save-success": ""
"save": ""
},
"certificate-name": {
"label": "",
@ -372,6 +368,12 @@
"save": "",
"title": ""
},
"dossier-attribute-types": {
"date": "",
"image": "",
"number": "",
"text": ""
},
"dossier-attributes-listing": {
"action": {
"edit": ""
@ -390,6 +392,7 @@
"search": "",
"table-col-names": {
"label": "",
"placeholder": "",
"type": ""
},
"table-header": {
@ -443,9 +446,6 @@
"needs-work": "",
"owner": "",
"status": ""
},
"table-header": {
"title": ""
}
},
"dossier-overview": {
@ -512,10 +512,6 @@
"recent": "",
"unassigned": ""
},
"reanalyse-dossier": {
"error": "",
"success": ""
},
"reanalyse": {
"action": ""
},
@ -563,15 +559,7 @@
"title": ""
}
},
"dossiers": {
"delete": {
"delete-failed": ""
}
},
"download-includes": "",
"download-status": {
"queued": ""
},
"download-type": {
"label": ""
},
@ -594,13 +582,11 @@
}
},
"edit-color-dialog": {
"error": "",
"form": {
"color": "",
"color-placeholder": ""
},
"save": "",
"success": ""
"save": ""
},
"edit-dossier-dialog": {
"actions": {
@ -613,8 +599,6 @@
"image-attributes": "",
"upload-image": ""
},
"change-successful": "",
"delete-successful": "",
"dictionary": {
"entries": ""
},
@ -643,8 +627,7 @@
"general-info": "",
"members": "",
"team-members": ""
},
"unsaved-changes": ""
}
},
"file-attribute-types": {
"": ""
@ -676,9 +659,7 @@
"none": ""
},
"save": {
"error": "",
"label": "",
"success": ""
"label": ""
},
"search": {
"placeholder": ""
@ -780,7 +761,6 @@
},
"exclude-pages": {
"close": "",
"error": "",
"hint": "",
"input-placeholder": "",
"label": "",
@ -946,14 +926,8 @@
"NO_ROLE": ""
},
"rules-screen": {
"error": {
"generic": ""
},
"revert-changes": "",
"save-changes": "",
"success": {
"generic": ""
}
"save-changes": ""
},
"smtp-auth-config": {
"actions": {
@ -1001,10 +975,6 @@
"title": ""
},
"subtitle": "",
"test": {
"error": "",
"success": ""
},
"title": ""
},
"top-bar": {
@ -1104,9 +1074,6 @@
},
"watermark-screen": {
"action": {
"change-success": "",
"delete-success": "",
"error": "",
"revert": "",
"save": ""
},