diff --git a/src/containers/BuildingEvents/BuildingEventsTable.js b/src/containers/BuildingEvents/BuildingEventsTable.js index ba278892f09723658776fbec4b4769b9e6b49db5..58a58f8f09eda490c970e39c5e0196ea7c1adcca 100644 --- a/src/containers/BuildingEvents/BuildingEventsTable.js +++ b/src/containers/BuildingEvents/BuildingEventsTable.js @@ -17,6 +17,7 @@ class BuildingEventsTable extends Component { eventsOpen: false, // The ARN for the email emailSubArn: null, + spaceIdToDescription: {}, } componentDidMount() { @@ -34,6 +35,34 @@ class BuildingEventsTable extends Component { if (nextProps === this.props) { return; } + if ( + nextProps.buildingArea.apartments.length > 0 || + nextProps.buildingArea.commonAreas.length > 0 || + nextProps.buildingArea.serviceAreas.length > 0 + ) { + let spaceIdToDescription = nextProps.buildingArea.apartments.reduce((acc, apartment) => { + apartment.spaces.map((space) => { + acc[space.id] = `Apartment ${apartment.number} ${space.description}`; + return space; + }); + return acc; + }, {}); + spaceIdToDescription = nextProps.buildingArea.commonAreas.reduce((acc, commonArea) => { + commonArea.spaces.map((space) => { + acc[space.id] = `Common Area ${space.description}`; + return space; + }); + return acc; + }, spaceIdToDescription); + spaceIdToDescription = nextProps.buildingArea.serviceAreas.reduce((acc, serviceArea) => { + serviceArea.spaces.map((space) => { + acc[space.id] = `Service Area ${space.description}`; + return space; + }); + return acc; + }, spaceIdToDescription); + this.setState({ spaceIdToDescription }); + } /* eslint-disable no-param-reassign */ if ( nextProps.events.alertSubscribersData !== @@ -150,6 +179,10 @@ class BuildingEventsTable extends Component {