frontend: description template model alignment
This commit is contained in:
parent
9201f265d2
commit
36c17b5853
|
@ -0,0 +1,4 @@
|
|||
export enum DescriptionTemplateFieldDataComboBoxType {
|
||||
Autocomplete = 'autocomplete',
|
||||
Wordlist = 'wordlist'
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
export enum DescriptionTemplateFieldDataExternalDatasetType {
|
||||
ReusedDataset = 'reused_dataset',
|
||||
ProducedDataset = 'produced_dataset',
|
||||
Other = 'other'
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
export enum DescriptionTemplateFieldDataInternalDmpEntryType {
|
||||
Researchers = 'researchers',
|
||||
Dmps = 'dmps',
|
||||
Datasets = 'datasets'
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
export enum DescriptionTemplateFieldType {
|
||||
COMBO_BOX = "combobox",
|
||||
BOOLEAN_DECISION = "booleanDecision",
|
||||
RADIO_BOX = "radiobox",
|
||||
INTERNAL_DMP_ENTRIES = "internalDmpEntities",
|
||||
CHECK_BOX = "checkBox",
|
||||
FREE_TEXT = "freetext",
|
||||
TEXT_AREA = "textarea",
|
||||
RICH_TEXT_AREA = "richTextarea",
|
||||
UPLOAD = "upload",
|
||||
DATE_PICKER = "datePicker",
|
||||
EXTERNAL_DATASETS = "externalDatasets",
|
||||
DATA_REPOSITORIES = "dataRepositories",
|
||||
JOURNAL_REPOSITORIES = "journalRepositories",
|
||||
PUB_REPOSITORIES = "pubRepositories",
|
||||
LICENSES = "licenses",
|
||||
TAXONOMIES = "taxonomies",
|
||||
PUBLICATIONS = "publications",
|
||||
REGISTRIES = "registries",
|
||||
SERVICES = "services",
|
||||
TAGS = "tags",
|
||||
RESEARCHERS = "researchers",
|
||||
ORGANIZATIONS = "organizations",
|
||||
DATASET_IDENTIFIER = "datasetIdentifier",
|
||||
CURRENCY = "currency",
|
||||
VALIDATION = "validation"
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
export enum DescriptionTemplateFieldValidationType {
|
||||
None = 0,
|
||||
Required = 1,
|
||||
Url = 2
|
||||
}
|
|
@ -1,81 +1,235 @@
|
|||
import { BaseEntity, BaseEntityPersist } from "@common/base/base-entity.model";
|
||||
import { DescriptionTemplateFieldDataComboBoxType } from "@app/core/common/enum/description-template-field-data-combobox-type";
|
||||
import { DescriptionTemplateFieldDataExternalDatasetType } from "@app/core/common/enum/description-template-field-data-external-dataset-type";
|
||||
import { DescriptionTemplateFieldDataInternalDmpEntryType } from "@app/core/common/enum/description-template-field-data-internal-dmp-entry-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 { BaseEntity } from "@common/base/base-entity.model";
|
||||
import { Guid } from "@common/types/guid";
|
||||
import { DescriptionTemplateType } from "../description-template-type/description-template-type";
|
||||
|
||||
|
||||
export interface DescriptionTemplate extends BaseEntity {
|
||||
label: string;
|
||||
definition: DescriptionTemplateDefinition;
|
||||
description: string;
|
||||
groupId: Guid;
|
||||
version: string;
|
||||
language: string;
|
||||
type: DescriptionTemplateType;
|
||||
definition: DescriptionTemplateDefinition;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateDefinition {
|
||||
sections?: DescriptionTemplateDefinitionSection[];
|
||||
pages?: DescriptionTemplatePage[];
|
||||
sections?: DescriptionTemplateSection[];
|
||||
}
|
||||
|
||||
|
||||
export interface DescriptionTemplateDefinitionSection {
|
||||
export interface DescriptionTemplatePage {
|
||||
id: Guid;
|
||||
label: string;
|
||||
description: string;
|
||||
ordinal: number;
|
||||
fields: FieldInSection[];
|
||||
hasTemplates: boolean;
|
||||
descriptionTemplates?: DescriptionTemplatesInSection[];
|
||||
title: string;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplatesInSection {
|
||||
export interface DescriptionTemplateSection {
|
||||
id: Guid;
|
||||
descriptionTemplateId: Guid;
|
||||
label: string;
|
||||
minMultiplicity: number;
|
||||
maxMultiplicity: number;
|
||||
ordinal: number;
|
||||
defaultVisibility: boolean;
|
||||
multiplicity: boolean;
|
||||
numbering: string;
|
||||
page: string;
|
||||
title: string;
|
||||
description: string;
|
||||
extendedDescription: string;
|
||||
|
||||
sections?: DescriptionTemplateSection[];
|
||||
fieldSets: DescriptionTemplateFieldSet[];
|
||||
}
|
||||
|
||||
export interface FieldInSection {
|
||||
export interface DescriptionTemplateFieldSet {
|
||||
id: Guid;
|
||||
label: string;
|
||||
ordinal: number;
|
||||
numbering: string;
|
||||
title: string;
|
||||
description: string;
|
||||
extendedDescription: string;
|
||||
additionalInformation: string;
|
||||
multiplicity: DescriptionTemplateMultiplicity
|
||||
hasCommentField: boolean;
|
||||
fields: DescriptionTemplateField[];
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateField {
|
||||
id: Guid;
|
||||
ordinal: number;
|
||||
numbering: string;
|
||||
schematics: string[];
|
||||
defaultValue: string;
|
||||
visibilityRules: DescriptionTemplateRule[];
|
||||
validations: DescriptionTemplateFieldValidationType[];
|
||||
fieldType: DescriptionTemplateFieldType;
|
||||
includeInExport: boolean;
|
||||
data: DescriptionTemplateBaseFieldData;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateRule {
|
||||
target: string;
|
||||
value: string;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateMultiplicity {
|
||||
min: number;
|
||||
max: number;
|
||||
placeholder: string;
|
||||
description: string;
|
||||
required: boolean;
|
||||
ordinal: number;
|
||||
tableView: boolean;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateBaseFieldData {
|
||||
label: string;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Field Types
|
||||
//
|
||||
export interface DescriptionTemplateAutoCompleteData extends DescriptionTemplateComboBoxData {
|
||||
multiAutoComplete: boolean;
|
||||
autoCompleteSingleDataList: DescriptionTemplateAutoCompleteSingleData[];
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateBooleanDecisionData extends DescriptionTemplateBaseFieldData {
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateCheckBoxData extends DescriptionTemplateBaseFieldData {
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateComboBoxData extends DescriptionTemplateBaseFieldData {
|
||||
type: DescriptionTemplateFieldDataComboBoxType;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateCurrencyData extends DescriptionTemplateBaseFieldData {
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateDataRepositoryData extends DescriptionTemplateBaseFieldData {
|
||||
multiAutoComplete: boolean;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateDatasetAutoCompleteData extends DescriptionTemplateInternalDmpBaseData {
|
||||
multiAutoComplete: boolean;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateDatasetIdentifierData extends DescriptionTemplateBaseFieldData {
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateDatePickerData extends DescriptionTemplateBaseFieldData {
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateDmpAutoCompleteData extends DescriptionTemplateInternalDmpBaseData {
|
||||
multiAutoComplete: boolean;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateExternalDatasetData extends DescriptionTemplateBaseFieldData {
|
||||
multiAutoComplete: boolean;
|
||||
type: DescriptionTemplateFieldDataExternalDatasetType;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateFreeTextData extends DescriptionTemplateBaseFieldData {
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateInternalDmpBaseData extends DescriptionTemplateBaseFieldData {
|
||||
type: DescriptionTemplateFieldDataInternalDmpEntryType;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateLicenseData extends DescriptionTemplateBaseFieldData {
|
||||
multiAutoComplete: boolean;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateOrganizationData extends DescriptionTemplateBaseFieldData {
|
||||
multiAutoComplete: boolean;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplatePublicationData extends DescriptionTemplateBaseFieldData {
|
||||
multiAutoComplete: boolean;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateRadioBoxData extends DescriptionTemplateBaseFieldData {
|
||||
options: DescriptionTemplateRadioBoxOption;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateRegistryData extends DescriptionTemplateBaseFieldData {
|
||||
multiAutoComplete: boolean;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateResearcherAutoCompleteData extends DescriptionTemplateInternalDmpBaseData {
|
||||
multiAutoComplete: boolean;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateResearcherData extends DescriptionTemplateBaseFieldData {
|
||||
multiAutoComplete: boolean;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateRichTextAreaData extends DescriptionTemplateBaseFieldData {
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateServiceData extends DescriptionTemplateBaseFieldData {
|
||||
multiAutoComplete: boolean;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateTagData extends DescriptionTemplateBaseFieldData {
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateTaxonomyData extends DescriptionTemplateBaseFieldData {
|
||||
multiAutoComplete: boolean;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateTextAreaData extends DescriptionTemplateBaseFieldData {
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateTextAreaData extends DescriptionTemplateBaseFieldData {
|
||||
types: DescriptionTemplateUploadOption[];
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateValidationData extends DescriptionTemplateBaseFieldData {
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateWordListData extends DescriptionTemplateComboBoxData {
|
||||
options: DescriptionTemplateComboBoxOption[];
|
||||
multiList: boolean;
|
||||
}
|
||||
|
||||
//
|
||||
// Persist
|
||||
// Others
|
||||
//
|
||||
export interface DescriptionTemplatePersist extends BaseEntityPersist {
|
||||
label: string;
|
||||
definition: DescriptionTemplateDefinitionPersist;
|
||||
description: string;
|
||||
export interface DescriptionTemplateAutoCompleteSingleData {
|
||||
autocompleteType: string;
|
||||
url: string;
|
||||
autoCompleteOptions: DescriptionTemplateComboBoxOption;
|
||||
optionsRoot: string;
|
||||
hasAuth: boolean;
|
||||
auth: DescriptionTemplateAuthAutoCompleteData
|
||||
method: string;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateDefinitionPersist {
|
||||
sections?: DescriptionTemplateDefinitionSectionPersist[];
|
||||
export interface DescriptionTemplateAuthAutoCompleteData {
|
||||
url: string;
|
||||
method: string;
|
||||
body: string;
|
||||
path: string;
|
||||
type: string;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplateDefinitionSectionPersist {
|
||||
id: Guid;
|
||||
export interface DescriptionTemplateComboBoxOption {
|
||||
label: string;
|
||||
description: string;
|
||||
ordinal: number;
|
||||
fields: FieldInSectionPersist[];
|
||||
hasTemplates: boolean;
|
||||
descriptionTemplates?: DescriptionTemplatesInSectionPersist[];
|
||||
value: string;
|
||||
source: string;
|
||||
uri: string;
|
||||
}
|
||||
|
||||
export interface DescriptionTemplatesInSectionPersist {
|
||||
id: Guid;
|
||||
descriptionTemplateId: Guid;
|
||||
export interface DescriptionTemplateRadioBoxOption {
|
||||
label: string;
|
||||
minMultiplicity: number;
|
||||
maxMultiplicity: number;
|
||||
value: string;
|
||||
}
|
||||
|
||||
export interface FieldInSectionPersist {
|
||||
id: Guid;
|
||||
export interface DescriptionTemplateUploadOption {
|
||||
label: string;
|
||||
placeholder: string;
|
||||
description: string;
|
||||
required: boolean;
|
||||
ordinal: number;
|
||||
value: string;
|
||||
}
|
|
@ -10,8 +10,9 @@ import { UserInfoListingModel } from "../user/user-info-listing";
|
|||
import { DmpDatasetProfile } from "./dmp-dataset-profile/dmp-dataset-profile";
|
||||
import { DmpDynamicField } from "./dmp-dynamic-field";
|
||||
import { DmpExtraField } from "./dmp-extra-field";
|
||||
import { BaseEntity } from '@common/base/base-entity.model';
|
||||
import { BaseEntity, BaseEntityPersist } from '@common/base/base-entity.model';
|
||||
import { Description } from '../description/description';
|
||||
import { DmpReference } from '../reference/reference';
|
||||
|
||||
export interface DmpModel {
|
||||
id: string;
|
||||
|
@ -57,24 +58,40 @@ export interface Dmp extends BaseEntity {
|
|||
finalizedAt: Date;
|
||||
blueprint: DmpBlueprint;
|
||||
dmpDescriptions: Description[];
|
||||
dmpReferences: DmpReference
|
||||
|
||||
|
||||
lockable: boolean;
|
||||
grant: GrantListingModel;
|
||||
project: ProjectModel;
|
||||
funder: FunderModel;
|
||||
|
||||
datasets: DatasetWizardModel[];
|
||||
datasetsToBeFinalized: string[];
|
||||
profiles: DmpDatasetProfile[];
|
||||
organisations: OrganizationModel[];
|
||||
researchers: ResearcherModel[];
|
||||
associatedUsers: UserModel[];
|
||||
users: UserInfoListingModel[];
|
||||
creator: UserModel;
|
||||
extraFields: Array<DmpExtraField>;
|
||||
dynamicFields: Array<DmpDynamicField>;
|
||||
modified: Date;
|
||||
extraProperties: Map<String, any>;
|
||||
language: String;
|
||||
|
||||
// grant: GrantListingModel;
|
||||
// project: ProjectModel;
|
||||
// funder: FunderModel;
|
||||
// organisations: OrganizationModel[];
|
||||
// researchers: ResearcherModel[];
|
||||
|
||||
// datasets: DatasetWizardModel[];
|
||||
// datasetsToBeFinalized: string[];
|
||||
// profiles: DmpDatasetProfile[];
|
||||
|
||||
|
||||
|
||||
// associatedUsers: UserModel[];
|
||||
// users: UserInfoListingModel[];
|
||||
// creator: UserModel;
|
||||
// extraFields: Array<DmpExtraField>;
|
||||
// dynamicFields: Array<DmpDynamicField>;
|
||||
// extraProperties: Map<String, any>;
|
||||
// language: String;
|
||||
}
|
||||
|
||||
//
|
||||
// Persist
|
||||
//
|
||||
export interface DmpPersist extends BaseEntityPersist {
|
||||
label: string;
|
||||
description: String;
|
||||
version: number;
|
||||
status: DmpStatus;
|
||||
groupId: String;
|
||||
}
|
|
@ -1,15 +1,15 @@
|
|||
import { Lookup } from '@common/model/lookup';
|
||||
import { Guid } from '@common/types/guid';
|
||||
import { IsActive } from '../common/enum/is-active.enum';
|
||||
import { ReferenceSourceType } from '../common/enum/reference-source-type';
|
||||
import { ReferenceType } from '../common/enum/reference-type';
|
||||
import { SourceType } from '../common/enum/source-type';
|
||||
|
||||
export class ReferenceLookup extends Lookup implements ReferenceFilter {
|
||||
ids: Guid[];
|
||||
excludedIds: Guid[];
|
||||
like: string;
|
||||
isActive: IsActive[];
|
||||
sourceTypes: SourceType[];
|
||||
sourceTypes: ReferenceSourceType[];
|
||||
referenceTypes: ReferenceType[];
|
||||
|
||||
constructor() {
|
||||
|
@ -22,6 +22,6 @@ export interface ReferenceFilter {
|
|||
excludedIds: Guid[];
|
||||
like: string;
|
||||
isActive: IsActive[];
|
||||
sourceTypes: SourceType[];
|
||||
sourceTypes: ReferenceSourceType[];
|
||||
referenceTypes: ReferenceType[];
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
import { Injectable } from '@angular/core';
|
||||
import { IsActive } from '@app/core/common/enum/is-active.enum';
|
||||
import { ReferenceType } from '@app/core/common/enum/reference-type';
|
||||
import { SourceType } from '@app/core/common/enum/source-type';
|
||||
import { Reference, ReferencePersist } from '@app/core/model/reference/reference';
|
||||
import { ReferenceLookup } from '@app/core/query/reference.lookup';
|
||||
import { MultipleAutoCompleteConfiguration } from '@app/library/auto-complete/multiple/multiple-auto-complete-configuration';
|
||||
|
@ -14,6 +13,7 @@ import { catchError, map } from 'rxjs/operators';
|
|||
import { nameof } from 'ts-simple-nameof';
|
||||
import { ConfigurationService } from '../configuration/configuration.service';
|
||||
import { BaseHttpV2Service } from '../http/base-http-v2.service';
|
||||
import { ReferenceSourceType } from '@app/core/common/enum/reference-source-type';
|
||||
|
||||
@Injectable()
|
||||
export class ReferenceService {
|
||||
|
@ -60,7 +60,7 @@ export class ReferenceService {
|
|||
//
|
||||
// Autocomplete Commons
|
||||
//
|
||||
public getSingleAutocompleteConfiguration(referenceTypes?: ReferenceType[], sourceTypes?: SourceType[]): SingleAutoCompleteConfiguration {
|
||||
public getSingleAutocompleteConfiguration(referenceTypes?: ReferenceType[], sourceTypes?: ReferenceSourceType[]): SingleAutoCompleteConfiguration {
|
||||
return {
|
||||
initialItems: (data?: any) => this.query(this.buildAutocompleteLookup(referenceTypes, sourceTypes)).pipe(map(x => x.items)),
|
||||
filterFn: (searchQuery: string, data?: any) => this.query(this.buildAutocompleteLookup(referenceTypes, sourceTypes, searchQuery)).pipe(map(x => x.items)),
|
||||
|
@ -71,7 +71,7 @@ export class ReferenceService {
|
|||
};
|
||||
};
|
||||
|
||||
public getMultipleAutoCompleteConfiguration(referenceTypes?: ReferenceType[], sourceTypes?: SourceType[]): MultipleAutoCompleteConfiguration {
|
||||
public getMultipleAutoCompleteConfiguration(referenceTypes?: ReferenceType[], sourceTypes?: ReferenceSourceType[]): MultipleAutoCompleteConfiguration {
|
||||
return {
|
||||
initialItems: (excludedItems: any[], data?: any) => this.query(this.buildAutocompleteLookup(referenceTypes, sourceTypes, null, excludedItems ? excludedItems : null)).pipe(map(x => x.items)),
|
||||
filterFn: (searchQuery: string, excludedItems: any[]) => this.query(this.buildAutocompleteLookup(referenceTypes, sourceTypes, searchQuery, excludedItems)).pipe(map(x => x.items)),
|
||||
|
@ -82,7 +82,7 @@ export class ReferenceService {
|
|||
};
|
||||
}
|
||||
|
||||
private buildAutocompleteLookup(referenceTypes?: ReferenceType[], sourceTypes?: SourceType[], like?: string, excludedIds?: Guid[], ids?: Guid[]): ReferenceLookup {
|
||||
private buildAutocompleteLookup(referenceTypes?: ReferenceType[], sourceTypes?: ReferenceSourceType[], like?: string, excludedIds?: Guid[], ids?: Guid[]): ReferenceLookup {
|
||||
const lookup: ReferenceLookup = new ReferenceLookup();
|
||||
lookup.page = { size: 100, offset: 0 };
|
||||
if (excludedIds && excludedIds.length > 0) { lookup.excludedIds = excludedIds; }
|
||||
|
|
|
@ -3,8 +3,10 @@ import { AbstractControl, UntypedFormArray, UntypedFormBuilder, UntypedFormContr
|
|||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { ActivatedRoute, Params, Router } from '@angular/router';
|
||||
import { DmpBlueprintExtraFieldDataType } from '@app/core/common/enum/dmp-blueprint-extra-field-data-type';
|
||||
import { DmpBlueprintSectionFieldCategory } from '@app/core/common/enum/dmp-blueprint-section-field-category';
|
||||
import { DmpBlueprintSystemFieldType } from '@app/core/common/enum/dmp-blueprint-system-field-type';
|
||||
import { DmpStatus } from '@app/core/common/enum/dmp-status';
|
||||
import { ReferenceType } from '@app/core/common/enum/reference-type';
|
||||
import { Role } from '@app/core/common/enum/role';
|
||||
import { DataTableRequest } from '@app/core/model/data-table/data-table-request';
|
||||
import { DatasetProfileModel } from '@app/core/model/dataset/dataset-profile';
|
||||
|
@ -18,8 +20,6 @@ import { LockModel } from '@app/core/model/lock/lock.model';
|
|||
import { UserModel } from '@app/core/model/user/user';
|
||||
import { UserInfoListingModel } from '@app/core/model/user/user-info-listing';
|
||||
import { DatasetProfileCriteria } from '@app/core/query/dataset-profile/dataset-profile-criteria';
|
||||
import { LicenseCriteria } from '@app/core/query/license/license-criteria';
|
||||
import { RequestItem } from '@app/core/query/request-item';
|
||||
import { AuthService } from '@app/core/services/auth/auth.service';
|
||||
import { ConfigurationService } from '@app/core/services/configuration/configuration.service';
|
||||
import { LanguageInfoService } from '@app/core/services/culture/language-info-service';
|
||||
|
@ -31,8 +31,8 @@ import { LockService } from '@app/core/services/lock/lock.service';
|
|||
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
||||
import { SnackBarNotificationLevel, UiNotificationService } from '@app/core/services/notification/ui-notification-service';
|
||||
import { OrganisationService } from '@app/core/services/organisation/organisation.service';
|
||||
import { ReferenceService } from '@app/core/services/reference/reference.service';
|
||||
import { MultipleAutoCompleteConfiguration } from '@app/library/auto-complete/multiple/multiple-auto-complete-configuration';
|
||||
import { SingleAutoCompleteConfiguration } from '@app/library/auto-complete/single/single-auto-complete-configuration';
|
||||
import { CheckDeactivateBaseComponent } from '@app/library/deactivate/deactivate.component';
|
||||
import { PopupNotificationDialogComponent } from '@app/library/notification/popup/popup-notification.component';
|
||||
import { GrantEditorModel } from '@app/ui/grant/editor/grant-editor.model';
|
||||
|
@ -56,10 +56,6 @@ import { ExtraPropertiesFormModel } from '../editor/general-tab/extra-properties
|
|||
import { FunderFormModel } from '../editor/grant-tab/funder-form-model';
|
||||
import { GrantTabModel } from '../editor/grant-tab/grant-tab-model';
|
||||
import { ProjectFormModel } from '../editor/grant-tab/project-form-model';
|
||||
import { DmpBlueprintSectionFieldCategory } from '@app/core/common/enum/dmp-blueprint-section-field-category';
|
||||
import { ReferenceService } from '@app/core/services/reference/reference.service';
|
||||
import { ReferenceType } from '@app/core/common/enum/reference-type';
|
||||
import { SourceType } from '@app/core/common/enum/source-type';
|
||||
|
||||
interface Visible {
|
||||
value: boolean;
|
||||
|
|
Loading…
Reference in New Issue