RED-5385 - Keep hidden text option in Edit Dossier dialog
This commit is contained in:
parent
d0bbc1f994
commit
5a1bf8a3be
@ -6,7 +6,7 @@ import { CircleButtonTypes, IconButtonTypes, LoadingService, Toaster } from '@iq
|
|||||||
import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
|
import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
|
||||||
import { DossierAttributesService } from '@services/entity-services/dossier-attributes.service';
|
import { DossierAttributesService } from '@services/entity-services/dossier-attributes.service';
|
||||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||||
import { firstValueFrom, forkJoin } from 'rxjs';
|
import { firstValueFrom } from 'rxjs';
|
||||||
import dayjs from 'dayjs';
|
import dayjs from 'dayjs';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
|||||||
@ -17,24 +17,37 @@
|
|||||||
></redaction-select>
|
></redaction-select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p class="heading">{{ 'dossier-watermark-selector.heading' | translate }}</p>
|
<div>
|
||||||
<ng-container *ngIf="ctx.existsWatermarks; else noWatermarks">
|
<div>
|
||||||
<redaction-watermark-selector
|
<p class="heading">{{ 'dossier-watermark-selector.heading' | translate }}</p>
|
||||||
[dossierTemplateId]="dossier.dossierTemplateId"
|
<ng-container *ngIf="ctx.existsWatermarks; else noWatermarks">
|
||||||
[isReadonly]="!canEditDossier"
|
<redaction-watermark-selector
|
||||||
[label]="'dossier-watermark-selector.watermark' | translate"
|
[dossierTemplateId]="dossier.dossierTemplateId"
|
||||||
formControlName="watermarkId"
|
[isReadonly]="!canEditDossier"
|
||||||
>
|
[label]="'dossier-watermark-selector.watermark' | translate"
|
||||||
</redaction-watermark-selector>
|
formControlName="watermarkId"
|
||||||
|
>
|
||||||
|
</redaction-watermark-selector>
|
||||||
|
|
||||||
<redaction-watermark-selector
|
<redaction-watermark-selector
|
||||||
[dossierTemplateId]="dossier.dossierTemplateId"
|
[dossierTemplateId]="dossier.dossierTemplateId"
|
||||||
[isReadonly]="!canEditDossier"
|
[isReadonly]="!canEditDossier"
|
||||||
[label]="'dossier-watermark-selector.preview' | translate"
|
[label]="'dossier-watermark-selector.preview' | translate"
|
||||||
formControlName="previewWatermarkId"
|
formControlName="previewWatermarkId"
|
||||||
>
|
>
|
||||||
</redaction-watermark-selector>
|
</redaction-watermark-selector>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<p class="heading">{{ 'documents-hidden-text-option.heading' | translate }}</p>
|
||||||
|
<div class="iqser-input-group">
|
||||||
|
<mat-checkbox color="primary" formControlName="keepHiddenText">
|
||||||
|
{{ 'documents-hidden-text-option.title' | translate }}
|
||||||
|
</mat-checkbox>
|
||||||
|
<div class="info mt-4">{{ 'documents-hidden-text-option.description' | translate }}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<ng-template #noWatermarks>
|
<ng-template #noWatermarks>
|
||||||
<p class="no-watermark" [innerHTML]="'dossier-watermark-selector.no-watermark' | translate"></p>
|
<p class="no-watermark" [innerHTML]="'dossier-watermark-selector.no-watermark' | translate"></p>
|
||||||
|
|||||||
@ -9,6 +9,14 @@ form {
|
|||||||
|
|
||||||
> div {
|
> div {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
|
> div {
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
> div:first-child {
|
||||||
|
margin-right: 16px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -20,3 +28,7 @@ form {
|
|||||||
.no-watermark {
|
.no-watermark {
|
||||||
color: var(--iqser-grey-7);
|
color: var(--iqser-grey-7);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.info {
|
||||||
|
margin-left: 24px;
|
||||||
|
}
|
||||||
|
|||||||
@ -1,20 +1,24 @@
|
|||||||
import { Component, Input, OnInit } from '@angular/core';
|
import { Component, Input, OnInit } from '@angular/core';
|
||||||
import { Dossier, DownloadFileType, IReportTemplate } from '@red/domain';
|
import { Dossier, DossierTemplate, DownloadFileType, IDossierTemplate, IReportTemplate } from '@red/domain';
|
||||||
import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
|
import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
|
||||||
import { EditDossierSaveResult, EditDossierSectionInterface } from '../edit-dossier-section.interface';
|
import { EditDossierSaveResult, EditDossierSectionInterface } from '../edit-dossier-section.interface';
|
||||||
import { downloadTypesTranslations } from '@translations/download-types-translations';
|
import { downloadTypesTranslations } from '@translations/download-types-translations';
|
||||||
import { ReportTemplateService } from '@services/report-template.service';
|
import { ReportTemplateService } from '@services/report-template.service';
|
||||||
import { PermissionsService } from '@services/permissions.service';
|
import { PermissionsService } from '@services/permissions.service';
|
||||||
import { firstValueFrom, Observable } from 'rxjs';
|
import { firstValueFrom, forkJoin, Observable } from 'rxjs';
|
||||||
import { DossiersService } from '@services/dossiers/dossiers.service';
|
import { DossiersService } from '@services/dossiers/dossiers.service';
|
||||||
import { WatermarksMapService } from '@services/entity-services/watermarks-map.service';
|
import { WatermarksMapService } from '@services/entity-services/watermarks-map.service';
|
||||||
import { ContextComponent, shareLast } from '@iqser/common-ui';
|
import { ContextComponent, shareLast } from '@iqser/common-ui';
|
||||||
import { tap } from 'rxjs/operators';
|
import { tap } from 'rxjs/operators';
|
||||||
|
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service';
|
||||||
|
|
||||||
interface EditDossierDownloadPackageContext {
|
interface EditDossierDownloadPackageContext {
|
||||||
existsWatermarks: boolean;
|
existsWatermarks: boolean;
|
||||||
|
dossierTemplate: IDossierTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const KEEP_HIDDEN_TEXT_KEY = 'keepHiddenText';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'redaction-edit-dossier-download-package',
|
selector: 'redaction-edit-dossier-download-package',
|
||||||
templateUrl: './edit-dossier-download-package.component.html',
|
templateUrl: './edit-dossier-download-package.component.html',
|
||||||
@ -35,11 +39,14 @@ export class EditDossierDownloadPackageComponent
|
|||||||
|
|
||||||
#existsWatermarks$: Observable<boolean>;
|
#existsWatermarks$: Observable<boolean>;
|
||||||
|
|
||||||
|
#dossierTemplate: DossierTemplate;
|
||||||
|
|
||||||
@Input() dossier: Dossier;
|
@Input() dossier: Dossier;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private readonly _dossiersService: DossiersService,
|
private readonly _dossiersService: DossiersService,
|
||||||
private readonly _reportTemplateController: ReportTemplateService,
|
private readonly _reportTemplateController: ReportTemplateService,
|
||||||
|
private readonly _dossierTemplatesService: DossierTemplatesService,
|
||||||
private readonly _formBuilder: UntypedFormBuilder,
|
private readonly _formBuilder: UntypedFormBuilder,
|
||||||
private readonly _permissionsService: PermissionsService,
|
private readonly _permissionsService: PermissionsService,
|
||||||
private readonly _watermarksMapService: WatermarksMapService,
|
private readonly _watermarksMapService: WatermarksMapService,
|
||||||
@ -61,21 +68,27 @@ export class EditDossierDownloadPackageComponent
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (const key of Object.keys(this.form.getRawValue())) {
|
for (const key of Object.keys(this.form.getRawValue())) {
|
||||||
if (key.toLowerCase().includes('watermark')) {
|
if (key !== KEEP_HIDDEN_TEXT_KEY) {
|
||||||
if (this.dossier[key] !== this.form.get(key).value) {
|
if (key.toLowerCase().includes('watermark')) {
|
||||||
return true;
|
if (this.dossier[key] !== this.form.get(key).value) {
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (this.dossier[key].length !== this.form.get(key).value.length) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
const originalItems = [...this.dossier[key]].sort();
|
|
||||||
const newItems = [...this.form.get(key).value].sort();
|
|
||||||
|
|
||||||
for (let idx = 0; idx < originalItems.length; ++idx) {
|
|
||||||
if (originalItems[idx] !== newItems[idx]) {
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
if (this.dossier[key].length !== this.form.get(key).value.length) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
const originalItems = [...this.dossier[key]].sort();
|
||||||
|
const newItems = [...this.form.get(key).value].sort();
|
||||||
|
|
||||||
|
for (let idx = 0; idx < originalItems.length; ++idx) {
|
||||||
|
if (originalItems[idx] !== newItems[idx]) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (this.#dossierTemplate.keepHiddenText !== this.form.get(KEEP_HIDDEN_TEXT_KEY).value) {
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -100,10 +113,16 @@ export class EditDossierDownloadPackageComponent
|
|||||||
async ngOnInit() {
|
async ngOnInit() {
|
||||||
const dossierTemplateId = this.dossier.dossierTemplateId;
|
const dossierTemplateId = this.dossier.dossierTemplateId;
|
||||||
|
|
||||||
|
this.#dossierTemplate = this._dossierTemplatesService.find(dossierTemplateId);
|
||||||
|
const dossierTemplate$ = this._dossierTemplatesService
|
||||||
|
.getEntityChanged$(dossierTemplateId)
|
||||||
|
.pipe(tap(dossierTemplate => (this.#dossierTemplate = dossierTemplate)));
|
||||||
|
|
||||||
this.#existsWatermarks$ = this._watermarksMapService.watchChanged$(dossierTemplateId).pipe(shareLast());
|
this.#existsWatermarks$ = this._watermarksMapService.watchChanged$(dossierTemplateId).pipe(shareLast());
|
||||||
|
|
||||||
super._initContext({
|
super._initContext({
|
||||||
existsWatermarks: this.#existsWatermarks$,
|
existsWatermarks: this.#existsWatermarks$,
|
||||||
|
dossierTemplate: dossierTemplate$,
|
||||||
});
|
});
|
||||||
|
|
||||||
this.availableReportTypes = (await this._reportTemplateController.getAvailableReportTemplates(dossierTemplateId)) || [];
|
this.availableReportTypes = (await this._reportTemplateController.getAvailableReportTemplates(dossierTemplateId)) || [];
|
||||||
@ -123,8 +142,14 @@ export class EditDossierDownloadPackageComponent
|
|||||||
previewWatermarkId: this.form.get('previewWatermarkId').value,
|
previewWatermarkId: this.form.get('previewWatermarkId').value,
|
||||||
};
|
};
|
||||||
|
|
||||||
const updatedDossier = await firstValueFrom(this._dossiersService.createOrUpdate(dossier));
|
const dossierTemplate = {
|
||||||
return { success: !!updatedDossier };
|
...this.#dossierTemplate,
|
||||||
|
keepHiddenText: this.form.get('keepHiddenText').value,
|
||||||
|
};
|
||||||
|
|
||||||
|
const updateDossier = await firstValueFrom(this._dossiersService.createOrUpdate(dossier));
|
||||||
|
const updateDossierTemplate = await this._dossierTemplatesService.createOrUpdate(dossierTemplate);
|
||||||
|
return { success: !!updateDossier && !!updateDossierTemplate };
|
||||||
}
|
}
|
||||||
|
|
||||||
revert() {
|
revert() {
|
||||||
@ -133,6 +158,7 @@ export class EditDossierDownloadPackageComponent
|
|||||||
reportTemplateIds: this.dossier.reportTemplateIds,
|
reportTemplateIds: this.dossier.reportTemplateIds,
|
||||||
watermarkId: this.dossier.watermarkId,
|
watermarkId: this.dossier.watermarkId,
|
||||||
previewWatermarkId: this.dossier.previewWatermarkId,
|
previewWatermarkId: this.dossier.previewWatermarkId,
|
||||||
|
keepHiddenText: [this.#dossierTemplate.keepHiddenText],
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -143,6 +169,7 @@ export class EditDossierDownloadPackageComponent
|
|||||||
downloadFileTypes: [this.dossier.downloadFileTypes],
|
downloadFileTypes: [this.dossier.downloadFileTypes],
|
||||||
watermarkId: [this.dossier.watermarkId],
|
watermarkId: [this.dossier.watermarkId],
|
||||||
previewWatermarkId: [this.dossier.previewWatermarkId],
|
previewWatermarkId: [this.dossier.previewWatermarkId],
|
||||||
|
keepHiddenText: [this.#dossierTemplate.keepHiddenText],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
validators: control =>
|
validators: control =>
|
||||||
|
|||||||
@ -741,6 +741,11 @@
|
|||||||
"save": "Dokumenteninformation speichern",
|
"save": "Dokumenteninformation speichern",
|
||||||
"title": "Datei-Attribute anlegen"
|
"title": "Datei-Attribute anlegen"
|
||||||
},
|
},
|
||||||
|
"documents-hidden-text-option": {
|
||||||
|
"description": "",
|
||||||
|
"heading": "",
|
||||||
|
"title": ""
|
||||||
|
},
|
||||||
"dossier-attribute-types": {
|
"dossier-attribute-types": {
|
||||||
"date": "Datum",
|
"date": "Datum",
|
||||||
"image": "Bild",
|
"image": "Bild",
|
||||||
@ -1217,6 +1222,17 @@
|
|||||||
"title": "Hoppla! Etwas ist schief gelaufen..."
|
"title": "Hoppla! Etwas ist schief gelaufen..."
|
||||||
},
|
},
|
||||||
"exact-date": "{day} {month} {year} um {hour}:{minute} Uhr",
|
"exact-date": "{day} {month} {year} um {hour}:{minute} Uhr",
|
||||||
|
"false-positive-dialog": {
|
||||||
|
"actions": {
|
||||||
|
"cancel": "",
|
||||||
|
"save": ""
|
||||||
|
},
|
||||||
|
"content": {
|
||||||
|
"body-text": "",
|
||||||
|
"comment": ""
|
||||||
|
},
|
||||||
|
"header": ""
|
||||||
|
},
|
||||||
"file": "Datei",
|
"file": "Datei",
|
||||||
"file-attribute-encoding-types": {
|
"file-attribute-encoding-types": {
|
||||||
"ascii": "",
|
"ascii": "",
|
||||||
@ -1994,17 +2010,6 @@
|
|||||||
"annotations": "",
|
"annotations": "",
|
||||||
"title": ""
|
"title": ""
|
||||||
},
|
},
|
||||||
"false-positive-dialog": {
|
|
||||||
"actions": {
|
|
||||||
"cancel": "",
|
|
||||||
"save": ""
|
|
||||||
},
|
|
||||||
"content": {
|
|
||||||
"comment": "",
|
|
||||||
"body-text": ""
|
|
||||||
},
|
|
||||||
"header": ""
|
|
||||||
},
|
|
||||||
"rules-screen": {
|
"rules-screen": {
|
||||||
"error": {
|
"error": {
|
||||||
"generic": "Es ist ein Fehler aufgetreten ... Die Regeln konnten nicht aktualisiert werden!"
|
"generic": "Es ist ein Fehler aufgetreten ... Die Regeln konnten nicht aktualisiert werden!"
|
||||||
|
|||||||
@ -741,6 +741,11 @@
|
|||||||
"save": "Save Document Info",
|
"save": "Save Document Info",
|
||||||
"title": "Enter File Attributes"
|
"title": "Enter File Attributes"
|
||||||
},
|
},
|
||||||
|
"documents-hidden-text-option": {
|
||||||
|
"description": "Hidden text is invisible to human readers but can be detected and read by software and machines. For example, the OCR output of scanned documents is stored as hidden text.",
|
||||||
|
"heading": "Hidden text on documents",
|
||||||
|
"title": "Keep hidden text in redacted documents"
|
||||||
|
},
|
||||||
"dossier-attribute-types": {
|
"dossier-attribute-types": {
|
||||||
"date": "Date",
|
"date": "Date",
|
||||||
"image": "Image",
|
"image": "Image",
|
||||||
@ -1217,6 +1222,17 @@
|
|||||||
"title": "Oops! Something went wrong..."
|
"title": "Oops! Something went wrong..."
|
||||||
},
|
},
|
||||||
"exact-date": "{day} {month} {year} at {hour}:{minute}",
|
"exact-date": "{day} {month} {year} at {hour}:{minute}",
|
||||||
|
"false-positive-dialog": {
|
||||||
|
"actions": {
|
||||||
|
"cancel": "Cancel",
|
||||||
|
"save": "Yes, proceed"
|
||||||
|
},
|
||||||
|
"content": {
|
||||||
|
"body-text": "''{value}'' is a false positive in this context: {context}",
|
||||||
|
"comment": "Comment"
|
||||||
|
},
|
||||||
|
"header": "False Positive"
|
||||||
|
},
|
||||||
"file": "File",
|
"file": "File",
|
||||||
"file-attribute-encoding-types": {
|
"file-attribute-encoding-types": {
|
||||||
"ascii": "ASCII",
|
"ascii": "ASCII",
|
||||||
@ -1994,17 +2010,6 @@
|
|||||||
"annotations": "",
|
"annotations": "",
|
||||||
"title": "Structured Component Management"
|
"title": "Structured Component Management"
|
||||||
},
|
},
|
||||||
"false-positive-dialog": {
|
|
||||||
"actions": {
|
|
||||||
"cancel": "Cancel",
|
|
||||||
"save": "Yes, proceed"
|
|
||||||
},
|
|
||||||
"content": {
|
|
||||||
"comment": "Comment",
|
|
||||||
"body-text": "''{value}'' is a false positive in this context: {context}"
|
|
||||||
},
|
|
||||||
"header": "False Positive"
|
|
||||||
},
|
|
||||||
"rules-screen": {
|
"rules-screen": {
|
||||||
"error": {
|
"error": {
|
||||||
"generic": "Something went wrong... Rules update failed!"
|
"generic": "Something went wrong... Rules update failed!"
|
||||||
|
|||||||
@ -741,6 +741,11 @@
|
|||||||
"save": "Dokumenteninformation speichern",
|
"save": "Dokumenteninformation speichern",
|
||||||
"title": "Datei-Attribute anlegen"
|
"title": "Datei-Attribute anlegen"
|
||||||
},
|
},
|
||||||
|
"documents-hidden-text-option": {
|
||||||
|
"description": "",
|
||||||
|
"heading": "",
|
||||||
|
"title": ""
|
||||||
|
},
|
||||||
"dossier-attribute-types": {
|
"dossier-attribute-types": {
|
||||||
"date": "Datum",
|
"date": "Datum",
|
||||||
"image": "Bild",
|
"image": "Bild",
|
||||||
@ -1217,6 +1222,17 @@
|
|||||||
"title": "Hoppla! Etwas ist schief gelaufen..."
|
"title": "Hoppla! Etwas ist schief gelaufen..."
|
||||||
},
|
},
|
||||||
"exact-date": "{day} {month} {year} um {hour}:{minute} Uhr",
|
"exact-date": "{day} {month} {year} um {hour}:{minute} Uhr",
|
||||||
|
"false-positive-dialog": {
|
||||||
|
"actions": {
|
||||||
|
"cancel": "",
|
||||||
|
"save": ""
|
||||||
|
},
|
||||||
|
"content": {
|
||||||
|
"body-text": "",
|
||||||
|
"comment": ""
|
||||||
|
},
|
||||||
|
"header": ""
|
||||||
|
},
|
||||||
"file": "Datei",
|
"file": "Datei",
|
||||||
"file-attribute-encoding-types": {
|
"file-attribute-encoding-types": {
|
||||||
"ascii": "",
|
"ascii": "",
|
||||||
|
|||||||
@ -741,6 +741,11 @@
|
|||||||
"save": "Save Document Info",
|
"save": "Save Document Info",
|
||||||
"title": "Enter File Attributes"
|
"title": "Enter File Attributes"
|
||||||
},
|
},
|
||||||
|
"documents-hidden-text-option": {
|
||||||
|
"description": "Hidden text is invisible to human readers but can be detected and read by software and machines. For example, the OCR output of scanned documents is stored as hidden text.",
|
||||||
|
"heading": "Hidden text on documents",
|
||||||
|
"title": "Keep hidden text in redacted documents"
|
||||||
|
},
|
||||||
"dossier-attribute-types": {
|
"dossier-attribute-types": {
|
||||||
"date": "Date",
|
"date": "Date",
|
||||||
"image": "Image",
|
"image": "Image",
|
||||||
@ -1217,6 +1222,17 @@
|
|||||||
"title": "Oops! Something went wrong..."
|
"title": "Oops! Something went wrong..."
|
||||||
},
|
},
|
||||||
"exact-date": "{day} {month} {year} at {hour}:{minute}",
|
"exact-date": "{day} {month} {year} at {hour}:{minute}",
|
||||||
|
"false-positive-dialog": {
|
||||||
|
"actions": {
|
||||||
|
"cancel": "",
|
||||||
|
"save": ""
|
||||||
|
},
|
||||||
|
"content": {
|
||||||
|
"body-text": "",
|
||||||
|
"comment": ""
|
||||||
|
},
|
||||||
|
"header": ""
|
||||||
|
},
|
||||||
"file": "File",
|
"file": "File",
|
||||||
"file-attribute-encoding-types": {
|
"file-attribute-encoding-types": {
|
||||||
"ascii": "ASCII",
|
"ascii": "ASCII",
|
||||||
|
|||||||
@ -16,6 +16,7 @@ export class DossierTemplate implements IDossierTemplate, IListable {
|
|||||||
readonly validFrom?: string;
|
readonly validFrom?: string;
|
||||||
readonly validTo?: string;
|
readonly validTo?: string;
|
||||||
readonly dossierTemplateStatus: DossierTemplateStatus;
|
readonly dossierTemplateStatus: DossierTemplateStatus;
|
||||||
|
readonly keepHiddenText: boolean;
|
||||||
|
|
||||||
constructor(dossierTemplate: IDossierTemplate) {
|
constructor(dossierTemplate: IDossierTemplate) {
|
||||||
this.createdBy = dossierTemplate.createdBy;
|
this.createdBy = dossierTemplate.createdBy;
|
||||||
@ -30,6 +31,7 @@ export class DossierTemplate implements IDossierTemplate, IListable {
|
|||||||
this.validFrom = dossierTemplate.validFrom;
|
this.validFrom = dossierTemplate.validFrom;
|
||||||
this.validTo = dossierTemplate.validTo;
|
this.validTo = dossierTemplate.validTo;
|
||||||
this.dossierTemplateStatus = dossierTemplate.dossierTemplateStatus;
|
this.dossierTemplateStatus = dossierTemplate.dossierTemplateStatus;
|
||||||
|
this.keepHiddenText = dossierTemplate.keepHiddenText;
|
||||||
}
|
}
|
||||||
|
|
||||||
get isActive(): boolean {
|
get isActive(): boolean {
|
||||||
|
|||||||
@ -48,4 +48,8 @@ export interface IDossierTemplate {
|
|||||||
*/
|
*/
|
||||||
readonly validTo?: string;
|
readonly validTo?: string;
|
||||||
readonly dossierTemplateStatus: DossierTemplateStatus;
|
readonly dossierTemplateStatus: DossierTemplateStatus;
|
||||||
|
/**
|
||||||
|
* Hidden text is invisible to human readers but can be detected and read by software and machines
|
||||||
|
*/
|
||||||
|
readonly keepHiddenText: boolean;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user