UNPKG

@antv/x6

Version:

JavaScript diagramming library that uses SVG and HTML for rendering.

66 lines (59 loc) 1.9 kB
import JQuery from 'jquery' import 'jquery-mousewheel' import { Platform } from '../platform' if (Platform.SUPPORT_PASSIVE) { JQuery.event.special.touchstart = { setup(data, ns, handle) { if (!this.addEventListener) { return false } this.addEventListener('touchstart', handle as any, { passive: true, }) }, } const hook = JQuery.event.special.mousewheel as any if (hook) { const setup = hook.setup hook.setup = function (this: EventTarget) { const addEventListener = this.addEventListener if (!addEventListener) { return false } this.addEventListener = (name: string, handler: any) => { addEventListener.call(this, name, handler, { passive: true }) } setup.call(this) this.addEventListener = addEventListener } } } // compatible with NodeList.prototype.forEach() before chrome 51 // https://developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach if (window.NodeList && !NodeList.prototype.forEach) { NodeList.prototype.forEach = Array.prototype.forEach as any } // compatible with ParentNode.append() before chrome 54 // https://github.com/jserz/js_piece/blob/master/DOM/ParentNode/append()/append().md ;(function (arr) { arr.forEach((item) => { if (Object.prototype.hasOwnProperty.call(item, 'append')) { return } Object.defineProperty(item, 'append', { configurable: true, enumerable: true, writable: true, value(...args: any[]) { const docFrag = document.createDocumentFragment() args.forEach((arg: any) => { const isNode = arg instanceof Node docFrag.appendChild( isNode ? arg : document.createTextNode(String(arg)), ) }) this.appendChild(docFrag) }, }) }) })([Element.prototype, Document.prototype, DocumentFragment.prototype])