Merge branch 'master' into VM/NotificationsPreferences
This commit is contained in:
commit
0a9cd64c36
@ -173,7 +173,6 @@
|
|||||||
<redaction-annotations-list
|
<redaction-annotations-list
|
||||||
(deselectAnnotations)="deselectAnnotations.emit($event)"
|
(deselectAnnotations)="deselectAnnotations.emit($event)"
|
||||||
(pagesPanelActive)="pagesPanelActive = $event"
|
(pagesPanelActive)="pagesPanelActive = $event"
|
||||||
(selectAnnotations)="selectAnnotations.emit($event)"
|
|
||||||
[(multiSelectActive)]="multiSelectActive"
|
[(multiSelectActive)]="multiSelectActive"
|
||||||
[activeViewerPage]="activeViewerPage"
|
[activeViewerPage]="activeViewerPage"
|
||||||
[annotationActionsTemplate]="annotationActionsTemplate"
|
[annotationActionsTemplate]="annotationActionsTemplate"
|
||||||
@ -196,7 +195,7 @@
|
|||||||
<ng-template #annotationFilterActionTemplate let-filter="filter">
|
<ng-template #annotationFilterActionTemplate let-filter="filter">
|
||||||
<iqser-circle-button
|
<iqser-circle-button
|
||||||
(action)="toggleSkipped.emit($event)"
|
(action)="toggleSkipped.emit($event)"
|
||||||
*ngIf="filter.key === 'skipped'"
|
*ngIf="filter.id === 'skipped'"
|
||||||
[icon]="hideSkipped ? 'red:visibility-off' : 'red:visibility'"
|
[icon]="hideSkipped ? 'red:visibility-off' : 'red:visibility'"
|
||||||
[type]="circleButtonTypes.dark"
|
[type]="circleButtonTypes.dark"
|
||||||
></iqser-circle-button>
|
></iqser-circle-button>
|
||||||
|
|||||||
@ -8,7 +8,7 @@ import { FileDataModel } from '@models/file/file-data.model';
|
|||||||
import { PermissionsService } from '@services/permissions.service';
|
import { PermissionsService } from '@services/permissions.service';
|
||||||
import { WebViewerInstance } from '@pdftron/webviewer';
|
import { WebViewerInstance } from '@pdftron/webviewer';
|
||||||
import { BehaviorSubject, combineLatest, Observable } from 'rxjs';
|
import { BehaviorSubject, combineLatest, Observable } from 'rxjs';
|
||||||
import { map } from 'rxjs/operators';
|
import { map, tap } from 'rxjs/operators';
|
||||||
|
|
||||||
const COMMAND_KEY_ARRAY = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Escape'];
|
const COMMAND_KEY_ARRAY = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Escape'];
|
||||||
const ALL_HOTKEY_ARRAY = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'];
|
const ALL_HOTKEY_ARRAY = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'];
|
||||||
@ -43,17 +43,19 @@ export class FileWorkloadComponent {
|
|||||||
@Output() readonly actionPerformed = new EventEmitter<string>();
|
@Output() readonly actionPerformed = new EventEmitter<string>();
|
||||||
displayedPages: number[] = [];
|
displayedPages: number[] = [];
|
||||||
pagesPanelActive = true;
|
pagesPanelActive = true;
|
||||||
readonly displayedAnnotations$ = this._displayedAnnotations$;
|
private _annotations$ = new BehaviorSubject<AnnotationWrapper[]>([]);
|
||||||
@ViewChild('annotationsElement') private readonly _annotationsElement: ElementRef;
|
@ViewChild('annotationsElement') private readonly _annotationsElement: ElementRef;
|
||||||
@ViewChild('quickNavigation') private readonly _quickNavigationElement: ElementRef;
|
@ViewChild('quickNavigation') private readonly _quickNavigationElement: ElementRef;
|
||||||
private _annotations$ = new BehaviorSubject<AnnotationWrapper[]>([]);
|
readonly displayedAnnotations$: Observable<Map<number, AnnotationWrapper[]>>;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private readonly _permissionsService: PermissionsService,
|
private readonly _permissionsService: PermissionsService,
|
||||||
private readonly _changeDetectorRef: ChangeDetectorRef,
|
private readonly _changeDetectorRef: ChangeDetectorRef,
|
||||||
private readonly _filterService: FilterService,
|
private readonly _filterService: FilterService,
|
||||||
private readonly _annotationProcessingService: AnnotationProcessingService
|
private readonly _annotationProcessingService: AnnotationProcessingService
|
||||||
) {}
|
) {
|
||||||
|
this.displayedAnnotations$ = this._displayedAnnotations$;
|
||||||
|
}
|
||||||
|
|
||||||
@Input()
|
@Input()
|
||||||
set annotations(value: AnnotationWrapper[]) {
|
set annotations(value: AnnotationWrapper[]) {
|
||||||
@ -95,7 +97,8 @@ export class FileWorkloadComponent {
|
|||||||
private get _displayedAnnotations$(): Observable<Map<number, AnnotationWrapper[]>> {
|
private get _displayedAnnotations$(): Observable<Map<number, AnnotationWrapper[]>> {
|
||||||
const primary$ = this._filterService.getFilterModels$('primaryFilters');
|
const primary$ = this._filterService.getFilterModels$('primaryFilters');
|
||||||
const secondary$ = this._filterService.getFilterModels$('secondaryFilters');
|
const secondary$ = this._filterService.getFilterModels$('secondaryFilters');
|
||||||
return combineLatest([this._annotations$, primary$, secondary$]).pipe(
|
|
||||||
|
return combineLatest([this._annotations$.asObservable(), primary$, secondary$]).pipe(
|
||||||
map(([annotations, primary, secondary]) => this._filterAnnotations(annotations, primary, secondary))
|
map(([annotations, primary, secondary]) => this._filterAnnotations(annotations, primary, secondary))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -111,10 +114,6 @@ export class FileWorkloadComponent {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
logAnnotation(annotation: AnnotationWrapper) {
|
|
||||||
console.log(annotation);
|
|
||||||
}
|
|
||||||
|
|
||||||
pageHasSelection(page: number) {
|
pageHasSelection(page: number) {
|
||||||
return this.multiSelectActive && !!this.selectedAnnotations?.find(a => a.pageNumber === page);
|
return this.multiSelectActive && !!this.selectedAnnotations?.find(a => a.pageNumber === page);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
import { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';
|
import {Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges} from '@angular/core';
|
||||||
import { ViewedPages, ViewedPagesControllerService } from '@redaction/red-ui-http';
|
import {ViewedPages, ViewedPagesControllerService} from '@redaction/red-ui-http';
|
||||||
import { AppStateService } from '@state/app-state.service';
|
import {AppStateService} from '@state/app-state.service';
|
||||||
import { PermissionsService } from '@services/permissions.service';
|
import {PermissionsService} from '@services/permissions.service';
|
||||||
import { ConfigService } from '@services/config.service';
|
import {ConfigService} from '@services/config.service';
|
||||||
import { Subscription } from 'rxjs';
|
import {Subscription} from 'rxjs';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'redaction-page-indicator',
|
selector: 'redaction-page-indicator',
|
||||||
@ -27,7 +27,8 @@ export class PageIndicatorComponent implements OnChanges, OnInit, OnDestroy {
|
|||||||
private readonly _appStateService: AppStateService,
|
private readonly _appStateService: AppStateService,
|
||||||
private readonly _configService: ConfigService,
|
private readonly _configService: ConfigService,
|
||||||
private readonly _permissionService: PermissionsService
|
private readonly _permissionService: PermissionsService
|
||||||
) {}
|
) {
|
||||||
|
}
|
||||||
|
|
||||||
get read() {
|
get read() {
|
||||||
return this.viewedPages?.pages?.findIndex(p => p.page === this.number) >= 0;
|
return this.viewedPages?.pages?.findIndex(p => p.page === this.number) >= 0;
|
||||||
@ -95,9 +96,9 @@ export class PageIndicatorComponent implements OnChanges, OnInit, OnDestroy {
|
|||||||
|
|
||||||
private _markPageRead() {
|
private _markPageRead() {
|
||||||
this._viewedPagesControllerService
|
this._viewedPagesControllerService
|
||||||
.addPage({ page: this.number }, this._appStateService.activeDossierId, this._appStateService.activeFileId)
|
.addPage({page: this.number}, this._appStateService.activeDossierId, this._appStateService.activeFileId)
|
||||||
.subscribe(page => {
|
.subscribe(() => {
|
||||||
this.viewedPages?.pages?.push(page);
|
this.viewedPages?.pages?.push({page: this.number, fileId: this._appStateService.activeFileId});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -198,7 +198,7 @@
|
|||||||
<ng-template #annotationFilterTemplate let-filter="filter">
|
<ng-template #annotationFilterTemplate let-filter="filter">
|
||||||
<redaction-type-filter *ngIf="filter.topLevelFilter" [filter]="filter"></redaction-type-filter>
|
<redaction-type-filter *ngIf="filter.topLevelFilter" [filter]="filter"></redaction-type-filter>
|
||||||
<ng-container *ngIf="!filter.topLevelFilter">
|
<ng-container *ngIf="!filter.topLevelFilter">
|
||||||
<redaction-dictionary-annotation-icon [dictionaryKey]="filter.key"></redaction-dictionary-annotation-icon>
|
<redaction-dictionary-annotation-icon [dictionaryKey]="filter.id"></redaction-dictionary-annotation-icon>
|
||||||
{{ filter.key | humanize: false }}
|
{{ filter.id | humanize: false }}
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|||||||
@ -289,6 +289,7 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni
|
|||||||
this.annotationData = newAnnotationsData;
|
this.annotationData = newAnnotationsData;
|
||||||
const annotationFilters = this._annotationProcessingService.getAnnotationFilter(this.annotations);
|
const annotationFilters = this._annotationProcessingService.getAnnotationFilter(this.annotations);
|
||||||
const primaryFilters = this._filterService.getGroup('primaryFilters')?.filters;
|
const primaryFilters = this._filterService.getGroup('primaryFilters')?.filters;
|
||||||
|
console.log(annotationFilters);
|
||||||
this._filterService.addFilterGroup({
|
this._filterService.addFilterGroup({
|
||||||
slug: 'primaryFilters',
|
slug: 'primaryFilters',
|
||||||
filterTemplate: this._filterTemplate,
|
filterTemplate: this._filterTemplate,
|
||||||
@ -300,6 +301,8 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni
|
|||||||
filterTemplate: this._filterTemplate,
|
filterTemplate: this._filterTemplate,
|
||||||
filters: processFilters(secondaryFilters, AnnotationProcessingService.secondaryAnnotationFilters)
|
filters: processFilters(secondaryFilters, AnnotationProcessingService.secondaryAnnotationFilters)
|
||||||
});
|
});
|
||||||
|
console.log(this.annotations);
|
||||||
|
console.log(this.appStateService.activeFile);
|
||||||
console.log('[REDACTION] Process time: ' + (new Date().getTime() - processStartTime) + 'ms');
|
console.log('[REDACTION] Process time: ' + (new Date().getTime() - processStartTime) + 'ms');
|
||||||
console.log(
|
console.log(
|
||||||
'[REDACTION] Annotation Redraw and filter rebuild time: ' +
|
'[REDACTION] Annotation Redraw and filter rebuild time: ' +
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"ADMIN_CONTACT_NAME": null,
|
"ADMIN_CONTACT_NAME": null,
|
||||||
"ADMIN_CONTACT_URL": null,
|
"ADMIN_CONTACT_URL": null,
|
||||||
"API_URL": "https://dom1.iqser.cloud/redaction-gateway-v1",
|
"API_URL": "https://dev-06.iqser.cloud/redaction-gateway-v1",
|
||||||
"APP_NAME": "RedactManager",
|
"APP_NAME": "RedactManager",
|
||||||
"AUTO_READ_TIME": 1.5,
|
"AUTO_READ_TIME": 1.5,
|
||||||
"BACKEND_APP_VERSION": "4.4.40",
|
"BACKEND_APP_VERSION": "4.4.40",
|
||||||
@ -17,7 +17,7 @@
|
|||||||
"MAX_RETRIES_ON_SERVER_ERROR": 3,
|
"MAX_RETRIES_ON_SERVER_ERROR": 3,
|
||||||
"OAUTH_CLIENT_ID": "redaction",
|
"OAUTH_CLIENT_ID": "redaction",
|
||||||
"OAUTH_IDP_HINT": null,
|
"OAUTH_IDP_HINT": null,
|
||||||
"OAUTH_URL": "https://dom1.iqser.cloud/auth/realms/redaction",
|
"OAUTH_URL": "https://dev-06.iqser.cloud/auth/realms/redaction",
|
||||||
"RECENT_PERIOD_IN_HOURS": 24,
|
"RECENT_PERIOD_IN_HOURS": 24,
|
||||||
"SELECTION_MODE": "structural"
|
"SELECTION_MODE": "structural"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.atlassian.bamboo</groupId>
|
<groupId>com.atlassian.bamboo</groupId>
|
||||||
<artifactId>bamboo-specs-parent</artifactId>
|
<artifactId>bamboo-specs-parent</artifactId>
|
||||||
<version>7.2.2</version>
|
<version>8.0.2</version>
|
||||||
<relativePath/>
|
<relativePath/>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -94,7 +94,7 @@ public class PlanSpec {
|
|||||||
// create tag with this version
|
// create tag with this version
|
||||||
new VcsTagTask().tagName("${bamboo.inject.APP_VERSION}").repository("RED / ui")
|
new VcsTagTask().tagName("${bamboo.inject.APP_VERSION}").repository("RED / ui")
|
||||||
).dockerConfiguration(
|
).dockerConfiguration(
|
||||||
new DockerConfiguration().image("nexus.iqser.com:5001/infra/release_build:2.9.1")
|
new DockerConfiguration().image("nexus.iqser.com:5001/infra/release_build:4.2.0")
|
||||||
.volume("/var/lib/docker", "/var/lib/docker")
|
.volume("/var/lib/docker", "/var/lib/docker")
|
||||||
.volume("/var/run/docker.sock", "/var/run/docker.sock"))
|
.volume("/var/run/docker.sock", "/var/run/docker.sock"))
|
||||||
.artifacts(new Artifact("version").location(".").copyPattern("**/version.properties").shared(true),
|
.artifacts(new Artifact("version").location(".").copyPattern("**/version.properties").shared(true),
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit 1ab7d6bbad76ab82ce3582101d60cecb5494122b
|
Subproject commit 54eb8173cf7ce35f29f4e9df309954bbd1cf7a5c
|
||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "redaction",
|
"name": "redaction",
|
||||||
"version": "2.241.0",
|
"version": "2.242.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user