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 dd611a74e..2ff6978b6 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
@@ -79,6 +79,12 @@
Dictionary: {{getDictionary(annotation.Id)}}
Page: {{annotation.getPageNumber()}}
Content: {{annotation.getContents()}}
+
+
+
+
diff --git a/apps/red-ui/src/app/screens/file/file-preview-screen/file-preview-screen.component.scss b/apps/red-ui/src/app/screens/file/file-preview-screen/file-preview-screen.component.scss
index 3c513245a..3688a4a0f 100644
--- a/apps/red-ui/src/app/screens/file/file-preview-screen/file-preview-screen.component.scss
+++ b/apps/red-ui/src/app/screens/file/file-preview-screen/file-preview-screen.component.scss
@@ -39,7 +39,7 @@ redaction-pdf-viewer {
box-sizing: border-box;
scrollbar-width: none; /* Firefox */
- -ms-overflow-style: none; /* IE 10+ */
+ -ms-overflow-style: none; /* IE 10+ */
&::-webkit-scrollbar {
width: 0;
background: transparent; /* Chrome/Safari/Webkit */
@@ -73,10 +73,28 @@ redaction-pdf-viewer {
padding: 14px;
font-size: 12px;
cursor: pointer;
+ position: relative;
+
+ &:hover {
+ background-color: #F9FAFB;
+
+ .annotation-actions {
+ display: flex;
+ }
+ }
&.active {
border-left: 2px solid $red-1;
}
+
+ .annotation-actions {
+ position: absolute;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ display: none;
+ width: 40px;
+ }
}
.page-navigation {
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 29941a22e..e63f48b4f 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
@@ -135,6 +135,7 @@ export class FilePreviewScreenComponent implements OnInit {
public handleAnnotationSelected(annotation: Annotations.Annotation) {
this.selectedAnnotation = annotation;
+ this.selectTab('ANNOTATIONS');
this.scrollToAnnotation(annotation);
this._changeDetectorRef.detectChanges();
}
@@ -230,6 +231,31 @@ export class FilePreviewScreenComponent implements OnInit {
const parts = id.split(':');
return parts.length >= 2 ? parts[1] : 'n/a';
}
+
+ // async getText(pageNumber: number, rect) {
+ // const viewerObject = this._viewerSyncService.activeViewerObject;
+ //
+ // const { PDFNet } = viewerObject;
+ // await PDFNet.initialize();
+ // const pdfDoc = await viewerObject.docViewer.getDocument().getPDFDoc();
+ // const txt = await PDFNet.TextExtractor.create();
+ // await txt.begin(await pdfDoc.getPage(pageNumber), rect);
+ //
+ // // Extract words one by one.
+ // let text = '';
+ // let line = await txt.getFirstLine();
+ // for (; (await line.isValid()); line = (await line.getNextLine())) {
+ // for (let word = await line.getFirstWord(); (await word.isValid()); word = (await word.getNextWord())) {
+ // await word.getString();
+ // text += word;
+ // }
+ // }
+ // console.log(text);
+ // }
+
+ suggestRemoveAnnotation($event: MouseEvent, annotation: Annotations.Annotation) {
+ $event.stopPropagation();
+ }
}
diff --git a/apps/red-ui/src/app/screens/file/service/viewer-sync.service.ts b/apps/red-ui/src/app/screens/file/service/viewer-sync.service.ts
index e3dc8887d..01a372a29 100644
--- a/apps/red-ui/src/app/screens/file/service/viewer-sync.service.ts
+++ b/apps/red-ui/src/app/screens/file/service/viewer-sync.service.ts
@@ -13,6 +13,15 @@ export class ViewerSyncService {
constructor() {
}
+ get activeViewerObject(): WebViewerInstance{
+ if (this._activeViewer) {
+ const activeViewer = this._viewers[this._activeViewer];
+ console.log(activeViewer,this._activeViewer);
+ return activeViewer;
+ }
+ return undefined;
+ }
+
get activeViewerPage() {
if (this._activeViewer) {
const lastActiveViewer = this._viewers[this._activeViewer];
diff --git a/apps/red-ui/src/app/screens/project-listing-screen/project-listing-screen.component.html b/apps/red-ui/src/app/screens/project-listing-screen/project-listing-screen.component.html
index 206de9dc2..0d80afd24 100644
--- a/apps/red-ui/src/app/screens/project-listing-screen/project-listing-screen.component.html
+++ b/apps/red-ui/src/app/screens/project-listing-screen/project-listing-screen.component.html
@@ -69,15 +69,15 @@
diff --git a/apps/red-ui/src/app/screens/project-overview-screen/project-overview-screen.component.html b/apps/red-ui/src/app/screens/project-overview-screen/project-overview-screen.component.html
index cb2827b44..ad86c50d7 100644
--- a/apps/red-ui/src/app/screens/project-overview-screen/project-overview-screen.component.html
+++ b/apps/red-ui/src/app/screens/project-overview-screen/project-overview-screen.component.html
@@ -90,24 +90,26 @@
- {{ appStateService.activeProject.files.length }}
+ {{ appStateService.activeProject.files.length }}
-
9
- {{ appStateService.activeProject.project.date | date:'d MMM. yyyy' }}
+ 1
+
+
+ {{ appStateService.activeProject.project.date | date:'d MMM. yyyy' }}
diff --git a/apps/red-ui/src/app/state/app-state.guard.ts b/apps/red-ui/src/app/state/app-state.guard.ts
index bd7b81c08..f8307059e 100644
--- a/apps/red-ui/src/app/state/app-state.guard.ts
+++ b/apps/red-ui/src/app/state/app-state.guard.ts
@@ -13,7 +13,7 @@ export class AppStateGuard implements CanActivate {
}
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable
| Promise | boolean | UrlTree {
- return this._appStateService.loadAllProjects().then(t => {
+ return this._appStateService.loadAllProjectsIfNecessary().then(t => {
return true;
})
}
diff --git a/apps/red-ui/src/app/state/app-state.service.ts b/apps/red-ui/src/app/state/app-state.service.ts
index 4b9e47d01..bc884c3e9 100644
--- a/apps/red-ui/src/app/state/app-state.service.ts
+++ b/apps/red-ui/src/app/state/app-state.service.ts
@@ -56,17 +56,17 @@ export class AppStateService {
return this._appState.activeFile;
}
- get totalAnalysedPages(){
+ get totalAnalysedPages() {
return this._appState.totalAnalysedPages;
}
- get totalDocuments(){
- return this._appState.totalDocuments ;
+ get totalDocuments() {
+ return this._appState.totalDocuments;
}
async loadAllProjects() {
const projects = await this._projectControllerService.getProjects().toPromise();
- if(projects) {
+ if (projects) {
this._appState.projects = projects.map(p => {
return new ProjectWrapper(p, []);
});
@@ -154,4 +154,10 @@ export class AppStateService {
async reloadActiveProjectFiles() {
await this.getFiles(this._appState.activeProject.project.projectId);
}
+
+ async loadAllProjectsIfNecessary() {
+ if (!this._appState.projects.length) {
+ await this.loadAllProjects();
+ }
+ }
}