RED-8563: fixed workload filter closing upon clicking on it.

This commit is contained in:
Nicoleta Panaghiu 2024-02-16 13:50:37 +02:00
parent 7345991f03
commit 7d72c78b11
4 changed files with 16 additions and 16 deletions

View File

@ -6,32 +6,32 @@
</div> </div>
<iqser-initials-avatar <iqser-initials-avatar
*ngIf="!editingReviewer" *ngIf="!state.isEditingReviewer()"
[id]="'assignee'" [id]="'assignee'"
[user]="file.assignee" [user]="file.assignee"
[withName]="!!file.assignee" [withName]="!!file.assignee"
></iqser-initials-avatar> ></iqser-initials-avatar>
<div <div
(click)="editingReviewer = true" (click)="state.isEditingReviewer.set(true)"
*ngIf="!editingReviewer && _canAssignReviewer()" *ngIf="!state.isEditingReviewer() && _canAssignReviewer()"
[id]="'assign-reviewer'" [id]="'assign-reviewer'"
[translate]="'file-preview.assign-reviewer'" [translate]="'file-preview.assign-reviewer'"
class="assign-reviewer pointer" class="assign-reviewer pointer"
></div> ></div>
<redaction-assign-user-dropdown <redaction-assign-user-dropdown
(cancel)="editingReviewer = false" (cancel)="state.isEditingReviewer.set(false)"
(save)="assignReviewer(file, $event)" (save)="assignReviewer(file, $event)"
*ngIf="editingReviewer" *ngIf="state.isEditingReviewer()"
[options]="_usersOptions()" [options]="_usersOptions()"
[value]="file.assignee" [value]="file.assignee"
iqserStopPropagation iqserStopPropagation
></redaction-assign-user-dropdown> ></redaction-assign-user-dropdown>
<div *ngIf="!editingReviewer && _canAssign()" class="assign-actions-wrapper"> <div *ngIf="!state.isEditingReviewer() && _canAssign()" class="assign-actions-wrapper">
<iqser-circle-button <iqser-circle-button
(action)="editingReviewer = true" (action)="state.isEditingReviewer.set(true)"
*ngIf="_canAssignOrUnassign() && !!file.assignee" *ngIf="_canAssignOrUnassign() && !!file.assignee"
[attr.help-mode-key]="'editor_assign_user'" [attr.help-mode-key]="'editor_assign_user'"
[buttonId]="'change-assignee'" [buttonId]="'change-assignee'"

View File

@ -45,7 +45,6 @@ export class UserManagementComponent implements OnInit, OnDestroy {
? _('file-preview.change-reviewer') ? _('file-preview.change-reviewer')
: _('file-preview.assign-reviewer'); : _('file-preview.assign-reviewer');
}); });
editingReviewer = false;
constructor( constructor(
readonly fileAssignService: FileAssignService, readonly fileAssignService: FileAssignService,
@ -76,7 +75,7 @@ export class UserManagementComponent implements OnInit, OnDestroy {
const translateParams = { reviewerName: this.userService.getName(assigneeId), filename: file.filename }; const translateParams = { reviewerName: this.userService.getName(assigneeId), filename: file.filename };
this.toaster.success(_('assignment.reviewer'), { params: translateParams }); this.toaster.success(_('assignment.reviewer'), { params: translateParams });
this.editingReviewer = false; this.state.isEditingReviewer.set(false);
} }
ngOnInit() { ngOnInit() {
@ -90,21 +89,21 @@ export class UserManagementComponent implements OnInit, OnDestroy {
@Bind() @Bind()
handleViewerClick() { handleViewerClick() {
this.ngZone.run(() => { this.ngZone.run(() => {
this.editingReviewer = false; this.state.isEditingReviewer.set(false);
}); });
} }
@HostListener('document:click') @HostListener('document:click')
clickOutside() { clickOutside() {
if (this.editingReviewer) { if (this.state.isEditingReviewer()) {
this.editingReviewer = false; this.state.isEditingReviewer.set(false);
} }
} }
@HostListener('document:keyup', ['$event']) @HostListener('document:keyup', ['$event'])
handleEsc($event: KeyboardEvent) { handleEsc($event: KeyboardEvent) {
if ($event.key === 'Escape' && this.editingReviewer) { if ($event.key === 'Escape' && this.state.isEditingReviewer()) {
this.editingReviewer = false; this.state.isEditingReviewer.set(false);
} }
} }

View File

@ -94,7 +94,7 @@
</div> </div>
<div class="right-container"> <div class="right-container">
<redaction-file-preview-right-container iqserDisableStopPropagation></redaction-file-preview-right-container> <redaction-file-preview-right-container [iqserDisableStopPropagation]="state.isEditingReviewer()"></redaction-file-preview-right-container>
</div> </div>
</div> </div>
</section> </section>

View File

@ -1,5 +1,5 @@
import { HttpEvent, HttpEventType, HttpProgressEvent, HttpResponse } from '@angular/common/http'; import { HttpEvent, HttpEventType, HttpProgressEvent, HttpResponse } from '@angular/common/http';
import { computed, effect, inject, Injectable, Signal } from '@angular/core'; import { computed, effect, inject, Injectable, signal, Signal } from '@angular/core';
import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop'; import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
import { LoadingService, wipeCache } from '@iqser/common-ui'; import { LoadingService, wipeCache } from '@iqser/common-ui';
import { getParam } from '@iqser/common-ui/lib/utils'; import { getParam } from '@iqser/common-ui/lib/utils';
@ -45,6 +45,7 @@ export class FilePreviewStateService {
readonly dossierTemplateId = getParam(DOSSIER_TEMPLATE_ID); readonly dossierTemplateId = getParam(DOSSIER_TEMPLATE_ID);
readonly fileId = getParam(FILE_ID); readonly fileId = getParam(FILE_ID);
readonly updateExcludedPagesStyle = computed(() => this.file().excludedPages); readonly updateExcludedPagesStyle = computed(() => this.file().excludedPages);
readonly isEditingReviewer = signal(false);
constructor( constructor(
private readonly _permissionsService: PermissionsService, private readonly _permissionsService: PermissionsService,