MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
Amwelladmin (talk | contribs) No edit summary |
Amwelladmin (talk | contribs) No edit summary |
||
(126 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
var customizeToolbar = function() { | |||
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { | |||
'sections': { | |||
'manual': { | |||
'type': 'toolbar', // Can also be 'booklet' | |||
'label': 'Manual' | |||
// or 'labelMsg': 'section-manual-label' for a localized label | |||
} | |||
} | |||
} ); | |||
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { | |||
'section': 'manual', | |||
'groups': { | |||
'tags': { | |||
'label': 'Tags' // or use labelMsg for a localized label, see above | |||
} | |||
} | |||
} ); | |||
$('#wpTextbox1').wikiEditor('addToToolbar', { | |||
section: 'advanced', | |||
group: 'format', | |||
tools: { | |||
"template": { | |||
label: 'long dash', | |||
type: 'button', | |||
icon: 'https://jollycontrarian.com/images/5/55/Dash.png', | |||
action: { | |||
type: 'encapsulate', | |||
options: { | |||
pre: "—", | |||
post: "" | |||
} | |||
} | |||
} | |||
} | |||
}); | |||
$('#wpTextbox1').wikiEditor('addToToolbar', { | |||
section: 'advanced', | |||
group: 'format', | |||
tools: { | |||
"template": { | |||
label: 'scarequotes', | |||
type: 'button', | |||
icon: 'https://jollycontrarian.com/images/b/ba/Scare.png', | |||
action: { | |||
type: 'encapsulate', | |||
options: { | |||
pre: "“", | |||
post: "”" | |||
} | |||
} | |||
} | |||
} | |||
}); | |||
$('#wpTextbox1').wikiEditor('addToToolbar', { | |||
section: 'advanced', | |||
group: 'format', | |||
tools: { | |||
"template": { | |||
label: 'apostrophe', | |||
type: 'button', | |||
icon: 'https://jollycontrarian.com/images/5/5b/Apo.png', | |||
action: { | |||
type: 'encapsulate', | |||
options: { | |||
pre: "’", | |||
post: "" | |||
} | |||
} | |||
} | |||
} | |||
}); | |||
$('#wpTextbox1').wikiEditor('addToToolbar', { | |||
section: 'advanced', | |||
group: 'format', | |||
tools: { | |||
"template": { | |||
label: '{{ - }}', | |||
type: 'button', | |||
icon: 'https://jollycontrarian.com/images/3/30/Template.png', | |||
action: { | |||
type: 'encapsulate', | |||
options: { | |||
pre: "{{", | |||
post: "}}" | |||
} | |||
} | |||
} | |||
} | |||
}); | |||
$('#wpTextbox1').wikiEditor('addToToolbar', { | |||
section: 'advanced', | |||
group: 'format', | |||
tools: { | |||
"Substitute": { | |||
label: 'subst:', | |||
type: 'button', | |||
icon: 'https://jollycontrarian.com/images/0/03/Sbs.png', | |||
action: { | |||
type: 'encapsulate', | |||
options: { | |||
pre: "{{subst:", | |||
post: "}}" | |||
} | |||
} | |||
} | |||
} | |||
}); | |||
$('#wpTextbox1').wikiEditor('addToToolbar', { | |||
section: 'advanced', | |||
group: 'format', | |||
tools: { | |||
"redirect": { | |||
label: '==>', | |||
type: 'button', | |||
icon: 'https://jollycontrarian.com/images/9/91/Redirect.png', | |||
action: { | |||
type: 'encapsulate', | |||
options: { | |||
pre: "#redirect[[", | |||
post: "]]" | |||
} | |||
} | |||
} | |||
} | |||
}); | |||
$('#wpTextbox1').wikiEditor('addToToolbar', { | |||
section: 'advanced', | |||
group: 'format', | |||
tools: { | |||
"template": { | |||
label: 'tag', | |||
type: 'button', | |||
icon: 'https://jollycontrarian.com/images/7/76/Tag.png', | |||
action: { | |||
type: 'encapsulate', | |||
options: { | |||
pre: "{{t|", | |||
post: "}}" | |||
} | |||
} | |||
} | |||
} | |||
}); | |||
$('#wpTextbox1').wikiEditor('addToToolbar', { | |||
section: 'advanced', | |||
group: 'format', | |||
tools: { | |||
"Prov": { | |||
label: 'isdaprov', | |||
type: 'button', | |||
icon: 'https://jollycontrarian.com/images/5/50/Isd.png', | |||
action: { | |||
type: 'encapsulate', | |||
options: { | |||
pre: "{{isdaprov|", | |||
post: "}}" | |||
} | |||
} | |||
} | |||
} | |||
}); | |||
$('#wpTextbox1').wikiEditor('addToToolbar', { | |||
section: 'advanced', | |||
group: 'format', | |||
tools: { | |||
"Prov": { | |||
label: 'euaprov', | |||
type: 'button', | |||
icon: 'https://jollycontrarian.com/images/5/50/eua.png', | |||
action: { | |||
type: 'encapsulate', | |||
options: { | |||
pre: "{{euaprov|", | |||
post: "}}" | |||
} | |||
} | |||
} | |||
} | |||
}); | |||
$('#wpTextbox1').wikiEditor('addToToolbar', { | |||
section: 'advanced', | |||
group: 'format', | |||
tools: { | |||
"ietaprov": { | |||
label: 'ietaprov', | |||
type: 'button', | |||
icon: 'https://jollycontrarian.com/images/e/e9/Gms.png', | |||
action: { | |||
type: 'encapsulate', | |||
options: { | |||
pre: "{{ietaprov|", | |||
post: "}}" | |||
} | |||
} | |||
} | |||
} | |||
}); | |||
$('#wpTextbox1').wikiEditor('addToToolbar', { | |||
section: 'advanced', | |||
group: 'format', | |||
tools: { | |||
"gmraprov": { | |||
label: '{{{1}}}|', | |||
type: 'button', | |||
icon: 'https://jollycontrarian.com/images/4/49/blank.png', | |||
action: { | |||
type: 'encapsulate', | |||
options: { | |||
pre: "{{{{{1}}}|", | |||
post: "}}" | |||
} | |||
} | |||
} | |||
} | |||
}); | |||
$('#wpTextbox1').wikiEditor('addToToolbar', { | |||
section: 'advanced', | |||
group: 'format', | |||
tools: { | |||
"Equity Derivs": { | |||
label: 'eqderivprov', | |||
type: 'button', | |||
icon: 'https://jollycontrarian.com/images/c/c3/Eqd.png', | |||
action: { | |||
type: 'encapsulate', | |||
options: { | |||
pre: "{{eqderivprov|", | |||
post: "}}" | |||
} | |||
} | |||
} | |||
} | |||
}); | |||
$('#wpTextbox1').wikiEditor('addToToolbar', { | |||
section: 'advanced', | |||
group: 'format', | |||
tools: { | |||
"template": { | |||
label: 'vmcsaprov', | |||
type: 'button', | |||
icon: 'https://jollycontrarian.com/images/3/37/Csa.png', | |||
action: { | |||
type: 'encapsulate', | |||
options: { | |||
pre: "{{vmcsaprov|", | |||
post: "}}" | |||
} | |||
} | |||
} | |||
} | |||
}); | |||
$('#wpTextbox1').wikiEditor('addToToolbar', { | |||
section: 'advanced', | |||
group: 'format', | |||
tools: { | |||
"template": { | |||
label: 'hotlink', | |||
type: 'button', | |||
icon: 'https://jollycontrarian.com/images/3/37/Csa.png', | |||
action: { | |||
type: 'encapsulate', | |||
options: { | |||
pre: "{{pjchotlink|}}<li>{{pjchotlink|}}<li>{{pjchotlink|}}<li>{{pjchotlink|}}<li>{{pjchotlink|}}<li>", | |||
post: "{{pjchotlink|}}" | |||
} | |||
} | |||
} | |||
} | |||
}); | |||
}; | |||
if ( [ 'edit', 'submit' ].indexOf( mw.config.get( 'wgAction' ) ) !== -1 ) { | |||
mw.loader.using( 'user.options' ).then( function () { | |||
if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) { | |||
$.when( | |||
mw.loader.using( 'ext.wikiEditor' ), $.ready | |||
).then( customizeToolbar ); | |||
} | |||
} ); | |||
} | |||
// Add the customizations to LiquidThreads' edit toolbar, if available | |||
mw.hook( 'ext.lqt.textareaCreated' ).add( customizeToolbar ); | |||
/* Any JavaScript here will be loaded for all users on every page load. */ | /* Any JavaScript here will be loaded for all users on every page load. */ | ||
// JavaScript to dynamically adjust table layout | |||
function adjustTableLayout() { | |||
var staticTable = document.getElementById('static-table'); | |||
var adaptiveTable = document.getElementById('adaptive-table'); | |||
if (!staticTable || !adaptiveTable) return; | |||
// Get the bounding rectangles of the tables | |||
var staticRect = staticTable.getBoundingClientRect(); | |||
var adaptiveRect = adaptiveTable.getBoundingClientRect(); | |||
// Check if the adaptive table is below the static table | |||
if (adaptiveRect.top >= staticRect.bottom) { | |||
adaptiveTable.classList.add('stacked'); | |||
} else { | |||
adaptiveTable.classList.remove('stacked'); | |||
} | |||
} | |||
// Function to request a reflow and check layout | |||
function checkLayout() { | |||
requestAnimationFrame(function() { | |||
adjustTableLayout(); | |||
}); | |||
} | |||
// Initial adjustment | |||
checkLayout(); | |||
// Adjust on window resize | |||
window.addEventListener('resize', checkLayout); | |||
// Adjust on content changes | |||
document.addEventListener('DOMContentLoaded', checkLayout); | |||
/* DIALOGUE MALARKEY */ | |||
document.addEventListener("DOMContentLoaded", function() { | |||
document.querySelectorAll('.dialogue').forEach(dialogue => { | |||
const character = dialogue.querySelector('.character'); | |||
const text = dialogue.querySelector('.text'); | |||
const characterWidth = character.offsetWidth; | |||
text.style.marginLeft = `${characterWidth + 30}px`; | |||
}); | |||
}); | |||
Latest revision as of 17:50, 10 September 2024
var customizeToolbar = function() { $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'sections': { 'manual': { 'type': 'toolbar', // Can also be 'booklet' 'label': 'Manual' // or 'labelMsg': 'section-manual-label' for a localized label } } } ); $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'section': 'manual', 'groups': { 'tags': { 'label': 'Tags' // or use labelMsg for a localized label, see above } } } ); $('#wpTextbox1').wikiEditor('addToToolbar', { section: 'advanced', group: 'format', tools: { "template": { label: 'long dash', type: 'button', icon: 'https://jollycontrarian.com/images/5/55/Dash.png', action: { type: 'encapsulate', options: { pre: "—", post: "" } } } } }); $('#wpTextbox1').wikiEditor('addToToolbar', { section: 'advanced', group: 'format', tools: { "template": { label: 'scarequotes', type: 'button', icon: 'https://jollycontrarian.com/images/b/ba/Scare.png', action: { type: 'encapsulate', options: { pre: "“", post: "”" } } } } }); $('#wpTextbox1').wikiEditor('addToToolbar', { section: 'advanced', group: 'format', tools: { "template": { label: 'apostrophe', type: 'button', icon: 'https://jollycontrarian.com/images/5/5b/Apo.png', action: { type: 'encapsulate', options: { pre: "’", post: "" } } } } }); $('#wpTextbox1').wikiEditor('addToToolbar', { section: 'advanced', group: 'format', tools: { "template": { label: '{{ - }}', type: 'button', icon: 'https://jollycontrarian.com/images/3/30/Template.png', action: { type: 'encapsulate', options: { pre: "{{", post: "}}" } } } } }); $('#wpTextbox1').wikiEditor('addToToolbar', { section: 'advanced', group: 'format', tools: { "Substitute": { label: 'subst:', type: 'button', icon: 'https://jollycontrarian.com/images/0/03/Sbs.png', action: { type: 'encapsulate', options: { pre: "{{subst:", post: "}}" } } } } }); $('#wpTextbox1').wikiEditor('addToToolbar', { section: 'advanced', group: 'format', tools: { "redirect": { label: '==>', type: 'button', icon: 'https://jollycontrarian.com/images/9/91/Redirect.png', action: { type: 'encapsulate', options: { pre: "#redirect[[", post: "]]" } } } } }); $('#wpTextbox1').wikiEditor('addToToolbar', { section: 'advanced', group: 'format', tools: { "template": { label: 'tag', type: 'button', icon: 'https://jollycontrarian.com/images/7/76/Tag.png', action: { type: 'encapsulate', options: { pre: "{{t|", post: "}}" } } } } }); $('#wpTextbox1').wikiEditor('addToToolbar', { section: 'advanced', group: 'format', tools: { "Prov": { label: 'isdaprov', type: 'button', icon: 'https://jollycontrarian.com/images/5/50/Isd.png', action: { type: 'encapsulate', options: { pre: "{{isdaprov|", post: "}}" } } } } }); $('#wpTextbox1').wikiEditor('addToToolbar', { section: 'advanced', group: 'format', tools: { "Prov": { label: 'euaprov', type: 'button', icon: 'https://jollycontrarian.com/images/5/50/eua.png', action: { type: 'encapsulate', options: { pre: "{{euaprov|", post: "}}" } } } } }); $('#wpTextbox1').wikiEditor('addToToolbar', { section: 'advanced', group: 'format', tools: { "ietaprov": { label: 'ietaprov', type: 'button', icon: 'https://jollycontrarian.com/images/e/e9/Gms.png', action: { type: 'encapsulate', options: { pre: "{{ietaprov|", post: "}}" } } } } }); $('#wpTextbox1').wikiEditor('addToToolbar', { section: 'advanced', group: 'format', tools: { "gmraprov": { label: '{{{1}}}|', type: 'button', icon: 'https://jollycontrarian.com/images/4/49/blank.png', action: { type: 'encapsulate', options: { pre: "{{{{{1}}}|", post: "}}" } } } } }); $('#wpTextbox1').wikiEditor('addToToolbar', { section: 'advanced', group: 'format', tools: { "Equity Derivs": { label: 'eqderivprov', type: 'button', icon: 'https://jollycontrarian.com/images/c/c3/Eqd.png', action: { type: 'encapsulate', options: { pre: "{{eqderivprov|", post: "}}" } } } } }); $('#wpTextbox1').wikiEditor('addToToolbar', { section: 'advanced', group: 'format', tools: { "template": { label: 'vmcsaprov', type: 'button', icon: 'https://jollycontrarian.com/images/3/37/Csa.png', action: { type: 'encapsulate', options: { pre: "{{vmcsaprov|", post: "}}" } } } } }); $('#wpTextbox1').wikiEditor('addToToolbar', { section: 'advanced', group: 'format', tools: { "template": { label: 'hotlink', type: 'button', icon: 'https://jollycontrarian.com/images/3/37/Csa.png', action: { type: 'encapsulate', options: { pre: "{{pjchotlink|}}<li>{{pjchotlink|}}<li>{{pjchotlink|}}<li>{{pjchotlink|}}<li>{{pjchotlink|}}<li>", post: "{{pjchotlink|}}" } } } } }); }; if ( [ 'edit', 'submit' ].indexOf( mw.config.get( 'wgAction' ) ) !== -1 ) { mw.loader.using( 'user.options' ).then( function () { if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) { $.when( mw.loader.using( 'ext.wikiEditor' ), $.ready ).then( customizeToolbar ); } } ); } // Add the customizations to LiquidThreads' edit toolbar, if available mw.hook( 'ext.lqt.textareaCreated' ).add( customizeToolbar ); /* Any JavaScript here will be loaded for all users on every page load. */ // JavaScript to dynamically adjust table layout function adjustTableLayout() { var staticTable = document.getElementById('static-table'); var adaptiveTable = document.getElementById('adaptive-table'); if (!staticTable || !adaptiveTable) return; // Get the bounding rectangles of the tables var staticRect = staticTable.getBoundingClientRect(); var adaptiveRect = adaptiveTable.getBoundingClientRect(); // Check if the adaptive table is below the static table if (adaptiveRect.top >= staticRect.bottom) { adaptiveTable.classList.add('stacked'); } else { adaptiveTable.classList.remove('stacked'); } } // Function to request a reflow and check layout function checkLayout() { requestAnimationFrame(function() { adjustTableLayout(); }); } // Initial adjustment checkLayout(); // Adjust on window resize window.addEventListener('resize', checkLayout); // Adjust on content changes document.addEventListener('DOMContentLoaded', checkLayout); /* DIALOGUE MALARKEY */ document.addEventListener("DOMContentLoaded", function() { document.querySelectorAll('.dialogue').forEach(dialogue => { const character = dialogue.querySelector('.character'); const text = dialogue.querySelector('.text'); const characterWidth = character.offsetWidth; text.style.marginLeft = `${characterWidth + 30}px`; }); });