UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

69 lines (67 loc) 2.24 kB
/** * DevExtreme (cjs/__internal/events/pointer/m_observer.js) * Version: 24.2.6 * Build date: Mon Mar 17 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _dom_adapter = _interopRequireDefault(require("../../../core/dom_adapter")); var _iterator = require("../../../core/utils/iterator"); var _ready_callbacks = _interopRequireDefault(require("../../../core/utils/ready_callbacks")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e } } const addEventsListener = function(events, handler) { _ready_callbacks.default.add((() => { events.split(" ").forEach((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, ((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 = exports.default = Observer;