MediaWiki:Chorke/Common.js
Jump to navigation
Jump to search
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* Syntaxhighlight Copy Button */
mw.loader.using('jquery').done(function () {
$('.mw-highlight pre').each(function () {
const pre = $(this);
const btn = $('<button>')
.text('Copy')
.addClass('copy-button')
.css({
position: 'absolute',
'font-size': '12px',
'z-index': 1,
right: '6px',
top: '6px'
});
const wrapper = $('<div>')
.css({
position: 'relative'
});
pre.wrap(wrapper).before(btn);
btn.on('click', function () {
const code = pre.text().replace(/\u00a0/g, ' ');
navigator.clipboard.writeText(code).then(function () {
btn.text('Copied!');
setTimeout(() => btn.text('Copy'), 1000);
});
});
});
});
/* MediaWiki Collapsible Table */
mw.loader.using('jquery.makeCollapsible', function () {
$('.mw-collapsible').each(function () {
var $toggle = $(this).find('.mw-collapsible-toggle'),
collapsedClass = 'mw-collapsible-toggle-collapsed',
expandedClass = 'mw-collapsible-toggle-expanded';
if ($toggle.length) {
if (!$toggle.hasClass(expandedClass) && !$toggle.hasClass(collapsedClass)) {
$toggle.addClass(expandedClass);
}
$toggle.on('click', function () {
var $this = $(this);
if ($this.hasClass(expandedClass)) {
$this.removeClass(expandedClass).addClass(collapsedClass);
} else {
$this.removeClass(collapsedClass).addClass(expandedClass);
}
});
}
});
});