RED-8884: improved force redaction dialog.

This commit is contained in:
Nicoleta Panaghiu 2024-04-09 17:01:31 +03:00
parent 6fbf7a36f1
commit a1c5e43f8e
3 changed files with 27 additions and 5 deletions

View File

@ -4,6 +4,7 @@
<div *ngIf="isHintDialog" class="dialog-header heading-l" [translate]="'manual-annotation.dialog.header.force-hint'"></div>
<div class="dialog-content">
<redaction-selected-annotations-table [columns]="tableColumns" [data]="tableData"></redaction-selected-annotations-table>
<div *ngIf="!isHintDialog && !isDocumine" class="iqser-input-group required w-400">
<label [translate]="'manual-annotation.dialog.content.reason'"></label>
<mat-form-field>

View File

@ -1,3 +1,7 @@
.full-width {
width: 100%;
}
.dialog-content {
padding-top: 8px;
}

View File

@ -7,6 +7,7 @@ import { Dossier, ILegalBasisChangeRequest } from '@red/domain';
import { firstValueFrom } from 'rxjs';
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
import { Roles } from '@users/roles';
import { ValueColumn } from '../../components/selected-annotations-table/selected-annotations-table.component';
export interface LegalBasisOption {
label?: string;
@ -23,8 +24,24 @@ const DOCUMINE_LEGAL_BASIS = 'n-a.';
})
export class ForceAnnotationDialogComponent extends BaseDialogComponent implements OnInit {
readonly isDocumine = getConfig().IS_DOCUMINE;
protected readonly roles = Roles;
readonly tableColumns = [
{
label: 'Value',
show: true,
},
{
label: 'Type',
show: true,
},
];
readonly tableData: ValueColumn[][] = this._data.annotations.map(redaction => [
{ label: redaction.value, show: true, bold: true },
{ label: redaction.typeLabel, show: true },
]);
legalOptions: LegalBasisOption[] = [];
protected readonly roles = Roles;
constructor(
private readonly _justificationsService: JustificationsService,
@ -33,7 +50,7 @@ export class ForceAnnotationDialogComponent extends BaseDialogComponent implemen
private readonly _data: { readonly dossier: Dossier; readonly hint: boolean; annotations: AnnotationWrapper[] },
) {
super(_dialogRef);
this.form = this._getForm();
this.form = this.#getForm();
}
get isHintDialog() {
@ -66,17 +83,17 @@ export class ForceAnnotationDialogComponent extends BaseDialogComponent implemen
}
save() {
this._dialogRef.close(this._createForceRedactionRequest());
this._dialogRef.close(this.#createForceRedactionRequest());
}
private _getForm(): UntypedFormGroup {
#getForm(): UntypedFormGroup {
return this._formBuilder.group({
reason: this._data.hint ? ['Forced Hint'] : [null, !this.isDocumine ? Validators.required : null],
comment: [null],
});
}
private _createForceRedactionRequest(): ILegalBasisChangeRequest {
#createForceRedactionRequest(): ILegalBasisChangeRequest {
const request: ILegalBasisChangeRequest = {};
request.legalBasis = !this.isDocumine ? this.form.get('reason').value.legalBasis : DOCUMINE_LEGAL_BASIS;