diff --git a/apps/red-ui/src/app/app.component.ts b/apps/red-ui/src/app/app.component.ts index 975c8e82d..a7edc063e 100644 --- a/apps/red-ui/src/app/app.component.ts +++ b/apps/red-ui/src/app/app.component.ts @@ -1,7 +1,7 @@ import { Component, ViewContainerRef } from '@angular/core'; import { RouterHistoryService } from '@services/router-history.service'; import { UserService } from '@services/user.service'; -import { PdfViewer } from '@shared/components/pdf-viewer/pdf-viewer.service'; +import { PdfViewer } from './modules/pdf-viewer/services/pdf-viewer.service'; @Component({ selector: 'redaction-root', diff --git a/apps/red-ui/src/app/app.module.ts b/apps/red-ui/src/app/app.module.ts index 135966f5d..0e923f032 100644 --- a/apps/red-ui/src/app/app.module.ts +++ b/apps/red-ui/src/app/app.module.ts @@ -52,7 +52,7 @@ import { LoggerModule, NgxLoggerLevel, TOKEN_LOGGER_CONFIG, TOKEN_LOGGER_RULES_S import { LoggerRulesService } from '@services/logger-rules.service'; import { ILoggerConfig } from '@red/domain'; import { SystemPreferencesService } from '@services/system-preferences.service'; -import { PdfViewerComponent } from '@shared/components/pdf-viewer/pdf-viewer.component'; +import { PdfViewerModule } from './modules/pdf-viewer/pdf-viewer.module'; export function httpLoaderFactory(httpClient: HttpClient, configService: ConfigService): PruningTranslationLoader { return new PruningTranslationLoader(httpClient, '/assets/i18n/', `.json?version=${configService.values.FRONTEND_APP_VERSION}`); @@ -70,15 +70,7 @@ function cleanupBaseUrl(baseUrl: string) { const screens = [BaseScreenComponent, DownloadsListScreenComponent]; -const components = [ - AppComponent, - PdfViewerComponent, - AuthErrorComponent, - NotificationsComponent, - SpotlightSearchComponent, - BreadcrumbsComponent, - ...screens, -]; +const components = [AppComponent, AuthErrorComponent, NotificationsComponent, SpotlightSearchComponent, BreadcrumbsComponent, ...screens]; @NgModule({ declarations: [...components], @@ -92,6 +84,7 @@ const components = [ AppRoutingModule, MonacoEditorModule, IqserHelpModeModule, + PdfViewerModule, ToastrModule.forRoot({ closeButton: true, enableHtml: true, diff --git a/apps/red-ui/src/app/modules/file-preview/components/annotation-actions/annotation-actions.component.ts b/apps/red-ui/src/app/modules/file-preview/components/annotation-actions/annotation-actions.component.ts index bd7c2828c..282e6f611 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/annotation-actions/annotation-actions.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/components/annotation-actions/annotation-actions.component.ts @@ -11,7 +11,7 @@ import { HelpModeService } from '@iqser/common-ui'; import { FileDataService } from '../../services/file-data.service'; import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service'; import { ViewModeService } from '../../services/view-mode.service'; -import { REDAnnotationManager } from '../../../shared/components/pdf-viewer/annotation-manager.service'; +import { REDAnnotationManager } from '../../../pdf-viewer/services/annotation-manager.service'; export const AnnotationButtonTypes = { dark: 'dark', diff --git a/apps/red-ui/src/app/modules/file-preview/components/annotations-list/annotations-list.component.ts b/apps/red-ui/src/app/modules/file-preview/components/annotations-list/annotations-list.component.ts index aa4bf2173..4f680b1d9 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/annotations-list/annotations-list.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/components/annotations-list/annotations-list.component.ts @@ -17,7 +17,7 @@ import { UserPreferenceService } from '@services/user-preference.service'; import { ViewModeService } from '../../services/view-mode.service'; import { BehaviorSubject } from 'rxjs'; import { TextHighlightsGroup } from '@red/domain'; -import { REDAnnotationManager } from '../../../shared/components/pdf-viewer/annotation-manager.service'; +import { REDAnnotationManager } from '../../../pdf-viewer/services/annotation-manager.service'; import { AnnotationsListingService } from '../../services/annotations-listing.service'; @Component({ diff --git a/apps/red-ui/src/app/modules/file-preview/components/file-workload/file-workload.component.ts b/apps/red-ui/src/app/modules/file-preview/components/file-workload/file-workload.component.ts index f2fb3e69b..0b2d4e3a6 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/file-workload/file-workload.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/components/file-workload/file-workload.component.ts @@ -35,8 +35,8 @@ import { FilePreviewStateService } from '../../services/file-preview-state.servi import { ViewModeService } from '../../services/view-mode.service'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { FileDataService } from '../../services/file-data.service'; -import { PdfViewer } from '../../../shared/components/pdf-viewer/pdf-viewer.service'; -import { REDAnnotationManager } from '../../../shared/components/pdf-viewer/annotation-manager.service'; +import { PdfViewer } from '../../../pdf-viewer/services/pdf-viewer.service'; +import { REDAnnotationManager } from '../../../pdf-viewer/services/annotation-manager.service'; import { AnnotationsListingService } from '../../services/annotations-listing.service'; const COMMAND_KEY_ARRAY = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Escape']; diff --git a/apps/red-ui/src/app/modules/file-preview/components/page-indicator/page-indicator.component.ts b/apps/red-ui/src/app/modules/file-preview/components/page-indicator/page-indicator.component.ts index 00929fd83..65310c29a 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/page-indicator/page-indicator.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/components/page-indicator/page-indicator.component.ts @@ -16,7 +16,7 @@ import { IViewedPage } from '@red/domain'; import { AutoUnsubscribe } from '@iqser/common-ui'; import { FilePreviewStateService } from '../../services/file-preview-state.service'; import { firstValueFrom } from 'rxjs'; -import { PageRotationService } from '../../../shared/components/pdf-viewer/page-rotation.service'; +import { PageRotationService } from '../../../pdf-viewer/services/page-rotation.service'; @Component({ selector: 'redaction-page-indicator', diff --git a/apps/red-ui/src/app/modules/file-preview/components/pdf-paginator/pdf-paginator.component.ts b/apps/red-ui/src/app/modules/file-preview/components/pdf-paginator/pdf-paginator.component.ts index 7dff1defc..835071b21 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/pdf-paginator/pdf-paginator.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/components/pdf-paginator/pdf-paginator.component.ts @@ -17,16 +17,16 @@ import { toPosition } from '../../utils/pdf-calculation.utils'; 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 '../../../shared/components/pdf-viewer/page-rotation.service'; +import { PageRotationService } from '../../../pdf-viewer/services/page-rotation.service'; import { HeaderElements, TextPopups } from '../../utils/constants'; import { from } from 'rxjs'; import { FileDataService } from '../../services/file-data.service'; -import { ViewerHeaderService } from '../../../shared/components/pdf-viewer/viewer-header.service'; +import { ViewerHeaderService } from '../../../pdf-viewer/services/viewer-header.service'; import { ManualRedactionService } from '../../services/manual-redaction.service'; -import { PdfViewer } from '../../../shared/components/pdf-viewer/pdf-viewer.service'; -import { REDAnnotationManager } from '../../../shared/components/pdf-viewer/annotation-manager.service'; +import { PdfViewer } from '../../../pdf-viewer/services/pdf-viewer.service'; +import { REDAnnotationManager } from '../../../pdf-viewer/services/annotation-manager.service'; import { translateQuads } from '../../../../utils'; -import { ROTATION_ACTION_BUTTONS } from '../../../shared/components/pdf-viewer/constants'; +import { ROTATION_ACTION_BUTTONS } from '../../../pdf-viewer/utils/constants'; import Annotation = Core.Annotations.Annotation; @Component({ diff --git a/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts index acb86d3a4..a455e9a55 100644 --- a/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts @@ -43,17 +43,17 @@ import { FilePreviewStateService } from './services/file-preview-state.service'; import { filePreviewScreenProviders } from './file-preview-providers'; import { ManualRedactionService } from './services/manual-redaction.service'; import { DossiersService } from '@services/dossiers/dossiers.service'; -import { PageRotationService } from '../shared/components/pdf-viewer/page-rotation.service'; +import { PageRotationService } from '../pdf-viewer/services/page-rotation.service'; import { ComponentCanDeactivate } from '@guards/can-deactivate.guard'; import { FilePreviewDialogService } from './services/file-preview-dialog.service'; import { FileDataService } from './services/file-data.service'; import { ActionsHelpModeKeys, ALL_HOTKEYS } from './utils/constants'; import { NGXLogger } from 'ngx-logger'; import { StampService } from './services/stamp.service'; -import { PdfViewer } from '../shared/components/pdf-viewer/pdf-viewer.service'; -import { REDAnnotationManager } from '../shared/components/pdf-viewer/annotation-manager.service'; -import { ViewerHeaderService } from '../shared/components/pdf-viewer/viewer-header.service'; -import { ROTATION_ACTION_BUTTONS } from '../shared/components/pdf-viewer/constants'; +import { PdfViewer } from '../pdf-viewer/services/pdf-viewer.service'; +import { REDAnnotationManager } from '../pdf-viewer/services/annotation-manager.service'; +import { ViewerHeaderService } from '../pdf-viewer/services/viewer-header.service'; +import { ROTATION_ACTION_BUTTONS } from '../pdf-viewer/utils/constants'; import Annotation = Core.Annotations.Annotation; @Component({ diff --git a/apps/red-ui/src/app/modules/file-preview/services/annotation-actions.service.ts b/apps/red-ui/src/app/modules/file-preview/services/annotation-actions.service.ts index 400a98909..5c04fb851 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/annotation-actions.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/annotation-actions.service.ts @@ -34,8 +34,8 @@ import { FilePreviewStateService } from './file-preview-state.service'; import { FilePreviewDialogService } from './file-preview-dialog.service'; import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service'; import { FileDataService } from './file-data.service'; -import { PdfViewer } from '../../shared/components/pdf-viewer/pdf-viewer.service'; -import { REDAnnotationManager } from '../../shared/components/pdf-viewer/annotation-manager.service'; +import { PdfViewer } from '../../pdf-viewer/services/pdf-viewer.service'; +import { REDAnnotationManager } from '../../pdf-viewer/services/annotation-manager.service'; import Quad = Core.Math.Quad; @Injectable() diff --git a/apps/red-ui/src/app/modules/file-preview/services/annotation-draw.service.ts b/apps/red-ui/src/app/modules/file-preview/services/annotation-draw.service.ts index b34b98a7c..8916a0624 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/annotation-draw.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/annotation-draw.service.ts @@ -13,7 +13,7 @@ import { DictionariesMapService } from '@services/entity-services/dictionaries-m import { FilePreviewStateService } from './file-preview-state.service'; import { FileDataService } from './file-data.service'; import { SuperTypes } from '@models/file/super-types'; -import { PdfViewer } from '../../shared/components/pdf-viewer/pdf-viewer.service'; +import { PdfViewer } from '../../pdf-viewer/services/pdf-viewer.service'; import Annotation = Core.Annotations.Annotation; import Quad = Core.Math.Quad; diff --git a/apps/red-ui/src/app/modules/file-preview/services/annotations-listing.service.ts b/apps/red-ui/src/app/modules/file-preview/services/annotations-listing.service.ts index 0ebf3b822..94cb26a09 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/annotations-listing.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/annotations-listing.service.ts @@ -3,8 +3,8 @@ import { Injectable } from '@angular/core'; import { EntitiesService, FilterService, ListingService, SearchService } from '@iqser/common-ui'; import { filter, tap } from 'rxjs/operators'; import { MultiSelectService } from './multi-select.service'; -import { PdfViewer } from '../../shared/components/pdf-viewer/pdf-viewer.service'; -import { REDAnnotationManager } from '../../shared/components/pdf-viewer/annotation-manager.service'; +import { PdfViewer } from '../../pdf-viewer/services/pdf-viewer.service'; +import { REDAnnotationManager } from '../../pdf-viewer/services/annotation-manager.service'; @Injectable() export class AnnotationsListingService extends ListingService { diff --git a/apps/red-ui/src/app/modules/file-preview/services/skipped.service.ts b/apps/red-ui/src/app/modules/file-preview/services/skipped.service.ts index 1f2ebb018..306f11953 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/skipped.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/skipped.service.ts @@ -2,7 +2,7 @@ import { Injectable } from '@angular/core'; import { BehaviorSubject, Observable } from 'rxjs'; import { skip, tap } from 'rxjs/operators'; import { shareDistinctLast } from '@iqser/common-ui'; -import { REDAnnotationManager } from '../../shared/components/pdf-viewer/annotation-manager.service'; +import { REDAnnotationManager } from '../../pdf-viewer/services/annotation-manager.service'; @Injectable() export class SkippedService { diff --git a/apps/red-ui/src/app/modules/file-preview/services/stamp.service.ts b/apps/red-ui/src/app/modules/file-preview/services/stamp.service.ts index e93efa803..108e8d299 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/stamp.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/stamp.service.ts @@ -7,7 +7,7 @@ import { TranslateService } from '@ngx-translate/core'; import { Core } from '@pdftron/webviewer'; import { firstValueFrom } from 'rxjs'; import { WatermarkService } from '@services/entity-services/watermark.service'; -import { PdfViewer } from '../../shared/components/pdf-viewer/pdf-viewer.service'; +import { PdfViewer } from '../../pdf-viewer/services/pdf-viewer.service'; import PDFNet = Core.PDFNet; @Injectable() diff --git a/apps/red-ui/src/app/modules/shared/components/pdf-viewer/pdf-viewer.component.ts b/apps/red-ui/src/app/modules/pdf-viewer/compare-file-input.component.ts similarity index 69% rename from apps/red-ui/src/app/modules/shared/components/pdf-viewer/pdf-viewer.component.ts rename to apps/red-ui/src/app/modules/pdf-viewer/compare-file-input.component.ts index 1efc1bd63..84eeaf965 100644 --- a/apps/red-ui/src/app/modules/shared/components/pdf-viewer/pdf-viewer.component.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/compare-file-input.component.ts @@ -1,78 +1,51 @@ import { Component, ElementRef, ViewChild } from '@angular/core'; -import { PdfViewer } from './pdf-viewer.service'; -import { REDAnnotationManager } from '@shared/components/pdf-viewer/annotation-manager.service'; -import { ViewerHeaderService } from '@shared/components/pdf-viewer/viewer-header.service'; import { environment } from '@environments/environment'; -import { loadCompareDocumentWrapper } from '../../../file-preview/utils/compare-mode.utils'; -import { HeaderElements } from '../../../file-preview/utils/constants'; +import { loadCompareDocumentWrapper } from '../file-preview/utils/compare-mode.utils'; +import { HeaderElements } from '../file-preview/utils/constants'; import { ConfirmationDialogInput, LoadingService } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { ActivatedRoute } from '@angular/router'; import { FilesMapService } from '@services/files/files-map.service'; +import { ActivatedRoute } from '@angular/router'; import { SharedDialogService } from '@shared/services/dialog.service'; +import { PdfViewer } from './services/pdf-viewer.service'; +import { ViewerHeaderService } from './services/viewer-header.service'; @Component({ - selector: 'redaction-pdf-viewer', - template: ` -
- - - `, + selector: 'redaction-compare-file-input', + template: ``, styles: [ ` - .file-upload-input { - visibility: hidden; + :host { + position: absolute; } - div { - width: calc(100% - 350px); - height: calc(100% - 111px); - bottom: 0; - left: 0; - position: absolute; + .file-upload-input { + visibility: hidden; } `, ], }) -export class PdfViewerComponent { - @ViewChild('compareFileInput', { static: true }) private readonly _compareFileInput: ElementRef; - - #viewer: ElementRef; +export class CompareFileInputComponent { + @ViewChild('input', { static: true }) readonly input: ElementRef; constructor( - private readonly _filesMapService: FilesMapService, - private readonly _activatedRoute: ActivatedRoute, - private readonly _dialogService: SharedDialogService, - private readonly _loadingService: LoadingService, private readonly _pdf: PdfViewer, - private readonly _annotationManager: REDAnnotationManager, + private readonly _loadingService: LoadingService, + private readonly _activatedRoute: ActivatedRoute, + private readonly _filesMapService: FilesMapService, + private readonly _dialogService: SharedDialogService, private readonly _viewerHeaderService: ViewerHeaderService, ) {} - @ViewChild('viewer', { static: true }) - set viewer(value: ElementRef) { - if (this.#viewer) { - return; - } - - this.#viewer = value; - const pdfInit = this._pdf.init(value.nativeElement as HTMLElement); - pdfInit.then(instance => { - this._annotationManager.init(instance.Core.annotationManager); - console.log(this._compareFileInput); - this._viewerHeaderService.initialize(this._compareFileInput); - }); - } - uploadFile(files: FileList) { const fileToCompare = files[0]; - this._compareFileInput.nativeElement.value = null; + this.input.nativeElement.value = null; if (!fileToCompare) { console.error('No file to compare!'); diff --git a/apps/red-ui/src/app/modules/pdf-viewer/pdf-viewer.component.ts b/apps/red-ui/src/app/modules/pdf-viewer/pdf-viewer.component.ts new file mode 100644 index 000000000..423783000 --- /dev/null +++ b/apps/red-ui/src/app/modules/pdf-viewer/pdf-viewer.component.ts @@ -0,0 +1,40 @@ +import { Component, ElementRef, OnInit, ViewChild } from '@angular/core'; +import { PdfViewer } from './services/pdf-viewer.service'; +import { REDAnnotationManager } from './services/annotation-manager.service'; +import { ViewerHeaderService } from './services/viewer-header.service'; +import { CompareFileInputComponent } from './compare-file-input.component'; + +@Component({ + selector: 'redaction-pdf-viewer', + template: `
+ `, + styles: [ + ` + div { + width: calc(100% - 350px); + height: calc(100% - 111px); + bottom: 0; + left: 0; + position: absolute; + } + `, + ], +}) +export class PdfViewerComponent implements OnInit { + @ViewChild('viewer', { static: true }) private readonly _viewer: ElementRef; + @ViewChild(CompareFileInputComponent) private readonly _compare: CompareFileInputComponent; + + constructor( + private readonly _pdf: PdfViewer, + private readonly _annotationManager: REDAnnotationManager, + private readonly _viewerHeaderService: ViewerHeaderService, + ) {} + + ngOnInit() { + const pdfInit = this._pdf.init(this._viewer.nativeElement as HTMLElement); + return pdfInit.then(instance => { + this._annotationManager.init(instance.Core.annotationManager); + this._viewerHeaderService.init(this._compare.input); + }); + } +} diff --git a/apps/red-ui/src/app/modules/pdf-viewer/pdf-viewer.module.ts b/apps/red-ui/src/app/modules/pdf-viewer/pdf-viewer.module.ts new file mode 100644 index 000000000..85bb7f5e0 --- /dev/null +++ b/apps/red-ui/src/app/modules/pdf-viewer/pdf-viewer.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; +import { PdfViewerComponent } from './pdf-viewer.component'; +import { CommonModule } from '@angular/common'; +import { CompareFileInputComponent } from './compare-file-input.component'; + +@NgModule({ + declarations: [PdfViewerComponent, CompareFileInputComponent], + exports: [PdfViewerComponent], + imports: [CommonModule], +}) +export class PdfViewerModule {} diff --git a/apps/red-ui/src/app/modules/shared/components/pdf-viewer/annotation-manager.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/annotation-manager.service.ts similarity index 93% rename from apps/red-ui/src/app/modules/shared/components/pdf-viewer/annotation-manager.service.ts rename to apps/red-ui/src/app/modules/pdf-viewer/services/annotation-manager.service.ts index 9f79574ab..9f7f4b267 100644 --- a/apps/red-ui/src/app/modules/shared/components/pdf-viewer/annotation-manager.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/annotation-manager.service.ts @@ -1,11 +1,11 @@ import { Injectable } from '@angular/core'; import { Core } from '@pdftron/webviewer'; import type { List } from '@iqser/common-ui'; -import { AnnotationPredicate, DeleteAnnotationsOptions } from '@shared/components/pdf-viewer/types'; -import { AnnotationWrapper } from '@models/file/annotation.wrapper'; +import { AnnotationPredicate, DeleteAnnotationsOptions } from '../utils/types'; +import { AnnotationWrapper } from '../../../models/file/annotation.wrapper'; import { fromEvent, Observable } from 'rxjs'; import { tap } from 'rxjs/operators'; -import { getId, isStringOrWrapper } from '@shared/components/pdf-viewer/functions'; +import { getId, isStringOrWrapper } from '../utils/functions'; import AnnotationManager = Core.AnnotationManager; import Annotation = Core.Annotations.Annotation; diff --git a/apps/red-ui/src/app/modules/shared/components/pdf-viewer/page-rotation.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/page-rotation.service.ts similarity index 94% rename from apps/red-ui/src/app/modules/shared/components/pdf-viewer/page-rotation.service.ts rename to apps/red-ui/src/app/modules/pdf-viewer/services/page-rotation.service.ts index ffd606eb0..f4d09b597 100644 --- a/apps/red-ui/src/app/modules/shared/components/pdf-viewer/page-rotation.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/page-rotation.service.ts @@ -1,7 +1,7 @@ import { Injectable, Injector } from '@angular/core'; import { BehaviorSubject, firstValueFrom, of } from 'rxjs'; import { RotationType, RotationTypes } from '@red/domain'; -import { FileManagementService } from '../../../../services/files/file-management.service'; +import { FileManagementService } from '../../../services/files/file-management.service'; import { distinctUntilChanged, map, switchMap, tap } from 'rxjs/operators'; import { ConfirmationDialogComponent, @@ -12,10 +12,10 @@ import { } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { MatDialog } from '@angular/material/dialog'; -import { FilesService } from '../../../../services/files/files.service'; +import { FilesService } from '../../../services/files/files.service'; import { PdfViewer } from './pdf-viewer.service'; import { ActivatedRoute } from '@angular/router'; -import { FilesMapService } from '../../../../services/files/files-map.service'; +import { FilesMapService } from '../../../services/files/files-map.service'; import { NGXLogger } from 'ngx-logger'; const ONE_ROTATION_DEGREE = 90; diff --git a/apps/red-ui/src/app/modules/shared/components/pdf-viewer/pdf-viewer.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/pdf-viewer.service.ts similarity index 96% rename from apps/red-ui/src/app/modules/shared/components/pdf-viewer/pdf-viewer.service.ts rename to apps/red-ui/src/app/modules/pdf-viewer/services/pdf-viewer.service.ts index d2dfc6655..4e70d5a3b 100644 --- a/apps/red-ui/src/app/modules/shared/components/pdf-viewer/pdf-viewer.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/pdf-viewer.service.ts @@ -1,19 +1,19 @@ import { Injectable, Injector } from '@angular/core'; import WebViewer, { Core, WebViewerInstance, WebViewerOptions } from '@pdftron/webviewer'; -import { environment } from '@environments/environment'; -import { BASE_HREF_FN } from '../../../../tokens'; +import { environment } from '../../../../environments/environment'; +import { BASE_HREF_FN } from '../../../tokens'; import { File } from '@red/domain'; import { ErrorService, log, shareDistinctLast, shareLast } from '@iqser/common-ui'; import { ActivatedRoute } from '@angular/router'; import { debounceTime, distinctUntilChanged, filter, map, startWith, tap } from 'rxjs/operators'; import { BehaviorSubject, combineLatest, fromEvent, merge, Observable } from 'rxjs'; -import { ConfigService } from '@services/config.service'; +import { ConfigService } from '../../../services/config.service'; import { NGXLogger } from 'ngx-logger'; -import { DISABLED_HOTKEYS, DOCUMENT_LOADING_ERROR, USELESS_ELEMENTS } from './constants'; -import { Rgb } from '@shared/components/pdf-viewer/types'; -import { UserPreferenceService } from '@services/user-preference.service'; -import { asList, stopAndPrevent, stopAndPreventIfNotAllowed } from '@shared/components/pdf-viewer/functions'; -import { REDAnnotationManager } from '@shared/components/pdf-viewer/annotation-manager.service'; +import { DISABLED_HOTKEYS, DOCUMENT_LOADING_ERROR, USELESS_ELEMENTS } from '../utils/constants'; +import { Rgb } from '../utils/types'; +import { UserPreferenceService } from '../../../services/user-preference.service'; +import { asList, stopAndPrevent, stopAndPreventIfNotAllowed } from '../utils/functions'; +import { REDAnnotationManager } from './annotation-manager.service'; import AnnotationManager = Core.AnnotationManager; import TextTool = Core.Tools.TextTool; import Annotation = Core.Annotations.Annotation; diff --git a/apps/red-ui/src/app/modules/shared/components/pdf-viewer/tooltips.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/tooltips.service.ts similarity index 87% rename from apps/red-ui/src/app/modules/shared/components/pdf-viewer/tooltips.service.ts rename to apps/red-ui/src/app/modules/pdf-viewer/services/tooltips.service.ts index f13e63c6e..16652cac7 100644 --- a/apps/red-ui/src/app/modules/shared/components/pdf-viewer/tooltips.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/tooltips.service.ts @@ -1,9 +1,9 @@ import { Inject, Injectable } from '@angular/core'; -import { UserPreferenceService } from '../../../../services/user-preference.service'; -import { HeaderElements } from '../../../file-preview/utils/constants'; +import { UserPreferenceService } from '../../../services/user-preference.service'; +import { HeaderElements } from '../../file-preview/utils/constants'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { TranslateService } from '@ngx-translate/core'; -import { BASE_HREF_FN, BaseHrefFn } from '../../../../tokens'; +import { BASE_HREF_FN, BaseHrefFn } from '../../../tokens'; import { PdfViewer } from './pdf-viewer.service'; @Injectable({ diff --git a/apps/red-ui/src/app/modules/shared/components/pdf-viewer/viewer-header.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/viewer-header.service.ts similarity index 96% rename from apps/red-ui/src/app/modules/shared/components/pdf-viewer/viewer-header.service.ts rename to apps/red-ui/src/app/modules/pdf-viewer/services/viewer-header.service.ts index cc42a50ae..1a627f52b 100644 --- a/apps/red-ui/src/app/modules/shared/components/pdf-viewer/viewer-header.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/viewer-header.service.ts @@ -1,14 +1,14 @@ import { ElementRef, Inject, Injectable, Injector } from '@angular/core'; import { IHeaderElement, RotationTypes } from '@red/domain'; -import { HeaderElements, HeaderElementType } from '../../../file-preview/utils/constants'; +import { HeaderElements, HeaderElementType } from '../../file-preview/utils/constants'; import { TranslateService } from '@ngx-translate/core'; -import { BASE_HREF_FN, BaseHrefFn } from '../../../../tokens'; +import { BASE_HREF_FN, BaseHrefFn } from '../../../tokens'; import { TooltipsService } from './tooltips.service'; import { PageRotationService } from './page-rotation.service'; import { PdfViewer } from './pdf-viewer.service'; -import { ROTATION_ACTION_BUTTONS } from './constants'; +import { ROTATION_ACTION_BUTTONS } from '../utils/constants'; import { ActivatedRoute } from '@angular/router'; -import { FilesMapService } from '../../../../services/files/files-map.service'; +import { FilesMapService } from '../../../services/files/files-map.service'; const divider: IHeaderElement = { type: 'divider', @@ -146,7 +146,7 @@ export class ViewerHeaderService { }; } - initialize(compareFileInput: ElementRef): void { + init(compareFileInput: ElementRef): void { this.#buttons = new Map([ [HeaderElements.SHAPE_TOOL_GROUP_BUTTON, this._rectangle], [HeaderElements.ROTATE_LEFT_BUTTON, this._rotateLeft], diff --git a/apps/red-ui/src/app/modules/shared/components/pdf-viewer/constants.ts b/apps/red-ui/src/app/modules/pdf-viewer/utils/constants.ts similarity index 95% rename from apps/red-ui/src/app/modules/shared/components/pdf-viewer/constants.ts rename to apps/red-ui/src/app/modules/pdf-viewer/utils/constants.ts index 02cd43469..518a7f6e5 100644 --- a/apps/red-ui/src/app/modules/shared/components/pdf-viewer/constants.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/utils/constants.ts @@ -1,6 +1,6 @@ import { CustomError, List } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { HeaderElements } from '../../../file-preview/utils/constants'; +import { HeaderElements } from '../../file-preview/utils/constants'; export const ROTATION_ACTION_BUTTONS = [HeaderElements.APPLY_ROTATION, HeaderElements.DISCARD_ROTATION]; diff --git a/apps/red-ui/src/app/modules/shared/components/pdf-viewer/functions.ts b/apps/red-ui/src/app/modules/pdf-viewer/utils/functions.ts similarity index 88% rename from apps/red-ui/src/app/modules/shared/components/pdf-viewer/functions.ts rename to apps/red-ui/src/app/modules/pdf-viewer/utils/functions.ts index ba299e9f3..63f19dfa7 100644 --- a/apps/red-ui/src/app/modules/shared/components/pdf-viewer/functions.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/utils/functions.ts @@ -1,6 +1,6 @@ import { List } from '@iqser/common-ui'; -import { AnnotationWrapper } from '@models/file/annotation.wrapper'; -import { ALLOWED_KEYBOARD_SHORTCUTS } from '@shared/components/pdf-viewer/constants'; +import { AnnotationWrapper } from '../../../models/file/annotation.wrapper'; +import { ALLOWED_KEYBOARD_SHORTCUTS } from './constants'; export function stopAndPrevent($event: T) { $event.preventDefault(); diff --git a/apps/red-ui/src/app/modules/shared/components/pdf-viewer/types.ts b/apps/red-ui/src/app/modules/pdf-viewer/utils/types.ts similarity index 100% rename from apps/red-ui/src/app/modules/shared/components/pdf-viewer/types.ts rename to apps/red-ui/src/app/modules/pdf-viewer/utils/types.ts diff --git a/apps/red-ui/src/app/modules/shared-dossiers/components/file-actions/file-actions.component.ts b/apps/red-ui/src/app/modules/shared-dossiers/components/file-actions/file-actions.component.ts index e3d569d45..3fe6a9d90 100644 --- a/apps/red-ui/src/app/modules/shared-dossiers/components/file-actions/file-actions.component.ts +++ b/apps/red-ui/src/app/modules/shared-dossiers/components/file-actions/file-actions.component.ts @@ -33,10 +33,10 @@ import { ExcludedPagesService } from '../../../file-preview/services/excluded-pa 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 '../../../shared/components/pdf-viewer/page-rotation.service'; +import { PageRotationService } from '../../../pdf-viewer/services/page-rotation.service'; import { FileAssignService } from '../../services/file-assign.service'; -import { ViewerHeaderService } from '../../../shared/components/pdf-viewer/viewer-header.service'; -import { ROTATION_ACTION_BUTTONS } from '../../../shared/components/pdf-viewer/constants'; +import { ViewerHeaderService } from '../../../pdf-viewer/services/viewer-header.service'; +import { ROTATION_ACTION_BUTTONS } from '../../../pdf-viewer/utils/constants'; @Component({ selector: 'redaction-file-actions [file] [type] [dossier]',