UNPKG

cione-comp-lib

Version:

`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`

93 lines (92 loc) 3.06 kB
import { __exports as events } from "../../../../../_virtual/events.mjs"; export { __exports as default } from "../../../../../_virtual/events.mjs"; Object.defineProperty(events, "__esModule", { value: true }); events.getPointerEvent = getPointerEvent; events.releaseCapture = releaseCapture; events.setCapture = setCapture; events.stopEvent = stopEvent; function getPointerEvent(e) { return e.changedTouches ? e.changedTouches[0] : e.touches ? e.touches[0] : e; } function stopEvent(e) { e.stopPropagation(); e.preventDefault(); } var _captureRecursion = false; var _elementForUnflushedEvents = null; document.captureElement = null; function _captureProxy(e) { if (_captureRecursion) return; var newEv = new e.constructor(e.type, e); _captureRecursion = true; if (document.captureElement) { document.captureElement.dispatchEvent(newEv); } else { _elementForUnflushedEvents.dispatchEvent(newEv); } _captureRecursion = false; e.stopPropagation(); if (newEv.defaultPrevented) { e.preventDefault(); } if (e.type === "mouseup") { releaseCapture(); } } function _capturedElemChanged() { var proxyElem = document.getElementById("noVNC_mouse_capture_elem"); proxyElem.style.cursor = window.getComputedStyle(document.captureElement).cursor; } var _captureObserver = new MutationObserver(_capturedElemChanged); function setCapture(target) { if (target.setCapture) { target.setCapture(); document.captureElement = target; } else { releaseCapture(); var proxyElem = document.getElementById("noVNC_mouse_capture_elem"); if (proxyElem === null) { proxyElem = document.createElement("div"); proxyElem.id = "noVNC_mouse_capture_elem"; proxyElem.style.position = "fixed"; proxyElem.style.top = "0px"; proxyElem.style.left = "0px"; proxyElem.style.width = "100%"; proxyElem.style.height = "100%"; proxyElem.style.zIndex = 1e4; proxyElem.style.display = "none"; document.body.appendChild(proxyElem); proxyElem.addEventListener("contextmenu", _captureProxy); proxyElem.addEventListener("mousemove", _captureProxy); proxyElem.addEventListener("mouseup", _captureProxy); } document.captureElement = target; _captureObserver.observe(target, { attributes: true }); _capturedElemChanged(); proxyElem.style.display = ""; window.addEventListener("mousemove", _captureProxy); window.addEventListener("mouseup", _captureProxy); } } function releaseCapture() { if (document.releaseCapture) { document.releaseCapture(); document.captureElement = null; } else { if (!document.captureElement) { return; } _elementForUnflushedEvents = document.captureElement; document.captureElement = null; _captureObserver.disconnect(); var proxyElem = document.getElementById("noVNC_mouse_capture_elem"); proxyElem.style.display = "none"; window.removeEventListener("mousemove", _captureProxy); window.removeEventListener("mouseup", _captureProxy); } }