Repository URL to install this package:
|
Version:
3.0.1.40031-bionic ▾
|
'use strict';
/*
Transpiled to es2015 using https://babeljs.io/repl syntax since some of our targets doesn't support es2016
*/
var scrollTop = -1;
var scrollLeft = -1; // Drag handling: windows are only draggable by the custom title bar.
function isValidDragTarget(target) {
var cls = target.className; // we need this check so SVGs dont throw errors
return cls.indexOf && cls.indexOf('window-drag-handle') >= 0;
}
function hasScrolled(target) {
return scrollTop !== target.scrollTop || scrollLeft !== target.scrollLeft;
}
function startDrag() {
window.callPy('js_start_drag');
}
function stopDrag() {
scrollTop = -1;
scrollLeft = -1;
window.callPy('js_stop_drag');
}
document.onmousedown = function(event) {
var _event$target = event.target;
var top = _event$target.scrollTop;
var left = _event$target.scrollLeft;
if (isValidDragTarget(event.target)) {
scrollTop = top;
scrollLeft = left;
} else {
stopDrag();
}
};
document.onmousemove = function(event) {
if (scrollTop === -1 && scrollLeft === -1) {
// A mousedown hasn't been captured yet.
} else if (hasScrolled(event.target)) {
// The event is over a scrollbar.
} else {
startDrag();
}
};
document.onmouseup = stopDrag;