import * as ko from "knockout"; import template from "./column.html"; import { Component } from "@paperbits/common/ko/decorators"; @Component({ selector: "email-layout-column", template: template }) export class ColumnViewModel { public widgets: ko.ObservableArray; public css: ko.Computed; public size: ko.Observable; public horizontalAlign: ko.Observable; public verticalAlign: ko.Observable; public alignment: ko.Observable; constructor() { this.widgets = ko.observableArray(); this.size = ko.observable(); this.horizontalAlign = ko.observable("center"); this.verticalAlign = ko.observable("center"); this.alignment = ko.observable(); this.css = ko.computed(() => { const classes = []; if (this.size()) { classes.push(`email-layout-column-${this.size()}`); } if (this.alignment()) { const alignment = this.alignment().split(" "); const vertical = alignment[0]; const horizontal = alignment[1]; this.verticalAlign(vertical); this.horizontalAlign(horizontal); } return classes.join(" "); }); } }