MediaWiki:Common.js: Difference between revisions
From Business Heroes Food Truck Simulation
			Wikiworks743 (talk | contribs) No edit summary  | 
				Wikiworks743 (talk | contribs)  No edit summary Tag: Reverted  | 
				||
| Line 3: | Line 3: | ||
$('#p-contentnavigation').append($('#editor-menu'));  | $('#p-contentnavigation').append($('#editor-menu'));  | ||
const server  = mw.config.get ( 'wgServer' );  | const server  = mw.config.get('wgServer');  | ||
const path    = mw.config.get ( 'wgScriptPath' );  | const path    = mw.config.get('wgScriptPath');  | ||
const   | const categories = mw.config.get('wgCategories');  | ||
const manpage = window.location.pathname.replace(/\/index\.php\//, '');  | |||
const curpage = mw.config.get('wgTitle');  | |||
let activeDropdown = null;  | |||
$('#top-panel .dropdown-toggle').each(function(i, v) {  | |||
$('#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) {  | |||
$('#top-panel a.dropdown-toggle').each(function(i,v){  |     $(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();  | getActiveCategory();  | ||
function 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');  | |||
  }  | |||
}  | }  | ||
Revision as of 22:18, 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 manpage = window.location.pathname.replace(/\/index\.php\//, '');
const curpage = mw.config.get('wgTitle');
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');
  }
}