![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/pub/static/frontend/Magento/blank/en_US/mage/ |
/** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ define([ 'jquery', 'underscore', 'jquery-ui-modules/slider' ], function ($, _) { 'use strict'; /** * Adds support for touch events for regular jQuery UI slider. */ $.widget('mage.touchSlider', $.ui.slider, { /** * Creates instance of widget. * * @override */ _create: function () { _.bindAll( this, '_mouseDown', '_mouseMove', '_onTouchEnd' ); return this._superApply(arguments); }, /** * Initializes mouse events on element. * @override */ _mouseInit: function () { var result = this._superApply(arguments); this.element .off('mousedown.' + this.widgetName) .on('touchstart.' + this.widgetName, this._mouseDown); return result; }, /** * Elements' 'mousedown' event handler polyfill. * @override */ _mouseDown: function (event) { var prevDelegate = this._mouseMoveDelegate, result; event = this._touchToMouse(event); result = this._super(event); if (prevDelegate === this._mouseMoveDelegate) { return result; } $(document) .off('mousemove.' + this.widgetName) .off('mouseup.' + this.widgetName); $(document) .on('touchmove.' + this.widgetName, this._mouseMove) .on('touchend.' + this.widgetName, this._onTouchEnd) .on('tochleave.' + this.widgetName, this._onTouchEnd); return result; }, /** * Documents' 'mousemove' event handler polyfill. * * @override * @param {Event} event - Touch event object. */ _mouseMove: function (event) { event = this._touchToMouse(event); return this._super(event); }, /** * Documents' 'touchend' event handler. */ _onTouchEnd: function (event) { $(document).trigger('mouseup'); return this._mouseUp(event); }, /** * Removes previously assigned touch handlers. * * @override */ _mouseUp: function () { this._removeTouchHandlers(); return this._superApply(arguments); }, /** * Removes previously assigned touch handlers. * * @override */ _mouseDestroy: function () { this._removeTouchHandlers(); return this._superApply(arguments); }, /** * Removes touch events from document object. */ _removeTouchHandlers: function () { $(document) .off('touchmove.' + this.widgetName) .off('touchend.' + this.widgetName) .off('touchleave.' + this.widgetName); }, /** * Adds properties to the touch event to mimic mouse event. * * @param {Event} event - Touch event object. * @returns {Event} */ _touchToMouse: function (event) { var orig = event.originalEvent, touch = orig.touches[0]; return _.extend(event, { which: 1, pageX: touch.pageX, pageY: touch.pageY, clientX: touch.clientX, clientY: touch.clientY, screenX: touch.screenX, screenY: touch.screenY }); } }); return $.mage.touchSlider; });