48 lines
1.8 KiB
JavaScript
48 lines
1.8 KiB
JavaScript
import _extends from "babel-runtime/helpers/extends";
|
|
import _classCallCheck from "babel-runtime/helpers/classCallCheck";
|
|
import _possibleConstructorReturn from "babel-runtime/helpers/possibleConstructorReturn";
|
|
import _inherits from "babel-runtime/helpers/inherits";
|
|
var __rest = this && this.__rest || function (s, e) {
|
|
var t = {};
|
|
for (var p in s) {
|
|
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
}if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];
|
|
}return t;
|
|
};
|
|
import * as React from 'react';
|
|
|
|
var LazyRenderBox = function (_React$Component) {
|
|
_inherits(LazyRenderBox, _React$Component);
|
|
|
|
function LazyRenderBox() {
|
|
_classCallCheck(this, LazyRenderBox);
|
|
|
|
return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
|
|
}
|
|
|
|
LazyRenderBox.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
|
|
if (nextProps.forceRender) {
|
|
return true;
|
|
}
|
|
return !!nextProps.hiddenClassName || !!nextProps.visible;
|
|
};
|
|
|
|
LazyRenderBox.prototype.render = function render() {
|
|
var _a = this.props,
|
|
className = _a.className,
|
|
hiddenClassName = _a.hiddenClassName,
|
|
visible = _a.visible,
|
|
forceRender = _a.forceRender,
|
|
restProps = __rest(_a, ["className", "hiddenClassName", "visible", "forceRender"]);
|
|
var useClassName = className;
|
|
if (!!hiddenClassName && !visible) {
|
|
useClassName += " " + hiddenClassName;
|
|
}
|
|
return React.createElement("div", _extends({}, restProps, { className: useClassName }));
|
|
};
|
|
|
|
return LazyRenderBox;
|
|
}(React.Component);
|
|
|
|
export default LazyRenderBox; |