Disable bulk actions state change in workflow mode

This commit is contained in:
Adina Țeudan 2021-12-08 00:35:24 +02:00
parent b99bd42cca
commit 26ca367e3f

View File

@ -1,11 +1,12 @@
import { ChangeDetectionStrategy, Component, Input, OnChanges } from '@angular/core';
import { PermissionsService } from '@services/permissions.service';
import { Action, ActionTypes, Dossier, File } from '@red/domain';
import { CircleButtonType, CircleButtonTypes, Required } from '@iqser/common-ui';
import { CircleButtonType, CircleButtonTypes, ListingModes, Required } from '@iqser/common-ui';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { LongPressEvent } from '@shared/directives/long-press.directive';
import { UserPreferenceService } from '@services/user-preference.service';
import { BulkActionsService } from '../../services/bulk-actions.service';
import { ConfigService } from '../../config.service';
@Component({
selector: 'redaction-dossier-overview-bulk-actions',
@ -39,6 +40,7 @@ export class DossierOverviewBulkActionsComponent implements OnChanges {
private readonly _permissionsService: PermissionsService,
private readonly _userPreferenceService: UserPreferenceService,
private readonly _bulkActionsService: BulkActionsService,
private readonly _configService: ConfigService,
) {}
private get _buttons(): Action[] {
@ -126,6 +128,8 @@ export class DossierOverviewBulkActionsComponent implements OnChanges {
private _setup() {
if (this.selectedFiles.length) {
const isWorkflow = this._configService.listingMode === ListingModes.workflow;
const allFilesAreUnderReviewOrUnassigned = this.selectedFiles.reduce(
(acc, file) => acc && (file.isUnderReview || file.isNew),
true,
@ -147,15 +151,15 @@ export class DossierOverviewBulkActionsComponent implements OnChanges {
this.canOcr = this.selectedFiles.reduce((acc, file) => acc && file.canBeOCRed, true);
this.canSetToUnderReview = this._permissionsService.canSetUnderReview(this.selectedFiles);
this.canSetToUnderReview = this._permissionsService.canSetUnderReview(this.selectedFiles) && !isWorkflow;
this.canSetToUnderApproval = this._permissionsService.canSetUnderApproval(this.selectedFiles);
this.canSetToUnderApproval = this._permissionsService.canSetUnderApproval(this.selectedFiles) && !isWorkflow;
this.isReadyForApproval = this._permissionsService.isReadyForApproval(this.selectedFiles);
this.isReadyForApproval = this._permissionsService.isReadyForApproval(this.selectedFiles) && !isWorkflow;
this.canApprove = this._permissionsService.canBeApproved(this.selectedFiles);
this.canApprove = this._permissionsService.canBeApproved(this.selectedFiles) && !isWorkflow;
this.canUndoApproval = this._permissionsService.canUndoApproval(this.selectedFiles);
this.canUndoApproval = this._permissionsService.canUndoApproval(this.selectedFiles) && !isWorkflow;
this.assignTooltip = allFilesAreUnderApproval ? _('dossier-overview.assign-approver') : _('dossier-overview.assign-reviewer');