MediaWiki:Gadget-extra-toolbar-buttons-core.js: Difference between revisions

Content deleted Content added
make the table button do something intelligent when text is selected per request on talk
fix
 
(63 intermediate revisions by 15 users not shown)
Line 1:
/*global mw */
//<source lang="JavaScript">
/*jshint strict: false, browser: true, jquery: true */
 
/**
/** Extra toolbar options ******************************************************
* Extra toolbar options
*
*
* Description: UNDOCUMENTED
* Description: Adds extra buttons to the old (non-enhanced) editing toolbar.
* Maintainers: [[User:MarkS]]?, [[User:Voice of All]], [[User:R. Koot]]
*
* Maintainers: [[User:MarkS]], [[User:Voice of All]], [[User:R. Koot]]
*/
 
function addExtraButtons () {
//This is a modified copy of a script by User:MarkS for extra features added by User:Voice of All.
mw.toolbar.addButtons(
// This is based on the original code on Wikipedia:Tools/Editing tools
{
// To disable this script, add <code>mwCustomEditButtons = [];<code> to [[Special:Mypage/monobook.js]]
imageId: 'button-redirect',
 
imageFile: '//upload.wikimedia.org/wikipedia/en/c/c8/Button_redirect.png',
if (mwCustomEditButtons) {
speedTip: 'Redirect',
mwCustomEditButtons[mwCustomEditButtons.length] = {
tagOpen: '#REDIRECT[[',
"imageFile": "http://upload.wikimedia.org/wikipedia/en/c/c8/Button_redirect.png",
tagClose: ']]',
"speedTip": "Redirect",
sampleText: 'Target page name'
"tagOpen": "#REDIRECT [[",
},
"tagClose": "]]",
{
"sampleText": "Insert text"};
imageId: 'button-strike',
 
imageFile: '//upload.wikimedia.org/wikipedia/en/c/c9/Button_strike.png',
mwCustomEditButtons[mwCustomEditButtons.length] = {
speedTip: 'Strike',
"imageFile": "http://upload.wikimedia.org/wikipedia/en/c/c9/Button_strike.png",
tagOpen: '<s>',
"speedTip": "Strike",
"tagOpen" tagClose: "'</s>"',
sampleText: 'Strike-through text'
"tagClose": "</s>",
},
"sampleText": "Strike-through text"};
{
 
imageId: 'button-enter',
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] = {
imageId: 'button-subscript',
"imageFile": "http://upload.wikimedia.org/wikipedia/en/8/80/Button_upper_letter.png",
imageFile: '//upload.wikimedia.org/wikipedia/en/7/70/Button_lower_letter.png',
"speedTip": "Superscript",
speedTip: 'Subscript',
"tagOpen": "<sup>",
tagOpen: '<sub>',
"tagClose": "</sup>",
tagClose: '</sub>',
"sampleText": "Superscript text"};
sampleText: 'Subscript text'
 
},
mwCustomEditButtons[mwCustomEditButtons.length] = {
{
"imageFile": "http://upload.wikimedia.org/wikipedia/en/7/70/Button_lower_letter.png",
imageId: 'button-superscript',
"speedTip": "Subscript",
imageFile: '//upload.wikimedia.org/wikipedia/en/8/80/Button_upper_letter.png',
"tagOpen": "<sub>",
speedTip: 'Superscript',
"tagClose": "</sub>",
tagOpen: '<sup>',
"sampleText": "Subscript text"};
tagClose: '</sup>',
 
sampleText: 'Superscript text'
mwCustomEditButtons[mwCustomEditButtons.length] = {
},
"imageFile": "http://upload.wikimedia.org/wikipedia/en/5/58/Button_small.png",
{
"speedTip": "Small",
"tagOpen" imageId: "<'button-small>"',
imageFile: '//upload.wikimedia.org/wikipedia/en/5/58/Button_small.png',
"tagClose": "</small>",
speedTip: 'Small',
"sampleText": "Small Text"};
tagOpen: '<small>',
 
tagClose: '</small>',
mwCustomEditButtons[mwCustomEditButtons.length] = {
sampleText: 'Small text'
"imageFile": "http://upload.wikimedia.org/wikipedia/en/3/34/Button_hide_comment.png",
},
"speedTip": "Insert hidden Comment",
{
"tagOpen": "<!-- ",
imageId: 'button-hide-comment',
"tagClose": " -->",
imageFile: '//upload.wikimedia.org/wikipedia/en/3/34/Button_hide_comment.png',
"sampleText": "Comment"};
speedTip: 'Insert hidden Comment',
 
tagOpen: '<!-- ',
mwCustomEditButtons[mwCustomEditButtons.length] = {
tagClose: ' -->',
"imageFile": "http://upload.wikimedia.org/wikipedia/en/1/12/Button_gallery.png",
sampleText: 'Comment'
"speedTip": "Insert a picture gallery",
},
"tagOpen": "\n<gallery>\n",
{
"tagClose": "\n</gallery>",
imageId: 'button-gallery',
"sampleText": "Image:Example.jpg|Caption1\nImage:Example.jpg|Caption2"};
imageFile: '//upload.wikimedia.org/wikipedia/en/1/12/Button_gallery.png',
 
speedTip: 'Insert a picture gallery',
mwCustomEditButtons[mwCustomEditButtons.length] = {
tagOpen: '\n<gallery>\n',
"imageFile": "http://upload.wikimedia.org/wikipedia/en/f/fd/Button_blockquote.png",
tagClose: '\n</gallery>',
"speedTip": "Insert block of quoted text",
sampleText: 'File:Example.svg|Caption1\nFile:Example.jpg|Caption2'
"tagOpen": "<blockquote>\n",
},
"tagClose": "\n</blockquote>",
{
"sampleText": "Block quote"};
imageId: 'button-blockquote',
 
imageFile: '//upload.wikimedia.org/wikipedia/en/f/fd/Button_blockquote.png',
mwCustomEditButtons[mwCustomEditButtons.length] = {
speedTip: 'Insert block of quoted text',
"imageFile": "http://upload.wikimedia.org/wikipedia/en/6/60/Button_insert_table.png",
tagOpen: '<blockquote>\n',
"speedTip": "Insert a table",
tagClose: '\n</blockquote>',
"tagOpen": '{| class="wikitable"\n|',
sampleText: 'Block quote'
"tagClose": "\n|}",
},
"sampleText": "-\n! 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"};
{
 
imageId: 'button-insert-table',
mwCustomEditButtons[mwCustomEditButtons.length] = {
" imageFile": "http:'//upload.wikimedia.org/wikipedia/commonsen/76/7960/Button_reflinkButton_insert_table.png"',
" speedTip": "'Insert a reference"table',
" tagOpen": '{| class="<ref>wikitable"\n|',
" tagClose": "</ref>"'\n|}',
sampleText: '-\n! 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'
"sampleText": "Insert footnote text here"};
},
{
imageId: 'button-insert-reflink',
imageFile: '//upload.wikimedia.org/wikipedia/commons/7/79/Button_reflink.png',
speedTip: 'Insert a reference',
tagOpen: '<ref>',
tagClose: '</ref>',
sampleText: 'Insert footnote text here'
}
);
}
 
mw.loader.using( 'user.options', function () {
 
// This can be the string "0" if the user disabled the preference ([[bugzilla:52542#c3]])
//fix edit summary prompt for undo
if ( mw.user.options.get( 'usebetatoolbar' ) != 1 && mw.user.options.get( 'gadget-legacyToolbar' ) == 1 ) {
//this code fixes the fact that the undo function combined with the "no edit summary prompter" causes problems if leaving the
mw.hook("mw.toolbar").add( addExtraButtons );
//edit summary unchanged
}
//this was added by [[User:Deskana]], code by [[User:Tra]]
} );
//see bug 8912
addOnloadHook(function () {
if (document.___location.search.indexOf("undo=") != -1
&& document.getElementsByName('wpAutoSummary')[0]) {
document.getElementsByName('wpAutoSummary')[0].value='1';
}
})
 
/** Edittools javascript loader ************************************************
*
* Description: Pulls in [[MediaWiki:Edittools.js]]. Includes a cache-bypassing
* version number in the URL in order to allow any changes to the edittools to
* be rapidly deployed to users.
*
* Note that, by default, this function does nothing unless the element with
* the ID "editpage-specialchars" (which contains the old edittools code in
* [[MediaWiki:Edittools]], and will be retained as a placeholder in the new
* implementation) has a class named "edittools-version-NNN", where NNN is a
* number. If the class name has "test" before the number, the code will only
* run for users who have set "window.testJsEdittools = true" in their user JS.
* The "test" should be retained in the class name until the new edittools
* implementation is ready and fully tested, and until at least 30 days have
* passed since this loader stub was added (which will be in 27 June 2008).
*
* For compatibility with Alex Smotrov's original implementation, on which this
* code is loosely based (see [[mw:User talk:Alex Smotrov/edittools.js]]), this
* loader can also be disabled by setting "window.noDefaultEdittools = true".
*
* Maintainers: [[User:Ilmari Karonen]]
*/
 
addOnloadHook(function () {
// needs to be deferred until the DOM has fully loaded
var placeholder = document.getElementById("editpage-specialchars");
if (!placeholder || window.noDefaultEdittools) return;
var match = /(?:^| )edittools-version-(\d+)(?: |$)/.exec(placeholder.className);
// set window.testJsEdittools = true to enable testing before full deployment
if (!match && window.testJsEdittools)
match = /(?:^| )edittools-version-(test\d+)(?: |$)/.exec(placeholder.className);
if (!match) return;
var url = wgScript + '?title=MediaWiki:Edittools.js&action=raw&ctype=text/javascript&nocache=' + match[1];
importScriptURI(url);
});
 
//</source>