diff --git a/apps/red-ui/src/app/app.module.ts b/apps/red-ui/src/app/app.module.ts index 3aa1a0ef4..648792c13 100644 --- a/apps/red-ui/src/app/app.module.ts +++ b/apps/red-ui/src/app/app.module.ts @@ -52,6 +52,7 @@ import { AppStateGuard } from './state/app-state.guard'; import { SimpleDoughnutChartComponent } from './components/simple-doughnut-chart/simple-doughnut-chart.component'; import { ManualRedactionDialogComponent } from './screens/file/manual-redaction-dialog/manual-redaction-dialog.component'; import { MatCheckboxModule } from '@angular/material/checkbox'; +import { MatSlideToggleModule } from '@angular/material/slide-toggle'; export function HttpLoaderFactory(httpClient: HttpClient) { return new TranslateHttpLoader(httpClient, '/assets/i18n/', '.json'); @@ -134,6 +135,7 @@ export function HttpLoaderFactory(httpClient: HttpClient) { NgpSortModule, MatToolbarModule, MatButtonModule, + MatSlideToggleModule, MatMenuModule, MatIconModule, MatTooltipModule, diff --git a/apps/red-ui/src/app/screens/file/file-preview-screen/file-preview-screen.component.html b/apps/red-ui/src/app/screens/file/file-preview-screen/file-preview-screen.component.html index d4d7495b0..8d6fbcf2d 100644 --- a/apps/red-ui/src/app/screens/file/file-preview-screen/file-preview-screen.component.html +++ b/apps/red-ui/src/app/screens/file/file-preview-screen/file-preview-screen.component.html @@ -1,17 +1,8 @@
@@ -86,7 +77,7 @@
diff --git a/apps/red-ui/src/app/screens/file/file-preview-screen/file-preview-screen.component.ts b/apps/red-ui/src/app/screens/file/file-preview-screen/file-preview-screen.component.ts index 2b89a7347..2e80f47dc 100644 --- a/apps/red-ui/src/app/screens/file/file-preview-screen/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/screens/file/file-preview-screen/file-preview-screen.component.ts @@ -31,6 +31,7 @@ export class FilePreviewScreenComponent implements OnInit { private _readyViewers: string[] = []; private projectId: string; private _selectedTab: 'NAVIGATION' | 'ANNOTATIONS' | 'INFO' = 'NAVIGATION'; + private _activeViewer: 'ANNOTATED' | 'REDACTED' = 'ANNOTATED'; @ViewChild(PdfViewerComponent) private _viewerComponent: PdfViewerComponent; @@ -75,6 +76,15 @@ export class FilePreviewScreenComponent implements OnInit { return this._userService.user; } + public get redactedView() { + return this._activeViewer === 'REDACTED'; + } + + public set redactedView(value: boolean) { + this._activeViewer = value ? 'REDACTED' : 'ANNOTATED'; + this._activateViewer(this._activeViewer); + } + public ngOnInit(): void { // PDFTRON cache fix localStorage.clear(); @@ -103,7 +113,7 @@ export class FilePreviewScreenComponent implements OnInit { return this._viewerSyncService.activeViewer; } - public activateViewer(value: string) { + private _activateViewer(value: string) { this._viewerSyncService.activateViewer(value); } diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index f60bf4b26..b16f64902 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -323,11 +323,8 @@ } }, "file-preview": { - "annotated": { - "label": "Review Annotations" - }, - "redacted": { - "label": "Preview Redaction" + "view-toggle": { + "label": "Redacted View" }, "download-redacted": { "label": "Download Redacted" diff --git a/apps/red-ui/src/assets/styles/red-theme.scss b/apps/red-ui/src/assets/styles/red-theme.scss index 7e92f84ae..5e9e49174 100644 --- a/apps/red-ui/src/assets/styles/red-theme.scss +++ b/apps/red-ui/src/assets/styles/red-theme.scss @@ -7,6 +7,7 @@ @import "red-dialog"; @import "red-input"; @import "red-select"; +@import "red-toggle"; @import "red-media-queries"; @import "red-tables"; @import "red-components"; diff --git a/apps/red-ui/src/assets/styles/red-toggle.scss b/apps/red-ui/src/assets/styles/red-toggle.scss new file mode 100644 index 000000000..f8794b753 --- /dev/null +++ b/apps/red-ui/src/assets/styles/red-toggle.scss @@ -0,0 +1,23 @@ +mat-slide-toggle { + display: flex !important; + flex-direction: row-reverse; + gap: 8px; + + .mat-slide-toggle-bar { + height: 16px !important; + width: 30px !important; + border-radius: 16px !important; + } + + .mat-slide-toggle-thumb-container { + top: 2px !important; + left: 2px !important; + height: 12px !important; + width: 12px !important; + } + + .mat-slide-toggle-thumb { + height: 12px !important; + width: 12px !important; + } +}