Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/ratchet.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'docs/dist/js/ratchet.js')
-rw-r--r--docs/dist/js/ratchet.js43
1 files changed, 35 insertions, 8 deletions
diff --git a/docs/dist/js/ratchet.js b/docs/dist/js/ratchet.js
index 39f7fe3..1264ccd 100644
--- a/docs/dist/js/ratchet.js
+++ b/docs/dist/js/ratchet.js
@@ -18,6 +18,15 @@
!(function () {
'use strict';
+ // Compatible With CustomEvent
+ if (!window.CustomEvent) {
+ window.CustomEvent = function (type, config) {
+ var e = document.createEvent('CustomEvent');
+ e.initCustomEvent(type, config.bubbles, config.cancelable, config.detail);
+ return e;
+ };
+ }
+
// Create Ratchet namespace
if (typeof window.RATCHET === 'undefined') {
window.RATCHET = {};
@@ -36,6 +45,24 @@
transform: pre[0].toUpperCase() + pre.substr(1) + 'Transform'
};
})();
+
+ window.RATCHET.getTransitionEnd = (function () {
+ var el = document.createElement('ratchet');
+ var transEndEventNames = {
+ WebkitTransition : 'webkitTransitionEnd',
+ MozTransition : 'transitionend',
+ OTransition : 'oTransitionEnd otransitionend',
+ transition : 'transitionend'
+ };
+
+ for (var name in transEndEventNames) {
+ if (el.style[name] !== undefined) {
+ return transEndEventNames[name];
+ }
+ }
+
+ return transEndEventNames.transition;
+ })();
}());
/* ========================================================================
@@ -108,7 +135,7 @@
var onPopoverHidden = function () {
popover.style.display = 'none';
- popover.removeEventListener('webkitTransitionEnd', onPopoverHidden);
+ popover.removeEventListener(window.RATCHET.getTransitionEnd, onPopoverHidden);
};
var backdrop = (function () {
@@ -117,7 +144,7 @@
element.classList.add('backdrop');
element.addEventListener('touchend', function () {
- popover.addEventListener('webkitTransitionEnd', onPopoverHidden);
+ popover.addEventListener(window.RATCHET.getTransitionEnd, onPopoverHidden);
popover.classList.remove('visible');
popover.parentNode.removeChild(backdrop);
});
@@ -535,12 +562,12 @@
container.offsetWidth; // force reflow
container.classList.remove('in');
var fadeContainerEnd = function () {
- container.removeEventListener('webkitTransitionEnd', fadeContainerEnd);
+ container.removeEventListener(window.RATCHET.getTransitionEnd, fadeContainerEnd);
swap.classList.add('in');
- swap.addEventListener('webkitTransitionEnd', fadeSwapEnd);
+ swap.addEventListener(window.RATCHET.getTransitionEnd, fadeSwapEnd);
};
var fadeSwapEnd = function () {
- swap.removeEventListener('webkitTransitionEnd', fadeSwapEnd);
+ swap.removeEventListener(window.RATCHET.getTransitionEnd, fadeSwapEnd);
container.parentNode.removeChild(container);
swap.classList.remove('fade');
swap.classList.remove('in');
@@ -548,13 +575,13 @@
complete();
}
};
- container.addEventListener('webkitTransitionEnd', fadeContainerEnd);
+ container.addEventListener(window.RATCHET.getTransitionEnd, fadeContainerEnd);
}
if (/slide/.test(transition)) {
var slideEnd = function () {
- swap.removeEventListener('webkitTransitionEnd', slideEnd);
+ swap.removeEventListener(window.RATCHET.getTransitionEnd, slideEnd);
swap.classList.remove('sliding', 'sliding-in');
swap.classList.remove(swapDirection);
container.parentNode.removeChild(container);
@@ -568,7 +595,7 @@
containerDirection = enter ? 'left' : 'right';
container.classList.add(containerDirection);
swap.classList.remove(swapDirection);
- swap.addEventListener('webkitTransitionEnd', slideEnd);
+ swap.addEventListener(window.RATCHET.getTransitionEnd, slideEnd);
}
};