Skip to content
Snippets Groups Projects
Commit cc34f247 authored by rhenck's avatar rhenck
Browse files

Audio, Image: Make position prop optional

For Table compatibility.
parent c96e2f7a
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,7 @@ import {
import { ElementComponent } from 'common/directives/element-component.directive';
import { AudioComponent } from 'common/components/media-elements/audio.component';
import {
PositionProperties, PropertyGroupGenerators, PropertyGroupValidators
PositionProperties, PropertyGroupGenerators
} from 'common/models/elements/property-group-interfaces';
import { environment } from 'common/environment';
import { InstantiationEror } from 'common/util/errors';
......@@ -13,7 +13,7 @@ import { InstantiationEror } from 'common/util/errors';
export class AudioElement extends PlayerElement implements AudioProperties {
type: UIElementType = 'audio';
src: string | null = null;
position: PositionProperties;
position?: PositionProperties;
styling: { backgroundColor: string };
static title: string = 'Audio';
......@@ -23,7 +23,7 @@ export class AudioElement extends PlayerElement implements AudioProperties {
super(element);
if (element && isValid(element)) {
this.src = element.src;
this.position = { ...element.position };
if (element.position) this.position = { ...element.position };
this.styling = { ...element.styling };
} else {
if (environment.strictInstantiation) {
......@@ -57,13 +57,12 @@ export class AudioElement extends PlayerElement implements AudioProperties {
export interface AudioProperties extends PlayerElementBlueprint {
src: string | null;
position: PositionProperties;
position?: PositionProperties;
styling: { backgroundColor: string };
}
function isValid(blueprint?: AudioProperties): boolean {
if (!blueprint) return false;
return blueprint.src !== undefined &&
blueprint.styling?.backgroundColor !== undefined &&
PropertyGroupValidators.isValidPosition(blueprint.position);
blueprint.styling?.backgroundColor !== undefined;
}
......@@ -20,7 +20,7 @@ export class ImageElement extends UIElement implements ImageProperties {
magnifierSize: number = 100;
magnifierZoom: number = 1.5;
magnifierUsed: boolean = false;
position: PositionProperties;
position?: PositionProperties;
static title: string = 'Bild';
static icon: string = 'image';
......@@ -35,7 +35,7 @@ export class ImageElement extends UIElement implements ImageProperties {
this.magnifierSize = element.magnifierSize;
this.magnifierZoom = element.magnifierZoom;
this.magnifierUsed = element.magnifierUsed;
this.position = { ...element.position };
if (element.position) this.position = { ...element.position };
} else {
if (environment.strictInstantiation) {
throw new InstantiationEror('Error at Image instantiation', element);
......@@ -98,7 +98,7 @@ export interface ImageProperties extends UIElementProperties {
magnifierSize: number;
magnifierZoom: number;
magnifierUsed: boolean;
position: PositionProperties;
position?: PositionProperties;
}
function isValid(blueprint?: ImageProperties): boolean {
......@@ -109,6 +109,5 @@ function isValid(blueprint?: ImageProperties): boolean {
blueprint.magnifier !== undefined &&
blueprint.magnifierSize !== undefined &&
blueprint.magnifierZoom !== undefined &&
blueprint.magnifierUsed !== undefined &&
PropertyGroupValidators.isValidPosition(blueprint.position);
blueprint.magnifierUsed !== undefined;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment