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 8: | Line 8: | ||
const curpage = mw.config.get('wgTitle');  | const curpage = mw.config.get('wgTitle');  | ||
const manpage = window.location.pathname.replace(/\/index\.php\//, '');  | const manpage = window.location.pathname.replace(/\/index\.php\//, '');  | ||
$('#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( server + path + '/index.php/' + encodeURIComponent(p));  |    const url = new URL( '' + server + path + '/index.php/' + encodeURIComponent(p) + '');  | ||
   $(v).attr('href', url);  |    $(v).attr('href', url);  | ||
   $(v).on('click', function(e) {  |    $(v).on('click', function(e) {  | ||
     e.stopPropagation();  |      e.stopPropagation();  | ||
     $(this).parent().find('.dropdown-menu').attr('id');  | |||
     $(v).click;  |      $(v).click;  | ||
   });  |    });  | ||
Revision as of 22:22, 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\//, '');
$('#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();
    $(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');
  }
}