UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

60 lines (59 loc) 1.84 kB
/** * DevExtreme (esm/__internal/events/core/m_wheel.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/ */ import registerEvent from "../../../common/core/events/core/event_registrator"; import eventsEngine from "../../../common/core/events/core/events_engine"; import { addNamespace, fireEvent } from "../../../common/core/events/utils/index"; import $ from "../../../core/renderer"; const EVENT_NAME = "dxmousewheel"; const EVENT_NAMESPACE = "dxWheel"; const NATIVE_EVENT_NAME = "wheel"; const PIXEL_MODE = 0; const DELTA_MUTLIPLIER = 30; const wheel = { setup(element) { const $element = $(element); eventsEngine.on($element, addNamespace("wheel", "dxWheel"), wheel._wheelHandler.bind(wheel)) }, teardown(element) { eventsEngine.off(element, ".dxWheel") }, _wheelHandler(e) { const { deltaMode: deltaMode, deltaY: deltaY, deltaX: deltaX, deltaZ: deltaZ } = e.originalEvent; fireEvent({ type: EVENT_NAME, originalEvent: e, delta: this._normalizeDelta(deltaY, deltaMode), deltaX: deltaX, deltaY: deltaY, deltaZ: deltaZ, deltaMode: deltaMode, pointerType: "mouse" }); e.stopPropagation() }, _normalizeDelta(delta) { let deltaMode = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0; if (0 === deltaMode) { return -delta } return -30 * delta } }; registerEvent(EVENT_NAME, wheel); export { EVENT_NAME as name };