added directive to determine long press of 'command' or 'ctrl' keys to can force the reanalysis of documents
This commit is contained in:
parent
c26fae8ef1
commit
8b5b78b775
@ -7,7 +7,7 @@
|
|||||||
<ng-container *ngTemplateOutlet="actions"></ng-container>
|
<ng-container *ngTemplateOutlet="actions"></ng-container>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-template #actions>
|
<ng-template #actions redactionLongPress (longPress)="forceReanalysisAction()">
|
||||||
<div class="file-actions" *ngIf="fileStatus">
|
<div class="file-actions" *ngIf="fileStatus">
|
||||||
<iqser-circle-button
|
<iqser-circle-button
|
||||||
(action)="openDeleteFileDialog($event)"
|
(action)="openDeleteFileDialog($event)"
|
||||||
@ -136,7 +136,6 @@
|
|||||||
icon="iqser:refresh"
|
icon="iqser:refresh"
|
||||||
[type]="circleButtonTypes.dark"
|
[type]="circleButtonTypes.dark"
|
||||||
></iqser-circle-button>
|
></iqser-circle-button>
|
||||||
|
|
||||||
<!-- exclude from redaction -->
|
<!-- exclude from redaction -->
|
||||||
<div class="iqser-input-group">
|
<div class="iqser-input-group">
|
||||||
<mat-slide-toggle
|
<mat-slide-toggle
|
||||||
|
|||||||
@ -10,6 +10,7 @@ import { FileManagementControllerService, FileStatus } from '@redaction/red-ui-h
|
|||||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||||
import { UserService } from '@services/user.service';
|
import { UserService } from '@services/user.service';
|
||||||
import { filter } from 'rxjs/operators';
|
import { filter } from 'rxjs/operators';
|
||||||
|
import { UserPreferenceService } from '../../../../services/user-preference.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'redaction-file-actions',
|
selector: 'redaction-file-actions',
|
||||||
@ -43,6 +44,8 @@ export class FileActionsComponent extends AutoUnsubscribe implements OnInit, OnD
|
|||||||
readyForApproval: boolean;
|
readyForApproval: boolean;
|
||||||
canToggleAnalysis: boolean;
|
canToggleAnalysis: boolean;
|
||||||
|
|
||||||
|
private _reanalysisHasBeenForced = false;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
readonly permissionsService: PermissionsService,
|
readonly permissionsService: PermissionsService,
|
||||||
readonly appStateService: AppStateService,
|
readonly appStateService: AppStateService,
|
||||||
@ -51,7 +54,8 @@ export class FileActionsComponent extends AutoUnsubscribe implements OnInit, OnD
|
|||||||
private readonly _loadingService: LoadingService,
|
private readonly _loadingService: LoadingService,
|
||||||
private readonly _fileManagementControllerService: FileManagementControllerService,
|
private readonly _fileManagementControllerService: FileManagementControllerService,
|
||||||
private readonly _userService: UserService,
|
private readonly _userService: UserService,
|
||||||
private readonly _toaster: Toaster
|
private readonly _toaster: Toaster,
|
||||||
|
private readonly _userPreferenceService: UserPreferenceService
|
||||||
) {
|
) {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
@ -194,6 +198,13 @@ export class FileActionsComponent extends AutoUnsubscribe implements OnInit, OnD
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
forceReanalysisAction() {
|
||||||
|
if (this._userPreferenceService.areDevFeaturesEnabled) {
|
||||||
|
this.canReanalyse = true;
|
||||||
|
this._reanalysisHasBeenForced = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private _setup() {
|
private _setup() {
|
||||||
this.statusBarConfig = [{ color: this.fileStatus.status, length: 1 }];
|
this.statusBarConfig = [{ color: this.fileStatus.status, length: 1 }];
|
||||||
this.tooltipPosition = this.screen === 'file-preview' ? 'below' : 'above';
|
this.tooltipPosition = this.screen === 'file-preview' ? 'below' : 'above';
|
||||||
@ -208,7 +219,9 @@ export class FileActionsComponent extends AutoUnsubscribe implements OnInit, OnD
|
|||||||
this.canAssignToSelf = this.permissionsService.canAssignToSelf(this.fileStatus);
|
this.canAssignToSelf = this.permissionsService.canAssignToSelf(this.fileStatus);
|
||||||
this.canAssign = this.permissionsService.canAssignUser(this.fileStatus);
|
this.canAssign = this.permissionsService.canAssignUser(this.fileStatus);
|
||||||
this.canDelete = this.permissionsService.canDeleteFile(this.fileStatus);
|
this.canDelete = this.permissionsService.canDeleteFile(this.fileStatus);
|
||||||
this.canReanalyse = this.permissionsService.canReanalyseFile(this.fileStatus);
|
if (!this._reanalysisHasBeenForced) {
|
||||||
|
this.canReanalyse = this.permissionsService.canReanalyseFile(this.fileStatus);
|
||||||
|
}
|
||||||
this.canSetToUnderReview = this.permissionsService.canSetUnderReview(this.fileStatus);
|
this.canSetToUnderReview = this.permissionsService.canSetUnderReview(this.fileStatus);
|
||||||
this.canSetToUnderApproval = this.permissionsService.canSetUnderApproval(this.fileStatus);
|
this.canSetToUnderApproval = this.permissionsService.canSetUnderApproval(this.fileStatus);
|
||||||
this.readyForApproval = this.permissionsService.isReadyForApproval(this.fileStatus);
|
this.readyForApproval = this.permissionsService.isReadyForApproval(this.fileStatus);
|
||||||
|
|||||||
@ -0,0 +1,28 @@
|
|||||||
|
import { Directive, EventEmitter, HostListener, Output } from '@angular/core';
|
||||||
|
|
||||||
|
const LONG_PRESS_TIMEOUT = 500;
|
||||||
|
|
||||||
|
@Directive({
|
||||||
|
selector: '[redactionLongPress]'
|
||||||
|
})
|
||||||
|
export class LongPressDirective {
|
||||||
|
private _touchTimeout: any;
|
||||||
|
|
||||||
|
@Output() longPress = new EventEmitter();
|
||||||
|
|
||||||
|
constructor() {}
|
||||||
|
|
||||||
|
@HostListener('window:keydown.control')
|
||||||
|
@HostListener('window:keydown.meta')
|
||||||
|
touchStart() {
|
||||||
|
this._touchTimeout = setTimeout(() => {
|
||||||
|
this.longPress.emit({});
|
||||||
|
}, LONG_PRESS_TIMEOUT);
|
||||||
|
}
|
||||||
|
|
||||||
|
@HostListener('window:keyup.control')
|
||||||
|
@HostListener('window:keyup.meta')
|
||||||
|
touchEnd() {
|
||||||
|
clearTimeout(this._touchTimeout);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -24,6 +24,7 @@ import { MonacoEditorModule } from '@materia-ui/ngx-monaco-editor';
|
|||||||
import { AssignUserDropdownComponent } from './components/assign-user-dropdown/assign-user-dropdown.component';
|
import { AssignUserDropdownComponent } from './components/assign-user-dropdown/assign-user-dropdown.component';
|
||||||
import { PageHeaderComponent } from './components/page-header/page-header.component';
|
import { PageHeaderComponent } from './components/page-header/page-header.component';
|
||||||
import { DatePipe } from '@shared/pipes/date.pipe';
|
import { DatePipe } from '@shared/pipes/date.pipe';
|
||||||
|
import { LongPressDirective } from '@shared/directives/long-press.directive';
|
||||||
|
|
||||||
const buttons = [FileDownloadBtnComponent, UserButtonComponent];
|
const buttons = [FileDownloadBtnComponent, UserButtonComponent];
|
||||||
|
|
||||||
@ -44,7 +45,7 @@ const components = [
|
|||||||
...buttons
|
...buttons
|
||||||
];
|
];
|
||||||
|
|
||||||
const utils = [DatePipe, NavigateLastDossiersScreenDirective];
|
const utils = [DatePipe, NavigateLastDossiersScreenDirective, LongPressDirective];
|
||||||
|
|
||||||
const modules = [MatConfigModule, ScrollingModule, IconsModule, FormsModule, ReactiveFormsModule, CommonUiModule];
|
const modules = [MatConfigModule, ScrollingModule, IconsModule, FormsModule, ReactiveFormsModule, CommonUiModule];
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user