Server IP : 15.235.198.142 / Your IP : 216.73.216.34 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/javascript/bootstrap5/js/util/ |
Upload File : |
{"version":3,"file":"swipe.js","sources":["../../src/util/swipe.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n}\n\nconst DefaultType = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super()\n this._element = element\n\n if (!element || !Swipe.isSupported()) {\n return\n }\n\n this._config = this._getConfig(config)\n this._deltaX = 0\n this._supportPointerEvents = Boolean(window.PointerEvent)\n this._initEvents()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX\n\n return\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX\n }\n\n this._handleSwipe()\n execute(this._config.endCallback)\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this._deltaX\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX)\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltaX / this._deltaX\n\n this._deltaX = 0\n\n if (!direction) {\n return\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n }\n\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n }\n }\n\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n }\n}\n\nexport default Swipe\n"],"names":["NAME","EVENT_KEY","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","Default","endCallback","leftCallback","rightCallback","DefaultType","Swipe","element","config","_element","isSupported","_config","_getConfig","_deltaX","_supportPointerEvents","Boolean","window","PointerEvent","_initEvents","dispose","EventHandler","off","_start","event","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","execute","_move","length","absDeltaX","Math","abs","direction","on","classList","add","pointerType","document","documentElement","navigator","maxTouchPoints","Config"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWA;EACA;EACA;;EAEA,IAAMA,IAAI,GAAG,OAAO,CAAA;EACpB,IAAMC,SAAS,GAAG,WAAW,CAAA;EAC7B,IAAMC,gBAAgB,kBAAgBD,SAAW,CAAA;EACjD,IAAME,eAAe,iBAAeF,SAAW,CAAA;EAC/C,IAAMG,cAAc,gBAAcH,SAAW,CAAA;EAC7C,IAAMI,iBAAiB,mBAAiBJ,SAAW,CAAA;EACnD,IAAMK,eAAe,iBAAeL,SAAW,CAAA;EAC/C,IAAMM,kBAAkB,GAAG,OAAO,CAAA;EAClC,IAAMC,gBAAgB,GAAG,KAAK,CAAA;EAC9B,IAAMC,wBAAwB,GAAG,eAAe,CAAA;EAChD,IAAMC,eAAe,GAAG,EAAE,CAAA;EAE1B,IAAMC,OAAO,GAAG;EACdC,EAAAA,WAAW,EAAE,IAAI;EACjBC,EAAAA,YAAY,EAAE,IAAI;EAClBC,EAAAA,aAAa,EAAE,IAAA;EACjB,CAAC,CAAA;EAED,IAAMC,WAAW,GAAG;EAClBH,EAAAA,WAAW,EAAE,iBAAiB;EAC9BC,EAAAA,YAAY,EAAE,iBAAiB;EAC/BC,EAAAA,aAAa,EAAE,iBAAA;EACjB,CAAC,CAAA;;EAED;EACA;EACA;AAFA,MAIME,KAAK,gBAAA,UAAA,OAAA,EAAA;EAAA,EAAA,cAAA,CAAA,KAAA,EAAA,OAAA,CAAA,CAAA;IACT,SAAYC,KAAAA,CAAAA,OAAO,EAAEC,MAAM,EAAE;EAAA,IAAA,IAAA,KAAA,CAAA;MAC3B,KAAO,GAAA,OAAA,CAAA,IAAA,CAAA,IAAA,CAAA,IAAA,IAAA,CAAA;MACP,KAAKC,CAAAA,QAAQ,GAAGF,OAAO,CAAA;MAEvB,IAAI,CAACA,OAAO,IAAI,CAACD,KAAK,CAACI,WAAW,EAAE,EAAE;EACpC,MAAA,OAAA,sBAAA,CAAA,KAAA,CAAA,CAAA;EACF,KAAA;EAEA,IAAA,KAAA,CAAKC,OAAO,GAAG,KAAA,CAAKC,UAAU,CAACJ,MAAM,CAAC,CAAA;MACtC,KAAKK,CAAAA,OAAO,GAAG,CAAC,CAAA;EAChB,IAAA,KAAA,CAAKC,qBAAqB,GAAGC,OAAO,CAACC,MAAM,CAACC,YAAY,CAAC,CAAA;EACzD,IAAA,KAAA,CAAKC,WAAW,EAAE,CAAA;EAAA,IAAA,OAAA,KAAA,CAAA;EACpB,GAAA;;EAEA;EAAA,EAAA,IAAA,MAAA,GAAA,KAAA,CAAA,SAAA,CAAA;EAaA;IAAA,MACAC,CAAAA,OAAO,GAAP,SAAU,OAAA,GAAA;MACRC,YAAY,CAACC,GAAG,CAAC,IAAI,CAACZ,QAAQ,EAAElB,SAAS,CAAC,CAAA;EAC5C,GAAA;;EAEA;EAAA,GAAA;EAAA,EAAA,MAAA,CACA+B,MAAM,GAAN,SAAOC,MAAAA,CAAAA,KAAK,EAAE;EACZ,IAAA,IAAI,CAAC,IAAI,CAACT,qBAAqB,EAAE;QAC/B,IAAI,CAACD,OAAO,GAAGU,KAAK,CAACC,OAAO,CAAC,CAAC,CAAC,CAACC,OAAO,CAAA;EAEvC,MAAA,OAAA;EACF,KAAA;EAEA,IAAA,IAAI,IAAI,CAACC,uBAAuB,CAACH,KAAK,CAAC,EAAE;EACvC,MAAA,IAAI,CAACV,OAAO,GAAGU,KAAK,CAACE,OAAO,CAAA;EAC9B,KAAA;KACD,CAAA;EAAA,EAAA,MAAA,CAEDE,IAAI,GAAJ,SAAKJ,IAAAA,CAAAA,KAAK,EAAE;EACV,IAAA,IAAI,IAAI,CAACG,uBAAuB,CAACH,KAAK,CAAC,EAAE;QACvC,IAAI,CAACV,OAAO,GAAGU,KAAK,CAACE,OAAO,GAAG,IAAI,CAACZ,OAAO,CAAA;EAC7C,KAAA;MAEA,IAAI,CAACe,YAAY,EAAE,CAAA;EACnBC,IAAAA,gBAAO,CAAC,IAAI,CAAClB,OAAO,CAACT,WAAW,CAAC,CAAA;KAClC,CAAA;EAAA,EAAA,MAAA,CAED4B,KAAK,GAAL,SAAMP,KAAAA,CAAAA,KAAK,EAAE;EACX,IAAA,IAAI,CAACV,OAAO,GAAGU,KAAK,CAACC,OAAO,IAAID,KAAK,CAACC,OAAO,CAACO,MAAM,GAAG,CAAC,GACtD,CAAC,GACDR,KAAK,CAACC,OAAO,CAAC,CAAC,CAAC,CAACC,OAAO,GAAG,IAAI,CAACZ,OAAO,CAAA;KAC1C,CAAA;IAAA,MAEDe,CAAAA,YAAY,GAAZ,SAAe,YAAA,GAAA;MACb,IAAMI,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,IAAI,CAACrB,OAAO,CAAC,CAAA;MAExC,IAAImB,SAAS,IAAIhC,eAAe,EAAE;EAChC,MAAA,OAAA;EACF,KAAA;EAEA,IAAA,IAAMmC,SAAS,GAAGH,SAAS,GAAG,IAAI,CAACnB,OAAO,CAAA;MAE1C,IAAI,CAACA,OAAO,GAAG,CAAC,CAAA;MAEhB,IAAI,CAACsB,SAAS,EAAE;EACd,MAAA,OAAA;EACF,KAAA;EAEAN,IAAAA,gBAAO,CAACM,SAAS,GAAG,CAAC,GAAG,IAAI,CAACxB,OAAO,CAACP,aAAa,GAAG,IAAI,CAACO,OAAO,CAACR,YAAY,CAAC,CAAA;KAChF,CAAA;IAAA,MAEDe,CAAAA,WAAW,GAAX,SAAc,WAAA,GAAA;EAAA,IAAA,IAAA,MAAA,GAAA,IAAA,CAAA;MACZ,IAAI,IAAI,CAACJ,qBAAqB,EAAE;QAC9BM,YAAY,CAACgB,EAAE,CAAC,IAAI,CAAC3B,QAAQ,EAAEd,iBAAiB,EAAE,UAAA4B,KAAK,EAAA;EAAA,QAAA,OAAI,MAAI,CAACD,MAAM,CAACC,KAAK,CAAC,CAAA;SAAC,CAAA,CAAA;QAC9EH,YAAY,CAACgB,EAAE,CAAC,IAAI,CAAC3B,QAAQ,EAAEb,eAAe,EAAE,UAAA2B,KAAK,EAAA;EAAA,QAAA,OAAI,MAAI,CAACI,IAAI,CAACJ,KAAK,CAAC,CAAA;SAAC,CAAA,CAAA;QAE1E,IAAI,CAACd,QAAQ,CAAC4B,SAAS,CAACC,GAAG,CAACvC,wBAAwB,CAAC,CAAA;EACvD,KAAC,MAAM;QACLqB,YAAY,CAACgB,EAAE,CAAC,IAAI,CAAC3B,QAAQ,EAAEjB,gBAAgB,EAAE,UAAA+B,KAAK,EAAA;EAAA,QAAA,OAAI,MAAI,CAACD,MAAM,CAACC,KAAK,CAAC,CAAA;SAAC,CAAA,CAAA;QAC7EH,YAAY,CAACgB,EAAE,CAAC,IAAI,CAAC3B,QAAQ,EAAEhB,eAAe,EAAE,UAAA8B,KAAK,EAAA;EAAA,QAAA,OAAI,MAAI,CAACO,KAAK,CAACP,KAAK,CAAC,CAAA;SAAC,CAAA,CAAA;QAC3EH,YAAY,CAACgB,EAAE,CAAC,IAAI,CAAC3B,QAAQ,EAAEf,cAAc,EAAE,UAAA6B,KAAK,EAAA;EAAA,QAAA,OAAI,MAAI,CAACI,IAAI,CAACJ,KAAK,CAAC,CAAA;SAAC,CAAA,CAAA;EAC3E,KAAA;KACD,CAAA;EAAA,EAAA,MAAA,CAEDG,uBAAuB,GAAvB,SAAwBH,uBAAAA,CAAAA,KAAK,EAAE;EAC7B,IAAA,OAAO,IAAI,CAACT,qBAAqB,KAAKS,KAAK,CAACgB,WAAW,KAAKzC,gBAAgB,IAAIyB,KAAK,CAACgB,WAAW,KAAK1C,kBAAkB,CAAC,CAAA;EAC3H,GAAA;;EAEA;EAAA,GAAA;IAAA,KACOa,CAAAA,WAAW,GAAlB,SAAqB,WAAA,GAAA;MACnB,OAAO,cAAc,IAAI8B,QAAQ,CAACC,eAAe,IAAIC,SAAS,CAACC,cAAc,GAAG,CAAC,CAAA;KAClF,CAAA;EAAA,EAAA,YAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA;EAAA,IAAA,GAAA,EAAA,SAAA;EAAA,IAAA,GAAA,EAnFD,SAAqB,GAAA,GAAA;EACnB,MAAA,OAAO1C,OAAO,CAAA;EAChB,KAAA;EAAC,GAAA,EAAA;EAAA,IAAA,GAAA,EAAA,aAAA;EAAA,IAAA,GAAA,EAED,SAAyB,GAAA,GAAA;EACvB,MAAA,OAAOI,WAAW,CAAA;EACpB,KAAA;EAAC,GAAA,EAAA;EAAA,IAAA,GAAA,EAAA,MAAA;EAAA,IAAA,GAAA,EAED,SAAkB,GAAA,GAAA;EAChB,MAAA,OAAOf,IAAI,CAAA;EACb,KAAA;EAAC,GAAA,CAAA,CAAA,CAAA;EAAA,EAAA,OAAA,KAAA,CAAA;EAAA,CAAA,CA1BiBsD,MAAM;;;;;;;;"}