import React, { PropTypes } from 'react' import FontAwesome from 'react-fontawesome' import ArtistSentence from './ArtistSentence' import AlbumLink from './AlbumLink' import Dater from './Dater' var helpers = require('../helpers.js') export default class Track extends React.Component{ constructor(props) { super(props); } handleClick(e){ var target = $(e.target); if( !target.is('a') && target.closest('a').length <= 0 ){ this.props.handleClick(e); } } handleDoubleClick(e){ return this.props.handleDoubleClick(e); } handleContextMenu(e){ e.preventDefault(); // trigger a regular click event if( !this.props.track.selected ) this.handleClick(e); // notify our tracklist this.props.handleContextMenu(e); } render(){ var track = this.props.track; var className = 'list-item track'; if( typeof(track.selected) !== 'undefined' && track.selected ) className += ' selected'; if( track.playing ) className += ' playing'; return (
this.handleDoubleClick(e) } onClick={ (e) => this.handleClick(e) } onContextMenu={ (e) => this.handleContextMenu(e) }> { this.props.track.selected ? : null } {track.name} { track.artists ? : null } { track.album ? : null } { track.duration_ms ? : null } { track.length ? : null } { this.props.show_source_icon ? : null }
); } }