BI.FloatAbsoluteLeftRightVerticalAdaptLayout = BI.inherit(BI.Layout, { props: function () { return BI.extend(BI.FloatAbsoluteLeftRightVerticalAdaptLayout.superclass.props.apply(this, arguments), { baseCls: "bi-abs-lr-v-fl", verticalAlign: BI.VerticalAlign.Middle, items: {}, llgap: 0, lrgap: 0, lhgap: 0, ltgap: 0, lbgap: 0, lvgap: 0, rlgap: 0, rrgap: 0, rhgap: 0, rtgap: 0, rbgap: 0, rvgap: 0 }); }, render: function () { var o = this.options, self = this; BI.FloatAbsoluteLeftRightVerticalAdaptLayout.superclass.render.apply(this, arguments); return { type: "bi.htape", ref: function (_ref) { self.layout = _ref; }, verticalAlign: o.verticalAlign, items: this._formatItems(o.items), vgap: "50%", innerHgap: o.innerHgap, innerVgap: o.innerVgap, scrollx: o.scrollx, scrolly: o.scrolly, scrollable: o.scrollable }; }, _formatItems: function (items) { var self = this, o = this.options; var left, right; if (BI.isArray(items)) { BI.each(items, function (i, item) { if (item.left) { left = item.left; } if (item.right) { right = item.right; } }); } var leftItems = left || items.left || []; var rightItems = right || items.right || []; leftItems = BI.map(leftItems, function (i, item) { var el = BI.stripEL(item); if (o.verticalAlign === BI.VerticalAlign.Middle) { if (BI.isWidget(el)) { el.element.addClass("bi-abs-c-y-item"); } else { el.cls = (el.cls || "") + "bi-abs-c-y-item"; } } var json = { el: el, width: item.width }; // if (o.lvgap + o.ltgap + (item.tgap || 0) + (item.vgap || 0) !== 0) { // json.tgap = o.lvgap + o.ltgap + (item.tgap || 0) + (item.vgap || 0); // } if (o.lhgap + o.llgap + self._optimiseItemLgap(item) + self._optimiseItemHgap(item) !== 0) { json.lgap = (i === 0 ? o.lhgap : 0) + o.llgap + self._optimiseItemLgap(item) + self._optimiseItemHgap(item); } if (o.lhgap + o.lrgap + self._optimiseItemRgap(item) + self._optimiseItemHgap(item) !== 0) { json.rgap = o.lhgap + o.lrgap + self._optimiseItemRgap(item) + self._optimiseItemHgap(item); } // if (o.lvgap + o.lbgap + (item.bgap || 0) + (item.vgap || 0) !== 0) { // json.bgap = o.lvgap + o.lbgap + (item.bgap || 0) + (item.vgap || 0); // } return json; }); rightItems = BI.map(rightItems, function (i, item) { var el = BI.stripEL(item); if (o.verticalAlign === BI.VerticalAlign.Middle) { if (BI.isWidget(el)) { el.element.addClass("bi-abs-c-y-item"); } else { el.cls = (el.cls || "") + "bi-abs-c-y-item"; } } var json = { el: el, width: item.width }; // if (o.rvgap + o.rtgap + (item.tgap || 0) + (item.vgap || 0) !== 0) { // json.tgap = o.rvgap + o.rtgap + (item.tgap || 0) + (item.vgap || 0); // } if (o.rhgap + o.rlgap + self._optimiseItemLgap(item) + self._optimiseItemHgap(item) !== 0) { json.lgap = (i === 0 ? o.rhgap : 0) + o.rlgap + self._optimiseItemLgap(item) + self._optimiseItemHgap(item); } if (o.rhgap + o.rrgap + self._optimiseItemRgap(item) + self._optimiseItemHgap(item) !== 0) { json.rgap = o.rhgap + o.rrgap + self._optimiseItemRgap(item) + self._optimiseItemHgap(item); } // if (o.rvgap + o.rbgap + (item.bgap || 0) + (item.vgap || 0) !== 0) { // json.bgap = o.rvgap + o.rbgap + (item.bgap || 0) + (item.vgap || 0); // } return json; }); return leftItems.concat({}, rightItems); }, resize: function () { this.layout.stroke(this._formatItems(this.options.items)); }, addItem: function () { // do nothing throw new Error("Cannot add subwidget"); }, populate: function (items) { this.layout.populate(this._formatItems(items)); } }); BI.shortcut("bi.absolute_left_right_vertical_float", BI.FloatAbsoluteLeftRightVerticalAdaptLayout); BI.FloatAbsoluteRightVerticalAdaptLayout = BI.inherit(BI.Layout, { props: function () { return BI.extend(BI.FloatAbsoluteRightVerticalAdaptLayout.superclass.props.apply(this, arguments), { baseCls: "bi-abs-r-v-fl", verticalAlign: BI.VerticalAlign.Middle, items: [], lgap: 0, rgap: 0, hgap: 0 }); }, render: function () { var o = this.options, self = this; BI.FloatAbsoluteRightVerticalAdaptLayout.superclass.render.apply(this, arguments); return { type: "bi.htape", ref: function (_ref) { self.layout = _ref; }, verticalAlign: o.verticalAlign, items: [{}].concat(this._formatItems(o.items)), hgap: o.hgap, lgap: o.lgap, rgap: o.rgap, vgap: "50%", scrollx: o.scrollx, scrolly: o.scrolly, scrollable: o.scrollable }; }, _formatItems: function (items) { if (this.options.verticalAlign !== BI.VerticalAlign.Middle) { return items; } return BI.map(items, function (i, item) { if (!item || BI.isEmptyObject(item)) { return item; } var el = BI.stripEL(item); if (BI.isWidget(el)) { el.element.addClass("bi-abs-c-y-item"); } else { el.cls = (el.cls || "") + "bi-abs-c-y-item"; } return item; }); }, resize: function () { this.layout.stroke([{}].concat(this._formatItems(this.options.items))); }, addItem: function () { // do nothing throw new Error("Cannot add subwidget"); }, populate: function (items) { this.layout.populate([{}].concat(this._formatItems(items))); } }); BI.shortcut("bi.absolute_right_vertical_float", BI.FloatAbsoluteRightVerticalAdaptLayout);