MediaWiki:Common.js: Difference between revisions

From Business Heroes Food Truck Simulation
No edit summary
No edit summary
Line 6: Line 6:
const path      = mw.config.get ( 'wgScriptPath' );
const path      = mw.config.get ( 'wgScriptPath' );
const classes    = ['im-marketing', 'im-finance', 'im-operations', 'im-planning', 'im-hr', 'im-accounting'];
const classes    = ['im-marketing', 'im-finance', 'im-operations', 'im-planning', 'im-hr', 'im-accounting'];
const areas      = ['Marketing', 'Finance', 'Operations', 'Planning', 'HR', 'Accounting'];
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' );
Line 49: Line 50:
categories = mw.config.get( 'wgCategories' );
categories = mw.config.get( 'wgCategories' );
for(var i = 0, j = areas.length; i < j; i++) {
    if(categories.includes(areas[i])) {
    $('.im-' + areas[i].toLowerCase()).parent().addClass('im-active');
} else {
$('.im-' + areas[i].toLowerCase()).parent().removeClass('im-active');
}
}
/**
if(categories.includes("Planning")) {
if(categories.includes("Planning")) {
     $('.im-planning').parent().addClass('im-active');
     $('.im-planning').parent().addClass('im-active');
Line 66: Line 75:
}
}
}
}
**/
}
}

Revision as of 22:52, 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 areas      = ['Marketing', 'Finance', 'Operations', 'Planning', 'HR', 'Accounting'];
const manpage    = window.location.pathname.replace(/\/index\.php\//, '');
const curpage    = mw.config.get( 'wgTitle' );

// 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(){
	var categories = [];
	categories = mw.config.get( 'wgCategories' );
	
	for(var i = 0, j = areas.length; i < j; i++) {
    	if(categories.includes(areas[i])) {
    		$('.im-' + areas[i].toLowerCase()).parent().addClass('im-active');
		} else {
			$('.im-' + areas[i].toLowerCase()).parent().removeClass('im-active');
		}
	}
/**	
	if(categories.includes("Planning")) {
    	$('.im-planning').parent().addClass('im-active');
	} else if(categories.includes("Finance")) {
		$('.im-finance').parent().addClass('im-active');
	} else if(categories.includes("Marketing")) {
		$('.im-marketing').parent().addClass('im-active');
	} else if(categories.includes("Operations")) {
		$('.im-operations').parent().addClass('im-active');
	} else if(categories.includes("HR")) {
		$('.im-hr').parent().addClass('im-active');
	} else if(categories.includes("accounting")) {
		$('.im-accounting').parent().addClass('im-active');
	} else {
		for(var i = 0, j = classes.length; i < j; i++) {
    		classes[i].removeClass('im-active');
		}
	}
	**/
}