UNPKG

maille

Version:

Component library for MithrilJS

38 lines (37 loc) 1.69 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const mithril_1 = __importDefault(require("mithril")); // +standalone class TwoColumnLayout { buildLHS(vnode) { let lhsAttrs = {}; if (vnode.attrs.lhs && vnode.attrs.lhs.container && vnode.attrs.lhs.container.attrs) { lhsAttrs = Object.assign({}, vnode.attrs.lhs.container.attrs); } const lhsContent = vnode.attrs.lhs && vnode.attrs.lhs.content ? vnode.attrs.lhs.content : []; return mithril_1.default(".maille-two-column-layout-lhs-container", lhsAttrs, lhsContent); } buildRHS(vnode) { let rhsAttrs = {}; if (vnode.attrs.rhs && vnode.attrs.rhs.container && vnode.attrs.rhs.container.attrs) { rhsAttrs = Object.assign({}, vnode.attrs.rhs.container.attrs); } const rhsContent = vnode.attrs.rhs && vnode.attrs.rhs.content ? vnode.attrs.rhs.content : []; return mithril_1.default(".maille-two-column-layout-rhs-container", rhsAttrs, rhsContent); } view(vnode) { const classes = new Set(["maille", "maille-two-column-layout"]); // Use list of state-managed classes to build className if (vnode.attrs.className) { vnode.attrs.className.split(" ").forEach(c => classes.add(c)); } const className = [...classes].join(" "); return mithril_1.default("div", { className }, [ this.buildLHS(vnode), this.buildRHS(vnode), ]); } } exports.default = TwoColumnLayout;