226 lines
7.3 KiB
TypeScript
226 lines
7.3 KiB
TypeScript
import { DescriptionTemplateFieldAutocompleteType } from "@app/core/common/enum/description-template-field-autocomplete-type";
|
|
import { DescriptionTemplateFieldDataExternalDatasetType } from "@app/core/common/enum/description-template-field-data-external-dataset-type";
|
|
import { DescriptionTemplateFieldType } from "@app/core/common/enum/description-template-field-type";
|
|
import { DescriptionTemplateFieldValidationType } from "@app/core/common/enum/description-template-field-validation-type";
|
|
import { DescriptionTemplateStatus } from "@app/core/common/enum/description-template-status";
|
|
import { UserDescriptionTemplateRole } from "@app/core/common/enum/user-description-template-role";
|
|
import { BaseEntityPersist } from "@common/base/base-entity.model";
|
|
import { Guid } from "@common/types/guid";
|
|
|
|
|
|
export interface DescriptionTemplatePersist extends BaseEntityPersist {
|
|
label: string;
|
|
description: string;
|
|
language: string;
|
|
type: Guid;
|
|
status: DescriptionTemplateStatus;
|
|
definition: DescriptionTemplateDefinitionPersist;
|
|
users: UserDescriptionTemplatePersist[];
|
|
}
|
|
|
|
export interface UserDescriptionTemplatePersist {
|
|
userId?: Guid;
|
|
role?: UserDescriptionTemplateRole;
|
|
}
|
|
|
|
export interface DescriptionTemplateDefinitionPersist {
|
|
pages?: DescriptionTemplatePagePersist[];
|
|
sections?: DescriptionTemplateSectionPersist[];
|
|
}
|
|
|
|
|
|
export interface DescriptionTemplatePagePersist {
|
|
id: string;
|
|
ordinal: number;
|
|
title: string;
|
|
}
|
|
|
|
export interface DescriptionTemplateSectionPersist {
|
|
id: string;
|
|
ordinal: number;
|
|
defaultVisibility: boolean;
|
|
multiplicity: boolean;
|
|
page: string;
|
|
title: string;
|
|
description: string;
|
|
|
|
sections?: DescriptionTemplateSectionPersist[];
|
|
fieldSets: DescriptionTemplateFieldSetPersist[];
|
|
}
|
|
|
|
export interface DescriptionTemplateFieldSetPersist {
|
|
id: string;
|
|
ordinal: number;
|
|
numbering: string;
|
|
title: string;
|
|
description: string;
|
|
extendedDescription: string;
|
|
additionalInformation: string;
|
|
multiplicity: DescriptionTemplateMultiplicityPersist;
|
|
hasCommentField: boolean;
|
|
fields: DescriptionTemplateFieldPersist[];
|
|
}
|
|
|
|
export interface DescriptionTemplateFieldPersist {
|
|
id: string;
|
|
ordinal: number;
|
|
schematics: string[];
|
|
defaultValue: string;
|
|
visibilityRules: DescriptionTemplateRulePersist[];
|
|
validations: DescriptionTemplateFieldValidationType[];
|
|
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;
|
|
fieldType: DescriptionTemplateFieldType;
|
|
}
|
|
|
|
//
|
|
// Field Types
|
|
//
|
|
export interface DescriptionTemplateAutoCompleteDataPersist extends DescriptionTemplateBaseFieldDataPersist {
|
|
multiAutoComplete: boolean;
|
|
autoCompleteSingleDataList: DescriptionTemplateAutoCompleteSingleDataPersist[];
|
|
}
|
|
|
|
export interface DescriptionTemplateBooleanDecisionDataPersist extends DescriptionTemplateBaseFieldDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplateDatasetAutoCompleteDataPersist extends DescriptionTemplatePlaceholderAndMultiplicityDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplateDmpAutoCompleteDataPersist extends DescriptionTemplatePlaceholderAndMultiplicityDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplateCheckBoxDataPersist extends DescriptionTemplateBaseFieldDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplateDatePickerDataPersist extends DescriptionTemplateBaseFieldDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplateExternalDatasetDataPersist extends DescriptionTemplateBaseFieldDataPersist {
|
|
multiAutoComplete: boolean;
|
|
type: DescriptionTemplateFieldDataExternalDatasetType;
|
|
}
|
|
|
|
export interface DescriptionTemplateFreeTextDataPersist extends DescriptionTemplateBaseFieldDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplatePlaceholderAndMultiplicityDataPersist extends DescriptionTemplateBaseFieldDataPersist {
|
|
multiAutoComplete: boolean;
|
|
}
|
|
export interface DescriptionTemplateLicenseDataPersist extends DescriptionTemplatePlaceholderAndMultiplicityDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplateOrganizationDataPersist extends DescriptionTemplatePlaceholderAndMultiplicityDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplatePublicationDataPersist extends DescriptionTemplatePlaceholderAndMultiplicityDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplateRadioBoxDataPersist extends DescriptionTemplateBaseFieldDataPersist {
|
|
options: DescriptionTemplateRadioBoxOptionPersist[];
|
|
}
|
|
|
|
export interface DescriptionTemplateRegistryDataPersist extends DescriptionTemplatePlaceholderAndMultiplicityDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplateResearcherAutoCompleteDataPersist extends DescriptionTemplatePlaceholderAndMultiplicityDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplateResearcherDataPersist extends DescriptionTemplatePlaceholderAndMultiplicityDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplateRichTextAreaDataPersist extends DescriptionTemplateBaseFieldDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplateServiceDataPersist extends DescriptionTemplatePlaceholderAndMultiplicityDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplateTagDataPersist extends DescriptionTemplateBaseFieldDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplateTaxonomyDataPersist extends DescriptionTemplatePlaceholderAndMultiplicityDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplateTextAreaDataPersist extends DescriptionTemplateBaseFieldDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplateUploadDataPersist extends DescriptionTemplateBaseFieldDataPersist {
|
|
types: DescriptionTemplateUploadOptionPersist[];
|
|
}
|
|
|
|
export interface DescriptionTemplateValidationDataPersist extends DescriptionTemplateBaseFieldDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplateDatasetIdentifierDataPersist extends DescriptionTemplateBaseFieldDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplateCurrencyDataPersist extends DescriptionTemplateBaseFieldDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplateSelectDataPersist extends DescriptionTemplateBaseFieldDataPersist {
|
|
options: DescriptionTemplateComboBoxOptionPersist[];
|
|
multiList: boolean;
|
|
}
|
|
|
|
export interface DescriptionTemplateDataRepositoryDataPersist extends DescriptionTemplatePlaceholderAndMultiplicityDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplateJournalRepositoryDataPersist extends DescriptionTemplatePlaceholderAndMultiplicityDataPersist {
|
|
}
|
|
|
|
export interface DescriptionTemplatePublicationRepositoryDataPersist extends DescriptionTemplatePlaceholderAndMultiplicityDataPersist {
|
|
}
|
|
|
|
//
|
|
// Others
|
|
//
|
|
export interface DescriptionTemplateAutoCompleteSingleDataPersist {
|
|
autocompleteType: DescriptionTemplateFieldAutocompleteType;
|
|
url: string;
|
|
autoCompleteOptions: DescriptionTemplateComboBoxOptionPersist;
|
|
optionsRoot: string;
|
|
hasAuth: boolean;
|
|
auth: DescriptionTemplateAuthAutoCompleteDataPersist
|
|
method: string;
|
|
}
|
|
|
|
export interface DescriptionTemplateAuthAutoCompleteDataPersist {
|
|
url: string;
|
|
method: string;
|
|
body: string;
|
|
path: string;
|
|
type: string;
|
|
}
|
|
|
|
export interface DescriptionTemplateComboBoxOptionPersist {
|
|
label: string;
|
|
value: string;
|
|
source: string;
|
|
uri: string;
|
|
}
|
|
|
|
export interface DescriptionTemplateRadioBoxOptionPersist {
|
|
label: string;
|
|
value: string;
|
|
}
|
|
|
|
export interface DescriptionTemplateUploadOptionPersist {
|
|
label: string;
|
|
value: string;
|
|
} |