UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

69 lines (67 loc) 2.27 kB
/** * DevExtreme (cjs/events/pointer/observer.js) * Version: 23.2.6 * Build date: Wed May 01 2024 * * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; exports.default = void 0; var _iterator = require("../../core/utils/iterator"); var _ready_callbacks = _interopRequireDefault(require("../../core/utils/ready_callbacks")); var _dom_adapter = _interopRequireDefault(require("../../core/dom_adapter")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } const addEventsListener = function(events, handler) { _ready_callbacks.default.add((function() { events.split(" ").forEach((function(event) { _dom_adapter.default.listen(_dom_adapter.default.getDocument(), event, handler, true) })) })) }; const Observer = function(eventMap, pointerEquals, onPointerAdding) { onPointerAdding = onPointerAdding || function() {}; let pointers = []; const getPointerIndex = function(e) { let index = -1; (0, _iterator.each)(pointers, (function(i, pointer) { if (!pointerEquals(e, pointer)) { return true } index = i; return false })); return index }; const removePointer = function(e) { const index = getPointerIndex(e); if (index > -1) { pointers.splice(index, 1) } }; addEventsListener(eventMap.dxpointerdown, (function(e) { if (-1 === getPointerIndex(e)) { onPointerAdding(e); pointers.push(e) } })); addEventsListener(eventMap.dxpointermove, (function(e) { pointers[getPointerIndex(e)] = e })); addEventsListener(eventMap.dxpointerup, removePointer); addEventsListener(eventMap.dxpointercancel, removePointer); this.pointers = function() { return pointers }; this.reset = function() { pointers = [] } }; var _default = Observer; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default;