import React from 'react'; import ReactDOM from 'react-dom'; import {formatPrice} from '../lib/helpers'; import {loadListing} from '../lib/api'; export default class Listings extends React.Component { constructor(props) { super(props); this.handleScroll = (e) => { const node = e.target; const offset = node.scrollHeight - node.scrollTop - node.clientHeight; //console.log('-----------------'); //console.log('node.scrollHeight', node.scrollHeight); //console.log('node.parentNode.scrollTop', node.scrollTop); //console.log('node.parentNode.clientHeight', node.clientHeight); if (this.props && this.props.loadingMore) { console.log('still loading!'); return; } console.log('scrolling', node.scrollTop, node.scrollHeight, offset); if (offset < 50) { console.log('load more'); //this.removeScrollListener(); this.props.dispatch({type: 'LOAD_MORE_LISTINGS'}); } } } onListingClick(id) { loadListing(id).then(l => l.text()).then(l => { console.log('listing loaded', l); this.props.dispatch({type: 'VIEW_LISTING_DETAILS', action: { id, listing: JSON.parse(l) }}); }); //this.props.dispatch({ //type: 'VIEW_LISTING_DETAILS', //action: { //id //} //}); } onMouseEnter (id) { this.props.dispatch({ type: 'ON_LISTING_MOUSE_OVER', action: { id } }); } componentDidUpdate (prevProps) { console.log('RECEIVING PROPS: ', prevProps, 'new are', this.props); //if (this.props.loadingMore != null) { //if (!this.props.loadingMore && prevProps.loadingMore) { //this.attachScrollListener(); //console.log('ATTACHING AGAIN', this); //} //} } renderListings () { const {listings = (new Map())} = this.props; if (listings.size === 0) { return (