UNPKG

2.18 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
5var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
7Object.defineProperty(exports, "__esModule", {
8 value: true
9});
10exports.default = void 0;
11
12var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
14var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
16var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
18var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
20var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
21
22var React = _interopRequireWildcard(require("react"));
23
24var LazyRenderBox = /*#__PURE__*/function (_React$Component) {
25 (0, _inherits2.default)(LazyRenderBox, _React$Component);
26
27 var _super = (0, _createSuper2.default)(LazyRenderBox);
28
29 function LazyRenderBox() {
30 (0, _classCallCheck2.default)(this, LazyRenderBox);
31 return _super.apply(this, arguments);
32 }
33
34 (0, _createClass2.default)(LazyRenderBox, [{
35 key: "shouldComponentUpdate",
36 value: function shouldComponentUpdate(nextProps) {
37 if (nextProps.forceRender) {
38 return true;
39 }
40
41 return !!nextProps.hiddenClassName || !!nextProps.visible;
42 }
43 }, {
44 key: "render",
45 value: function render() {
46 var _this$props = this.props,
47 className = _this$props.className,
48 hiddenClassName = _this$props.hiddenClassName,
49 visible = _this$props.visible,
50 forceRender = _this$props.forceRender,
51 restProps = (0, _objectWithoutProperties2.default)(_this$props, ["className", "hiddenClassName", "visible", "forceRender"]);
52 var useClassName = className;
53
54 if (!!hiddenClassName && !visible) {
55 useClassName += " ".concat(hiddenClassName);
56 }
57
58 return React.createElement("div", Object.assign({}, restProps, {
59 className: useClassName
60 }));
61 }
62 }]);
63 return LazyRenderBox;
64}(React.Component);
65
66exports.default = LazyRenderBox;
\No newline at end of file