85 lines
2.1 KiB
TypeScript
85 lines
2.1 KiB
TypeScript
|
import { DescriptionTemplateStatus } from "@app/core/common/enum/description-template-status";
|
||
|
import { BaseEntityPersist } from "@common/base/base-entity.model";
|
||
|
import { Guid } from "@common/types/guid";
|
||
|
import { DescriptionTemplateType } from "../description-template-type/description-template-type";
|
||
|
|
||
|
|
||
|
export interface DescriptionTemplatePersist extends BaseEntityPersist {
|
||
|
label: string;
|
||
|
description: string;
|
||
|
groupId: Guid;
|
||
|
version: string;
|
||
|
language: string;
|
||
|
type: DescriptionTemplateType;
|
||
|
status: DescriptionTemplateStatus;
|
||
|
definition: DescriptionTemplateDefinitionPersist;
|
||
|
}
|
||
|
|
||
|
export interface DescriptionTemplateDefinitionPersist {
|
||
|
pages?: DescriptionTemplatePagePersist[];
|
||
|
sections?: DescriptionTemplateSectionPersist[];
|
||
|
}
|
||
|
|
||
|
|
||
|
export interface DescriptionTemplatePagePersist {
|
||
|
id: Guid;
|
||
|
ordinal: number;
|
||
|
title: string;
|
||
|
}
|
||
|
|
||
|
export interface DescriptionTemplateSectionPersist {
|
||
|
id: Guid;
|
||
|
ordinal: number;
|
||
|
defaultVisibility: boolean;
|
||
|
multiplicity: boolean;
|
||
|
numbering: string;
|
||
|
page: string;
|
||
|
title: string;
|
||
|
description: string;
|
||
|
extendedDescription: string;
|
||
|
|
||
|
sections?: DescriptionTemplateSectionPersist[];
|
||
|
fieldSets: DescriptionTemplateFieldSetPersist[];
|
||
|
}
|
||
|
|
||
|
export interface DescriptionTemplateFieldSetPersist {
|
||
|
id: Guid;
|
||
|
ordinal: number;
|
||
|
numbering: string;
|
||
|
title: string;
|
||
|
description: string;
|
||
|
extendedDescription: string;
|
||
|
additionalInformation: string;
|
||
|
multiplicity: DescriptionTemplateMultiplicityPersist
|
||
|
hasCommentField: boolean;
|
||
|
fields: DescriptionTemplateFieldPersist[];
|
||
|
}
|
||
|
|
||
|
export interface DescriptionTemplateFieldPersist {
|
||
|
id: Guid;
|
||
|
ordinal: number;
|
||
|
numbering: string;
|
||
|
schematics: string[];
|
||
|
defaultValue: string;
|
||
|
visibilityRules: DescriptionTemplateRulePersist[];
|
||
|
// validations: DescriptionTemplateFieldValidationType[];
|
||
|
// fieldType: DescriptionTemplateFieldType;
|
||
|
includeInExport: boolean;
|
||
|
data: DescriptionTemplateBaseFieldDataPersist;
|
||
|
}
|
||
|
|
||
|
export interface DescriptionTemplateRulePersist {
|
||
|
target: string;
|
||
|
value: string;
|
||
|
}
|
||
|
|
||
|
export interface DescriptionTemplateMultiplicityPersist {
|
||
|
min: number;
|
||
|
max: number;
|
||
|
placeholder: string;
|
||
|
tableView: boolean;
|
||
|
}
|
||
|
|
||
|
export interface DescriptionTemplateBaseFieldDataPersist {
|
||
|
label: string;
|
||
|
}
|