64 lines
2.5 KiB
TypeScript
64 lines
2.5 KiB
TypeScript
import { IListable } from '@iqser/common-ui';
|
|
import { IDossierTemplate } from './dossier-template';
|
|
import { DownloadFileType } from '../shared';
|
|
import { DossierTemplateStatus, DossierTemplateStatuses } from './constants';
|
|
import { List } from '@iqser/common-ui/lib/utils';
|
|
|
|
export class DossierTemplate implements IDossierTemplate, IListable {
|
|
readonly createdBy: string;
|
|
readonly dateAdded: string;
|
|
readonly dateModified: string;
|
|
readonly description?: string;
|
|
readonly dossierTemplateId: string;
|
|
readonly downloadFileTypes: List<DownloadFileType>;
|
|
readonly modifiedBy?: string;
|
|
readonly name: string;
|
|
readonly reportTemplateIds?: List;
|
|
readonly validFrom?: string;
|
|
readonly validTo?: string;
|
|
readonly dossierTemplateStatus: DossierTemplateStatus;
|
|
readonly keepHiddenText: boolean;
|
|
readonly keepImageMetadata: boolean;
|
|
readonly keepOverlappingObjects: boolean;
|
|
readonly applyDictionaryUpdatesToAllDossiersByDefault: boolean;
|
|
|
|
constructor(dossierTemplate: IDossierTemplate) {
|
|
this.createdBy = dossierTemplate.createdBy;
|
|
this.dateAdded = dossierTemplate.dateAdded;
|
|
this.dateModified = dossierTemplate.dateModified;
|
|
this.description = dossierTemplate.description;
|
|
this.dossierTemplateId = dossierTemplate.dossierTemplateId;
|
|
this.downloadFileTypes = dossierTemplate.downloadFileTypes;
|
|
this.modifiedBy = dossierTemplate.modifiedBy;
|
|
this.name = dossierTemplate.name;
|
|
this.reportTemplateIds = dossierTemplate.reportTemplateIds;
|
|
this.validFrom = dossierTemplate.validFrom;
|
|
this.validTo = dossierTemplate.validTo;
|
|
this.dossierTemplateStatus = dossierTemplate.dossierTemplateStatus;
|
|
this.keepHiddenText = dossierTemplate.keepHiddenText;
|
|
this.keepImageMetadata = dossierTemplate.keepImageMetadata;
|
|
this.keepOverlappingObjects = dossierTemplate.keepOverlappingObjects;
|
|
this.applyDictionaryUpdatesToAllDossiersByDefault = dossierTemplate.applyDictionaryUpdatesToAllDossiersByDefault;
|
|
}
|
|
|
|
get isActive(): boolean {
|
|
return this.dossierTemplateStatus === DossierTemplateStatuses.ACTIVE;
|
|
}
|
|
|
|
get id(): string {
|
|
return this.dossierTemplateId;
|
|
}
|
|
|
|
get searchKey(): string {
|
|
return this.name;
|
|
}
|
|
|
|
get routerLink(): string {
|
|
return `/main/admin/dossier-templates/${this.dossierTemplateId}`;
|
|
}
|
|
|
|
get dossiersRouterLink(): string {
|
|
return `/main/${this.dossierTemplateId}/dossiers`;
|
|
}
|
|
}
|