mirror of
https://github.com/Krafpy/KSP-MGA-Planner.git
synced 2025-12-12 07:40:41 -08:00
Fix drag when over textbox button.
This commit is contained in:
11
dist/main/editor/draggable-text.js
vendored
11
dist/main/editor/draggable-text.js
vendored
@@ -25,7 +25,14 @@ export class DraggableTextbox {
|
||||
};
|
||||
const copyBtn = div.getElementsByClassName("draggable-copy-btn")[0];
|
||||
copyBtn.onclick = () => navigator.clipboard.writeText(content);
|
||||
let mouseOverBtn = false;
|
||||
closeBtn.onmouseover = () => mouseOverBtn = true;
|
||||
copyBtn.onmouseover = () => mouseOverBtn = true;
|
||||
closeBtn.onmouseleave = () => mouseOverBtn = false;
|
||||
copyBtn.onmouseleave = () => mouseOverBtn = false;
|
||||
header.onmousedown = (e) => {
|
||||
if (mouseOverBtn)
|
||||
return;
|
||||
e = e || window.event;
|
||||
e.preventDefault();
|
||||
let x = e.clientX;
|
||||
@@ -37,6 +44,8 @@ export class DraggableTextbox {
|
||||
};
|
||||
const clamp = (x, a, b) => x < a ? a : x > b ? b : x;
|
||||
document.onmouseup = () => {
|
||||
if (mouseOverBtn)
|
||||
return;
|
||||
left = clamp(left, 0, window.innerWidth - header.offsetWidth);
|
||||
top = clamp(top, 0, window.innerHeight - header.offsetHeight);
|
||||
setPos();
|
||||
@@ -44,6 +53,8 @@ export class DraggableTextbox {
|
||||
document.onmousemove = null;
|
||||
};
|
||||
document.onmousemove = (e) => {
|
||||
if (mouseOverBtn)
|
||||
return;
|
||||
e = e || window.event;
|
||||
e.preventDefault();
|
||||
let dx = x - e.clientX;
|
||||
|
||||
@@ -34,7 +34,15 @@ export class DraggableTextbox {
|
||||
const copyBtn = div.getElementsByClassName("draggable-copy-btn")[0] as HTMLButtonElement;
|
||||
copyBtn.onclick = () => navigator.clipboard.writeText(content);
|
||||
|
||||
let mouseOverBtn = false;
|
||||
closeBtn.onmouseover = () => mouseOverBtn = true;
|
||||
copyBtn.onmouseover = () => mouseOverBtn = true;
|
||||
closeBtn.onmouseleave = () => mouseOverBtn = false;
|
||||
copyBtn.onmouseleave = () => mouseOverBtn = false;
|
||||
|
||||
header.onmousedown = (e: MouseEvent) => {
|
||||
if(mouseOverBtn) return;
|
||||
|
||||
e = e || window.event;
|
||||
e.preventDefault();
|
||||
|
||||
@@ -50,6 +58,8 @@ export class DraggableTextbox {
|
||||
const clamp = (x:number, a:number, b:number) => x < a ? a : x > b ? b : x;
|
||||
|
||||
document.onmouseup = () => {
|
||||
if(mouseOverBtn) return;
|
||||
|
||||
left = clamp(left, 0, window.innerWidth - header.offsetWidth);
|
||||
top = clamp(top, 0, window.innerHeight - header.offsetHeight);
|
||||
setPos();
|
||||
@@ -59,6 +69,8 @@ export class DraggableTextbox {
|
||||
};
|
||||
|
||||
document.onmousemove = (e: MouseEvent) => {
|
||||
if(mouseOverBtn) return;
|
||||
|
||||
e = e || window.event;
|
||||
e.preventDefault();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user