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

Use serialized parameters when building elements

Before the defaults were simply set on any field regardless of the 
passed object.
parent 6d4f1288
No related branches found
No related tags found
No related merge requests found
...@@ -20,7 +20,7 @@ export class ButtonElement extends UIElement implements FontElement, SurfaceUIEl ...@@ -20,7 +20,7 @@ export class ButtonElement extends UIElement implements FontElement, SurfaceUIEl
constructor(serializedElement: UIElement, coordinates?: { x: number; y: number }) { constructor(serializedElement: UIElement, coordinates?: { x: number; y: number }) {
super(serializedElement, coordinates); super(serializedElement, coordinates);
Object.assign(this, serializedElement); Object.assign(this, serializedElement);
Object.assign(this, initFontElement()); Object.assign(this, initFontElement(serializedElement));
Object.assign(this, initSurfaceElement()); Object.assign(this, initSurfaceElement(serializedElement));
} }
} }
...@@ -15,8 +15,8 @@ export class CheckboxElement extends InputElement implements FontElement, Surfac ...@@ -15,8 +15,8 @@ export class CheckboxElement extends InputElement implements FontElement, Surfac
constructor(serializedElement: UIElement, coordinates?: { x: number; y: number }) { constructor(serializedElement: UIElement, coordinates?: { x: number; y: number }) {
super(serializedElement, coordinates); super(serializedElement, coordinates);
Object.assign(this, serializedElement); Object.assign(this, serializedElement);
Object.assign(this, initFontElement()); Object.assign(this, initFontElement(serializedElement));
Object.assign(this, initSurfaceElement()); Object.assign(this, initSurfaceElement(serializedElement));
this.value = serializedElement.value as boolean || false; // booleans are always initialized false this.value = serializedElement.value as boolean || false; // booleans are always initialized false
......
...@@ -18,8 +18,8 @@ export class DropdownElement extends InputElement implements FontElement, Surfac ...@@ -18,8 +18,8 @@ export class DropdownElement extends InputElement implements FontElement, Surfac
constructor(serializedElement: UIElement, coordinates?: { x: number; y: number }) { constructor(serializedElement: UIElement, coordinates?: { x: number; y: number }) {
super(serializedElement, coordinates); super(serializedElement, coordinates);
Object.assign(this, serializedElement); Object.assign(this, serializedElement);
Object.assign(this, initFontElement()); Object.assign(this, initFontElement(serializedElement));
Object.assign(this, initSurfaceElement()); Object.assign(this, initSurfaceElement(serializedElement));
this.height = serializedElement.height || 83; this.height = serializedElement.height || 83;
} }
......
...@@ -18,8 +18,8 @@ export class RadioButtonGroupElement extends InputElement implements FontElement ...@@ -18,8 +18,8 @@ export class RadioButtonGroupElement extends InputElement implements FontElement
constructor(serializedElement: UIElement, coordinates?: { x: number; y: number }) { constructor(serializedElement: UIElement, coordinates?: { x: number; y: number }) {
super(serializedElement, coordinates); super(serializedElement, coordinates);
Object.assign(this, serializedElement); Object.assign(this, serializedElement);
Object.assign(this, initFontElement()); Object.assign(this, initFontElement(serializedElement));
Object.assign(this, initSurfaceElement()); Object.assign(this, initSurfaceElement(serializedElement));
this.height = serializedElement.height || 85; this.height = serializedElement.height || 85;
this.backgroundColor = serializedElement.backgroundColor as string || 'transparent'; this.backgroundColor = serializedElement.backgroundColor as string || 'transparent';
......
...@@ -20,8 +20,8 @@ export class TextAreaElement extends InputElement implements FontElement, Surfac ...@@ -20,8 +20,8 @@ export class TextAreaElement extends InputElement implements FontElement, Surfac
constructor(serializedElement: UIElement, coordinates?: { x: number; y: number }) { constructor(serializedElement: UIElement, coordinates?: { x: number; y: number }) {
super(serializedElement, coordinates); super(serializedElement, coordinates);
Object.assign(this, serializedElement); Object.assign(this, serializedElement);
Object.assign(this, initFontElement()); Object.assign(this, initFontElement(serializedElement));
Object.assign(this, initSurfaceElement()); Object.assign(this, initSurfaceElement(serializedElement));
this.height = serializedElement.height || 132; this.height = serializedElement.height || 132;
this.backgroundColor = serializedElement.backgroundColor as string || 'transparent'; this.backgroundColor = serializedElement.backgroundColor as string || 'transparent';
......
...@@ -16,7 +16,7 @@ export class TextElement extends UIElement implements SurfaceUIElement { ...@@ -16,7 +16,7 @@ export class TextElement extends UIElement implements SurfaceUIElement {
constructor(serializedElement: UIElement, coordinates?: { x: number; y: number }) { constructor(serializedElement: UIElement, coordinates?: { x: number; y: number }) {
super(serializedElement, coordinates); super(serializedElement, coordinates);
Object.assign(this, serializedElement); Object.assign(this, serializedElement);
Object.assign(this, initSurfaceElement()); Object.assign(this, initSurfaceElement(serializedElement));
this.fontColor = serializedElement.fontColor as string || 'black'; this.fontColor = serializedElement.fontColor as string || 'black';
this.font = serializedElement.font as string || 'Roboto'; this.font = serializedElement.font as string || 'Roboto';
this.bold = serializedElement.bold as boolean || false; this.bold = serializedElement.bold as boolean || false;
......
...@@ -27,8 +27,8 @@ export class TextFieldElement extends InputElement implements FontElement, Surfa ...@@ -27,8 +27,8 @@ export class TextFieldElement extends InputElement implements FontElement, Surfa
constructor(serializedElement: UIElement, coordinates?: { x: number; y: number }) { constructor(serializedElement: UIElement, coordinates?: { x: number; y: number }) {
super(serializedElement, coordinates); super(serializedElement, coordinates);
Object.assign(this, serializedElement); Object.assign(this, serializedElement);
Object.assign(this, initFontElement()); Object.assign(this, initFontElement(serializedElement));
Object.assign(this, initSurfaceElement()); Object.assign(this, initSurfaceElement(serializedElement));
this.height = serializedElement.height || 100; this.height = serializedElement.height || 100;
this.backgroundColor = serializedElement.backgroundColor as string || 'transparent'; this.backgroundColor = serializedElement.backgroundColor as string || 'transparent';
......
import { FontElement, SurfaceUIElement } from '../interfaces/UIElementInterfaces'; import { FontElement, SurfaceUIElement } from '../interfaces/UIElementInterfaces';
import { UIElement } from '../models/uI-element';
export function initFontElement(): FontElement { export function initFontElement(serializedElement: UIElement): FontElement {
return { return {
fontColor: 'black', fontColor: serializedElement.fontColor as string || 'black',
font: 'Roboto', font: serializedElement.font as string || 'Roboto',
fontSize: 18, fontSize: serializedElement.fontSize as number || 18,
bold: false, bold: serializedElement.bold as boolean || false,
italic: false, italic: serializedElement.italic as boolean || false,
underline: false underline: serializedElement.underline as boolean || false
}; };
} }
export function initSurfaceElement(): SurfaceUIElement { export function initSurfaceElement(serializedElement: UIElement): SurfaceUIElement {
return { backgroundColor: 'lightgrey' }; return { backgroundColor: serializedElement.backgroundColor as string || 'lightgrey' };
} }
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