/** * This file initialize Affix Messages * * This file is part of the evoCore framework - {@link http://evocore.net/} * See also {@link https://github.com/b2evolution/b2evolution}. * * @license GNU GPL v2 - {@link http://b2evolution.net/about/gnu-gpl-license} * * @copyright (c)2003-2020 by Francois PLANQUE - {@link http://fplanque.com/} * * Depends on: jQuery */ jQuery( document ).ready( function() { var msg_obj = jQuery( ".affixed_messages" ); if( msg_obj.length == 0 ) { // No Messages, exit return; } var msg_obj_width = msg_obj.outerWidth(); var msg_offset = evo_affix_msg_offset; var evo_bar = jQuery( '#evo_toolbar' ); var site_header = jQuery( '#evo_site_header' ); if( evo_bar.length ) { // Add evobar height to offset: msg_offset += evo_bar.outerHeight(); } if( evo_affix_fixed_header && site_header.length ) { // Site header is fixed, add height to offset: msg_offset += site_header.outerHeight(); } msg_obj.wrap( "
" ); var wrapper = msg_obj.parent(); msg_obj.affix( { offset: { top: function() { return wrapper.offset().top - msg_offset - parseInt( msg_obj.css( "margin-top" ) ); } } } ); msg_obj.on( "affix.bs.affix", function() { wrapper.css( { "min-height": msg_obj.outerHeight( true ) } ); msg_obj.css( { "width": msg_obj_width, "top": msg_offset, "z-index": 99999 } ); jQuery( window ).on( "resize", function() { // This will resize the Messages based on the wrapper width msg_obj.css( { "width": wrapper.css( "width" ) } ); }); } ); msg_obj.on( "affixed-top.bs.affix", function() { wrapper.css( { "min-height": "" } ); msg_obj.css( { "width": "", "top": "", "z-index": "" } ); } ); jQuery( "div.alert", msg_obj ).on( "closed.bs.alert", function() { wrapper.css({ "min-height": msg_obj.outerHeight( true ) }); } ); if( msg_obj.hasClass( "affix" ) ) { // Manually trigger the "affix.bs.affix" event: msg_obj.trigger( "affix.bs.affix" ); } } );