Advertisement
Guest User

Untitled

a guest
Mar 30th, 2020
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. import React, { PureComponent, Fragment } from 'react';
  2.  
  3. import Geoservice from 'react-trendagent-ui/dist/components/UI/Geoservice';
  4.  
  5. import './static/styles';
  6.  
  7.  
  8. export default class ViewMap extends PureComponent {
  9. state = {
  10. isUpdate: false
  11. }
  12.  
  13. componentDidUpdate(prevProps, prevState) {
  14. if (JSON.stringify(this.state.apartment) !== JSON.stringify(prevProps.apartment)) this.setState({ isUpdate: true });
  15. if (this.state.isUpdate !== prevState.isUpdate) this.setState({ isUpdate: false });
  16. }
  17.  
  18. getAddress() {
  19. if(this.props.apartment.view === 2) {
  20. return `${this.props.apartment.building.address.street}${this.props.apartment.building.address.house ? `, д.${this.props.apartment.building.address.house}` : ''}${this.props.apartment.building.address.housing ? `, к.${this.props.apartment.building.address.housing}` : ''}`;
  21. }
  22.  
  23. return this.props.apartment.block.address;
  24. }
  25.  
  26. render() {
  27. return (
  28. <Fragment>
  29. <h2 className='preview-page__subtitle'>Вид из окон</h2>
  30. {!this.state.isUpdate &&
  31. <div className='preview-map'>
  32. <Geoservice
  33. value={this.props.apartment.building.geometry}
  34. mapProvider='trend'
  35. infrastructure={true}
  36. sides={this.props.apartment.cardinals}
  37. sidesCenter={this.props.apartment.sub_section_center || this.props.apartment.section_center}
  38. />
  39. {this.props.apartment.block.subways && this.props.apartment.block.subways.slice(0, 1).map((subway, key) => (
  40. <div className='preview-map__metro' key={key}><span className='preview-map__metro__point' style={{ backgroundColor: subway.color }} />{subway.name}, {subway.distance_timing} минут {subway.distance_type === 1 ? 'пешком' : 'на транспорте'}, {this.props.apartment.block.region.name}, {this.getAddress()}</div>
  41. ))}
  42. </div>
  43. }
  44. </Fragment>
  45. );
  46. }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement