diff --git a/apps/red-ui/src/app/app.module.ts b/apps/red-ui/src/app/app.module.ts index e151ff455..1fb83493c 100644 --- a/apps/red-ui/src/app/app.module.ts +++ b/apps/red-ui/src/app/app.module.ts @@ -61,6 +61,7 @@ import { MatInputModule } from '@angular/material/input'; import { ProjectMemberGuard } from './auth/project-member-guard.service'; import { HumanizePipe } from './utils/humanize.pipe'; import { ManualAnnotationDialogComponent } from './dialogs/manual-redaction-dialog/manual-annotation-dialog.component'; +import { FileNotAvailableOverlayComponent } from './screens/file/file-not-available-overlay/file-not-available-overlay.component'; import { ToastComponent } from './components/toast/toast.component'; export function HttpLoaderFactory(httpClient: HttpClient) { diff --git a/apps/red-ui/src/app/common/initials-avatar/initials-avatar.component.html b/apps/red-ui/src/app/common/initials-avatar/initials-avatar.component.html index d174eefb8..858e82d99 100644 --- a/apps/red-ui/src/app/common/initials-avatar/initials-avatar.component.html +++ b/apps/red-ui/src/app/common/initials-avatar/initials-avatar.component.html @@ -1,4 +1,4 @@ -
+
{{ initials }}
{{ username || ('initials-avatar.unassigned.label' | translate) }} diff --git a/apps/red-ui/src/app/dialogs/assign-owner-dialog/assign-owner-dialog.component.ts b/apps/red-ui/src/app/dialogs/assign-owner-dialog/assign-owner-dialog.component.ts index e9c38157e..93ea9a9ec 100644 --- a/apps/red-ui/src/app/dialogs/assign-owner-dialog/assign-owner-dialog.component.ts +++ b/apps/red-ui/src/app/dialogs/assign-owner-dialog/assign-owner-dialog.component.ts @@ -108,6 +108,6 @@ export class AssignOwnerDialogComponent { } get multiUsersSelectOptions() { - return this.userService.allUsers.map((m) => m.userId); + return this.userService.eligibleUsers.map((m) => m.userId); } } diff --git a/apps/red-ui/src/app/screens/file/file-not-available-overlay/file-not-available-overlay.component.html b/apps/red-ui/src/app/screens/file/file-not-available-overlay/file-not-available-overlay.component.html new file mode 100644 index 000000000..b3ad35c1c --- /dev/null +++ b/apps/red-ui/src/app/screens/file/file-not-available-overlay/file-not-available-overlay.component.html @@ -0,0 +1 @@ +

file-not-available-overlay works!

diff --git a/apps/red-ui/src/app/screens/file/file-not-available-overlay/file-not-available-overlay.component.scss b/apps/red-ui/src/app/screens/file/file-not-available-overlay/file-not-available-overlay.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/apps/red-ui/src/app/screens/file/file-not-available-overlay/file-not-available-overlay.component.ts b/apps/red-ui/src/app/screens/file/file-not-available-overlay/file-not-available-overlay.component.ts new file mode 100644 index 000000000..ff096a3d1 --- /dev/null +++ b/apps/red-ui/src/app/screens/file/file-not-available-overlay/file-not-available-overlay.component.ts @@ -0,0 +1,12 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'redaction-file-not-available-overlay', + templateUrl: './file-not-available-overlay.component.html', + styleUrls: ['./file-not-available-overlay.component.scss'] +}) +export class FileNotAvailableOverlayComponent implements OnInit { + constructor() {} + + ngOnInit(): void {} +} diff --git a/apps/red-ui/src/app/screens/file/pdf-viewer/pdf-viewer.component.ts b/apps/red-ui/src/app/screens/file/pdf-viewer/pdf-viewer.component.ts index ba1ae8cd7..1983f4c2c 100644 --- a/apps/red-ui/src/app/screens/file/pdf-viewer/pdf-viewer.component.ts +++ b/apps/red-ui/src/app/screens/file/pdf-viewer/pdf-viewer.component.ts @@ -169,6 +169,7 @@ export class PdfViewerComponent implements OnInit, AfterViewInit, OnChanges { 'textUnderlineToolButton', 'textSquigglyToolButton', 'textStrikeoutToolButton', + 'viewControlsButton', 'linkButton', 'toggleNotesButton', 'notesPanel', @@ -332,6 +333,9 @@ export class PdfViewerComponent implements OnInit, AfterViewInit, OnChanges { } else { // viewer init this.instance.setFitMode('FitPage'); + const instanceDisplayMode = instance.docViewer.getDisplayModeManager().getDisplayMode(); + instanceDisplayMode.mode = 'Single'; + instance.docViewer.getDisplayModeManager().setDisplayMode(instanceDisplayMode); } } } diff --git a/apps/red-ui/src/app/user/user.service.ts b/apps/red-ui/src/app/user/user.service.ts index 47d7f849e..8dc7ee8e8 100644 --- a/apps/red-ui/src/app/user/user.service.ts +++ b/apps/red-ui/src/app/user/user.service.ts @@ -56,6 +56,12 @@ export class UserService { return this._allUsers.filter((u) => u.roles.indexOf('RED_MANAGER') >= 0); } + get eligibleUsers() { + return this._allUsers.filter( + (u) => u.roles.indexOf('RED_USER') >= 0 || u.roles.indexOf('RED_MANAGER') >= 0 + ); + } + async loadAllUsersIfNecessary() { if (!this._allUsers) { await this.loadAllUsers(); diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index e302ad2f2..4d4d40b24 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -440,7 +440,7 @@ }, "project-details": { "project-team": { - "label": "Project team" + "label": "Review Team" }, "charts": { "total-documents": { @@ -559,10 +559,10 @@ "label": "Owner" }, "multi-user": { - "label": "Members" + "label": "Review Team" }, "title": { - "label": "Manage Project Owner and Members" + "label": "Manage Project Owner and Review Team" }, "save": { "label": "Save" diff --git a/libs/red-ui-http/src/lib/model/typeValue.ts b/libs/red-ui-http/src/lib/model/typeValue.ts index 425705e78..3ecc2fb39 100644 --- a/libs/red-ui-http/src/lib/model/typeValue.ts +++ b/libs/red-ui-http/src/lib/model/typeValue.ts @@ -18,6 +18,7 @@ export interface TypeValue { * True if the entries in this type should be matched case insensitively, default is false. */ caseInsensitive?: boolean; + defaultFilter?: boolean; /** * The value of color must be a correct hex color */ @@ -30,6 +31,5 @@ export interface TypeValue { * The nonnull entry type. */ type?: string; - - [key: string]: any; + isDefaultFilter?: boolean; }