Seditio Source
Root |
./othercms/b2evolution_7.2.3/rsc/js/src/evo_init_affix_messages.js
/**
 * 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( "<div class=\"msg_wrapper\"></div>" );
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" );
}
} );