Sha256: c4feed41fe53f5c59ffd694680e126766d03422e5e274acd30027457072fc9f1

Contents?: true

Size: 1.06 KB

Versions: 161

Compression:

Stored size: 1.06 KB

Contents

import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { translate as __ } from 'foremanReact/common/I18n';
import { Spinner } from 'patternfly-react';
import './LoadingState.scss';

class LoadingState extends Component {
  constructor(props) {
    super(props);
    this.state = {
      render: false,
    };
  }

  componentDidMount() {
    setTimeout(() => {
      this.setState({ render: true });
    }, this.props.timeout);
  }

  render() {
    const { loading, loadingText, children } = this.props;
    const spinner = (
      <div className="loading-state">
        <Spinner loading={loading} size="lg" />
        <p>{loadingText}</p>
      </div>);

    if (loading) {
      return this.state.render ? spinner : null;
    }
    return children;
  }
}
LoadingState.propTypes = {
  loading: PropTypes.bool,
  loadingText: PropTypes.string,
  children: PropTypes.node,
  timeout: PropTypes.number,
};

LoadingState.defaultProps = {
  loading: false,
  loadingText: __('Loading'),
  children: null,
  timeout: 300,
};

export default LoadingState;

Version data entries

161 entries across 161 versions & 1 rubygems

Version Path
katello-4.14.3 webpack/components/LoadingState/LoadingState.js
katello-4.14.2 webpack/components/LoadingState/LoadingState.js
katello-4.15.0 webpack/components/LoadingState/LoadingState.js
katello-4.15.0.rc2 webpack/components/LoadingState/LoadingState.js
katello-4.15.0.rc1 webpack/components/LoadingState/LoadingState.js
katello-4.14.1 webpack/components/LoadingState/LoadingState.js
katello-4.14.0 webpack/components/LoadingState/LoadingState.js
katello-4.14.0.rc3 webpack/components/LoadingState/LoadingState.js
katello-4.14.0.rc2 webpack/components/LoadingState/LoadingState.js
katello-4.14.0.rc1.1 webpack/components/LoadingState/LoadingState.js
katello-4.14.0.rc1 webpack/components/LoadingState/LoadingState.js
katello-4.13.1 webpack/components/LoadingState/LoadingState.js
katello-4.13.0 webpack/components/LoadingState/LoadingState.js
katello-4.12.1 webpack/components/LoadingState/LoadingState.js
katello-4.13.0.rc1 webpack/components/LoadingState/LoadingState.js
katello-4.12.0 webpack/components/LoadingState/LoadingState.js
katello-4.12.0.rc3 webpack/components/LoadingState/LoadingState.js
katello-4.12.0.rc2 webpack/components/LoadingState/LoadingState.js
katello-4.12.0.rc1 webpack/components/LoadingState/LoadingState.js
katello-4.11.1 webpack/components/LoadingState/LoadingState.js