Handle right-click mouseup
This commit is contained in:
@ -16,7 +16,6 @@ export default class Track extends React.Component{
|
||||
hover: false
|
||||
}
|
||||
|
||||
this.drag_threshold = 5
|
||||
this.start_position = false
|
||||
}
|
||||
|
||||
@ -29,7 +28,7 @@ export default class Track extends React.Component{
|
||||
|
||||
handleMouseMove(e){
|
||||
|
||||
// No drag handling means no
|
||||
// No drag handling means NO
|
||||
if (this.props.handleDrag === undefined){
|
||||
return false
|
||||
}
|
||||
@ -50,6 +49,13 @@ export default class Track extends React.Component{
|
||||
}
|
||||
|
||||
handleMouseUp(e){
|
||||
|
||||
// Make sure it's not a right-click
|
||||
if (e.button === 2){
|
||||
this.start_position = false
|
||||
return false
|
||||
}
|
||||
|
||||
if (this.props.dragger){
|
||||
e.preventDefault()
|
||||
|
||||
@ -58,7 +64,7 @@ export default class Track extends React.Component{
|
||||
}
|
||||
} else {
|
||||
var target = $(e.target);
|
||||
if( !target.is('a') && target.closest('a').length <= 0 ){
|
||||
if (!target.is('a') && target.closest('a').length <= 0){
|
||||
this.props.handleSelection(e)
|
||||
this.start_position = false
|
||||
}
|
||||
|
||||
@ -191,23 +191,28 @@ class TrackList extends React.Component{
|
||||
this.playTracks()
|
||||
}
|
||||
|
||||
handleContextMenu(e, native_event = true){
|
||||
let selected_tracks = this.digestTracksKeys()
|
||||
let selected_tracks_uris = helpers.arrayOf('uri',selected_tracks)
|
||||
let selected_tracks_indexes = helpers.arrayOf('index',selected_tracks)
|
||||
handleContextMenu(e,track_key){
|
||||
let selected_tracks = this.props.selected_tracks
|
||||
|
||||
// Not already selected, so select it prior to triggering menu
|
||||
if (!selected_tracks.includes(track_key)){
|
||||
selected_tracks = [track_key]
|
||||
this.props.uiActions.setSelectedTracks(selected_tracks)
|
||||
}
|
||||
|
||||
let selected_tracks_digested = this.digestTracksKeys(selected_tracks)
|
||||
let selected_tracks_uris = helpers.arrayOf('uri',selected_tracks_digested)
|
||||
let selected_tracks_indexes = helpers.arrayOf('index',selected_tracks_digested)
|
||||
|
||||
let data = {
|
||||
e: e,
|
||||
context: (this.props.context ? this.props.context+'-track' : 'track'),
|
||||
tracklist_uri: (this.props.uri ? this.props.uri : null),
|
||||
items: selected_tracks,
|
||||
items: selected_tracks_digested,
|
||||
uris: selected_tracks_uris,
|
||||
indexes: selected_tracks_indexes
|
||||
}
|
||||
this.props.uiActions.showContextMenu(data)
|
||||
|
||||
// Deselect all tracks
|
||||
this.props.uiActions.setSelectedTracks([])
|
||||
}
|
||||
|
||||
handleSelection(e,track_key){
|
||||
@ -393,7 +398,7 @@ class TrackList extends React.Component{
|
||||
dragger={this.props.dragger}
|
||||
handleSelection={e => this.handleSelection(e, track_key)}
|
||||
handleDoubleClick={e => this.handleDoubleClick(e, track_key)}
|
||||
handleContextMenu={e => this.handleContextMenu(e)}
|
||||
handleContextMenu={e => this.handleContextMenu(e, track_key)}
|
||||
handleDrag={e => this.handleDrag(e, track_key)}
|
||||
handleDrop={e => this.handleDrop(e, track_key)}
|
||||
handleTouchDrag={e => this.handleTouchDrag(e, track_key)}
|
||||
|
||||
Reference in New Issue
Block a user