MediaWiki:Common.js: Difference between revisions
From Business Heroes Food Truck Simulation
Wikiworks743 (talk | contribs) No edit summary |
Wikiworks743 (talk | contribs) No edit summary |
||
| Line 8: | Line 8: | ||
const manpage = window.location.pathname.replace(/\/index\.php\//, ''); | const manpage = window.location.pathname.replace(/\/index\.php\//, ''); | ||
const curpage = mw.config.get( 'wgTitle' ); | const curpage = mw.config.get( 'wgTitle' ); | ||
const categories = mw.config.get('wgCategories'); | |||
// add a link and click event to the dropdown togglers, remember the active dropdown | // add a link and click event to the dropdown togglers, remember the active dropdown | ||
| Line 31: | Line 32: | ||
.addClass('position-static show') | .addClass('position-static show') | ||
.find('.dropdown-menu') | .find('.dropdown-menu') | ||
.show(); | |||
} else { | } else { | ||
$(v) | $(v) | ||
.removeClass('show').attr('aria-expanded','false') | .removeClass('show') | ||
.parent().removeClass('position-static show') | .attr('aria-expanded','false') | ||
.find('.dropdown-menu').hide(); | .parent() | ||
.removeClass('position-static show') | |||
.find('.dropdown-menu') | |||
.hide(); | |||
} | } | ||
}); | }); | ||
| Line 43: | Line 46: | ||
getActiveCategory(); | 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'); | |||
} | |||
} | |||
/** | |||
function getActiveCategory(){ | function getActiveCategory(){ | ||
var cat = []; | var cat = []; | ||
| Line 64: | Line 77: | ||
} | } | ||
} | } | ||
**/ | |||
Revision as of 22:34, 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 classes = ['im-marketing', 'im-finance', 'im-operations', 'im-planning', 'im-hr', 'im-accounting'];
const manpage = window.location.pathname.replace(/\/index\.php\//, '');
const curpage = mw.config.get( 'wgTitle' );
const categories = mw.config.get('wgCategories');
// add a link and click event to the dropdown togglers, remember the active dropdown
$('#top-panel .dropdown-toggle').each(function(i,v){
var p = $(v).text();
var url = new URL( server + path + '/index.php/' + encodeURIComponent(p));
$(v).attr('href', url);
$(v).on('click', function(e){
e.stopPropagation();
$(v).click;
});
});
// on page load check its category and name to highlight menu items
$('#top-panel a.dropdown-toggle').each(function(i,v){
var 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')
.show();
} else {
$(v)
.removeClass('show')
.attr('aria-expanded','false')
.parent()
.removeClass('position-static show')
.find('.dropdown-menu')
.hide();
}
});
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');
}
}
/**
function getActiveCategory(){
var cat = [];
cat = mw.config.get('wgCategories');
if(cat.includes("Planning")) {
$('.im-planning').parent().addClass('im-active');
} else if(cat.includes("Finance")) {
$('.im-finance').parent().addClass('im-active');
} else if(cat.includes("Marketing")) {
$('.im-marketing').parent().addClass('im-active');
} else if(cat.includes("Operations")) {
$('.im-operations').parent().addClass('im-active');
} else if(cat.includes("HR")) {
$('.im-hr').parent().addClass('im-active');
} else if(cat.includes("accounting")) {
$('.im-accounting').parent().addClass('im-active');
} else {
for(var i = 0, j = classes.length; i < j; i++) {
classes[i].removeClass('im-active');
}
}
}
**/