Newer
Older
AnswerScheme, BasicStyles, InputElement, PositionProperties, UIElement
} from 'common/models/elements/element';
import { Type } from '@angular/core';
import { ElementComponent } from 'common/directives/element-component.directive';
import { MathFieldComponent } from 'common/components/input-elements/math-field.component';
export class MathFieldElement extends InputElement {
enableModeSwitch: boolean = false;
position: PositionProperties | undefined;
styling: BasicStyles & {
lineHeight: number;
};
constructor(element: Partial<MathFieldElement>) {
super(element);
if (element.enableModeSwitch !== undefined) this.enableModeSwitch = element.enableModeSwitch;
this.position = element.position ? UIElement.initPositionProps(element.position) : undefined;
this.styling = {
...UIElement.initStylingProps({
backgroundColor: 'transparent',
lineHeight: 135,
...element.styling
})
};
}
hasAnswerScheme(): boolean {
return Boolean(this.getAnswerScheme);
}
getAnswerScheme(): AnswerScheme {
return {
id: this.id,
type: 'string',
format: '',
multiple: false,
nullable: !this.value && this.value !== '',
values: [],
valuesComplete: false
};
}
getElementComponent(): Type<ElementComponent> {
return MathFieldComponent;
}
}