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 28: | Line 28: | ||
if(p == curpage){ | if(p == curpage){ | ||
// $(v).addClass('show').attr('aria-expanded','true').parent().addClass('position-static show'); | // $(v).addClass('show').attr('aria-expanded','true').parent().addClass('position-static show'); | ||
var current = $(this).parent().find('.dropdown-menu').attr('id'); | |||
localStorage.setItem('current', current); | |||
$(v).click; | |||
} else { | } else { | ||
$(v).removeClass('show').attr('aria-expanded','false').parent().removeClass('position-static show'); | $(v).removeClass('show').attr('aria-expanded','false').parent().removeClass('position-static show'); | ||
Revision as of 21: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 classes = ['im-marketing', 'im-finance', 'im-operations', 'im-planning', 'im-hr', 'im-accounting'];
// 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();
var current = $(this).parent().find('.dropdown-menu').attr('id');
localStorage.setItem('current', current);
$(v).click;
});
});
// on page load check its category and name to highlight menu items
var manpage = window.location.pathname.replace('/index.php/','');
var curpage = mw.config.get( 'wgTitle' );
$('#top-panel a.dropdown-toggle').each(function(i,v){
var p = new URL($(v).attr('href')).pathname.replaceAll('%20',' ').replace('/index.php/', '');
if(p == curpage){
// $(v).addClass('show').attr('aria-expanded','true').parent().addClass('position-static show');
var current = $(this).parent().find('.dropdown-menu').attr('id');
localStorage.setItem('current', current);
$(v).click;
} else {
$(v).removeClass('show').attr('aria-expanded','false').parent().removeClass('position-static show');
}
});
// getActiveCategory();
// getCurrentPageMenu();
$('.im-icon')
.click(function(){
for(var i = 0, j = classes.length; i < j; i++) {
if($(this).hasClass('' + classes[i] + '')) {
localStorage.setItem('active', '' + classes[i] + '');
break;
}
}
})
.each(function(){
for(var i = 0, j = classes.length; i < j; i++) {
prefix = "/index.php/";
page = decodeURIComponent($(this).attr('href').replace(prefix,''));
$(this).attr('title', page);
}
});
function getActiveButton(){
var getactive = localStorage.getItem('active');
$('.im-icon.' + getactive + '').click();
$('.im-icon.' + getactive + '').parent().addClass('im-active');
}
function getCurrentPageMenu(){
var getcurrent = localStorage.getItem('current');
$('#' + getcurrent + '').click();
$('#' + getcurrent + '').addClass('show').parent().addClass('position-static show').find('a').attr('aria-expanded', 'true');
}
function getActiveCategory(){
var cat = [];
cat = mw.config.get('wgCategories');
if(cat.includes("Planning")) {
$('.im-planning').parent().addClass('im-active');
localStorage.setItem('active', 'im-planning' );
} else if(cat.includes("Finance")) {
$('.im-finance').parent().addClass('im-active');
localStorage.setItem('active', 'im-finance' );
} else if(cat.includes("Marketing")) {
$('.im-marketing').parent().addClass('im-active');
localStorage.setItem('active', 'im-marketing' );
} else if(cat.includes("Operations")) {
$('.im-operations').parent().addClass('im-active');
localStorage.setItem('active', 'im-operations' );
} else if(cat.includes("HR")) {
$('.im-hr').parent().addClass('im-active');
localStorage.setItem('active', 'im-hr' );
} else if(cat.includes("accounting")) {
$('.im-accounting').parent().addClass('im-active');
localStorage.setItem('active', 'im-accounting' );
} else {
/** getActiveButton(); **/
for(var i = 0, j = classes.length; i < j; i++) {
classes[i].removeClass('im-active');
}
}
}