MediaWiki:Common.js: Difference between revisions
From Business Heroes Food Truck Simulation
Wikiworks743 (talk | contribs) No edit summary Tag: Reverted |
Wikiworks743 (talk | contribs) No edit summary Tag: Reverted |
||
Line 6: | Line 6: | ||
const path = mw.config.get('wgScriptPath'); | const path = mw.config.get('wgScriptPath'); | ||
const categories = mw.config.get('wgCategories'); | const categories = mw.config.get('wgCategories'); | ||
const curpage = mw.config.get('wgTitle'); | |||
const manpage = window.location.pathname.replace(/\/index\.php\//, ''); | const manpage = window.location.pathname.replace(/\/index\.php\//, ''); | ||
let activeDropdown = null; | let activeDropdown = null; | ||
$('#top-panel .dropdown-toggle').each(function(i, v) { | $('#top-panel .dropdown-toggle').each(function(i, v) { | ||
const p = $(v).text(); | const p = $(v).text(); | ||
const url = new URL( | const url = new URL( server + path + '/index.php/' + encodeURIComponent(p)); | ||
$(v).attr('href', url); | $(v).attr('href', url); | ||
Revision as of 22:20, 19 December 2022
/* Any JavaScript here will be loaded for all users on every page load. */ $('#p-contentnavigation').append($('#editor-menu')); const server = mw.config.get('wgServer'); const path = mw.config.get('wgScriptPath'); const categories = mw.config.get('wgCategories'); const curpage = mw.config.get('wgTitle'); const manpage = window.location.pathname.replace(/\/index\.php\//, ''); let activeDropdown = null; $('#top-panel .dropdown-toggle').each(function(i, v) { const p = $(v).text(); const url = new URL( server + path + '/index.php/' + encodeURIComponent(p)); $(v).attr('href', url); $(v).on('click', function(e) { e.stopPropagation(); activeDropdown = $(this).parent().find('.dropdown-menu').attr('id'); $(v).click; }); }); $('#top-panel a.dropdown-toggle').each(function(i, v) { const p = new URL($(v).attr('href')).pathname.replace(/%20/g, ' ').replace(/\/index\.php\//, ''); if (p === curpage) { $(v) .addClass('show') .attr('aria-expanded', 'true') .parent() .addClass('position-static show') .find('.dropdown-menu') .toggleClass('d-none', false); } else { $(v) .removeClass('show') .attr('aria-expanded', 'false') .parent() .removeClass('position-static show') .find('.dropdown-menu') .toggleClass('d-none', true); } }); getActiveCategory(); function getActiveCategory() { const activeCategory = categories.find(category => category.toLowerCase() === manpage.toLowerCase()); if (activeCategory) { $(`.im-${activeCategory.toLowerCase()}`).parent().addClass('im-active'); } else { $(`.im-${activeCategory.toLowerCase()}`).parent().removeClass('im-active'); } }