@lyra/vision
Version:
React-based data management tool for Lyra projects
49 lines (34 loc) • 1.08 kB
JavaScript
;
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;