%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 49.231.201.246 / Your IP : 216.73.216.149 Web Server : Apache/2.4.18 (Ubuntu) System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/11585/cwd/html/ppaobm/vendor/bower-asset/fullcalendar/src/core/util/ |
Upload File : |
import { elementClosest } from './dom-manip' // Stops a mouse/touch event from doing it's native browser action export function preventDefault(ev) { ev.preventDefault() } // Event Delegation // ---------------------------------------------------------------------------------------------------------------- export function listenBySelector( container: HTMLElement, eventType: string, selector: string, handler: (ev: Event, matchedTarget: HTMLElement) => void ) { function realHandler(ev: Event) { let matchedChild = elementClosest(ev.target as HTMLElement, selector) if (matchedChild) { handler.call(matchedChild, ev, matchedChild) } } container.addEventListener(eventType, realHandler) return function() { container.removeEventListener(eventType, realHandler) } } export function listenToHoverBySelector( container: HTMLElement, selector: string, onMouseEnter: (ev: Event, matchedTarget: HTMLElement) => void, onMouseLeave: (ev: Event, matchedTarget: HTMLElement) => void ) { let currentMatchedChild return listenBySelector(container, 'mouseover', selector, function(ev, matchedChild) { if (matchedChild !== currentMatchedChild) { currentMatchedChild = matchedChild onMouseEnter(ev, matchedChild) let realOnMouseLeave = (ev) => { currentMatchedChild = null onMouseLeave(ev, matchedChild) matchedChild.removeEventListener('mouseleave', realOnMouseLeave) } // listen to the next mouseleave, and then unattach matchedChild.addEventListener('mouseleave', realOnMouseLeave) } }) } // Animation // ---------------------------------------------------------------------------------------------------------------- const transitionEventNames = [ 'webkitTransitionEnd', 'otransitionend', 'oTransitionEnd', 'msTransitionEnd', 'transitionend' ] // triggered only when the next single subsequent transition finishes export function whenTransitionDone(el: HTMLElement, callback: (ev: Event) => void) { let realCallback = function(ev) { callback(ev) transitionEventNames.forEach(function(eventName) { el.removeEventListener(eventName, realCallback) }) } transitionEventNames.forEach(function(eventName) { el.addEventListener(eventName, realCallback) // cross-browser way to determine when the transition finishes }) }