UNPKG

@antv/f2

Version:

Charts for mobile visualization.

79 lines (78 loc) 2.72 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper")); var _component = _interopRequireDefault(require("./base/component")); var _children = _interopRequireDefault(require("./children")); var Timeline = /*#__PURE__*/function (_Component) { (0, _inherits2.default)(Timeline, _Component); var _super = (0, _createSuper2.default)(Timeline); function Timeline(props) { var _this; (0, _classCallCheck2.default)(this, Timeline); _this = _super.call(this, props); _this.next = function () { var _assertThisInitialize = (0, _assertThisInitialized2.default)(_this), state = _assertThisInitialize.state, props = _assertThisInitialize.props; var index = state.index, count = state.count, delay = state.delay; var loop = props.loop; var next = loop ? (index + 1) % count : index + 1; if (next < count) { setTimeout(function () { _this.setState({ index: next }); }, delay || 0); } }; var delay = props.delay, _props$start = props.start, start = _props$start === void 0 ? 0 : _props$start, children = props.children; var count = _children.default.toArray(children).length; _this.state = { delay: delay, count: count, index: start }; return _this; } (0, _createClass2.default)(Timeline, [{ key: "didMount", value: function didMount() { var context = this.context; var root = context.root; root.on('animationEnd', this.next); } }, { key: "didUnmount", value: function didUnmount() { var context = this.context; var root = context.root; root.off('animationEnd', this.next); } }, { key: "render", value: function render() { var state = this.state, props = this.props; var children = props.children; var index = state.index; var childrenArray = _children.default.toArray(children); return childrenArray[index]; } }]); return Timeline; }(_component.default); var _default = Timeline; exports.default = _default;