Newer
Older
import {
AudioElement, ButtonElement,
CheckboxElement, CompoundElementCorrection, DropdownElement,
ImageElement, TextElement, RadioButtonGroupElement,
TextFieldElement, Unit, UnitPage, UnitPageSection, UnitUIElement,
VideoElement, TextAreaElement
} from '../../../common/unit';
const EXPORTED_MODULE_VERSION = 'iqb-aspect-module@0.1.1';
export function createUnit(): Unit {
veronaModuleVersion: EXPORTED_MODULE_VERSION,
export function createUnitPage(pageIndex: number): UnitPage {
hasMaxWidth: false,
alwaysVisiblePagePosition: 'left',
alwaysVisibleAspectRatio: 50
};
}
export function createUnitPageSection(): UnitPageSection {
return {
elements: [],
gridColumnSizes: '1fr 1fr',
gridRowSizes: '1fr'
export function createUnitUIElement(type: string): UnitUIElement {
xPosition: 0,
yPosition: 0,
gridColumnStart: 1,
gridRowEnd: 2,
marginLeft: 0,
marginRight: 0,
marginTop: 0,
marginBottom: 0
export function createTextUIElement(): Record<string, unknown> {
export function createInputUIElement(
label: string, value: string | number | boolean | undefined
): Record<string, unknown> {
label: label,
value: value,
required: false,
requiredWarnMessage: 'Eingabe erforderlich'
};
}
export function createSurfaceUIElement(): Record<string, unknown> {
export function createTextElement(): TextElement {
text: '<p>Lorem ipsum dolor sit amet</p>',
fontColor: 'black',
font: 'Roboto',
bold: false,
italic: false,
underline: false,
backgroundColor: 'transparent',
height: 78
};
}
export function createButtonElement(): ButtonElement {
...createUnitUIElement('button'),
...createTextUIElement(),
...createSurfaceUIElement()
};
}
export function createTextfieldElement(): TextFieldElement {
minLengthWarnMessage: 'Eingabe zu kurz',
maxLengthWarnMessage: 'Eingabe zu lang',
pattern: '',
patternWarnMessage: 'Eingabe entspricht nicht der Vorgabe',
...createInputUIElement('Beispiel Beschriftung', ''),
...createSurfaceUIElement(),
backgroundColor: 'transparent',
height: 100
export function createTextareaElement(): TextAreaElement {
return <TextAreaElement>{
...createInputUIElement('Beispiel Beschriftung', ''),
...createTextUIElement(),
...createSurfaceUIElement(),
backgroundColor: 'transparent',
export function createCheckboxElement(): CheckboxElement {
...createInputUIElement('Beschriftung', false),
...createSurfaceUIElement(),
backgroundColor: 'transparent'
};
}
export function createDropdownElement(): DropdownElement {
...createInputUIElement('Beschriftung', undefined),
...createSurfaceUIElement(),
height: 83
};
}
export function createRadioButtonGroupElement(): RadioButtonGroupElement {
...createInputUIElement('Beschriftung Optionsfeld', undefined),
...createTextUIElement(),
...createSurfaceUIElement(),
};
}
export function createImageElement(imageSrc: string): ImageElement {
return {
src: imageSrc,
...createUnitUIElement('image'),
height: 100
};
}
export function createAudioElement(audioSrc: string): AudioElement {
return {
src: audioSrc,
...createUnitUIElement('audio')
};
}
export function createVideoElement(videoSrc: string): VideoElement {
return {
src: videoSrc,
...createUnitUIElement('video'),
height: 100