MediaWiki:Common.js: Difference between revisions
mNo edit summary |
mNo edit summary |
||
| Line 12: | Line 12: | ||
$(function() { | $(function() { | ||
const bullets = document.querySelectorAll('.toggle-bullet'); | const bullets = document.querySelectorAll('.toggle-bullet'); | ||
const bulletChars = ['<span style="color: green;">●</span>', '◦']; // | const bulletChars = ['<span style="color: green;">●</span>', '◦']; | ||
const localStorageKey = 'userInfoboxBulletState'; | |||
bullets.forEach((bullet, index) => { | |||
let currentIndex = localStorage.getItem(localStorageKey + index) === '0' ? 0 : 1; // Default to black if no stored state | |||
bullet.innerHTML = bulletChars[currentIndex]; | |||
bullet.addEventListener('click', function() { | bullet.addEventListener('click', function() { | ||
currentIndex = (currentIndex + 1) % bulletChars.length; | currentIndex = (currentIndex + 1) % bulletChars.length; | ||
this.innerHTML = bulletChars[currentIndex]; | this.innerHTML = bulletChars[currentIndex]; | ||
localStorage.setItem(localStorageKey + index, currentIndex.toString()); | |||
}); | }); | ||
}); | }); | ||
}); | }); | ||
Revision as of 22:39, 10 April 2025
/* Any JavaScript here will be loaded for all users on every page load. */
mw.loader.load( 'ext.cite.styles' );
/* Allows Template:Notice to be dismissable. */
$(document).ready(function() {
$('.dismissible-notice .dismiss-button').click(function() {
$(this).closest('.dismissible-notice').hide();
});
});
/* Allows bullet points in to-do list in Template:User to toggle on and off. */
$(function() {
const bullets = document.querySelectorAll('.toggle-bullet');
const bulletChars = ['<span style="color: green;">●</span>', '◦'];
const localStorageKey = 'userInfoboxBulletState';
bullets.forEach((bullet, index) => {
let currentIndex = localStorage.getItem(localStorageKey + index) === '0' ? 0 : 1; // Default to black if no stored state
bullet.innerHTML = bulletChars[currentIndex];
bullet.addEventListener('click', function() {
currentIndex = (currentIndex + 1) % bulletChars.length;
this.innerHTML = bulletChars[currentIndex];
localStorage.setItem(localStorageKey + index, currentIndex.toString());
});
});
});