UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

51 lines (50 loc) 1.6 kB
/** * DevExtreme (esm/events/pointer.js) * Version: 21.1.4 * Build date: Mon Jun 21 2021 * * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import * as support from "../core/utils/support"; import { each } from "../core/utils/iterator"; import browser from "../core/utils/browser"; import devices from "../core/devices"; import registerEvent from "./core/event_registrator"; import TouchStrategy from "./pointer/touch"; import MsPointerStrategy from "./pointer/mspointer"; import MouseStrategy from "./pointer/mouse"; import MouseAndTouchStrategy from "./pointer/mouse_and_touch"; var getStrategy = (support, device, browser) => { if (support.pointerEvents && browser.msie) { return MsPointerStrategy } var { tablet: tablet, phone: phone } = device; if (support.touch && !(tablet || phone)) { return MouseAndTouchStrategy } if (support.touch) { return TouchStrategy } return MouseStrategy }; var EventStrategy = getStrategy(support, devices.real(), browser); each(EventStrategy.map, (pointerEvent, originalEvents) => { registerEvent(pointerEvent, new EventStrategy(pointerEvent, originalEvents)) }); var pointer = { down: "dxpointerdown", up: "dxpointerup", move: "dxpointermove", cancel: "dxpointercancel", enter: "dxpointerenter", leave: "dxpointerleave", over: "dxpointerover", out: "dxpointerout" }; export default pointer;