MediaWiki:Common.js: Difference between revisions

Content deleted Content added
No edit summary
Tag: Reverted
No edit summary
 
(13 intermediate revisions by the same user not shown)
Line 118:
 
mw.hook( 'wikipage.collapsibleContent' ).add( mwCollapsibleSetup );
 
/**
* Expand MobileFrontend sections by default on bizslash.com
*/
mw.hook( 'mobileFrontEnd.section.initialized' ).add( function () {
// Add a small delay (e.g., 150ms) to ensure event listeners are ready
setTimeout(function () {
$( '.section-heading' ).each( function () {
var $heading = $( this );
// Check if the section is currently closed (lacks the 'open-block' class)
if ( $heading.hasClass( 'open-block' ) === false ) {
$heading.trigger( 'click' );
}
} );
}, 150);
} );
 
/* End of mw.loader.using callback */
Line 250 ⟶ 234:
 
// Navigate and try to ensure mobile-collapsed sections are visible
// Navigate and try to ensure mobile-collapsed sections are visible
list.addEventListener('click', function (e) {
var a = e.target.closest('a');
Line 256 ⟶ 241:
 
var targetId = a.getAttribute('href').slice(1);
 
// === NEW LOGIC START: Scroll to Top for "Contents" ===
// If the user clicks the "Contents" header (id="mw-toc-heading"), scroll to top (0,0)
// === FIXED CODE ===
if (targetId === 'mw-toc-heading') {
closeOverlay();
// Delay scroll to let iOS Safari process the overflow change
setTimeout(function () {
try {
window.scrollTo({ top: 0, behavior: 'smooth' });
} catch (e) {
window.scrollTo(0, 0);
}
// Fallback for older iOS Safari
document.documentElement.scrollTop = 0;
document.body.scrollTop = 0;
}, 100);
if (history.replaceState) {
history.replaceState(null, '', window.location.pathname + window.location.search);
}
return;
}
// === NEW LOGIC END ===
 
var target = document.getElementById(targetId);
closeOverlay();
Line 305 ⟶ 314:
});
 
$(document).ready(function() {
/* DO NOT ADD CODE BELOW THIS LINE */
// Check if the button already exists to prevent duplicates
if ($('#custom-email-btn').length === 0) {
// Create the email button element
var emailBtn = $('<a>', {
id: 'custom-email-btn',
href: 'mailto:services@axabrain.com',
// Simple accessible title
title: 'Contact AXA BRAIN Services'
} );
 
// Add it to the body of the page
$('body').append(emailBtn);
}
} );
 
/* Open AXA BRAIN AI Assistant when clicking the logo */
$(document).ready(function() {
$('.fullscreen-logo').css('cursor', 'pointer').click(function(e) {
e.preventDefault();
// Method 1: Click the AI Assistant floating icon
var $aiButton = $('img[src*="ai-icon.png"]').closest('div, button, a');
if ($aiButton.length > 0) {
$headingaiButton.trigger( 'click' );
}return;
}, 150);
// Method 2: Try the extension's trigger class
var $trigger = $('.ext-aiassistant-trigger, .ext-aiassistant');
if ($trigger.length > 0) {
$trigger.first().trigger('click');
return;
}
 
console.log("AXA BRAIN Assistant button not found on this page.");
});
});