MediaWiki:Common.js: Difference between revisions
m (Disable smart search for DataTable) |
mNo edit summary |
||
(15 intermediate revisions by the same user not shown) | |||
Line 12: | Line 12: | ||
console.log("Checking for datatables"); | console.log("Checking for datatables"); | ||
setTimeout(function() { | function TryDataTables() { | ||
if (!DataTable) { | |||
setTimeout(function() { | |||
TryDataTables(); | |||
}, 50); | |||
return; | |||
} | |||
document.querySelectorAll('.datatable').forEach(function(node) { | document.querySelectorAll('.datatable').forEach(function(node) { | ||
console.log("Setting up datatable", node); | console.log("Setting up datatable", node); | ||
Line 20: | Line 26: | ||
thead.appendChild(headerClone); | thead.appendChild(headerClone); | ||
node.prepend(thead); | node.prepend(thead); | ||
node.querySelector('tbody tr').remove() | node.querySelector('tbody tr').remove(); | ||
var order = []; | |||
if (node.dataset.defaultorder) { | |||
order = [ [ Number.parseInt(node.dataset.defaultorder, 10), 'desc'] ]; | |||
} | |||
new DataTable(node, { | new DataTable(node, { | ||
paging: false, | |||
lengthChange: false, | |||
order: order, | |||
search: { | search: { | ||
smart: | smart: true, | ||
} | } | ||
}); | }); | ||
}); | }); | ||
}, | } | ||
setTimeout(function() { | |||
TryDataTables(); | |||
}, 120); | |||
Latest revision as of 18:28, 6 April 2024
/* 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(); var order = []; if (node.dataset.defaultorder) { order = [ [ Number.parseInt(node.dataset.defaultorder, 10), 'desc'] ]; } new DataTable(node, { paging: false, lengthChange: false, order: order, search: { smart: true, } }); }); } 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); }());