UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

60 lines (59 loc) 2.06 kB
/** * DevExtreme (events/pointer.js) * Version: 18.1.3 * Build date: Tue May 15 2018 * * Copyright (c) 2012 - 2018 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; var support = require("../core/utils/support"), each = require("../core/utils/iterator").each, devices = require("../core/devices"), registerEvent = require("./core/event_registrator"), domAdapter = require("../core/dom_adapter"), TouchStrategy = require("./pointer/touch"), MsPointerStrategy = require("./pointer/mspointer"), MouseStrategy = require("./pointer/mouse"), MouseAndTouchStrategy = require("./pointer/mouse_and_touch"); var EventStrategy = function() { if (support.pointerEvents) { return MsPointerStrategy } var device = devices.real(); if (support.touch && !(device.tablet || device.phone)) { return MouseAndTouchStrategy } if (support.touch) { return TouchStrategy } return MouseStrategy }(); each(EventStrategy.map, function(pointerEvent, originalEvents) { registerEvent(pointerEvent, new EventStrategy(pointerEvent, originalEvents)) }); if (support.touch) { each([TouchStrategy.map.dxpointerdown, TouchStrategy.map.dxpointermove], function(_, eventName) { registerEvent(eventName, { setup: function(element, data, namespaces, handler) { if (namespaces.indexOf(TouchStrategy.POINTER_EVENTS_NAMESPACE) > -1) { domAdapter.listen(element, eventName, handler, { passive: false }); return true } return false } }) }) } module.exports = { down: "dxpointerdown", up: "dxpointerup", move: "dxpointermove", cancel: "dxpointercancel", enter: "dxpointerenter", leave: "dxpointerleave", over: "dxpointerover", out: "dxpointerout" };