MediaWiki:Common.js: Difference between revisions

From Auranogi
No edit summary
No edit summary
Line 15: Line 15:
function TryDataTables() {
function TryDataTables() {
if (!DataTable) {
if (!DataTable) {
setTimeout(() => {
setTimeout(function() {
TryDataTables();
TryDataTables();
}, 50);
}, 50);

Revision as of 20:13, 26 October 2023

/* Any JavaScript here will be loaded for all users on every page load. */
function importPage(name, type) {
	return mw.loader.load( '/index.php?title=' + name + '&action=raw&ctype=' + type, type );
}

function importScript(name) { return importPage(name, 'text/javascript'); }

importScript('MediaWiki:DynamicNav.js');

$(function () {
	// document.querySelector('.CategoryTreeSection [href="/view/Category:Dungeon_Variants"').parentElement.parentElement.remove();
	
	console.log("Checking for datatables");
	
	function TryDataTables() {
		if (!DataTable) {
			setTimeout(function() {
				TryDataTables();
			}, 50);
			return;
		}
		document.querySelectorAll('.datatable').forEach(function(node) {
			console.log("Setting up datatable", node);
			const headerClone = node.querySelector('tr').cloneNode(true);
			const thead = document.createElement('thead');
			thead.appendChild(headerClone);
			node.prepend(thead);
			node.querySelector('tbody tr').remove()
			new DataTable(node, {
				search: {
					smart: true,
					paging: false,
				}
			});
		});
	}

	setTimeout(function() {
		TryDataTables();
	}, 120);

	
	// Remove generated subcategories if page has a CategoryTree
	setTimeout(function() {
		const cat = document.querySelector('.CategoryTreeTag');
		console.log('Checking to remove gened subcats', cat);
		
		if (!cat) {
			const generated = document.querySelector('.mw-category-generated');
			if (generated) generated.style.display = "block";
		}
	}, 130);

}());