User:Iritscen/vector-2022.js: Difference between revisions
mNo edit summary Tag: Reverted |
(revert to older version that I think worked) Tag: Manual revert |
||
Line 10: | Line 10: | ||
const styleSheets = document.styleSheets; | const styleSheets = document.styleSheets; | ||
var ruleIndex = 0; | var ruleIndex = 0; | ||
for (var i = 0; i < styleSheets.length; i++) | for (var i = 0; i < styleSheets.length; i++) | ||
{ | { | ||
const rules = styleSheets[i].cssRules || styleSheets[i].rules; | const rules = styleSheets[i].cssRules || styleSheets[i].rules; | ||
alert('Looking for date rule ".date-'+component+'::before".'); | |||
for (var j = 0; j < rules.length; j++) | for (var j = 0; j < rules.length; j++) | ||
{ | { | ||
if ( | if (rules[j].selectorText === '.date-month::before') | ||
{ | { | ||
alert('Found desired date rule.'); | |||
ruleIndex = j; | ruleIndex = j; | ||
break; | break; | ||
Line 30: | Line 29: | ||
// Update the content of the existing rule | // Update the content of the existing rule | ||
styleSheets[i].deleteRule(ruleIndex); | styleSheets[i].deleteRule(ruleIndex); | ||
styleSheets[i].insertRule('.date-'+component+'::before{content:"'+separator+'";}', ruleIndex); | |||
break; | break; | ||
} | } | ||
Line 39: | Line 35: | ||
} | } | ||
function localizeDates() | |||
{ | { | ||
const lang = getLang(); | const lang = getLang(); | ||
Line 54: | Line 50: | ||
changeDateSeparator('day', ''); | changeDateSeparator('day', ''); | ||
} | } | ||
}); | } | ||
$(localizeDates); | |||
mw.hook('wikiEditor.toolbarReady').add(function($textarea) | mw.hook('wikiEditor.toolbarReady').add(function($textarea) |
Revision as of 21:00, 5 May 2025
function getLang() { if (navigator.languages !== undefined) return navigator.languages[0]; return navigator.language; } function changeDateSeparator(component, separator) { const styleSheets = document.styleSheets; var ruleIndex = 0; for (var i = 0; i < styleSheets.length; i++) { const rules = styleSheets[i].cssRules || styleSheets[i].rules; alert('Looking for date rule ".date-'+component+'::before".'); for (var j = 0; j < rules.length; j++) { if (rules[j].selectorText === '.date-month::before') { alert('Found desired date rule.'); ruleIndex = j; break; } } if (ruleIndex !== undefined) { // Update the content of the existing rule styleSheets[i].deleteRule(ruleIndex); styleSheets[i].insertRule('.date-'+component+'::before{content:"'+separator+'";}', ruleIndex); break; } } } function localizeDates() { const lang = getLang(); const root = document.querySelector(':root'); if (root == undefined || lang == undefined) return; if (lang != "en-US") // LocaleDate prints dates in U.S.-style by default { root.style.setProperty('--month-order', '2'); root.style.setProperty('--day-order', '1'); changeDateSeparator('month', '/'); changeDateSeparator('day', ''); } } $(localizeDates); mw.hook('wikiEditor.toolbarReady').add(function($textarea) { $textarea.wikiEditor('addToToolbar', {section:'secondary', group:'default', tools: { smile: { label:'Smile!', // or use mw.message(key).escaped() for a localized label, see above type:'button', icon:'//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png', action: { type:'encapsulate', options: { pre:":)" // text to be inserted } } } } }); });