Difference between revisions of "MediaWiki:Common.js"
Jump to navigation
Jump to search
(Created page with "→Any JavaScript here will be loaded for all users on every page load.: var customizeToolbar = function () { $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'sections':...") |
|||
(11 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
/* 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. */ | ||
mw.loader.using('jquery.textSelection'); // it's loaded by default, but just in case | |||
function replaceGallery() { | |||
var textArea = $('#wpTextbox1'); | |||
var sel = textArea.textSelection('getSelection'); | |||
// manipulate the text in the sel variable | |||
sel = sel.replace(/\]\]/g, ''); // for example. Replaces space with underscore | |||
sel = sel.replace(/\[\[/g, ''); // for example. Replaces space with underscore | |||
sel = sel.replace(/Image:/g, 'File:'); // for example. Replaces space with underscore | |||
sel = "<gallery mode='packed-hover'>\n" + sel + "\n</gallery>"; | |||
// replace the selected text in the textarea with the new text | |||
textArea.textSelection('encapsulateSelection', {pre: sel, replace: true}); | |||
} | |||
var customizeToolbar = function () { | var customizeToolbar = function () { | ||
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { | |||
$('#wpTextbox1').wikiEditor('addToToolbar', { | |||
section: 'main', | |||
group: 'format', | |||
tools: { | |||
"hline": { | |||
label: 'Horizontal line', | |||
type: 'button', | |||
} ); | icon: '//www.cyclechaos.com/images/8/8a/Toolbar_Insert_gallery.png', | ||
action: { | |||
type: 'callback', | |||
execute: function (context) { replaceGallery(); } | |||
} | |||
} | |||
} | |||
}); | |||
}; | }; | ||
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */ | /* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */ | ||
if ( [ 'edit', 'submit' ].indexOf( mw.config.get( 'wgAction' ) ) !== -1 ) { | if (['edit', 'submit'].indexOf(mw.config.get('wgAction')) !== -1) { | ||
mw.loader.using('user.options').then(function () { | |||
// This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]]) | |||
if (mw.user.options.get('usebetatoolbar') == 1) { | |||
$.when( | |||
mw.loader.using('ext.wikiEditor'), $.ready | |||
).then(customizeToolbar); | |||
} | |||
}); | |||
} | } |
Latest revision as of 14:31, 25 May 2019
/* Any JavaScript here will be loaded for all users on every page load. */
mw.loader.using('jquery.textSelection'); // it's loaded by default, but just in case
function replaceGallery() {
var textArea = $('#wpTextbox1');
var sel = textArea.textSelection('getSelection');
// manipulate the text in the sel variable
sel = sel.replace(/\]\]/g, ''); // for example. Replaces space with underscore
sel = sel.replace(/\[\[/g, ''); // for example. Replaces space with underscore
sel = sel.replace(/Image:/g, 'File:'); // for example. Replaces space with underscore
sel = "<gallery mode='packed-hover'>\n" + sel + "\n</gallery>";
// replace the selected text in the textarea with the new text
textArea.textSelection('encapsulateSelection', {pre: sel, replace: true});
}
var customizeToolbar = function () {
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'main',
group: 'format',
tools: {
"hline": {
label: 'Horizontal line',
type: 'button',
icon: '//www.cyclechaos.com/images/8/8a/Toolbar_Insert_gallery.png',
action: {
type: 'callback',
execute: function (context) { replaceGallery(); }
}
}
}
});
};
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */
if (['edit', 'submit'].indexOf(mw.config.get('wgAction')) !== -1) {
mw.loader.using('user.options').then(function () {
// This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]])
if (mw.user.options.get('usebetatoolbar') == 1) {
$.when(
mw.loader.using('ext.wikiEditor'), $.ready
).then(customizeToolbar);
}
});
}