UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

74 lines (72 loc) 2.05 kB
/** * DevExtreme (cjs/__internal/events/m_hold.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 _emitter = _interopRequireDefault(require("../../common/core/events/core/emitter")); var _emitter_registrator = _interopRequireDefault(require("../../common/core/events/core/emitter_registrator")); var _index = require("../../common/core/events/utils/index"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e } } const { abs: abs } = Math; const HOLD_EVENT_NAME = "dxhold"; const HOLD_TIMEOUT = 750; const TOUCH_BOUNDARY = 5; const HoldEmitter = _emitter.default.inherit({ start(e) { this._startEventData = (0, _index.eventData)(e); this._startTimer(e) }, _startTimer(e) { const holdTimeout = "timeout" in this ? this.timeout : 750; this._holdTimer = setTimeout((() => { this._requestAccept(e); this._fireEvent("dxhold", e, { target: e.target }); this._forgetAccept() }), holdTimeout) }, move(e) { if (this._touchWasMoved(e)) { this._cancel(e) } }, _touchWasMoved(e) { const delta = (0, _index.eventDelta)(this._startEventData, (0, _index.eventData)(e)); return abs(delta.x) > 5 || abs(delta.y) > 5 }, end() { this._stopTimer() }, _stopTimer() { clearTimeout(this._holdTimer) }, cancel() { this._stopTimer() }, dispose() { this._stopTimer() } }); (0, _emitter_registrator.default)({ emitter: HoldEmitter, bubble: true, events: ["dxhold"] }); var _default = exports.default = { name: "dxhold" };