Browse Source

Fix issue with modal double showing in chrome

pull/1177/head
jlukic 10 years ago
parent
commit
232470981e
2 changed files with 30 additions and 26 deletions
  1. 26
      src/definitions/modules/transition.js
  2. 30
      src/themes/packages/default/modules/transition.overrides

26
src/definitions/modules/transition.js

@ -221,13 +221,13 @@ $.fn.transition = function() {
.one(animationEnd + eventNamespace, module.complete) .one(animationEnd + eventNamespace, module.complete)
; ;
module.set.duration(settings.duration); module.set.duration(settings.duration);
module.debug('Starting tween', settings.animation, $module.attr('class'));
module.debug('Starting tween', animation, $module.attr('class'));
}, },
display: function() { display: function() {
var var
style = $module.attr('style') || '',
style = module.get.style(),
displayType = module.get.displayType(), displayType = module.get.displayType(),
overrideStyle = style + ';display: ' + displayType + ' !important;'
overrideStyle = style + 'display: ' + displayType + ' !important;'
; ;
if( $module.css('display') !== displayType ) { if( $module.css('display') !== displayType ) {
module.verbose('Setting inline visibility to', displayType); module.verbose('Setting inline visibility to', displayType);
@ -306,9 +306,13 @@ $.fn.transition = function() {
module.verbose('Saving existence of transition', animation, exists); module.verbose('Saving existence of transition', animation, exists);
}, },
conditions: function() { conditions: function() {
var
clasName = $module.attr('class') || false,
style = $module.attr('style') || ''
;
module.cache = { module.cache = {
className : $module.attr('class'), className : $module.attr('class'),
style : $module.attr('style')
style : module.get.style()
}; };
module.verbose('Saving original attributes', module.cache); module.verbose('Saving original attributes', module.cache);
} }
@ -329,12 +333,6 @@ $.fn.transition = function() {
module.verbose('Restoring original style attribute', module.cache.style); module.verbose('Restoring original style attribute', module.cache.style);
$module.attr('style', module.cache.style); $module.attr('style', module.cache.style);
} }
else {
if(module.get.displayType() === 'block') {
module.verbose('Removing inline style override, element defaults to block');
$module.removeAttr('style');
}
}
if(module.is.looping()) { if(module.is.looping()) {
module.remove.looping(); module.remove.looping();
} }
@ -431,6 +429,12 @@ $.fn.transition = function() {
} }
return module.displayType; return module.displayType;
}, },
style: function() {
var
style = $module.attr('style') || ''
;
return style.replace(/display.*?;/, '');
},
transitionExists: function(animation) { transitionExists: function(animation) {
return $.fn.transition.exists[animation]; return $.fn.transition.exists[animation];
}, },
@ -499,11 +503,11 @@ $.fn.transition = function() {
module.verbose('Determining whether animation exists'); module.verbose('Determining whether animation exists');
$clone = $('<' + tagName + ' />').addClass( elementClass ).insertAfter($module); $clone = $('<' + tagName + ' />').addClass( elementClass ).insertAfter($module);
currentAnimation = $clone currentAnimation = $clone
.addClass(animation)
.removeClass(className.inward) .removeClass(className.inward)
.removeClass(className.outward) .removeClass(className.outward)
.addClass(className.animating) .addClass(className.animating)
.addClass(className.transition) .addClass(className.transition)
.addClass(animation)
.css(animationName) .css(animationName)
; ;
inAnimation = $clone inAnimation = $clone

30
src/themes/packages/default/modules/transition.overrides

@ -101,7 +101,7 @@
---------------*/ ---------------*/
.slide.down.transition.in { .slide.down.transition.in {
animation-name: slide;
animation-name: slideIn;
transform-origin: 50% 0%; transform-origin: 50% 0%;
-ms-transform-origin: 50% 0%; -ms-transform-origin: 50% 0%;
-webkit-transform-origin: 50% 0%; -webkit-transform-origin: 50% 0%;
@ -112,7 +112,7 @@
} }
.slide.up.transition.in { .slide.up.transition.in {
animation-name: slide;
animation-name: slideIn;
transform-origin: 50% 100%; transform-origin: 50% 100%;
} }
.slide.up.transition.out { .slide.up.transition.out {
@ -120,7 +120,7 @@
transform-origin: 50% 100%; transform-origin: 50% 100%;
} }
@keyframes slide {
@keyframes slideIn {
0% { 0% {
opacity: 0; opacity: 0;
transform: scaleY(0); transform: scaleY(0);
@ -153,21 +153,21 @@
} }
.horizontal.flip.transition.in, .horizontal.flip.transition.in,
.horizontal.flip.transition.out { .horizontal.flip.transition.out {
animation-name: horizontalFlip;
animation-name: horizontalFlipIn;
} }
.horizontal.flip.transition.out { .horizontal.flip.transition.out {
animation-name: horizontalFlipOut; animation-name: horizontalFlipOut;
} }
.vertical.flip.transition.in, .vertical.flip.transition.in,
.vertical.flip.transition.out { .vertical.flip.transition.out {
animation-name: verticalFlip;
animation-name: verticalFlipIn;
} }
.vertical.flip.transition.out { .vertical.flip.transition.out {
animation-name: verticalFlipOut; animation-name: verticalFlipOut;
} }
/* Horizontal */ /* Horizontal */
@keyframes horizontalFlip {
@keyframes horizontalFlipIn {
0% { 0% {
transform: rotateY(-90deg); transform: rotateY(-90deg);
opacity: 0; opacity: 0;
@ -190,7 +190,7 @@
} }
/* Vertical */ /* Vertical */
@keyframes verticalFlip {
@keyframes verticalFlipIn {
0% { 0% {
transform: rotateX(-90deg); transform: rotateX(-90deg);
opacity: 0; opacity: 0;
@ -216,21 +216,21 @@
---------------*/ ---------------*/
.fade.transition.in { .fade.transition.in {
animation-name: fade;
animation-name: fadeIn;
} }
.fade.transition.out { .fade.transition.out {
animation-name: fadeOut; animation-name: fadeOut;
} }
.fade.up.transition.in { .fade.up.transition.in {
animation-name: fadeUp;
animation-name: fadeUpIn;
} }
.fade.up.transition.out { .fade.up.transition.out {
animation-name: fadeUpOut; animation-name: fadeUpOut;
} }
.fade.down.transition.in { .fade.down.transition.in {
animation-name: fadeDown;
animation-name: fadeDownIn;
} }
.fade.down.transition.out { .fade.down.transition.out {
animation-name: fadeDownOut; animation-name: fadeDownOut;
@ -238,7 +238,7 @@
/* Fade */ /* Fade */
@keyframes fade {
@keyframes fadeIn {
0% { 0% {
opacity: 0; opacity: 0;
} }
@ -257,7 +257,7 @@
} }
/* Fade Up */ /* Fade Up */
@keyframes fadeUp {
@keyframes fadeUpIn {
0% { 0% {
opacity: 0; opacity: 0;
transform: translateY(10%); transform: translateY(10%);
@ -280,7 +280,7 @@
} }
/* Fade Down */ /* Fade Down */
@keyframes fadeDown {
@keyframes fadeDownIn {
0% { 0% {
opacity: 0; opacity: 0;
transform: translateY(-10%); transform: translateY(-10%);
@ -306,14 +306,14 @@
---------------*/ ---------------*/
.scale.transition.in { .scale.transition.in {
animation-name: scale;
animation-name: scaleIn;
} }
.scale.transition.out { .scale.transition.out {
animation-name: scaleOut; animation-name: scaleOut;
} }
/* Scale */ /* Scale */
@keyframes scale {
@keyframes scaleIn {
0% { 0% {
opacity: 0; opacity: 0;
transform: scale(0.7); transform: scale(0.7);

Loading…
Cancel
Save