UNPKG

@lyra/vision

Version:

React-based data management tool for Lyra projects

49 lines (34 loc) 1.08 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _LoadingSpinner = require('./LoadingSpinner'); var _LoadingSpinner2 = _interopRequireDefault(_LoadingSpinner); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // Waits for X ms before showing a spinner class DelayedSpinner extends _react2.default.PureComponent { constructor() { super(); this.state = {}; } componentDidMount() { this.timer = setTimeout(() => this.setState({ show: true }), this.props.delay); } componentWillUnmount() { clearTimeout(this.timer); } render() { return this.state.show ? _react2.default.createElement(_LoadingSpinner2.default, null) : null; } } DelayedSpinner.propTypes = { delay: _propTypes2.default.number }; DelayedSpinner.defaultProps = { delay: 500 }; exports.default = DelayedSpinner;