MediaWiki:Common.js

MediaWiki interface page
Revision as of 11:08, 30 January 2024 by RogerDodger (talk | contribs)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */

$(document).on('mmv-setup-overlay', function () {
	$('html').addClass('mw-mmv-lightbox-linger');
});

$(document).on('mmv-cleanup-overlay', function () {
	setTimeout(function () {
		$('html').removeClass('mw-mmv-lightbox-linger');
	}, 20)
});

function autoplayIt() {
	var btn = this;
	var expanding = btn.getAttribute('aria-expanded');	
	btn.movedata.querySelectorAll('video').forEach(expanding
		? function (el) { el.play(); }
		: function (el) { el.stop(); }
	);
}

mw.hook('wikipage.collapsibleContent', function (btn) {
	var movedata = btn.parentElement;	
	while (movedata && !sharedParent.classList.contains('movedata'))
		movedata = sharedParent.parentElement;		
	if (!movedata) return;
	btn.movedata = movedata;
	btn.addEventListener('click', autoplayIt);
});

function tipIt() {
	mw.loader.using('wavu.tippy', function () {
		document.querySelectorAll('.tooltip-label').forEach(function(el) {
			tippy(el, {
				content: el.nextElementSibling.innerHTML,
				allowHTML: true,
				interactive: true,
				arrow: false
			});
		});
	});
}

if (document.readyState === "loading") {
	document.addEventListener("DOMContentLoaded", tipIt);
} else {
	tipIt();
}