MediaWiki:Common.js: Difference between revisions

From Elanthipedia
Jump to navigation Jump to search
No edit summary
 
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);}
        }
    );
});