UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

115 lines (95 loc) 2.71 kB
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray"; import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; import { __decorate } from "tslib"; import { computed } from 'mobx'; import ColumnGroup from './ColumnGroup'; var ColumnGroups = /*#__PURE__*/ function () { function ColumnGroups(columns, parent) { var _this = this; _classCallCheck(this, ColumnGroups); this.parent = parent; var prev; this.columns = columns.map(function (col) { var group = new ColumnGroup(col, _this); if (prev) { prev.next = group; group.prev = prev; } prev = group; return group; }); } _createClass(ColumnGroups, [{ key: "wide", get: function get() { return this.columns.reduce(function (sum, _ref) { var colSpan = _ref.colSpan, hidden = _ref.hidden; return hidden ? sum : sum + colSpan; }, 0); } }, { key: "deep", get: function get() { return Math.max.apply(Math, _toConsumableArray(this.columns.map(function (_ref2) { var deep = _ref2.deep; return deep; }))); } }, { key: "hidden", get: function get() { return this.columns.every(function (_ref3) { var hidden = _ref3.hidden; return hidden; }); } }, { key: "lastLeaf", get: function get() { var avaliableColumns = this.columns.filter(function (column) { return !column.hidden; }); return avaliableColumns[avaliableColumns.length - 1].lastLeaf; } }, { key: "width", get: function get() { return this.columns.reduce(function (sum, _ref4) { var width = _ref4.width; return sum + width; }, 0); } }, { key: "left", get: function get() { var parent = this.parent; if (parent) { return parent.left; } return 0; } }, { key: "right", get: function get() { var parent = this.parent; if (parent) { return parent.right; } return 0; } }]); return ColumnGroups; }(); export { ColumnGroups as default }; __decorate([computed], ColumnGroups.prototype, "wide", null); __decorate([computed], ColumnGroups.prototype, "deep", null); __decorate([computed], ColumnGroups.prototype, "hidden", null); __decorate([computed], ColumnGroups.prototype, "lastLeaf", null); __decorate([computed], ColumnGroups.prototype, "width", null); __decorate([computed], ColumnGroups.prototype, "left", null); __decorate([computed], ColumnGroups.prototype, "right", null); //# sourceMappingURL=ColumnGroups.js.map