mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-12 04:23:04 +00:00
55 lines
1.3 KiB
TypeScript
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;
|
|
}
|
|
|
|
}
|