Files
dspace-angular/src/app/core/config/models/config-submission-section.model.ts

55 lines
1.3 KiB
TypeScript

import { autoserialize, deserialize, inheritSerialization } from 'cerialize';
import { SectionsType } from '../../../submission/sections/sections-type';
import { typedObject } from '../../cache/builders/build-decorators';
import { HALLink } from '../../shared/hal-link.model';
import { ConfigObject } from './config.model';
import { SUBMISSION_SECTION_TYPE } from './config-type';
/**
* An interface that define section visibility and its properties.
*/
export interface SubmissionSectionVisibility {
main: any,
other: any
}
@typedObject
@inheritSerialization(ConfigObject)
export class SubmissionSectionModel extends ConfigObject {
static type = SUBMISSION_SECTION_TYPE;
/**
* The header for this section
*/
@autoserialize
header: string;
/**
* A boolean representing if this submission section is the mandatory or not
*/
@autoserialize
mandatory: boolean;
/**
* A string representing the kind of section object
*/
@autoserialize
sectionType: SectionsType;
/**
* The [SubmissionSectionVisibility] object for this section
*/
@autoserialize
visibility: SubmissionSectionVisibility;
/**
* The {@link HALLink}s for this SubmissionSectionModel
*/
@deserialize
_links: {
self: HALLink;
config: HALLink;
}
}