Newer
Older
import { PositionedUIElement } from 'common/models/elements/element';
import { ElementFactory } from 'common/util/element.factory';
export class Section {
[index: string]: any;
elements: PositionedUIElement[] = [];
height: number = 400;
backgroundColor: string = '#ffffff';
dynamicPositioning: boolean = true;
autoColumnSize: boolean = true;
autoRowSize: boolean = true;
gridColumnSizes: string = '1fr 1fr';
gridRowSizes: string = '1fr';
activeAfterID: string | null = null;
constructor(section?: Partial<Section>) {
this.elements =
section?.elements?.map(element => ElementFactory.createElement(element.type, element) as PositionedUIElement) ||
[];
Object.assign(this, section);
}
setProperty(property: string, value: any): void {
this[property] = value;
}
}