Injecting loading overlay into map for cases where domain hasnt been loaded yet

This commit is contained in:
efarooqui
2020-10-19 15:29:39 -07:00
parent 7dee3dacd1
commit 70f89a2a5d
2 changed files with 9 additions and 2 deletions

View File

@@ -15,6 +15,7 @@ import Clusters from './presentational/Map/Clusters.jsx'
import SelectedEvents from './presentational/Map/SelectedEvents.jsx' import SelectedEvents from './presentational/Map/SelectedEvents.jsx'
import Narratives from './presentational/Map/Narratives' import Narratives from './presentational/Map/Narratives'
import DefsMarkers from './presentational/Map/DefsMarkers.jsx' import DefsMarkers from './presentational/Map/DefsMarkers.jsx'
import LoadingOverlay from '../components/Overlay/Loading'
import { mapClustersToLocations, isIdentical } from '../common/utilities' import { mapClustersToLocations, isIdentical } from '../common/utilities'
@@ -335,7 +336,7 @@ class Map extends React.Component {
} }
render () { render () {
const { isShowingSites } = this.props.app.flags const { isShowingSites, isFetchingDomain } = this.props.app.flags
const classes = this.props.app.narrative ? 'map-wrapper narrative-mode' : 'map-wrapper' const classes = this.props.app.narrative ? 'map-wrapper narrative-mode' : 'map-wrapper'
const innerMap = this.map ? ( const innerMap = this.map ? (
<React.Fragment> <React.Fragment>
@@ -356,6 +357,11 @@ class Map extends React.Component {
tabIndex='0' tabIndex='0'
> >
<div id={this.props.ui.dom.map} /> <div id={this.props.ui.dom.map} />
<LoadingOverlay
isLoading={this.props.app.loading || isFetchingDomain}
ui={isFetchingDomain}
language={this.props.app.language}
/>
{innerMap} {innerMap}
</div> </div>
) )
@@ -376,6 +382,8 @@ function mapStateToProps (state) {
selected: selectors.selectSelected(state), selected: selectors.selectSelected(state),
highlighted: state.app.highlighted, highlighted: state.app.highlighted,
map: state.app.map, map: state.app.map,
language: state.app.language,
loading: state.app.loading,
narrative: state.app.associations.narrative, narrative: state.app.associations.narrative,
flags: { flags: {
isShowingSites: state.app.flags.isShowingSites, isShowingSites: state.app.flags.isShowingSites,

View File

@@ -4,7 +4,6 @@ import copy from '../../common/data/copy.json'
const LoadingOverlay = ({ isLoading, language }) => { const LoadingOverlay = ({ isLoading, language }) => {
let classes = 'loading-overlay' let classes = 'loading-overlay'
classes += (!isLoading) ? ' hidden' : '' classes += (!isLoading) ? ' hidden' : ''
return ( return (
<div id='loading-overlay' className={classes}> <div id='loading-overlay' className={classes}>
<div className='loading-wrapper'> <div className='loading-wrapper'>