adui
Version:
<div> <img src="https://wxa.wxs.qq.com/mpweb/delivery/legacy/wxadtouch/upload/t1/od834zef_52939fc6.png" style="margin:40px 0 0 -8px; background-color: #fcfcfc; box-shadow: none;" /> </div>
154 lines (153 loc) • 24.6 kB
JavaScript
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
var ColumnManager = exports["default"] = _createClass(function ColumnManager(_elements) {
var _this = this;
_classCallCheck(this, ColumnManager);
this.cached = {};
this.columns = void 0;
this.isAnyColumnsFixed = function () {
return _this.cache("isAnyColumnsFixed", function () {
return _this.columns.some(function (column) {
return !!column.fixed;
});
});
};
this.isAnyColumnsLeftFixed = function () {
return _this.cache("isAnyColumnsLeftFixed", function () {
return _this.columns.some(function (column) {
return column.fixed === "left" || column.fixed === true;
});
});
};
this.isAnyColumnsRightFixed = function () {
return _this.cache("isAnyColumnsRightFixed", function () {
return _this.columns.some(function (column) {
return column.fixed === "right";
});
});
};
this.getLeftColumns = function () {
return _this.cache("getLeftColumns", function () {
return _this.columns.filter(function (column) {
return column.fixed === "left" || column.fixed === true;
});
});
};
this.getMainColumns = function () {
return _this.cache("getMainColumns", function () {
return _this.columns.filter(function (column) {
return !column.fixed;
});
});
};
this.getRightColumns = function () {
return _this.cache("getRightColumns", function () {
return _this.columns.filter(function (column) {
return column.fixed === "right";
});
});
};
this.getColumns = function () {
return [].concat(_toConsumableArray(_this.getLeftColumns()), _toConsumableArray(_this.getMainColumns()), _toConsumableArray(_this.getRightColumns()));
};
this.getLeftColumnsWidth = function () {
return _this.cache("getLeftColumnsWidth", function () {
return _this.getColumnsWidthBase(_this.getLeftColumns());
});
};
this.getRightColumnsWidth = function () {
return _this.cache("getRightColumnsWidth", function () {
return _this.getColumnsWidthBase(_this.getRightColumns());
});
};
this.getGroupColumnsDepth = function () {
return _this.cache("getGroupColumnsDepth", function () {
var depth = 1;
var children = _this.columns.filter(function (column) {
return !!column.children;
});
if (children.length) {
depth = 2;
children.forEach(function (child) {
var grands = child.children.some(function (grand) {
return !!grand.children;
});
if (grands) {
depth = 3;
}
});
}
return depth;
});
};
this.getColumnsWidthBase = function (columns) {
var sum = "calc(";
columns.forEach(function (column) {
var width = column.width;
if (typeof width === "number") {
sum += "".concat(width, "px + ");
} else {
sum += "".concat(width, " + ");
}
});
return "".concat(sum.slice(0, -2), ")");
};
this.normalize = function (elementsParam) {
var columns = [];
var elements = Array.isArray(elementsParam) ? elementsParam : [elementsParam];
if (elements.find(function (o) {
return _react["default"].isValidElement(o);
})) {
_react["default"].Children.forEach(elements, function (element) {
if (!_react["default"].isValidElement(element)) {
return;
}
var column = _objectSpread({}, element.props);
var children = column.children;
if (children) {
children = Array.isArray(children) ? children : [children];
column.children = _this.normalize(children);
}
columns.push(column);
});
} else {
elements.forEach(function (o) {
columns.push(o);
});
}
return columns;
};
this.reset = function (elements) {
_this.columns = _this.normalize(elements);
_this.cached = {};
};
this.cache = function (name, fn) {
if (name in _this.cached) {
return _this.cached[name];
}
_this.cached[name] = fn();
return _this.cached[name];
};
this.columns = this.normalize(_elements);
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsImUiLCJfX2VzTW9kdWxlIiwib3duS2V5cyIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIlR5cGVFcnJvciIsImEiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwiY2FsbCIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiQXJyYXkiLCJmcm9tIiwidGVzdCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiaXNBcnJheSIsIm4iLCJfZGVmaW5lUHJvcGVydGllcyIsImtleSIsIl9jcmVhdGVDbGFzcyIsInByb3RvdHlwZSIsImkiLCJfdG9QcmltaXRpdmUiLCJfdHlwZW9mIiwidG9QcmltaXRpdmUiLCJTdHJpbmciLCJOdW1iZXIiLCJfY2xhc3NDYWxsQ2hlY2siLCJDb2x1bW5NYW5hZ2VyIiwiZXhwb3J0cyIsImVsZW1lbnRzIiwiX3RoaXMiLCJjYWNoZWQiLCJjb2x1bW5zIiwiaXNBbnlDb2x1bW5zRml4ZWQiLCJjYWNoZSIsInNvbWUiLCJjb2x1bW4iLCJmaXhlZCIsImlzQW55Q29sdW1uc0xlZnRGaXhlZCIsImlzQW55Q29sdW1uc1JpZ2h0Rml4ZWQiLCJnZXRMZWZ0Q29sdW1ucyIsImdldE1haW5Db2x1bW5zIiwiZ2V0UmlnaHRDb2x1bW5zIiwiZ2V0Q29sdW1ucyIsImNvbmNhdCIsImdldExlZnRDb2x1bW5zV2lkdGgiLCJnZXRDb2x1bW5zV2lkdGhCYXNlIiwiZ2V0UmlnaHRDb2x1bW5zV2lkdGgiLCJnZXRHcm91cENvbHVtbnNEZXB0aCIsImRlcHRoIiwiY2hpbGRyZW4iLCJjaGlsZCIsImdyYW5kcyIsImdyYW5kIiwic3VtIiwid2lkdGgiLCJub3JtYWxpemUiLCJlbGVtZW50c1BhcmFtIiwiZmluZCIsIlJlYWN0IiwiaXNWYWxpZEVsZW1lbnQiLCJDaGlsZHJlbiIsImVsZW1lbnQiLCJwcm9wcyIsInJlc2V0IiwiZm4iXSwic291cmNlcyI6WyIuLi8uLi9jb21wb25lbnRzL3RhYmxlL0NvbHVtbk1hbmFnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiXG5cbmludGVyZmFjZSBJQmFzZU9iamVjdCB7XG4gIFtrZXk6IHN0cmluZ106IGFueVxufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb2x1bW5NYW5hZ2VyIHtcbiAgcHVibGljIGNhY2hlZDogYW55ID0ge31cblxuICBwdWJsaWMgY29sdW1uczogSUJhc2VPYmplY3RbXVxuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRzOiBJQmFzZU9iamVjdFtdKSB7XG4gICAgdGhpcy5jb2x1bW5zID0gdGhpcy5ub3JtYWxpemUoZWxlbWVudHMpXG4gIH1cblxuICBwdWJsaWMgaXNBbnlDb2x1bW5zRml4ZWQgPSAoKSA9PlxuICAgIHRoaXMuY2FjaGUoXCJpc0FueUNvbHVtbnNGaXhlZFwiLCAoKSA9PlxuICAgICAgdGhpcy5jb2x1bW5zLnNvbWUoKGNvbHVtbjogSUJhc2VPYmplY3QpID0+ICEhY29sdW1uLmZpeGVkKVxuICAgIClcblxuICBwdWJsaWMgaXNBbnlDb2x1bW5zTGVmdEZpeGVkID0gKCkgPT5cbiAgICB0aGlzLmNhY2hlKFwiaXNBbnlDb2x1bW5zTGVmdEZpeGVkXCIsICgpID0+XG4gICAgICB0aGlzLmNvbHVtbnMuc29tZShcbiAgICAgICAgKGNvbHVtbjogSUJhc2VPYmplY3QpID0+XG4gICAgICAgICAgY29sdW1uLmZpeGVkID09PSBcImxlZnRcIiB8fCBjb2x1bW4uZml4ZWQgPT09IHRydWVcbiAgICAgIClcbiAgICApXG5cbiAgcHVibGljIGlzQW55Q29sdW1uc1JpZ2h0Rml4ZWQgPSAoKSA9PlxuICAgIHRoaXMuY2FjaGUoXCJpc0FueUNvbHVtbnNSaWdodEZpeGVkXCIsICgpID0+XG4gICAgICB0aGlzLmNvbHVtbnMuc29tZSgoY29sdW1uOiBJQmFzZU9iamVjdCkgPT4gY29sdW1uLmZpeGVkID09PSBcInJpZ2h0XCIpXG4gICAgKVxuXG4gIHB1YmxpYyBnZXRMZWZ0Q29sdW1ucyA9ICgpID0+XG4gICAgdGhpcy5jYWNoZShcImdldExlZnRDb2x1bW5zXCIsICgpID0+XG4gICAgICB0aGlzLmNvbHVtbnMuZmlsdGVyKFxuICAgICAgICAoY29sdW1uOiBJQmFzZU9iamVjdCkgPT5cbiAgICAgICAgICBjb2x1bW4uZml4ZWQgPT09IFwibGVmdFwiIHx8IGNvbHVtbi5maXhlZCA9PT0gdHJ1ZVxuICAgICAgKVxuICAgIClcblxuICBwdWJsaWMgZ2V0TWFpbkNvbHVtbnMgPSAoKSA9PlxuICAgIHRoaXMuY2FjaGUoXCJnZXRNYWluQ29sdW1uc1wiLCAoKSA9PlxuICAgICAgdGhpcy5jb2x1bW5zLmZpbHRlcigoY29sdW1uOiBJQmFzZU9iamVjdCkgPT4gIWNvbHVtbi5maXhlZClcbiAgICApXG5cbiAgcHVibGljIGdldFJpZ2h0Q29sdW1ucyA9ICgpID0+XG4gICAgdGhpcy5jYWNoZShcImdldFJpZ2h0Q29sdW1uc1wiLCAoKSA9PlxuICAgICAgdGhpcy5jb2x1bW5zLmZpbHRlcigoY29sdW1uOiBJQmFzZU9iamVjdCkgPT4gY29sdW1uLmZpeGVkID09PSBcInJpZ2h0XCIpXG4gICAgKVxuXG4gIHB1YmxpYyBnZXRDb2x1bW5zID0gKCkgPT4gW1xuICAgIC4uLnRoaXMuZ2V0TGVmdENvbHVtbnMoKSxcbiAgICAuLi50aGlzLmdldE1haW5Db2x1bW5zKCksXG4gICAgLi4udGhpcy5nZXRSaWdodENvbHVtbnMoKSxcbiAgXVxuXG4gIHB1YmxpYyBnZXRMZWZ0Q29sdW1uc1dpZHRoID0gKCkgPT5cbiAgICB0aGlzLmNhY2hlKFwiZ2V0TGVmdENvbHVtbnNXaWR0aFwiLCAoKSA9PlxuICAgICAgdGhpcy5nZXRDb2x1bW5zV2lkdGhCYXNlKHRoaXMuZ2V0TGVmdENvbHVtbnMoKSlcbiAgICApXG5cbiAgcHVibGljIGdldFJpZ2h0Q29sdW1uc1dpZHRoID0gKCkgPT5cbiAgICB0aGlzLmNhY2hlKFwiZ2V0UmlnaHRDb2x1bW5zV2lkdGhcIiwgKCkgPT5cbiAgICAgIHRoaXMuZ2V0Q29sdW1uc1dpZHRoQmFzZSh0aGlzLmdldFJpZ2h0Q29sdW1ucygpKVxuICAgIClcblxuICBwdWJsaWMgZ2V0R3JvdXBDb2x1bW5zRGVwdGggPSAoKSA9PlxuICAgIHRoaXMuY2FjaGUoXCJnZXRHcm91cENvbHVtbnNEZXB0aFwiLCAoKSA9PiB7XG4gICAgICBsZXQgZGVwdGggPSAxXG4gICAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMuY29sdW1ucy5maWx0ZXIoXG4gICAgICAgIChjb2x1bW46IElCYXNlT2JqZWN0KSA9PiAhIWNvbHVtbi5jaGlsZHJlblxuICAgICAgKVxuICAgICAgaWYgKGNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICBkZXB0aCA9IDJcbiAgICAgICAgY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICBjb25zdCBncmFuZHMgPSBjaGlsZC5jaGlsZHJlbi5zb21lKFxuICAgICAgICAgICAgKGdyYW5kOiBJQmFzZU9iamVjdCkgPT4gISFncmFuZC5jaGlsZHJlblxuICAgICAgICAgIClcbiAgICAgICAgICBpZiAoZ3JhbmRzKSB7XG4gICAgICAgICAgICBkZXB0aCA9IDNcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICByZXR1cm4gZGVwdGhcbiAgICB9KVxuXG4gIHB1YmxpYyBnZXRDb2x1bW5zV2lkdGhCYXNlID0gKGNvbHVtbnM6IElCYXNlT2JqZWN0W10pID0+IHtcbiAgICBsZXQgc3VtID0gXCJjYWxjKFwiXG4gICAgY29sdW1ucy5mb3JFYWNoKChjb2x1bW46IElCYXNlT2JqZWN0KSA9PiB7XG4gICAgICBjb25zdCB7IHdpZHRoIH0gPSBjb2x1bW5cbiAgICAgIGlmICh0eXBlb2Ygd2lkdGggPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgc3VtICs9IGAke3dpZHRofXB4ICsgYFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3VtICs9IGAke3dpZHRofSArIGBcbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiBgJHtzdW0uc2xpY2UoMCwgLTIpfSlgXG4gIH1cblxuICBwdWJsaWMgbm9ybWFsaXplID0gKGVsZW1lbnRzUGFyYW06IElCYXNlT2JqZWN0W10pID0+IHtcbiAgICBjb25zdCBjb2x1bW5zOiBJQmFzZU9iamVjdFtdID0gW11cbiAgICBjb25zdCBlbGVtZW50cyA9IEFycmF5LmlzQXJyYXkoZWxlbWVudHNQYXJhbSlcbiAgICAgID8gZWxlbWVudHNQYXJhbVxuICAgICAgOiBbZWxlbWVudHNQYXJhbV1cbiAgICBpZiAoZWxlbWVudHMuZmluZCgobykgPT4gUmVhY3QuaXNWYWxpZEVsZW1lbnQobykpKSB7XG4gICAgICBSZWFjdC5DaGlsZHJlbi5mb3JFYWNoKGVsZW1lbnRzLCAoZWxlbWVudCkgPT4ge1xuICAgICAgICAvKipcbiAgICAgICAgICogQ29sdW1uIOWQjeWtmOWunuS6oe+8jOWunumZheS4iuaYr+S7jiBjaGlsZHJlbiDojrflj5bmr4/kuIDliJfnmoQgcHJvcHNcbiAgICAgICAgICog5Zug5q2k6ZyA6KaB5Yik5patIGNoaWxkcmVuIGlzVmFsaWRFbGVtZW5077yM5YaN5LuOIGNoaWxkcmVuIOmBjeWOhiBwcm9wXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoIVJlYWN0LmlzVmFsaWRFbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29sdW1uOiBhbnkgPSB7IC4uLihlbGVtZW50LnByb3BzIGFzIHt9KSB9XG4gICAgICAgIGxldCB7IGNoaWxkcmVuIH0gPSBjb2x1bW5cbiAgICAgICAgaWYgKGNoaWxkcmVuKSB7XG4gICAgICAgICAgY2hpbGRyZW4gPSBBcnJheS5pc0FycmF5KGNoaWxkcmVuKSA/IGNoaWxkcmVuIDogW2NoaWxkcmVuXVxuICAgICAgICAgIGNvbHVtbi5jaGlsZHJlbiA9IHRoaXMubm9ybWFsaXplKGNoaWxkcmVuKVxuICAgICAgICB9XG4gICAgICAgIGNvbHVtbnMucHVzaChjb2x1bW4pXG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICBlbGVtZW50cy5mb3JFYWNoKChvKSA9PiB7XG4gICAgICAgIGNvbHVtbnMucHVzaChvKVxuICAgICAgfSlcbiAgICB9XG4gICAgcmV0dXJuIGNvbHVtbnNcbiAgfVxuXG4gIHB1YmxpYyByZXNldCA9IChlbGVtZW50czogSUJhc2VPYmplY3RbXSkgPT4ge1xuICAgIHRoaXMuY29sdW1ucyA9IHRoaXMubm9ybWFsaXplKGVsZW1lbnRzKVxuICAgIHRoaXMuY2FjaGVkID0ge31cbiAgfVxuXG4gIHB1YmxpYyBjYWNoZSA9IChuYW1lOiBzdHJpbmcsIGZuOiAoKSA9PiB2b2lkKSA9PiB7XG4gICAgaWYgKG5hbWUgaW4gdGhpcy5jYWNoZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLmNhY2hlZFtuYW1lXVxuICAgIH1cbiAgICB0aGlzLmNhY2hlZFtuYW1lXSA9IGZuKClcbiAgICByZXR1cm4gdGhpcy5jYWNoZWRbbmFtZV1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQXlCLFNBQUFELHVC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
;