argos/dmp-frontend/src/app/core/model/description-template/description-template-persis...

85 lines
2.1 KiB
TypeScript
Raw Normal View History

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;
}