diff options
| author | Georgios Andreadis <G.Andreadis@student.tudelft.nl> | 2017-11-03 16:06:41 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-11-03 16:06:41 +0100 |
| commit | 285026488df4c82c3f31fe093a4f44c579331ac0 (patch) | |
| tree | 70d6a56a7f2570e493721f45350f28c4763340ed | |
| parent | 9676913164c9c374a3b350c47346b02545c9e104 (diff) | |
| parent | 262a3ea510af4fef615106e0b7a160a9438ca642 (diff) | |
Merge pull request #52 from atlarge-research/feature/46/no-experiments
Show more accurate alert while loading experiments
| -rw-r--r-- | src/components/experiments/ExperimentListComponent.js | 32 | ||||
| -rw-r--r-- | src/containers/experiments/ExperimentListContainer.js | 1 |
2 files changed, 25 insertions, 8 deletions
diff --git a/src/components/experiments/ExperimentListComponent.js b/src/components/experiments/ExperimentListComponent.js index 28c06f29..2f7106e5 100644 --- a/src/components/experiments/ExperimentListComponent.js +++ b/src/components/experiments/ExperimentListComponent.js @@ -2,15 +2,30 @@ import PropTypes from "prop-types"; import React from "react"; import ExperimentRowContainer from "../../containers/experiments/ExperimentRowContainer"; -const ExperimentListComponent = ({ experimentIds }) => { +const ExperimentListComponent = ({ experimentIds, loading }) => { + let alert; + + if (loading) { + alert = ( + <div className="alert alert-success"> + <span className="fa fa-refresh fa-spin mr-2" /> + <strong>Loading Experiments...</strong> + </div> + ); + } else if (experimentIds.length === 0 && !loading) { + alert = ( + <div className="alert alert-info"> + <span className="fa fa-question-circle mr-2" /> + <strong>No experiments here yet...</strong> Add some with the button + below! + </div> + ); + } + return ( <div className="vertically-expanding-container"> - {experimentIds.length === 0 ? ( - <div className="alert alert-info"> - <span className="info-icon fa fa-question-circle mr-2" /> - <strong>No experiments here yet...</strong> Add some with the button - below! - </div> + {alert ? ( + alert ) : ( <table className="table table-striped"> <thead> @@ -37,7 +52,8 @@ const ExperimentListComponent = ({ experimentIds }) => { }; ExperimentListComponent.propTypes = { - experimentIds: PropTypes.arrayOf(PropTypes.number).isRequired + experimentIds: PropTypes.arrayOf(PropTypes.number).isRequired, + loading: PropTypes.bool }; export default ExperimentListComponent; diff --git a/src/containers/experiments/ExperimentListContainer.js b/src/containers/experiments/ExperimentListContainer.js index 632942bf..53bb1dad 100644 --- a/src/containers/experiments/ExperimentListContainer.js +++ b/src/containers/experiments/ExperimentListContainer.js @@ -7,6 +7,7 @@ const mapStateToProps = state => { !("experimentIds" in state.objects.simulation[state.currentSimulationId]) ) { return { + loading: true, experimentIds: [] }; } |
