Handle right-click mouseup

This commit is contained in:
James Barnsley
2017-07-25 09:22:15 +12:00
parent a627692d16
commit 795f6d9c03
2 changed files with 23 additions and 12 deletions

View File

@ -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
}

View File

@ -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)}