Merge branch 'master' into VM/RED-3982

This commit is contained in:
Valentin Mihai 2022-05-22 23:35:56 +03:00
commit be30a62b87
152 changed files with 389 additions and 309 deletions

View File

@ -20,8 +20,8 @@
"@models/**",
"@environments/**",
"@shared/**",
"@app-config/**",
"@upload-download/**"
"@upload-download/**",
"@translations/**"
],
"depConstraints": [
{

View File

@ -13,7 +13,8 @@ import { DossierTemplatesGuard } from '@guards/dossier-templates.guard';
import { DossierTemplateExistsGuard } from '@guards/dossier-template-exists.guard';
import { DashboardGuard } from '@guards/dashboard-guard.service';
import { TrashGuard } from '@guards/trash.guard';
import { ARCHIVE_ROUTE, DOSSIER_TEMPLATE_ID, DOSSIERS_ARCHIVE, DOSSIERS_ROUTE } from '@red/domain';
import { ARCHIVE_ROUTE, BreadcrumbTypes, DOSSIER_ID, DOSSIER_TEMPLATE_ID, DOSSIERS_ARCHIVE, DOSSIERS_ROUTE, FILE_ID } from '@red/domain';
import { DossierFilesGuard } from '@guards/dossier-files-guard';
const routes: Routes = [
{
@ -79,7 +80,36 @@ const routes: Routes = [
children: [
{
path: `${DOSSIERS_ROUTE}`,
loadChildren: () => import('./modules/dossier/dossiers.module').then(m => m.DossiersModule),
children: [
{
path: `:${DOSSIER_ID}`,
canActivate: [CompositeRouteGuard],
data: {
routeGuards: [DossierFilesGuard],
breadcrumbs: [BreadcrumbTypes.dossierTemplate, BreadcrumbTypes.dossier],
dossiersService: ACTIVE_DOSSIERS_SERVICE,
},
loadChildren: () =>
import('./modules/dossier-overview/dossier-overview.module').then(m => m.DossierOverviewModule),
},
{
path: `:${DOSSIER_ID}/file/:${FILE_ID}`,
canActivate: [CompositeRouteGuard],
data: {
routeGuards: [DossierFilesGuard],
breadcrumbs: [BreadcrumbTypes.dossierTemplate, BreadcrumbTypes.dossier, BreadcrumbTypes.file],
dossiersService: ACTIVE_DOSSIERS_SERVICE,
},
loadChildren: () => import('./modules/file-preview/file-preview.module').then(m => m.FilePreviewModule),
},
{
path: '',
pathMatch: 'full',
loadChildren: () =>
import('./modules/dossiers-listing/dossiers-listing.module').then(m => m.DossiersListingModule),
data: { breadcrumbs: [BreadcrumbTypes.dossierTemplate] },
},
],
canActivate: [CompositeRouteGuard],
data: {
routeGuards: [DossiersGuard],

View File

@ -1,7 +1,7 @@
import { Injectable, Injector, ProviderToken } from '@angular/core';
import { ActivatedRouteSnapshot, CanActivate, Router } from '@angular/router';
import { FilesMapService } from '@services/entity-services/files-map.service';
import { FilesService } from '@services/entity-services/files.service';
import { FilesMapService } from '@services/files/files-map.service';
import { FilesService } from '@services/files/files.service';
import { firstValueFrom } from 'rxjs';
import { DOSSIER_ID, DOSSIER_TEMPLATE_ID } from '@red/domain';
import { DossiersService } from '@services/dossiers/dossiers.service';

View File

@ -1,4 +1,4 @@
import { annotationTypesTranslations, SuggestionAddFalsePositive } from '../../translations/annotation-types-translations';
import { annotationTypesTranslations, SuggestionAddFalsePositive } from '@translations/annotation-types-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { Highlight, IComment, IManualChange, IPoint, IRectangle, LogEntryStatus, ManualRedactionType } from '@red/domain';
import { RedactionLogEntry } from '@models/file/redaction-log.entry';

View File

@ -1,6 +1,6 @@
import { ChangeDetectionStrategy, Component, OnInit, ViewContainerRef } from '@angular/core';
import { Router } from '@angular/router';
import { notificationsTranslations } from '../translations/notifications-translations';
import { accountTranslations } from '@translations/account-translations';
@Component({
selector: 'redaction-base-account-screen',
@ -9,8 +9,8 @@ import { notificationsTranslations } from '../translations/notifications-transla
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class BaseAccountScreenComponent implements OnInit {
readonly translations = notificationsTranslations;
path: string;
readonly translations = accountTranslations;
readonly path: string;
constructor(private readonly _router: Router, private readonly _hostRef: ViewContainerRef) {
this.path = this._router.url.split('/').pop();

View File

@ -1,6 +1,5 @@
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
import { notificationsTranslations } from '../../../translations/notifications-translations';
import { NotificationPreferencesService } from '../../../services/notification-preferences.service';
import { BaseFormComponent, LoadingService, Toaster } from '@iqser/common-ui';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
@ -11,9 +10,9 @@ import {
NotificationGroupsValues,
} from '@red/domain';
import { firstValueFrom } from 'rxjs';
import { notificationsSettingsTranslations } from '@translations/notifications-settings-translations';
@Component({
selector: 'redaction-notifications-screen',
templateUrl: './notifications-screen.component.html',
styleUrls: ['./notifications-screen.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
@ -23,7 +22,7 @@ export class NotificationsScreenComponent extends BaseFormComponent implements O
readonly notificationCategories = NotificationCategoriesValues;
readonly notificationGroupsKeys = NotificationGroupsKeys;
readonly notificationGroupsValues = NotificationGroupsValues;
readonly translations = notificationsTranslations;
readonly translations = notificationsSettingsTranslations;
constructor(
private readonly _toaster: Toaster,

View File

@ -4,7 +4,7 @@ import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
import { TranslateService } from '@ngx-translate/core';
import { BaseFormComponent, LoadingService } from '@iqser/common-ui';
import { IProfile } from '@red/domain';
import { languagesTranslations } from '../../../translations/languages-translations';
import { languagesTranslations } from '@translations/languages-translations';
import { PermissionsService } from '@services/permissions.service';
import { UserService } from '@services/user.service';
import { ConfigService } from '@services/config.service';

View File

@ -1,7 +1,7 @@
import { Component, HostBinding, Input, OnInit } from '@angular/core';
import { UserPreferenceService } from '@services/user-preference.service';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { adminSideNavTranslations } from '../translations/admin-side-nav-translations';
import { adminSideNavTranslations } from '@translations/admin-side-nav-translations';
import { UserService } from '@services/user.service';
import { ActivatedRoute } from '@angular/router';
import { AdminSideNavType, AdminSideNavTypes, ENTITY_TYPE } from '@red/domain';

View File

@ -4,8 +4,8 @@ import { DossierAttributeConfigTypes, FileAttributeConfigTypes, IDossierAttribut
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { BaseDialogComponent, IqserEventTarget, LoadingService, Toaster } from '@iqser/common-ui';
import { HttpErrorResponse } from '@angular/common/http';
import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service';
import { dossierAttributeTypesTranslations } from '../../translations/dossier-attribute-types-translations';
import { DossierAttributesService } from '@services/entity-services/dossier-attributes.service';
import { dossierAttributeTypesTranslations } from '@translations/dossier-attribute-types-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
@Component({

View File

@ -2,7 +2,7 @@ import { Component, Inject, Injector } from '@angular/core';
import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { applyIntervalConstraints } from '@utils/date-inputs-utils';
import { downloadTypesTranslations } from '../../../../translations/download-types-translations';
import { downloadTypesTranslations } from '@translations/download-types-translations';
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service';
import { BaseDialogComponent, LoadingService, Toaster } from '@iqser/common-ui';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';

View File

@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, Component, Inject, Injector } from '@angular/c
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { FileAttributeConfigTypes, IFileAttributeConfig } from '@red/domain';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { fileAttributeTypesTranslations } from '../../translations/file-attribute-types-translations';
import { fileAttributeTypesTranslations } from '@translations/file-attribute-types-translations';
import { FileAttributesService } from '@services/entity-services/file-attributes.service';
import { BaseDialogComponent } from '@iqser/common-ui';

View File

@ -2,7 +2,7 @@ import { Component, EventEmitter, Input, OnChanges, OnDestroy, Output } from '@a
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { AdminDialogService } from '../../../services/admin-dialog.service';
import { BaseFormComponent, IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui';
import { rolesTranslations } from '../../../../../translations/roles-translations';
import { rolesTranslations } from '@translations/roles-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { IProfileUpdateRequest, User } from '@red/domain';
import { UserService } from '@services/user.service';

View File

@ -4,7 +4,7 @@ import { DefaultColorType, IColors } from '@red/domain';
import { BaseDialogComponent, Toaster } from '@iqser/common-ui';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { TranslateService } from '@ngx-translate/core';
import { defaultColorsTranslations } from '../../translations/default-colors-translations';
import { defaultColorsTranslations } from '@translations/default-colors-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { DictionaryService } from '@services/entity-services/dictionary.service';
import { firstValueFrom } from 'rxjs';

View File

@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, Component, Inject, Injector } from '@angular/c
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { FileAttributeEncodingTypes, IFileAttributesConfig } from '@red/domain';
import { fileAttributeEncodingTypesTranslations } from '../../translations/file-attribute-encoding-types-translations';
import { fileAttributeEncodingTypesTranslations } from '@translations/file-attribute-encoding-types-translations';
import { BaseDialogComponent, Toaster } from '@iqser/common-ui';
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service';
import { firstValueFrom } from 'rxjs';

View File

@ -1,6 +1,6 @@
import { Component, EventEmitter, forwardRef, Injector, Input, OnChanges, Output, SimpleChanges } from '@angular/core';
import { CircleButtonTypes, DefaultListingServices, ListingComponent, TableColumnConfig } from '@iqser/common-ui';
import { fileAttributeTypesTranslations } from '../../../translations/file-attribute-types-translations';
import { fileAttributeTypesTranslations } from '@translations/file-attribute-types-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { FileAttributeConfigTypes, IField } from '@red/domain';

View File

@ -2,7 +2,7 @@ import { Component, forwardRef, Injector, OnDestroy, OnInit } from '@angular/cor
import { FormBuilder, FormGroup } from '@angular/forms';
import { applyIntervalConstraints } from '@utils/date-inputs-utils';
import { DefaultListingServices, ListingComponent, LoadingService, TableColumnConfig } from '@iqser/common-ui';
import { auditCategoriesTranslations } from '../../translations/audit-categories-translations';
import { auditCategoriesTranslations } from '@translations/audit-categories-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { UserService } from '@services/user.service';
import { Audit, IAudit, IAuditResponse, IAuditSearchRequest } from '@red/domain';

View File

@ -9,7 +9,7 @@ import {
LoadingService,
TableColumnConfig,
} from '@iqser/common-ui';
import { defaultColorsTranslations } from '../../translations/default-colors-translations';
import { defaultColorsTranslations } from '@translations/default-colors-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { UserService } from '@services/user.service';
import { DictionaryService } from '@services/entity-services/dictionary.service';

View File

@ -9,8 +9,8 @@ import {
TableColumnConfig,
} from '@iqser/common-ui';
import { AdminDialogService } from '../../services/admin-dialog.service';
import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service';
import { dossierAttributeTypesTranslations } from '../../translations/dossier-attribute-types-translations';
import { DossierAttributesService } from '@services/entity-services/dossier-attributes.service';
import { dossierAttributeTypesTranslations } from '@translations/dossier-attribute-types-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { UserService } from '@services/user.service';
import { DOSSIER_TEMPLATE_ID, DossierAttributeConfig, IDossierAttributeConfig } from '@red/domain';

View File

@ -3,7 +3,7 @@ import { DossierTemplate, DossierTemplateStats } from '@red/domain';
import { BehaviorSubject, Observable } from 'rxjs';
import { DossierTemplateStatsService } from '@services/entity-services/dossier-template-stats.service';
import { switchMap } from 'rxjs/operators';
import { dossierTemplateStatusTranslations } from '../../../translations/dossier-template-status-translations';
import { dossierTemplateStatusTranslations } from '@translations/dossier-template-status-translations';
@Component({
selector: 'redaction-table-item [dossierTemplate]',

View File

@ -19,7 +19,7 @@ import {
TableColumnConfig,
Toaster,
} from '@iqser/common-ui';
import { fileAttributeTypesTranslations } from '../../translations/file-attribute-types-translations';
import { fileAttributeTypesTranslations } from '@translations/file-attribute-types-translations';
import { UserService } from '@services/user.service';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { DOSSIER_TEMPLATE_ID, FileAttributeConfig, IFileAttributeConfig, IFileAttributesConfig, User } from '@red/domain';

View File

@ -6,7 +6,7 @@ import { DOSSIER_TEMPLATE_ID, DossierTemplate, DossierTemplateStats } from '@red
import { DossierTemplateStatsService } from '@services/entity-services/dossier-template-stats.service';
import { AdminDialogService } from '../../../services/admin-dialog.service';
import { PermissionsService } from '@services/permissions.service';
import { dossierTemplateStatusTranslations } from '../../../translations/dossier-template-status-translations';
import { dossierTemplateStatusTranslations } from '@translations/dossier-template-status-translations';
@Component({
templateUrl: './dossier-template-info-screen.component.html',

View File

@ -3,7 +3,7 @@ import { TableColumnConfig } from '@iqser/common-ui';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { PermissionsMapping } from '@red/domain';
import { PermissionsConfigurationMapService } from '@services/entity-permissions/permissions-configuration-map.service';
import { permissionsTranslations } from '../../translations/permissions-translations';
import { permissionsTranslations } from '@translations/permissions-translations';
@Injectable()
export class ConfigService {

View File

@ -10,7 +10,7 @@ import { PermissionsConfigurationMapService } from '@services/entity-permissions
import { firstValueFrom } from 'rxjs';
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
import { tap } from 'rxjs/operators';
import { permissionsTranslations } from '../../../translations/permissions-translations';
import { permissionsTranslations } from '@translations/permissions-translations';
import { UserService } from '@services/user.service';
import { RouterHistoryService } from '@services/router-history.service';

View File

@ -6,7 +6,7 @@ import { PermissionsService } from '@services/permissions.service';
import {
generalPlaceholdersDescriptionsTranslations,
placeholdersDescriptionsTranslations,
} from '../../../translations/placeholders-descriptions-translations';
} from '@translations/placeholders-descriptions-translations';
import { removeBraces } from '@utils/functions';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { AdminDialogService } from '../../../services/admin-dialog.service';

View File

@ -16,7 +16,7 @@ import {
} from '@iqser/common-ui';
import { firstValueFrom, Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { rolesTranslations } from '../../../../translations/roles-translations';
import { rolesTranslations } from '@translations/roles-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { userTypeChecker, userTypeFilters } from '../../../../utils';

View File

@ -9,7 +9,7 @@ import { DOSSIER_TEMPLATE_ID, IWatermark, WatermarkOrientation, WatermarkOrienta
import { BASE_HREF } from '../../../../../tokens';
import { stampPDFPage } from '@utils/page-stamper';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { WatermarkService } from '@shared/services/watermark.service';
import { WatermarkService } from '@services/entity-services/watermark.service';
import { firstValueFrom, Observable, of, switchMap } from 'rxjs';
import { catchError, tap } from 'rxjs/operators';
import { ActivatedRoute } from '@angular/router';

View File

@ -5,6 +5,7 @@ import { HttpClientModule } from '@angular/common/http';
import { KeycloakAngularModule, KeycloakOptions, KeycloakService } from 'keycloak-angular';
import { ConfigService } from '@services/config.service';
import { BASE_HREF } from '../../tokens';
import { firstValueFrom } from 'rxjs';
function getKeycloakOptions(configService: ConfigService, baseUrl: string) {
let url: string = configService.values.OAUTH_URL;
@ -36,9 +37,11 @@ function configureAutomaticRedirectToLoginScreen(keyCloakService: KeycloakServic
export function keycloakInitializer(keycloakService: KeycloakService, configService: ConfigService, baseUrl: string): () => Promise<void> {
return () =>
keycloakService
.init(getKeycloakOptions(configService, baseUrl))
.then(() => configureAutomaticRedirectToLoginScreen(keycloakService));
firstValueFrom(configService.loadLocalConfig()).then(() =>
keycloakService
.init(getKeycloakOptions(configService, baseUrl))
.then(() => configureAutomaticRedirectToLoginScreen(keycloakService)),
);
}
@NgModule({

View File

@ -1,10 +1,10 @@
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
import { DashboardStats } from '@red/domain';
import { IconButtonTypes } from '@iqser/common-ui';
import { DossiersDialogService } from '../../../dossier/shared/services/dossiers-dialog.service';
import { TranslateService } from '@ngx-translate/core';
import { TranslateChartService } from '@services/translate-chart.service';
import { PermissionsService } from '@services/permissions.service';
import { SharedDialogService } from '@shared/services/dialog.service';
@Component({
selector: 'redaction-template-stats [stats]',
@ -18,7 +18,7 @@ export class TemplateStatsComponent {
@Input() stats: DashboardStats;
constructor(
private readonly _dialogService: DossiersDialogService,
private readonly _dialogService: SharedDialogService,
private readonly _translateService: TranslateService,
readonly translateChartService: TranslateChartService,
readonly permissionsService: PermissionsService,

View File

@ -4,7 +4,6 @@ import { DashboardScreenComponent } from './dashboard-screen/dashboard-screen.co
import { RouterModule } from '@angular/router';
import { SharedModule } from '../shared/shared.module';
import { TemplateStatsComponent } from './components/template-stats/template-stats.component';
import { SharedDossiersModule } from '../dossier/shared/shared-dossiers.module';
import { BreadcrumbTypes } from '@red/domain';
const routes = [
@ -19,6 +18,6 @@ const routes = [
@NgModule({
declarations: [DashboardScreenComponent, TemplateStatsComponent],
imports: [RouterModule.forChild(routes), CommonModule, SharedModule, SharedDossiersModule],
imports: [RouterModule.forChild(routes), CommonModule, SharedModule],
})
export class DashboardModule {}

View File

@ -1,10 +1,10 @@
import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';
import { Dossier, DossierAttributeWithValue, DossierStats } from '@red/domain';
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service';
import { FilesService } from '@services/entity-services/files.service';
import { FilesService } from '@services/files/files.service';
import { firstValueFrom, Observable } from 'rxjs';
import { DossierStatsService } from '@services/dossiers/dossier-stats.service';
import { DossiersDialogService } from '../../../dossier/shared/services/dossiers-dialog.service';
import { DossiersDialogService } from '../../../shared-dossiers/services/dossiers-dialog.service';
@Component({
selector: 'redaction-dossier-details-stats',

View File

@ -12,7 +12,7 @@ import {
import { TranslateChartService } from '@services/translate-chart.service';
import { UserService } from '@services/user.service';
import { FilterService, ProgressBarConfigModel, shareLast, Toaster } from '@iqser/common-ui';
import { workflowFileStatusTranslations } from '../../../../translations/file-status-translations';
import { workflowFileStatusTranslations } from '@translations/file-status-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { ActivatedRoute } from '@angular/router';
import { firstValueFrom, Observable } from 'rxjs';

View File

@ -12,14 +12,14 @@ import {
WorkflowConfig,
} from '@iqser/common-ui';
import { Dossier, File, IFileAttributeConfig, StatusSorter, WorkflowFileStatus, WorkflowFileStatuses } from '@red/domain';
import { workflowFileStatusTranslations } from '../../translations/file-status-translations';
import { workflowFileStatusTranslations } from '@translations/file-status-translations';
import { PermissionsService } from '@services/permissions.service';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { TranslateService } from '@ngx-translate/core';
import { UserService } from '@services/user.service';
import { DossiersDialogService } from '../dossier/shared/services/dossiers-dialog.service';
import { DossiersDialogService } from '../shared-dossiers/services/dossiers-dialog.service';
import { annotationFilterChecker, RedactionFilterSorter } from '../../utils';
import { workloadTranslations } from '../dossier/translations/workload-translations';
import { workloadTranslations } from '@translations/workload-translations';
import { ConfigService as AppConfigService } from '@services/config.service';
import { BehaviorSubject, Observable } from 'rxjs';
import { BulkActionsService } from './services/bulk-actions.service';

View File

@ -9,7 +9,7 @@ import { DossierOverviewBulkActionsComponent } from './components/bulk-actions/d
import { DossierDetailsComponent } from './components/dossier-details/dossier-details.component';
import { DossierDetailsStatsComponent } from './components/dossier-details-stats/dossier-details-stats.component';
import { TableItemComponent } from './components/table-item/table-item.component';
import { SharedDossiersModule } from '../dossier/shared/shared-dossiers.module';
import { SharedDossiersModule } from '../shared-dossiers/shared-dossiers.module';
import { FileWorkloadComponent } from './components/table-item/file-workload/file-workload.component';
import { WorkflowItemComponent } from './components/workflow-item/workflow-item.component';
import { DossierOverviewScreenHeaderComponent } from './components/screen-header/dossier-overview-screen-header.component';

View File

@ -22,7 +22,7 @@ import {
TableComponent,
WorkflowConfig,
} from '@iqser/common-ui';
import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service';
import { DossierAttributesService } from '@services/entity-services/dossier-attributes.service';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { PermissionsService } from '@services/permissions.service';
import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
@ -30,8 +30,8 @@ import { FileAttributesService } from '@services/entity-services/file-attributes
import { ConfigService } from '../config.service';
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service';
import { UserPreferenceService } from '@services/user-preference.service';
import { FilesMapService } from '@services/entity-services/files-map.service';
import { FilesService } from '@services/entity-services/files.service';
import { FilesMapService } from '@services/files/files-map.service';
import { FilesService } from '@services/files/files.service';
import { BulkActionsService } from '../services/bulk-actions.service';
import { DossiersService } from '@services/dossiers/dossiers.service';
import { dossiersServiceProvider } from '@services/entity-services/dossiers.service.provider';

View File

@ -1,14 +1,14 @@
import { Injectable } from '@angular/core';
import { Dossier, File } from '@red/domain';
import { DossiersDialogService } from '../../dossier/shared/services/dossiers-dialog.service';
import { DossiersDialogService } from '../../shared-dossiers/services/dossiers-dialog.service';
import { ConfirmationDialogInput, LoadingService } from '@iqser/common-ui';
import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service';
import { FilesService } from '@services/entity-services/files.service';
import { FilesService } from '@services/files/files.service';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { ReanalysisService } from '@services/reanalysis.service';
import { FileManagementService } from '@services/entity-services/file-management.service';
import { FileManagementService } from '@services/files/file-management.service';
import { firstValueFrom } from 'rxjs';
import { FileAssignService } from '../../dossier/shared/services/file-assign.service';
import { FileAssignService } from '../../shared-dossiers/services/file-assign.service';
@Injectable()
export class BulkActionsService {

View File

@ -1,41 +0,0 @@
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { DossierFilesGuard } from '@guards/dossier-files-guard';
import { CompositeRouteGuard } from '@iqser/common-ui';
import { BreadcrumbTypes, DOSSIER_ID, FILE_ID } from '@red/domain';
import { ACTIVE_DOSSIERS_SERVICE } from '../../tokens';
const routes: Routes = [
{
path: `:${DOSSIER_ID}`,
canActivate: [CompositeRouteGuard],
data: {
routeGuards: [DossierFilesGuard],
breadcrumbs: [BreadcrumbTypes.dossierTemplate, BreadcrumbTypes.dossier],
dossiersService: ACTIVE_DOSSIERS_SERVICE,
},
loadChildren: () => import('../dossier-overview/dossier-overview.module').then(m => m.DossierOverviewModule),
},
{
path: `:${DOSSIER_ID}/file/:${FILE_ID}`,
canActivate: [CompositeRouteGuard],
data: {
routeGuards: [DossierFilesGuard],
breadcrumbs: [BreadcrumbTypes.dossierTemplate, BreadcrumbTypes.dossier, BreadcrumbTypes.file],
dossiersService: ACTIVE_DOSSIERS_SERVICE,
},
loadChildren: () => import('../file-preview/file-preview.module').then(m => m.FilePreviewModule),
},
{
path: '',
pathMatch: 'full',
loadChildren: () => import('../dossiers-listing/dossiers-listing.module').then(m => m.DossiersListingModule),
data: { breadcrumbs: [BreadcrumbTypes.dossierTemplate] },
},
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class DossiersRoutingModule {}

View File

@ -1,12 +0,0 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { SharedModule } from '@shared/shared.module';
import { DossiersRoutingModule } from './dossiers-routing.module';
import { FileUploadDownloadModule } from '@upload-download/file-upload-download.module';
import { OverlayModule } from '@angular/cdk/overlay';
import { SharedDossiersModule } from './shared/shared-dossiers.module';
@NgModule({
imports: [CommonModule, SharedModule, SharedDossiersModule, FileUploadDownloadModule, DossiersRoutingModule, OverlayModule],
})
export class DossiersModule {}

View File

@ -1,37 +0,0 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FileAssignService } from './services/file-assign.service';
import { FileActionsComponent } from './components/file-actions/file-actions.component';
import { SharedModule } from '@shared/shared.module';
import { RedactionImportService } from './services/redaction-import.service';
import { DossiersDialogService } from './services/dossiers-dialog.service';
import { EditDossierDialogComponent } from '../dialogs/edit-dossier-dialog/edit-dossier-dialog.component';
import { AddDossierDialogComponent } from '../dialogs/add-dossier-dialog/add-dossier-dialog.component';
import { AssignReviewerApproverDialogComponent } from '../dialogs/assign-reviewer-approver-dialog/assign-reviewer-approver-dialog.component';
import { EditDossierGeneralInfoComponent } from '../dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component';
import { EditDossierDownloadPackageComponent } from '../dialogs/edit-dossier-dialog/download-package/edit-dossier-download-package.component';
import { EditDossierDictionaryComponent } from '../dialogs/edit-dossier-dialog/dictionary/edit-dossier-dictionary.component';
import { EditDossierAttributesComponent } from '../dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component';
import { EditDossierTeamComponent } from '../dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component';
import { DateColumnComponent } from './components/date-column/date-column.component';
const components = [
FileActionsComponent,
EditDossierGeneralInfoComponent,
EditDossierDownloadPackageComponent,
EditDossierDictionaryComponent,
EditDossierAttributesComponent,
EditDossierTeamComponent,
FileActionsComponent,
DateColumnComponent,
];
const dialogs = [EditDossierDialogComponent, AddDossierDialogComponent, AssignReviewerApproverDialogComponent];
const services = [DossiersDialogService, FileAssignService, RedactionImportService];
@NgModule({
declarations: [...components, ...dialogs],
exports: [...components, ...dialogs],
providers: [...services],
imports: [CommonModule, SharedModule],
})
export class SharedDossiersModule {}

View File

@ -3,10 +3,10 @@ import { PermissionsService } from '@services/permissions.service';
import { CircleButtonTypes, List, ScrollableParentView, ScrollableParentViews, StatusBarConfig } from '@iqser/common-ui';
import { UserService } from '@services/user.service';
import { Dossier, DossierStats, File } from '@red/domain';
import { DossiersDialogService } from '../../../dossier/shared/services/dossiers-dialog.service';
import { DossiersDialogService } from '../../../shared-dossiers/services/dossiers-dialog.service';
import { LongPressEvent } from '@shared/directives/long-press.directive';
import { UserPreferenceService } from '@services/user-preference.service';
import { FilesMapService } from '@services/entity-services/files-map.service';
import { FilesMapService } from '@services/files/files-map.service';
import { ReanalysisService } from '@services/reanalysis.service';
import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service';
import { firstValueFrom } from 'rxjs';

View File

@ -5,13 +5,13 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { TranslateService } from '@ngx-translate/core';
import { UserPreferenceService } from '@services/user-preference.service';
import { UserService } from '@services/user.service';
import { workflowFileStatusTranslations } from '../../translations/file-status-translations';
import { workflowFileStatusTranslations } from '@translations/file-status-translations';
import { dossierMemberChecker, dossierStateChecker, RedactionFilterSorter } from '../../utils';
import { workloadTranslations } from '../dossier/translations/workload-translations';
import { workloadTranslations } from '@translations/workload-translations';
import { DossierStatsService } from '@services/dossiers/dossier-stats.service';
import { DossierStatesMapService } from '@services/entity-services/dossier-states-map.service';
import { DossiersDialogService } from '../dossier/shared/services/dossiers-dialog.service';
import { PermissionsService } from '@services/permissions.service';
import { SharedDialogService } from '@shared/services/dialog.service';
@Injectable()
export class ConfigService {
@ -21,7 +21,7 @@ export class ConfigService {
private readonly _userService: UserService,
private readonly _dossierStatsService: DossierStatsService,
private readonly _dossierStatesMapService: DossierStatesMapService,
private readonly _dialogService: DossiersDialogService,
private readonly _dialogService: SharedDialogService,
private readonly _permissionsService: PermissionsService,
) {}

View File

@ -9,7 +9,7 @@ import { SharedModule } from '@shared/shared.module';
import { DossiersListingDetailsComponent } from './components/dossiers-listing-details/dossiers-listing-details.component';
import { ConfigService } from './config.service';
import { TableItemComponent } from './components/table-item/table-item.component';
import { SharedDossiersModule } from '../dossier/shared/shared-dossiers.module';
import { SharedDossiersModule } from '../shared-dossiers/shared-dossiers.module';
import { DossierWorkloadColumnComponent } from './components/dossier-workload-column/dossier-workload-column.component';
import { DossierDocumentsStatusComponent } from './components/dossier-documents-status/dossier-documents-status.component';

View File

@ -6,9 +6,9 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { ConfigService } from '../config.service';
import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service';
import { tap } from 'rxjs/operators';
import { DossiersDialogService } from '../../dossier/shared/services/dossiers-dialog.service';
import { Router } from '@angular/router';
import { UserPreferenceService } from '@services/user-preference.service';
import { SharedDialogService } from '@shared/services/dialog.service';
@Component({
templateUrl: './dossiers-listing-screen.component.html',
@ -33,7 +33,7 @@ export class DossiersListingScreenComponent extends ListingComponent<Dossier> im
protected readonly _injector: Injector,
private readonly _configService: ConfigService,
readonly permissionsService: PermissionsService,
private readonly _dialogService: DossiersDialogService,
private readonly _dialogService: SharedDialogService,
private readonly _activeDossiersService: ActiveDossiersService,
private readonly _userPreferenceService: UserPreferenceService,
) {

View File

@ -1,7 +1,7 @@
import { ChangeDetectionStrategy, Component, Input, OnChanges } from '@angular/core';
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
import { TranslateService } from '@ngx-translate/core';
import { annotationChangesTranslations } from '../../../../translations/annotation-changes-translations';
import { annotationChangesTranslations } from '@translations/annotation-changes-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { MultiSelectService } from '../../services/multi-select.service';
import { KeysOf, ListingService } from '@iqser/common-ui';

View File

@ -11,7 +11,7 @@ import {
ViewChild,
} from '@angular/core';
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
import { AnnotationProcessingService } from '../../../dossier/services/annotation-processing.service';
import { AnnotationProcessingService } from '../../services/annotation-processing.service';
import { MatDialogRef, MatDialogState } from '@angular/material/dialog';
import scrollIntoView from 'scroll-into-view-if-needed';
import {

View File

@ -11,7 +11,7 @@ import {
} from '@angular/core';
import { PermissionsService } from '@services/permissions.service';
import { ConfigService } from '@services/config.service';
import { ViewedPagesService } from '@services/entity-services/viewed-pages.service';
import { ViewedPagesService } from '@services/files/viewed-pages.service';
import { IViewedPage } from '@red/domain';
import { AutoUnsubscribe } from '@iqser/common-ui';
import { FilePreviewStateService } from '../../services/file-preview-state.service';

View File

@ -29,15 +29,15 @@ import { ConfigService } from '@services/config.service';
import { AutoUnsubscribe, ConfirmationDialogInput, CustomError, ErrorService, LoadingService } from '@iqser/common-ui';
import { PdfViewer } from '../../services/pdf-viewer.service';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { toPosition } from '../../../dossier/utils/pdf-calculation.utils';
import { toPosition } from '../../utils/pdf-calculation.utils';
import { ViewModeService } from '../../services/view-mode.service';
import { MultiSelectService } from '../../services/multi-select.service';
import { FilePreviewStateService } from '../../services/file-preview-state.service';
import { map, switchMap, tap, withLatestFrom } from 'rxjs/operators';
import { PageRotationService } from '../../services/page-rotation.service';
import { ALLOWED_KEYBOARD_SHORTCUTS, HeaderElements, TextPopups } from '../../shared/constants';
import { ALLOWED_KEYBOARD_SHORTCUTS, HeaderElements, TextPopups } from '../../utils/constants';
import { FilePreviewDialogService } from '../../services/file-preview-dialog.service';
import { loadCompareDocumentWrapper } from '../../../dossier/utils/compare-mode.utils';
import { loadCompareDocumentWrapper } from '../../utils/compare-mode.utils'module.ts
import { from } from 'rxjs';
import { FileDataService } from '../../services/file-data.service';
import { ViewerHeaderConfigService } from '../../services/viewer-header-config.service';

View File

@ -2,16 +2,16 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
import { Dossier, File, StatusBarConfigs, User } from '@red/domain';
import { List, LoadingService, Toaster } from '@iqser/common-ui';
import { PermissionsService } from '@services/permissions.service';
import { workflowFileStatusTranslations } from '../../../../translations/file-status-translations';
import { workflowFileStatusTranslations } from '@translations/file-status-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { UserService } from '@services/user.service';
import { FilesService } from '@services/entity-services/files.service';
import { FilesService } from '@services/files/files.service';
import { TranslateService } from '@ngx-translate/core';
import { BehaviorSubject, combineLatest, combineLatestWith, firstValueFrom, Observable, switchMap } from 'rxjs';
import { FilePreviewStateService } from '../../services/file-preview-state.service';
import { distinctUntilChanged, map } from 'rxjs/operators';
import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service';
import { FileAssignService } from '../../../dossier/shared/services/file-assign.service';
import { FileAssignService } from '../../../shared-dossiers/services/file-assign.service';
@Component({
selector: 'redaction-user-management',

View File

@ -4,7 +4,7 @@ import { Dossier, File, IFileAttributeConfig } from '@red/domain';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { FileAttributesService } from '@services/entity-services/file-attributes.service';
import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service';
import { FilesService } from '@services/entity-services/files.service';
import { FilesService } from '@services/files/files.service';
import { BaseDialogComponent } from '@iqser/common-ui';
import { firstValueFrom } from 'rxjs';

View File

@ -3,10 +3,10 @@ import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { TextHighlightOperation, TextHighlightOperationPages } from '@red/domain';
import { BaseDialogComponent, LoadingService } from '@iqser/common-ui';
import { TextHighlightService } from '../../../dossier/services/text-highlight.service';
import { TextHighlightService } from '@services/files/text-highlight.service';
import { firstValueFrom } from 'rxjs';
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
import { highlightsTranslations } from '../../../../translations/highlights-translations';
import { highlightsTranslations } from '@translations/highlights-translations';
export interface HighlightActionData {
readonly operation: TextHighlightOperation;

View File

@ -2,7 +2,7 @@ import { Component, ElementRef, Inject, Injector, ViewChild } from '@angular/cor
import { BaseDialogComponent, LoadingService, Toaster } from '@iqser/common-ui';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { firstValueFrom } from 'rxjs';
import { RedactionImportService } from '../../../dossier/shared/services/redaction-import.service';
import { RedactionImportService } from '@services/files/redaction-import.service';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { HttpStatusCode } from '@angular/common/http';

View File

@ -2,7 +2,7 @@ import { Component, Inject, Injector, OnInit } from '@angular/core';
import { FormBuilder, Validators } from '@angular/forms';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
import { imageCategoriesTranslations } from '../../../dossier/translations/image-categories-translations';
import { imageCategoriesTranslations } from '@translations/image-categories-translations';
import { Dossier, ImageCategory } from '@red/domain';
import { BaseDialogComponent } from '@iqser/common-ui';

View File

@ -7,6 +7,12 @@
<label translate="resize-annotation-dialog.content.comment"></label>
<textarea formControlName="comment" iqserHasScrollbar name="comment" rows="4" type="text"></textarea>
</div>
<div *ngIf="form.get('updateDictionary')" class="iqser-input-group">
<mat-checkbox color="primary" formControlName="updateDictionary">
{{ 'resize-annotation-dialog.content.update-dictionary' | translate: { text: this.text } }}
</mat-checkbox>
</div>
</div>
<div class="dialog-actions">
@ -17,5 +23,5 @@
</div>
</form>
<iqser-circle-button class="dialog-close" icon="iqser:close" (action)="close()"></iqser-circle-button>
<iqser-circle-button (action)="close()" class="dialog-close" icon="iqser:close"></iqser-circle-button>
</section>

View File

@ -1,8 +1,8 @@
import { Component, Inject, Injector, OnInit } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { FormBuilder } from '@angular/forms';
import { Dossier } from '@red/domain';
import { BaseDialogComponent } from '@iqser/common-ui';
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
@Component({
templateUrl: './resize-annotation-dialog.component.html',
@ -12,7 +12,7 @@ export class ResizeAnnotationDialogComponent extends BaseDialogComponent impleme
private readonly _formBuilder: FormBuilder,
protected readonly _injector: Injector,
protected readonly _dialogRef: MatDialogRef<ResizeAnnotationDialogComponent>,
@Inject(MAT_DIALOG_DATA) private readonly _data: { dossier: Dossier },
@Inject(MAT_DIALOG_DATA) private readonly _data: { annotation: AnnotationWrapper; text?: string },
) {
super(_injector, _dialogRef);
}
@ -21,16 +21,24 @@ export class ResizeAnnotationDialogComponent extends BaseDialogComponent impleme
return !this.valid;
}
get text(): string {
return this._data.text;
}
ngOnInit() {
super.ngOnInit();
this.form = this._formBuilder.group({ comment: [null] });
const controlsConfig = { comment: [null] };
if (this._data.annotation.isModifyDictionary) {
controlsConfig['updateDictionary'] = [false];
}
this.form = this._formBuilder.group(controlsConfig);
this.initialFormValue = this.form.getRawValue();
}
save() {
this._dialogRef.close({
comment: this.form.get('comment').value,
});
this._dialogRef.close(this.form.getRawValue());
}
}

View File

@ -9,7 +9,7 @@ import { AnnotationActionsService } from './services/annotation-actions.service'
import { FilePreviewStateService } from './services/file-preview-state.service';
import { AnnotationReferencesService } from './services/annotation-references.service';
import { EntitiesService, FilterService, ListingService, SearchService } from '@iqser/common-ui';
import { AnnotationProcessingService } from '../dossier/services/annotation-processing.service';
import { AnnotationProcessingService } from './services/annotation-processing.service';
import { dossiersServiceProvider } from '@services/entity-services/dossiers.service.provider';
import { PageRotationService } from './services/page-rotation.service';
import { PdfViewer } from './services/pdf-viewer.service';

View File

@ -22,17 +22,17 @@ import { MatDialogRef, MatDialogState } from '@angular/material/dialog';
import { ManualRedactionEntryWrapper } from '@models/file/manual-redaction-entry.wrapper';
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
import { AnnotationDrawService } from './services/annotation-draw.service';
import { AnnotationProcessingService } from '../dossier/services/annotation-processing.service';
import { AnnotationProcessingService } from './services/annotation-processing.service';
import { File, ViewMode, ViewModes } from '@red/domain';
import { PermissionsService } from '@services/permissions.service';
import { combineLatest, firstValueFrom, Observable, of, pairwise } from 'rxjs';
import { UserPreferenceService } from '@services/user-preference.service';
import { download, handleFilterDelta } from '../../utils';
import { FileWorkloadComponent } from './components/file-workload/file-workload.component';
import { FilesService } from '@services/entity-services/files.service';
import { FileManagementService } from '@services/entity-services/file-management.service';
import { FilesService } from '@services/files/files.service';
import { FileManagementService } from '@services/files/file-management.service';
import { catchError, map, startWith, switchMap, tap } from 'rxjs/operators';
import { FilesMapService } from '@services/entity-services/files-map.service';
import { FilesMapService } from '@services/files/files-map.service';
import { ExcludedPagesService } from './services/excluded-pages.service';
import { ViewModeService } from './services/view-mode.service';
import { MultiSelectService } from './services/multi-select.service';
@ -48,7 +48,7 @@ import { ComponentCanDeactivate } from '@guards/can-deactivate.guard';
import { PdfViewer } from './services/pdf-viewer.service';
import { FilePreviewDialogService } from './services/file-preview-dialog.service';
import { FileDataService } from './services/file-data.service';
import { ActionsHelpModeKeys, ALL_HOTKEYS } from './shared/constants';
import { ActionsHelpModeKeys, ALL_HOTKEYS } from './utils/constants';
import { NGXLogger } from 'ngx-logger';
import { StampService } from './services/stamp.service';
import Annotation = Core.Annotations.Annotation;

View File

@ -4,7 +4,7 @@ import { IqserIconsModule } from '@iqser/common-ui';
import { TranslateModule } from '@ngx-translate/core';
import { RouterModule, Routes } from '@angular/router';
import { SharedModule } from '@shared/shared.module';
import { SharedDossiersModule } from '../dossier/shared/shared-dossiers.module';
import { SharedDossiersModule } from '../shared-dossiers/shared-dossiers.module';
import { FilePreviewScreenComponent } from './file-preview-screen.component';
import { FileWorkloadComponent } from './components/file-workload/file-workload.component';
import { AnnotationDetailsComponent } from './components/annotation-details/annotation-details.component';

View File

@ -19,7 +19,7 @@ import {
IResizeRequest,
TextHighlightOperation,
} from '@red/domain';
import { toPosition } from '../../dossier/utils/pdf-calculation.utils';
import { toPosition } from '../utils/pdf-calculation.utils';
import { AnnotationDrawService } from './annotation-draw.service';
import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service';
import {
@ -217,8 +217,8 @@ export class AnnotationActionsService {
img: this._convertPath('/assets/icons/general/check.svg'),
title: this._translateService.instant('annotation-actions.resize-accept.label'),
onClick: () =>
this._ngZone.run(() => {
this.acceptResize(null, firstAnnotation);
this._ngZone.run(async () => {
await this.acceptResize(null, firstAnnotation);
}),
});
availableActions.push({
@ -412,22 +412,21 @@ export class AnnotationActionsService {
this._pdf.annotationManager.selectAnnotation(viewerAnnotation);
}
acceptResize($event: MouseEvent, annotationWrapper: AnnotationWrapper) {
const data = { dossier: this._dossier };
async acceptResize($event: MouseEvent, annotation: AnnotationWrapper): Promise<void> {
const fileId = this._state.fileId;
this._dialogService.openDialog('resizeAnnotation', $event, data, async (result: { comment: string }) => {
const textAndPositions = await this._extractTextAndPositions(annotationWrapper.id);
const text =
annotationWrapper.value === 'Rectangle' ? 'Rectangle' : annotationWrapper.isImage ? 'Image' : textAndPositions.text;
const textAndPositions = await this._extractTextAndPositions(annotation.id);
const text = annotation.value === 'Rectangle' ? 'Rectangle' : annotation.isImage ? 'Image' : textAndPositions.text;
const data = { annotation, text };
this._dialogService.openDialog('resizeAnnotation', $event, data, async (result: { comment: string; updateDictionary: boolean }) => {
const resizeRequest: IResizeRequest = {
annotationId: annotationWrapper.id,
annotationId: annotation.id,
comment: result.comment,
positions: textAndPositions.positions,
value: text,
updateDictionary: result.updateDictionary,
};
this._processObsAndEmit(this._manualRedactionService.resizeOrSuggestResize([resizeRequest], data.dossier.id, fileId));
this._processObsAndEmit(this._manualRedactionService.resizeOrSuggestResize([resizeRequest], this._dossier.id, fileId));
});
}
@ -559,8 +558,6 @@ export class AnnotationActionsService {
words.push(...quadWords);
}
console.log(words.join(' '));
return {
text: words.join(' '),
positions: rectangles,

View File

@ -3,7 +3,7 @@ import { Core } from '@pdftron/webviewer';
import { hexToRgb } from '../../../utils';
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
import { UserPreferenceService } from '@services/user-preference.service';
import { RedactionLogService } from '../../dossier/services/redaction-log.service';
import { RedactionLogService } from '@services/files/redaction-log.service';
import { environment } from '@environments/environment';
import { IRectangle, ISectionGrid, ISectionRectangle } from '@red/domain';

View File

@ -1,12 +1,12 @@
import { Injectable } from '@angular/core';
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
import { SuperTypeSorter } from '@utils/sorters/super-type-sorter';
import { SuperTypeSorter } from '../../../utils';
import { Filter, handleCheckedValue, IFilter, INestedFilter, NestedFilter } from '@iqser/common-ui';
import { annotationTypesTranslations } from '../../../translations/annotation-types-translations';
import { annotationTypesTranslations } from '@translations/annotation-types-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { IViewedPage } from '@red/domain';
import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service';
import { FilePreviewStateService } from '../../file-preview/services/file-preview-state.service';
import { FilePreviewStateService } from './file-preview-state.service';
@Injectable()
export class AnnotationProcessingService {

View File

@ -1,4 +1,4 @@
import { AnnotationWrapper } from '../../../models/file/annotation.wrapper';
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
import { Injectable } from '@angular/core';
import { EntitiesService, FilterService, ListingService, SearchService } from '@iqser/common-ui';
import { filter, tap } from 'rxjs/operators';

View File

@ -4,7 +4,7 @@ import { shareLast } from '@iqser/common-ui';
import { filter, map, startWith, tap, withLatestFrom } from 'rxjs/operators';
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service';
import { FileAttributesService } from '@services/entity-services/file-attributes.service';
import { FilesMapService } from '@services/entity-services/files-map.service';
import { FilesMapService } from '@services/files/files-map.service';
import { File, IFileAttributeConfig } from '@red/domain';
import { MultiSelectService } from './multi-select.service';
import { ExcludedPagesService } from './excluded-pages.service';

View File

@ -1,24 +1,24 @@
import { ChangeType, File, IRedactionLog, IRedactionLogEntry, IViewedPage, ViewMode, ViewModes } from '@red/domain';
import { AnnotationWrapper } from '../../../models/file/annotation.wrapper';
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
import { BehaviorSubject, firstValueFrom, iif, Observable, Subject } from 'rxjs';
import { RedactionLogEntry } from '../../../models/file/redaction-log.entry';
import { RedactionLogEntry } from '@models/file/redaction-log.entry';
import { Injectable, Injector } from '@angular/core';
import { FilePreviewStateService } from './file-preview-state.service';
import { ViewedPagesService } from '@services/entity-services/viewed-pages.service';
import { ViewedPagesService } from '@services/files/viewed-pages.service';
import { UserPreferenceService } from '@services/user-preference.service';
import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service';
import { map, switchMap, tap, withLatestFrom } from 'rxjs/operators';
import { PermissionsService } from '@services/permissions.service';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { EntitiesService, shareLast, Toaster } from '@iqser/common-ui';
import { RedactionLogService } from '../../dossier/services/redaction-log.service';
import { TextHighlightService } from '../../dossier/services/text-highlight.service';
import { RedactionLogService } from '@services/files/redaction-log.service';
import { TextHighlightService } from '@services/files/text-highlight.service';
import { ViewModeService } from './view-mode.service';
import { Core } from '@pdftron/webviewer';
import dayjs from 'dayjs';
import { NGXLogger } from 'ngx-logger';
import { MultiSelectService } from './multi-select.service';
import { FilesService } from '@services/entity-services/files.service';
import { FilesService } from '@services/files/files.service';
import Annotation = Core.Annotations.Annotation;
const DELTA_VIEW_TIME = 10 * 60 * 1000; // 10 minutes;

View File

@ -2,15 +2,15 @@ import { Injectable, Injector } from '@angular/core';
import { combineLatest, firstValueFrom, from, merge, Observable, of, pairwise, Subject, switchMap } from 'rxjs';
import { Dictionary, Dossier, DOSSIER_ID, File, FILE_ID } from '@red/domain';
import { ActivatedRoute, Router } from '@angular/router';
import { FilesMapService } from '@services/entity-services/files-map.service';
import { FilesMapService } from '@services/files/files-map.service';
import { PermissionsService } from '@services/permissions.service';
import { boolFactory } from '@iqser/common-ui';
import { filter, map, startWith, tap, withLatestFrom } from 'rxjs/operators';
import { FileManagementService } from '@services/entity-services/file-management.service';
import { FileManagementService } from '@services/files/file-management.service';
import { dossiersServiceResolver } from '@services/entity-services/dossiers.service.provider';
import { wipeFilesCache } from '@red/cache';
import { DossiersService } from '@services/dossiers/dossiers.service';
import { FilesService } from '@services/entity-services/files.service';
import { FilesService } from '@services/files/files.service';
import { DictionaryService } from '@services/entity-services/dictionary.service';
@Injectable()

View File

@ -14,7 +14,7 @@ import { type AnnotationWrapper } from '@models/file/annotation.wrapper';
import { GenericService, List, RequiredParam, Toaster, Validate } from '@iqser/common-ui';
import { map, tap } from 'rxjs/operators';
import { PermissionsService } from '@services/permissions.service';
import { dictionaryActionsTranslations, manualRedactionActionsTranslations } from '../../../translations/annotation-actions-translations';
import { dictionaryActionsTranslations, manualRedactionActionsTranslations } from '@translations/annotation-actions-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { HttpErrorResponse, HttpStatusCode } from '@angular/common/http';
import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service';

View File

@ -1,11 +1,11 @@
import { Injectable } from '@angular/core';
import { BehaviorSubject, firstValueFrom, of } from 'rxjs';
import { RotationType, RotationTypes } from '@red/domain';
import { FileManagementService } from '@services/entity-services/file-management.service';
import { FileManagementService } from '@services/files/file-management.service';
import { FilePreviewStateService } from './file-preview-state.service';
import { distinctUntilChanged, map, switchMap, tap, withLatestFrom } from 'rxjs/operators';
import { PdfViewer } from './pdf-viewer.service';
import { HeaderElements } from '../shared/constants';
import { HeaderElements } from '../utils/constants';
import {
ConfirmationDialogComponent,
ConfirmationDialogInput,
@ -16,7 +16,7 @@ import {
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { MatDialog } from '@angular/material/dialog';
import { ViewerHeaderConfigService } from './viewer-header-config.service';
import { FilesService } from '@services/entity-services/files.service';
import { FilesService } from '@services/files/files.service';
const ACTION_BUTTONS = [HeaderElements.APPLY_ROTATION, HeaderElements.DISCARD_ROTATION];
const ONE_ROTATION_DEGREE = 90;

View File

@ -6,7 +6,7 @@ import { File } from '@red/domain';
import { Inject, Injectable } from '@angular/core';
import { BASE_HREF } from '../../../tokens';
import { environment } from '@environments/environment';
import { DISABLED_HOTKEYS } from '../shared/constants';
import { DISABLED_HOTKEYS } from '../utils/constants';
import { Observable, Subject } from 'rxjs';
import { NGXLogger } from 'ngx-logger';
import { map, tap } from 'rxjs/operators';

View File

@ -7,7 +7,7 @@ import { ViewModeService } from './view-mode.service';
import { TranslateService } from '@ngx-translate/core';
import { Core } from '@pdftron/webviewer';
import { firstValueFrom } from 'rxjs';
import { WatermarkService } from '../../shared/services/watermark.service';
import { WatermarkService } from '@services/entity-services/watermark.service';
import PDFNet = Core.PDFNet;
@Injectable()

View File

@ -1,7 +1,7 @@
import { Inject, Injectable } from '@angular/core';
import { PdfViewer } from './pdf-viewer.service';
import { UserPreferenceService } from '@services/user-preference.service';
import { HeaderElements } from '../shared/constants';
import { HeaderElements } from '../utils/constants';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { TranslateService } from '@ngx-translate/core';
import { BASE_HREF } from '../../../tokens';

View File

@ -1,6 +1,6 @@
import { ElementRef, Inject, Injectable, Injector } from '@angular/core';
import { IHeaderElement, RotationTypes } from '@red/domain';
import { HeaderElements, HeaderElementType } from '../shared/constants';
import { HeaderElements, HeaderElementType } from '../utils/constants';
import { TranslateService } from '@ngx-translate/core';
import { BASE_HREF } from '../../../tokens';
import { PdfViewer } from './pdf-viewer.service';

View File

@ -1,4 +1,4 @@
import { stampPDFPage } from '@utils/page-stamper';
import { stampPDFPage } from '../../../utils';
import { Core, WebViewerInstance } from '@pdftron/webviewer';
import { File } from '@red/domain';

View File

@ -14,11 +14,11 @@ import { combineLatest, Observable, of } from 'rxjs';
import { debounceTime, map, startWith, switchMap, tap } from 'rxjs/operators';
import { ActivatedRoute, Router } from '@angular/router';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { workflowFileStatusTranslations } from '../../../translations/file-status-translations';
import { workflowFileStatusTranslations } from '@translations/file-status-translations';
import { TranslateService } from '@ngx-translate/core';
import { RouterHistoryService } from '@services/router-history.service';
import { Dossier, DOSSIERS_ARCHIVE, IMatchedDocument, ISearchListItem, ISearchResponse } from '@red/domain';
import { FilesMapService } from '@services/entity-services/files-map.service';
import { FilesMapService } from '@services/files/files-map.service';
import { PlatformSearchService } from '@services/entity-services/platform-search.service';
import { FeaturesService } from '@services/features.service';
import { DossiersCacheService } from '../../../services/dossiers/dossiers-cache.service';

View File

@ -1,4 +1,4 @@
@use 'common-mixins';
@use 'libs/common-ui/src/assets/styles/common-mixins';
.file-actions {
display: flex;

View File

@ -14,17 +14,17 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { UserService } from '@services/user.service';
import { UserPreferenceService } from '@services/user-preference.service';
import { LongPressEvent } from '@shared/directives/long-press.directive';
import { FileAssignService } from '../../services/file-assign.service';
import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service';
import { FileManagementService } from '@services/entity-services/file-management.service';
import { FilesService } from '@services/entity-services/files.service';
import { FileManagementService } from '@services/files/file-management.service';
import { FilesService } from '@services/files/files.service';
import { ReanalysisService, ReanalyzeQueryParams } from '@services/reanalysis.service';
import { Router } from '@angular/router';
import { ExcludedPagesService } from '../../../../file-preview/services/excluded-pages.service';
import { DocumentInfoService } from '../../../../file-preview/services/document-info.service';
import { ExcludedPagesService } from '../../../file-preview/services/excluded-pages.service';
import { DocumentInfoService } from '../../../file-preview/services/document-info.service';
import { ExpandableFileActionsComponent } from '@shared/components/expandable-file-actions/expandable-file-actions.component';
import { firstValueFrom, Observable } from 'rxjs';
import { PageRotationService } from '../../../../file-preview/services/page-rotation.service';
import { PageRotationService } from '../../../file-preview/services/page-rotation.service';
import { FileAssignService } from '../../services/file-assign.service';
@Component({
selector: 'redaction-file-actions [file] [type] [dossier]',

View File

@ -5,7 +5,7 @@ import { LoadingService, Toaster } from '@iqser/common-ui';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { Dossier, File } from '@red/domain';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { FilesService } from '@services/entity-services/files.service';
import { FilesService } from '@services/files/files.service';
import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service';
import { PermissionsService } from '@services/permissions.service';
import { firstValueFrom } from 'rxjs';

View File

@ -4,7 +4,7 @@ import { Dossier, DossierAttributeConfigType, DossierAttributeConfigTypes, Dossi
import { PermissionsService } from '@services/permissions.service';
import { CircleButtonTypes, IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui';
import { FormBuilder, FormGroup } from '@angular/forms';
import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service';
import { DossierAttributesService } from '@services/entity-services/dossier-attributes.service';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { firstValueFrom } from 'rxjs';
import dayjs from 'dayjs';

View File

@ -2,7 +2,7 @@ import { Component, Input, OnInit } from '@angular/core';
import { Dossier, DownloadFileType, IReportTemplate } from '@red/domain';
import { FormBuilder, FormGroup } from '@angular/forms';
import { EditDossierSaveResult, EditDossierSectionInterface } from '../edit-dossier-section.interface';
import { downloadTypesTranslations } from '../../../../../translations/download-types-translations';
import { downloadTypesTranslations } from '@translations/download-types-translations';
import { ReportTemplateService } from '@services/report-template.service';
import { PermissionsService } from '@services/permissions.service';
import { firstValueFrom } from 'rxjs';

Some files were not shown because too many files have changed in this diff Show More