MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
SIMU-COREY (talk | contribs) No edit summary |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
// Select all text inside of the element(s) calling this. |
|||
/* Any JavaScript here will be loaded for all users on every page load. */ |
|||
jQuery.fn.selectText = function(){ |
|||
var doc = document; |
|||
var element = this[0]; |
|||
//console.log(this, element); |
|||
if (doc.body.createTextRange) { |
|||
var range = document.body.createTextRange(); |
|||
range.moveToElementText(element); |
|||
range.select(); |
|||
} else if (window.getSelection) { |
|||
var selection = window.getSelection(); |
|||
var range = document.createRange(); |
|||
range.selectNodeContents(element); |
|||
selection.removeAllRanges(); |
|||
selection.addRange(range); |
|||
} |
|||
}; |
|||
// Add a Select All link before any pre tags on (script) pages or pre tags with a select class. |
|||
/** Extra toolbar options ****************************************************** |
|||
$(function () { |
|||
* |
|||
$("pre").each(function() { |
|||
* Description: UNDOCUMENTED |
|||
var pre = this; |
|||
* Maintainers: [[User:MarkS]]?, [[User:Voice of All]], [[User:R. Koot]] |
|||
var wgTitle = mw.config.get('wgTitle'); |
|||
*/ |
|||
if ($(pre).hasClass("select") || wgTitle.includes("(script)")) |
|||
{ |
|||
//This is a modified copy of a script by User:MarkS for extra features added by User:Voice of All. |
|||
var link = $("<a href='#'>(Select All)</a>").on("click", function(event) { |
|||
// This is based on the original code on Wikipedia:Tools/Editing tools |
|||
$(pre).selectText(); |
|||
// To disable this script, add <code>mwCustomEditButtons = [];<code> to [[Special:Mypage/monobook.js]] |
|||
event.preventDefault(); |
|||
}); |
|||
if (mwCustomEditButtons) { |
|||
link.insertBefore(this);} |
|||
mwCustomEditButtons[mwCustomEditButtons.length] = { |
|||
} |
|||
"imageFile": "http://upload.wikimedia.org/wikipedia/en/c/c8/Button_redirect.png", |
|||
); |
|||
"speedTip": "Redirect", |
|||
}); |
|||
"tagOpen": "#REDIRECT [[", |
|||
"tagClose": "]]", |
|||
"sampleText": "Insert text"}; |
|||
mwCustomEditButtons[mwCustomEditButtons.length] = { |
|||
"imageFile": "http://upload.wikimedia.org/wikipedia/en/c/c9/Button_strike.png", |
|||
"speedTip": "Strike", |
|||
"tagOpen": "<s>", |
|||
"tagClose": "</s>", |
|||
"sampleText": "Strike-through text"}; |
|||
mwCustomEditButtons[mwCustomEditButtons.length] = { |
|||
"imageFile": "http://upload.wikimedia.org/wikipedia/en/1/13/Button_enter.png", |
|||
"speedTip": "Line break", |
|||
"tagOpen": "<br />", |
|||
"tagClose": "", |
|||
"sampleText": ""}; |
|||
mwCustomEditButtons[mwCustomEditButtons.length] = { |
|||
"imageFile": "http://upload.wikimedia.org/wikipedia/en/8/80/Button_upper_letter.png", |
|||
"speedTip": "Superscript", |
|||
"tagOpen": "<sup>", |
|||
"tagClose": "</sup>", |
|||
"sampleText": "Superscript text"}; |
|||
mwCustomEditButtons[mwCustomEditButtons.length] = { |
|||
"imageFile": "http://upload.wikimedia.org/wikipedia/en/7/70/Button_lower_letter.png", |
|||
"speedTip": "Subscript", |
|||
"tagOpen": "<sub>", |
|||
"tagClose": "</sub>", |
|||
"sampleText": "Subscript text"}; |
|||
mwCustomEditButtons[mwCustomEditButtons.length] = { |
|||
"imageFile": "http://upload.wikimedia.org/wikipedia/en/5/58/Button_small.png", |
|||
"speedTip": "Small", |
|||
"tagOpen": "<small>", |
|||
"tagClose": "</small>", |
|||
"sampleText": "Small Text"}; |
|||
mwCustomEditButtons[mwCustomEditButtons.length] = { |
|||
"imageFile": "http://upload.wikimedia.org/wikipedia/en/3/34/Button_hide_comment.png", |
|||
"speedTip": "Insert hidden Comment", |
|||
"tagOpen": "<!-- ", |
|||
"tagClose": " -->", |
|||
"sampleText": "Comment"}; |
|||
mwCustomEditButtons[mwCustomEditButtons.length] = { |
|||
"imageFile": "http://upload.wikimedia.org/wikipedia/en/1/12/Button_gallery.png", |
|||
"speedTip": "Insert a picture gallery", |
|||
"tagOpen": "\n<gallery>\n", |
|||
"tagClose": "\n</gallery>", |
|||
"sampleText": "Image:Example.jpg|Caption1\nImage:Example.jpg|Caption2"}; |
|||
mwCustomEditButtons[mwCustomEditButtons.length] = { |
|||
"imageFile": "http://upload.wikimedia.org/wikipedia/en/f/fd/Button_blockquote.png", |
|||
"speedTip": "Insert block of quoted text", |
|||
"tagOpen": "<blockquote>\n", |
|||
"tagClose": "\n</blockquote>", |
|||
"sampleText": "Block quote"}; |
|||
mwCustomEditButtons[mwCustomEditButtons.length] = { |
|||
"imageFile": "http://upload.wikimedia.org/wikipedia/en/6/60/Button_insert_table.png", |
|||
"speedTip": "Insert a table", |
|||
"tagOpen": '{| class="wikitable"\n|-\n', |
|||
"tagClose": "\n|}", |
|||
"sampleText": "! header 1\n! header 2\n! header 3\n|-\n| row 1, cell 1\n| row 1, cell 2\n| row 1, cell 3\n|-\n| row 2, cell 1\n| row 2, cell 2\n| row 2, cell 3"}; |
|||
} |
|||
/**/ |
Latest revision as of 11:10, 2 January 2024
// Select all text inside of the element(s) calling this.
jQuery.fn.selectText = function(){
var doc = document;
var element = this[0];
//console.log(this, element);
if (doc.body.createTextRange) {
var range = document.body.createTextRange();
range.moveToElementText(element);
range.select();
} else if (window.getSelection) {
var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(element);
selection.removeAllRanges();
selection.addRange(range);
}
};
// Add a Select All link before any pre tags on (script) pages or pre tags with a select class.
$(function () {
$("pre").each(function() {
var pre = this;
var wgTitle = mw.config.get('wgTitle');
if ($(pre).hasClass("select") || wgTitle.includes("(script)"))
{
var link = $("<a href='#'>(Select All)</a>").on("click", function(event) {
$(pre).selectText();
event.preventDefault();
});
link.insertBefore(this);}
}
);
});