Merge branch 'master' into VM/NotificationsPreferences

This commit is contained in:
Valentin 2021-09-30 11:58:46 +03:00
commit 0a9cd64c36
11 changed files with 31 additions and 29 deletions

View File

@ -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>

View File

@ -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);
} }

View File

@ -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});
}); });
} }

View File

@ -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>

View File

@ -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: ' +

View File

@ -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"
} }

View File

@ -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>

View File

@ -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

View File

@ -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.