1 | 'use strict';
|
2 |
|
3 | function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
4 |
|
5 | var React = require('react');
|
6 | var React__default = _interopDefault(React);
|
7 | var index = require('./index-b0606964.js');
|
8 | var defineProperty$1 = require('./defineProperty-0921a47c.js');
|
9 | var getPrototypeOf = require('./getPrototypeOf-e2d1e599.js');
|
10 | var getDisplayName = require('./getDisplayName-7ab6d318.js');
|
11 |
|
12 | function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = getPrototypeOf._getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf._getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return getPrototypeOf._possibleConstructorReturn(this, result); }; }
|
13 |
|
14 | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
|
15 |
|
16 |
|
17 |
|
18 | var Redraw = function (_React$PureComponent) {
|
19 | getPrototypeOf._inherits(Redraw, _React$PureComponent);
|
20 |
|
21 | var _super = _createSuper(Redraw);
|
22 |
|
23 | function Redraw() {
|
24 | var _this;
|
25 |
|
26 | getPrototypeOf._classCallCheck(this, Redraw);
|
27 |
|
28 | for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
29 | args[_key] = arguments[_key];
|
30 | }
|
31 |
|
32 | _this = _super.call.apply(_super, [this].concat(args));
|
33 |
|
34 | defineProperty$1._defineProperty(getPrototypeOf._assertThisInitialized(_this), "state", {
|
35 | lastDraw: -1
|
36 | });
|
37 |
|
38 | defineProperty$1._defineProperty(getPrototypeOf._assertThisInitialized(_this), "draw", function () {
|
39 | _this.raf = requestAnimationFrame(_this.draw);
|
40 | var interval = _this.props.interval;
|
41 | var lastDraw = _this.state.lastDraw;
|
42 | var now = Date.now();
|
43 | var delta = now - lastDraw;
|
44 |
|
45 | if (lastDraw === -1 || delta > interval) {
|
46 | _this.setState({
|
47 | lastDraw: Math.round(now / interval) * interval
|
48 | });
|
49 | }
|
50 | });
|
51 |
|
52 | return _this;
|
53 | }
|
54 |
|
55 | getPrototypeOf._createClass(Redraw, [{
|
56 | key: "componentDidMount",
|
57 | value: function componentDidMount() {
|
58 | this.raf = null;
|
59 | this.draw();
|
60 | }
|
61 | }, {
|
62 | key: "componentWillUnmount",
|
63 | value: function componentWillUnmount() {
|
64 | this.raf && cancelAnimationFrame(this.raf);
|
65 | }
|
66 | }, {
|
67 | key: "render",
|
68 | value: function render() {
|
69 | return this.props.children();
|
70 | }
|
71 | }]);
|
72 |
|
73 | return Redraw;
|
74 | }(React__default.PureComponent);
|
75 |
|
76 | defineProperty$1._defineProperty(Redraw, "propTypes", {
|
77 | interval: index.PropTypes.number,
|
78 | children: index.PropTypes.func.isRequired
|
79 | });
|
80 |
|
81 | defineProperty$1._defineProperty(Redraw, "defaultProps", {
|
82 | interval: 1000
|
83 | });
|
84 |
|
85 | var hocWrap = function hocWrap(Component, interval) {
|
86 | var HOC = function HOC(props) {
|
87 | return React__default.createElement(Redraw, {
|
88 | interval: interval
|
89 | }, function () {
|
90 | return React__default.createElement(Component, props);
|
91 | });
|
92 | };
|
93 |
|
94 | HOC.displayName = "Redraw(".concat(getDisplayName.getDisplayName(Component), ")");
|
95 | return HOC;
|
96 | };
|
97 |
|
98 | Redraw.hocWrap = hocWrap;
|
99 |
|
100 | exports.Redraw = Redraw;
|
101 |
|