MediaWiki:Common.js: Difference between revisions
From Hidden Mickey Wiki
No edit summary Tag: Manual revert |
No edit summary Tag: Reverted |
||
| Line 88: | Line 88: | ||
var a = printLink.querySelector('a'); | var a = printLink.querySelector('a'); | ||
printLink.remove(); | printLink.remove(); | ||
} | |||
}); | |||
mw.loader.using('mediawiki.util', function () { | |||
// Possible sidebar selectors across common skins | |||
var sidebarSelectors = [ | |||
'#mw-panel', // Vector, Vector-2022 | |||
'.vector-sidebar-container', | |||
'#column-one', // MonoBook | |||
'#mw_portlets', // Modern | |||
'#mw-related-navigation', // Timeless | |||
'#mw-site-navigation' | |||
]; | |||
var sidebar = null; | |||
for (var i = 0; i < sidebarSelectors.length; i++) { | |||
var el = document.querySelector(sidebarSelectors[i]); | |||
if (el) { | |||
sidebar = el; | |||
break; | |||
} | |||
} | |||
if (sidebar) { | |||
// Freeze the sidebar | |||
sidebar.style.position = 'fixed'; | |||
sidebar.style.top = '0'; | |||
sidebar.style.left = '0'; | |||
sidebar.style.height = '100vh'; | |||
sidebar.style.overflowY = 'auto'; | |||
sidebar.style.zIndex = '1000'; | |||
// Shift main content over so it isn't hidden | |||
var content = document.querySelector('#content, #mw-content-text, .mw-body, #mw-main, #mw-content'); | |||
if (content) { | |||
// Match approx sidebar width | |||
content.style.marginLeft = sidebar.offsetWidth + 'px'; | |||
} | |||
// Optional: disable on small screens | |||
function adjustForMobile() { | |||
if (window.innerWidth < 800) { | |||
sidebar.style.position = ''; | |||
sidebar.style.height = ''; | |||
sidebar.style.overflowY = ''; | |||
if (content) content.style.marginLeft = ''; | |||
} else { | |||
sidebar.style.position = 'fixed'; | |||
sidebar.style.height = '100vh'; | |||
sidebar.style.overflowY = 'auto'; | |||
if (content) content.style.marginLeft = sidebar.offsetWidth + 'px'; | |||
} | |||
} | |||
window.addEventListener('resize', adjustForMobile); | |||
adjustForMobile(); | |||
} | } | ||
}); | }); | ||
Revision as of 11:55, 22 September 2025
/* Any JavaScript here will be loaded for all users on every page load. */
// JavaScript code to save checkbox state and restore it when the page loads
$(document).ready(function() {
// Function to save the state of checkboxes to localStorage
function saveCheckboxState() {
$('input[type="checkbox"]').each(function() {
localStorage.setItem($(this).attr('id'), $(this).prop('checked'));
});
}
// Function to load the state of checkboxes from localStorage
function loadCheckboxState() {
$('input[type="checkbox"]').each(function() {
const savedState = localStorage.getItem($(this).attr('id'));
if (savedState !== null) {
$(this).prop('checked', savedState === 'true');
}
});
}
// Load the saved checkbox state when the page is loaded
loadCheckboxState();
// Save the checkbox state whenever a checkbox is changed
$('input[type="checkbox"]').change(function() {
saveCheckboxState();
});
});
// Adjust the search box width
$(document).ready(function () {
$('#searchInput').css('width', '600px'); // Adjust width as needed
});
// Add Edit Source to user dropdown
mw.loader.using('mediawiki.util', function () {
mw.util.addPortletLink( 'p-personal', mw.util.getUrl( mw.config.get('wgPageName'), { action: 'edit' } ), 'Edit Source', 'pt-editsource' );
mw.util.addPortletLink( 'p-personal', mw.util.getUrl( mw.config.get('wgPageName'), { action: 'history' } ), 'View History', 'pt-history' );
mw.util.addPortletLink( 'p-personal', mw.util.getUrl( mw.config.get('wgPageName'), { action: 'delete' } ), 'Delete', 'pt-delete' );
var moveLink = document.getElementById('ca-move');
if (moveLink) {
var a = moveLink.querySelector('a');
mw.util.addPortletLink( 'p-personal', a.href, a.textContent.trim(), 'pt-move', a.title || 'Move this page' );
moveLink.remove();
}
mw.util.addPortletLink( 'p-personal', mw.util.getUrl( mw.config.get('wgPageName'), { action: 'protect' } ), 'Protect', 'pt-protect' );
mw.util.addPortletLink( 'p-personal', mw.util.getUrl( mw.config.get('wgPageName'), { action: 'unwatch' } ), 'Unwatch', 'pt-unwatch' );
var talkLink = document.getElementById('pt-mytalk');
talkLink.remove();
var whatLinksHereLink = document.getElementById('t-whatlinkshere');
if (whatLinksHereLink) {
var a = whatLinksHereLink.querySelector('a');
mw.util.addPortletLink( 'p-personal', a.href, a.textContent.trim(), 'pt-whatlinkshere', a.title || 'What Links Here' );
whatLinksHereLink.remove();
}
var relatedChangesLink = document.getElementById('t-recentchangeslinked');
if (relatedChangesLink) {
var a = relatedChangesLink.querySelector('a');
mw.util.addPortletLink( 'p-personal', a.href, a.textContent.trim(), 'pt-recentchanges', a.title || 'Recent Changes' );
relatedChangesLink.remove();
}
var uploadLink = document.getElementById('t-upload');
if (uploadLink) {
var a = uploadLink.querySelector('a');
mw.util.addPortletLink( 'p-personal', a.href, a.textContent.trim(), 'pt-upload', a.title || 'Upload File' );
uploadLink.remove();
}
var specialPagesLink = document.getElementById('t-specialpages');
if (specialPagesLink) {
var a = specialPagesLink.querySelector('a');
mw.util.addPortletLink( 'p-personal', a.href, a.textContent.trim(), 'pt-specialpages', a.title || 'Special Pages' );
specialPagesLink.remove();
}
var permanentLink = document.getElementById('t-permalink');
if (permanentLink) {
var a = permanentLink.querySelector('a');
mw.util.addPortletLink( 'p-personal', a.href, a.textContent.trim(), 'pt-permalink', a.title || 'Permanent Link' );
permanentLink.remove();
}
var pageInfoLink = document.getElementById('t-info');
if (pageInfoLink) {
var a = pageInfoLink.querySelector('a');
mw.util.addPortletLink( 'p-personal', a.href, a.textContent.trim(), 'pt-info', a.title || 'Page Info' );
pageInfoLink.remove();
}
var printLink = document.getElementById('t-print');
if (printLink) {
var a = printLink.querySelector('a');
printLink.remove();
}
});
mw.loader.using('mediawiki.util', function () {
// Possible sidebar selectors across common skins
var sidebarSelectors = [
'#mw-panel', // Vector, Vector-2022
'.vector-sidebar-container',
'#column-one', // MonoBook
'#mw_portlets', // Modern
'#mw-related-navigation', // Timeless
'#mw-site-navigation'
];
var sidebar = null;
for (var i = 0; i < sidebarSelectors.length; i++) {
var el = document.querySelector(sidebarSelectors[i]);
if (el) {
sidebar = el;
break;
}
}
if (sidebar) {
// Freeze the sidebar
sidebar.style.position = 'fixed';
sidebar.style.top = '0';
sidebar.style.left = '0';
sidebar.style.height = '100vh';
sidebar.style.overflowY = 'auto';
sidebar.style.zIndex = '1000';
// Shift main content over so it isn't hidden
var content = document.querySelector('#content, #mw-content-text, .mw-body, #mw-main, #mw-content');
if (content) {
// Match approx sidebar width
content.style.marginLeft = sidebar.offsetWidth + 'px';
}
// Optional: disable on small screens
function adjustForMobile() {
if (window.innerWidth < 800) {
sidebar.style.position = '';
sidebar.style.height = '';
sidebar.style.overflowY = '';
if (content) content.style.marginLeft = '';
} else {
sidebar.style.position = 'fixed';
sidebar.style.height = '100vh';
sidebar.style.overflowY = 'auto';
if (content) content.style.marginLeft = sidebar.offsetWidth + 'px';
}
}
window.addEventListener('resize', adjustForMobile);
adjustForMobile();
}
});