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 b922e88c6..25d2e89bb 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
@@ -120,7 +120,7 @@
diff --git a/apps/red-ui/src/app/screens/project-listing-screen/project-listing-screen.component.ts b/apps/red-ui/src/app/screens/project-listing-screen/project-listing-screen.component.ts
index ba2a3f0ff..8247f709c 100644
--- a/apps/red-ui/src/app/screens/project-listing-screen/project-listing-screen.component.ts
+++ b/apps/red-ui/src/app/screens/project-listing-screen/project-listing-screen.component.ts
@@ -93,6 +93,10 @@ export class ProjectListingScreenComponent implements OnInit {
return this.appStateService.totalAnalysedPages;
}
+ get totalPeople(){
+ return this.appStateService.totalPeople;
+ }
+
documentCount(project: ProjectWrapper) {
return project.files.length;
}
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 5d115e7d0..66b63dd97 100644
--- a/apps/red-ui/src/app/state/app-state.service.ts
+++ b/apps/red-ui/src/app/state/app-state.service.ts
@@ -12,6 +12,7 @@ export interface AppState {
activeFile: FileStatus;
totalAnalysedPages?: number;
totalDocuments?: number;
+ totalPeople?: number;
}
export class ProjectWrapper {
@@ -31,6 +32,7 @@ export class AppStateService {
private _appState: AppState;
+
constructor(
private readonly _router: Router,
private readonly _projectControllerService: ProjectControllerService,
@@ -45,8 +47,8 @@ export class AppStateService {
}
get aggregatedFiles(): FileStatus[] {
- const result : FileStatus[] =[];
- this._appState.projects.forEach(p =>{
+ const result: FileStatus[] = [];
+ this._appState.projects.forEach(p => {
result.push(...p.files);
})
return result;
@@ -55,6 +57,7 @@ export class AppStateService {
get activeProjectId(): string {
return this._appState.activeProject?.project?.projectId;
}
+
get activeProject(): ProjectWrapper {
return this._appState.activeProject;
}
@@ -71,6 +74,10 @@ export class AppStateService {
return this._appState.totalAnalysedPages;
}
+ get totalPeople() {
+ return this._appState.totalPeople;
+ }
+
get totalDocuments() {
return this._appState.totalDocuments;
}
@@ -150,13 +157,18 @@ export class AppStateService {
private _computeStats() {
let totalAnalysedPages = 0;
let totalDocuments = 0;
+ const totalPeople = new Set();
this._appState.projects.forEach(p => {
totalDocuments += p.files.length;
+ if (p.project.memberIds) {
+ p.project.memberIds.forEach(m => totalPeople.add(m));
+ }
p.files.forEach(f => {
totalAnalysedPages += f.numberOfPages;
})
})
+ this._appState.totalPeople = totalPeople.size;
this._appState.totalAnalysedPages = totalAnalysedPages;
this._appState.totalDocuments = totalDocuments;