UNPKG

metismenu

Version:

A collapsible jQuery menu plugin

61 lines (47 loc) 1.19 kB
import $ from 'jquery'; const Util = (($) => { const TRANSITION_END = 'transitionend'; const Util = { TRANSITION_END: 'mmTransitionEnd', triggerTransitionEnd(element) { $(element).trigger(TRANSITION_END); }, supportsTransitionEnd() { return Boolean(TRANSITION_END); }, }; function getSpecialTransitionEndEvent() { return { bindType: TRANSITION_END, delegateType: TRANSITION_END, handle(event) { if ($(event.target).is(this)) { return event .handleObj .handler .apply(this, arguments); } return undefined; }, }; } function transitionEndEmulator(duration) { let called = false; $(this).one(Util.TRANSITION_END, () => { called = true; }); setTimeout(() => { if (!called) { Util.triggerTransitionEnd(this); } }, duration); return this; } function setTransitionEndSupport() { $.fn.mmEmulateTransitionEnd = transitionEndEmulator; $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); } setTransitionEndSupport(); return Util; })($); export default Util;