@ -168,6 +168,9 @@ $.fn.modal = function(parameters) {
refresh : function ( ) {
refresh : function ( ) {
module . remove . scrolling ( ) ;
module . remove . scrolling ( ) ;
module . cacheSizes ( ) ;
module . cacheSizes ( ) ;
if ( ! module . can . useFlex ( ) ) {
module . set . modalOffset ( ) ;
}
module . set . screenHeight ( ) ;
module . set . screenHeight ( ) ;
module . set . type ( ) ;
module . set . type ( ) ;
} ,
} ,
@ -326,6 +329,9 @@ $.fn.modal = function(parameters) {
module . showDimmer ( ) ;
module . showDimmer ( ) ;
module . cacheSizes ( ) ;
module . cacheSizes ( ) ;
if ( ! module . can . useFlex ( ) ) {
module . set . modalOffset ( ) ;
}
module . set . screenHeight ( ) ;
module . set . screenHeight ( ) ;
module . set . type ( ) ;
module . set . type ( ) ;
module . set . clickaway ( ) ;
module . set . clickaway ( ) ;
@ -550,11 +556,13 @@ $.fn.modal = function(parameters) {
$module . addClass ( className . loading ) ;
$module . addClass ( className . loading ) ;
var
var
scrollHeight = $module . prop ( 'scrollHeight' ) ,
scrollHeight = $module . prop ( 'scrollHeight' ) ,
modalWidth = $module . outerWidth ( ) ,
modalHeight = $module . outerHeight ( )
modalHeight = $module . outerHeight ( )
;
;
if ( module . cache === undefined || modalHeight !== 0 ) {
if ( module . cache === undefined || modalHeight !== 0 ) {
module . cache = {
module . cache = {
pageHeight : $ ( document ) . outerHeight ( ) ,
pageHeight : $ ( document ) . outerHeight ( ) ,
width : modalWidth ,
height : modalHeight + settings . offset ,
height : modalHeight + settings . offset ,
scrollHeight : scrollHeight + settings . offset ,
scrollHeight : scrollHeight + settings . offset ,
contextHeight : ( settings . context == 'body' )
contextHeight : ( settings . context == 'body' )
@ -569,7 +577,7 @@ $.fn.modal = function(parameters) {
can : {
can : {
useFlex : function ( ) {
useFlex : function ( ) {
return $dimmer . dimmer ( 'can use flex' ) ;
return settings . detachable && $dimmer . dimmer ( 'can use flex' ) ;
} ,
} ,
fit : function ( ) {
fit : function ( ) {
var
var
@ -633,6 +641,7 @@ $.fn.modal = function(parameters) {
var
var
defaultSettings = {
defaultSettings = {
debug : settings . debug ,
debug : settings . debug ,
useFlex : module . can . useFlex ( ) ,
dimmerName : 'modals' ,
dimmerName : 'modals' ,
closable : 'auto' ,
closable : 'auto' ,
variation : settings . centered
variation : settings . centered
@ -664,6 +673,18 @@ $.fn.modal = function(parameters) {
}
}
$context . dimmer ( 'setting' , dimmerSettings ) ;
$context . dimmer ( 'setting' , dimmerSettings ) ;
} ,
} ,
modalOffset : function ( ) {
var
width = module . cache . width ,
height = module . cache . height
;
$module
. css ( {
marginTop : - ( height / 2 ) ,
marginLeft : - ( width / 2 )
} )
;
} ,
screenHeight : function ( ) {
screenHeight : function ( ) {
if ( module . can . fit ( ) ) {
if ( module . can . fit ( ) ) {
$body . css ( 'height' , '' ) ;
$body . css ( 'height' , '' ) ;
@ -888,6 +909,7 @@ $.fn.modal.settings = {
namespace : 'modal' ,
namespace : 'modal' ,
useFlex : 'auto' ,
useFlex : 'auto' ,
offset : 0 ,
silent : false ,
silent : false ,
debug : false ,
debug : false ,
@ -918,7 +940,6 @@ $.fn.modal.settings = {
queue : false ,
queue : false ,
duration : 500 ,
duration : 500 ,
offset : 0 ,
transition : 'scale' ,
transition : 'scale' ,
// padding with edge of page
// padding with edge of page