app/assets/javascripts/semantic-ui/modal.js in semantic-ui-sass-0.10.3.0 vs app/assets/javascripts/semantic-ui/modal.js in semantic-ui-sass-0.11.0.0

- old
+ new

@@ -69,13 +69,15 @@ return; } $dimmable = $context .dimmer({ closable : false, - useCSS : module.is.modernBrowser(), - show : settings.duration * 0.9, - hide : settings.duration * 1.1 + useCSS : true, + duration: { + show : settings.duration * 0.9, + hide : settings.duration * 1.1 + } }) .dimmer('add content', $module) ; $dimmer = $dimmable .dimmer('get dimmer') @@ -279,52 +281,58 @@ module.hideDimmer(); module.hideModal(callback); }, hideDimmer: function() { - if( $dimmable.dimmer('is active') ) { - module.debug('Hiding dimmer'); - if(settings.closable) { - $dimmer - .off('click' + eventNamespace) - ; - } - $dimmable.dimmer('hide'); - } - else { + if( !module.is.active() ) { module.debug('Dimmer is not visible cannot hide'); + return; } + module.debug('Hiding dimmer'); + if(settings.closable) { + $dimmer + .off('click' + eventNamespace) + ; + } + $dimmable.dimmer('hide', function() { + $module + .transition('reset') + ; + module.remove.active(); + }); }, hideModal: function(callback) { callback = $.isFunction(callback) ? callback : function(){} ; - if( module.is.active() ) { - module.debug('Hiding modal'); - module.remove.keyboardShortcuts(); - if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) { - $module - .transition(settings.transition + ' out', settings.duration, function() { - module.remove.active(); - module.restore.focus(); - callback(); - }) - ; - } - else { - $module - .fadeOut(settings.duration, settings.easing, function() { - module.remove.active(); - module.restore.focus(); - callback(); - }) - ; - } - $.proxy(settings.onHide, element)(); + if( !module.is.active() ) { + module.debug('Cannot hide modal it is not active'); + return; } + module.debug('Hiding modal'); + module.remove.keyboardShortcuts(); + if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) { + $module + .transition(settings.transition + ' out', settings.duration, function() { + module.remove.active(); + module.restore.focus(); + callback(); + }) + ; + } + else { + $module + .fadeOut(settings.duration, settings.easing, function() { + module.remove.active(); + module.restore.focus(); + callback(); + }) + ; + } + $.proxy(settings.onHide, element)(); }, hideAll: function(callback) { callback = $.isFunction(callback) ? callback @@ -412,12 +420,12 @@ is: { active: function() { return $module.hasClass(className.active); }, modernBrowser: function() { - // lol - return (navigator.appName !== 'Microsoft Internet Explorer'); + // appName for IE11 reports 'Netscape' can no longer use + return !(window.ActiveXObject || "ActiveXObject" in window); } }, set: { active: function() { @@ -567,40 +575,40 @@ performance = []; } }, invoke: function(query, passedArguments, context) { var + object = instance, maxDepth, found, response ; passedArguments = passedArguments || queryArguments; context = element || context; - if(typeof query == 'string' && instance !== undefined) { + if(typeof query == 'string' && object !== undefined) { query = query.split(/[\. ]/); maxDepth = query.length - 1; $.each(query, function(depth, value) { var camelCaseValue = (depth != maxDepth) ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) : query ; - if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) { - instance = instance[camelCaseValue]; + if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { + object = object[camelCaseValue]; } - else if( instance[camelCaseValue] !== undefined ) { - found = instance[camelCaseValue]; + else if( object[camelCaseValue] !== undefined ) { + found = object[camelCaseValue]; return false; } - else if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; + else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { + object = object[value]; } - else if( instance[value] !== undefined ) { - found = instance[value]; + else if( object[value] !== undefined ) { + found = object[value]; return false; } else { - module.error(error.method, query); return false; } }); } if ( $.isFunction( found ) ) { @@ -646,10 +654,10 @@ $.fn.modal.settings = { name : 'Modal', namespace : 'modal', - debug : true, + debug : false, verbose : true, performance : true, closable : true, context : 'body', \ No newline at end of file