MediaWiki:Common.js: Difference between revisions

MediaWiki interface page
No edit summary
No edit summary
Line 12: Line 12:


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


mw.loader.using('wavu.tippy', function () {
function autoplayMoveVideos() {
if (document.readyState === "loading") {
mw.loader.using('jquery.makeCollapsible', function () {
  document.addEventListener("DOMContentLoaded", tipIt);
let cb = function (ev) {
} else {
let btn = this;
  tipIt();
let expanding = btn.getAttribute('aria-expanded');
}
sharedParent = btn.parentElement;
});
while (sharedParent && !sharedParent.classList.contains('movedata'))
sharedParent = sharedParent.parentElement;
if (!sharedParent) return;
sharedParent.querySelectorAll('video').forEach(function (el) {
if (expanding) {
el.play();
} else {
el.stop();
}
});
};
document.querySelectorAll('.movedata .mw-collapsible-toggle').forEach(function (el) {
el.addEventListener('click', cb);
});
});
}
 
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", tipIt);
document.addEventListener("DOMContentLoaded", autoplayMoveVideos);
} else {
tipIt();
autoplayMoveVideos();
}

Revision as of 10:37, 30 January 2024

/* 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 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
			});
		});
	});
}

function autoplayMoveVideos() {
	mw.loader.using('jquery.makeCollapsible', function () {
		let cb = function (ev) {
			let btn = this;
			let expanding = btn.getAttribute('aria-expanded');
			sharedParent = btn.parentElement;	
			while (sharedParent && !sharedParent.classList.contains('movedata'))
				sharedParent = sharedParent.parentElement;		
			if (!sharedParent) return;
			sharedParent.querySelectorAll('video').forEach(function (el) {
				if (expanding) {
					el.play();
				} else {
					el.stop();
				}
			});
		};
		document.querySelectorAll('.movedata .mw-collapsible-toggle').forEach(function (el) {
			el.addEventListener('click', cb);
		});
	});
}

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