Fixed phantom timetips.
This commit is contained in:
parent
c70da9daf1
commit
d9d39e1563
|
|
@ -40,6 +40,9 @@ class queuePanel extends panelObj{
|
||||||
}
|
}
|
||||||
|
|
||||||
docSwitch(){
|
docSwitch(){
|
||||||
|
//Clear timetips
|
||||||
|
this.killTimetips();
|
||||||
|
|
||||||
//Call derived doc switch function
|
//Call derived doc switch function
|
||||||
super.docSwitch();
|
super.docSwitch();
|
||||||
|
|
||||||
|
|
@ -99,6 +102,8 @@ class queuePanel extends panelObj{
|
||||||
closer(){
|
closer(){
|
||||||
//Clear any remaining timers
|
//Clear any remaining timers
|
||||||
clearTimeout(this.timeMarkerTimer);
|
clearTimeout(this.timeMarkerTimer);
|
||||||
|
//Clear timetips
|
||||||
|
this.killTimetips();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -722,15 +727,20 @@ class queuePanel extends panelObj{
|
||||||
//enable drag on target dataset
|
//enable drag on target dataset
|
||||||
event.target.dataset['drag'] = true;
|
event.target.dataset['drag'] = true;
|
||||||
|
|
||||||
|
//Kill existing timetips
|
||||||
|
this.killTimetips();
|
||||||
|
|
||||||
//Create a tooltip to show the time we're dragging to
|
//Create a tooltip to show the time we're dragging to
|
||||||
const timetip = new canopyUXUtils.tooltip('', false, null, this.ownerDoc);
|
const timetip = new canopyUXUtils.tooltip('', false, null, this.ownerDoc);
|
||||||
timetip.tooltip.classList.add('media-tooltip');
|
timetip.tooltip.classList.add('media-tooltip','media-timetip');
|
||||||
|
timetip.tooltip.addEventListener('mousemove', this.killTimetips.bind(this));
|
||||||
|
|
||||||
|
|
||||||
//Drag entry with mouse
|
//Drag entry with mouse
|
||||||
this.ownerDoc.body.addEventListener('mousemove', (nestedEvent)=>{(dragEntry.bind(this))(nestedEvent, event.target, timetip)});
|
this.ownerDoc.body.addEventListener('mousemove', (nestedEvent)=>{(dragEntry.bind(this))(nestedEvent, event.target, timetip)});
|
||||||
|
|
||||||
//Drop on mouse up
|
//Drop on mouse up
|
||||||
this.ownerDoc.body.addEventListener('mouseup', (nestedEvent)=>{(dropEntry.bind(this))(nestedEvent, event.target, timetip)});
|
this.ownerDoc.body.addEventListener('mouseup', (nestedEvent)=>{(dropEntry.bind(this))(nestedEvent, event.target)});
|
||||||
|
|
||||||
//Disable selection on body
|
//Disable selection on body
|
||||||
this.ownerDoc.body.style.userSelect = 'none';
|
this.ownerDoc.body.style.userSelect = 'none';
|
||||||
|
|
@ -834,7 +844,7 @@ class queuePanel extends panelObj{
|
||||||
target.style.top = `${entryTop}px`;
|
target.style.top = `${entryTop}px`;
|
||||||
}
|
}
|
||||||
|
|
||||||
function dropEntry(event, target, timetip){
|
function dropEntry(event, target){
|
||||||
//Gross but works :P
|
//Gross but works :P
|
||||||
if(!target.isConnected || target.dataset['drag'] != "true"){
|
if(!target.isConnected || target.dataset['drag'] != "true"){
|
||||||
return;
|
return;
|
||||||
|
|
@ -846,12 +856,27 @@ class queuePanel extends panelObj{
|
||||||
//allow selection on body
|
//allow selection on body
|
||||||
this.ownerDoc.body.style.userSelect = 'none';
|
this.ownerDoc.body.style.userSelect = 'none';
|
||||||
|
|
||||||
//Remove timetip
|
//kill timetips
|
||||||
timetip.remove();
|
this.killTimetips();
|
||||||
|
|
||||||
//Finish dragging
|
//Finish dragging
|
||||||
target.dataset['drag'] = false;
|
target.dataset['drag'] = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
killTimetips(event){
|
||||||
|
//If we have an event and it's holding any mouse buttons
|
||||||
|
if(event != null && event.buttons != 0){
|
||||||
|
//Fuck off and die
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Find any existing timetips
|
||||||
|
for(const timetip of this.ownerDoc.querySelectorAll('.media-timetip')){
|
||||||
|
//nukem
|
||||||
|
timetip.remove();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
renderTimeMarker(date = new Date(), forceScroll = false){
|
renderTimeMarker(date = new Date(), forceScroll = false){
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue