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 04fda1f91f
commit 7ec242397c
4 changed files with 16 additions and 16 deletions

View File

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

View File

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

View File

@ -94,7 +94,7 @@
</div>
<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>
</section>

View File

@ -1,5 +1,5 @@
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 { LoadingService, wipeCache } from '@iqser/common-ui';
import { getParam } from '@iqser/common-ui/lib/utils';
@ -45,6 +45,7 @@ export class FilePreviewStateService {
readonly dossierTemplateId = getParam(DOSSIER_TEMPLATE_ID);
readonly fileId = getParam(FILE_ID);
readonly updateExcludedPagesStyle = computed(() => this.file().excludedPages);
readonly isEditingReviewer = signal(false);
constructor(
private readonly _permissionsService: PermissionsService,