Difference between revisions of "MediaWiki:Common.js"
Jump to navigation
Jump to search
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. */ | ||
var customizeToolbar = function () { | var customizeToolbar = function () { | ||
/* | /* | ||
* | * | ||
* jrtools toolbar | * jrtools toolbar | ||
* | * | ||
*/ | */ | ||
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { | |||
'sections': { | |||
'jrtools': { | |||
//'type': 'booklet', // Can be 'booklet' or 'toolbar' | |||
'type': 'toolbar', | |||
'label': 'JR Tools' | |||
// or 'labelMsg': 'section-jrtools-label' for a localized label | |||
} | |||
} | } | ||
} ); | |||
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { | |||
'section': 'jrtools', | |||
'groups': { | |||
'inserts': { | |||
'label': 'Inserts' // or use labelMsg for a localized label, see above | |||
} | |||
} | } | ||
} ); | |||
// strike butt | |||
$('#wpTextbox1').wikiEditor('addToToolbar', { | |||
section: 'jrtools', | |||
group: 'inserts', | |||
tools: { | |||
"strikethrough": { | |||
label: 'Strike', | |||
oouiIcon: 'strikethrough', | |||
type: 'button', | |||
action: { | |||
type: 'encapsulate', | |||
options: { | |||
pre: "<s>", | |||
post: "</s>" | |||
} | |||
} | } | ||
} | } | ||
} | } | ||
}); | |||
// dropdown | |||
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { | |||
section: 'jrtools', | |||
group: 'inserts', | |||
groups: { | |||
list: { | |||
tools: { | |||
templates: { | |||
label: 'Templates', | |||
type: 'select', | |||
list: { | |||
'Ping-button': { | |||
label: '{{Ping}}', | |||
action: { | |||
type: 'encapsulate', | |||
options: { | |||
pre: '{{Ping|', | |||
post: '}}' | |||
} | |||
} | } | ||
}, | |||
'Clear-button': { | |||
label: 'Clear', | |||
action: { | |||
type: 'encapsulate', | |||
options: { | |||
pre: '{{Clear}}' | |||
} | |||
} | } | ||
}, | |||
'Done-button': { | |||
label: 'Done', | |||
action: { | |||
type: 'encapsulate', | |||
options: { | |||
pre: '{{Done}}' | |||
} | |||
} | } | ||
} | } | ||
Line 86: | Line 87: | ||
} | } | ||
} | } | ||
} ); | |||
/* | |||
/* | * | ||
* | * fa booklet | ||
* fa booklet | * | ||
* | */ | ||
*/ | |||
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { | $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { | ||
' | 'sections': { | ||
'fontawesome': { | |||
' | 'type': 'booklet', // Can be 'booklet' or 'toolbar' | ||
' | //'type': 'toolbar', | ||
'label': 'Icons' | |||
// or 'labelMsg': 'section-jrtools-label' for a localized label | |||
' | |||
} | } | ||
} | } | ||
} ); | } ); | ||
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { | |||
'section': 'fontawesome', | |||
'pages': { | |||
'Example': { | |||
'layout': 'table', | |||
'label': 'Examples', | |||
'headings': [ | |||
{ html: '<span style="font-size:0.6em;">Input</span>' }, // or use textMsg for localization, see also above | |||
{ html: '<span style="font-size:0.6em;">Output</span>' } | |||
], | |||
'rows': [ | |||
'{ | { | ||
'swatch': { html: '<div style="width:10px;height:10px;background-color:red;">' }, | |||
'swatch': { html: '<div style="width:10px;height:10px;background-color:red;">' } | |||
}, | |||
{ | |||
'swatch': { html: '<div style="width:10px;height:10px;background-color:red;">' }, | |||
'swatch': { html: '<div style="width:10px;height:10px;background-color:red;">' } | |||
}, | }, | ||
' | { | ||
'swatch': { html: '<div style="width:10px;height:10px;background-color:red;">' }, | |||
'swatch': { html: '<div style="width:10px;height:10px;background-color:red;">' } | |||
} | |||
] | |||
} | |||
} | } | ||
} ); | |||
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { | |||
'section': 'fontawesome', | |||
'pages': { | |||
'fafilm': { | |||
'layout': 'characters', | |||
'label': 'Films Icons', | |||
//A string is interpreted as a character or string to insert at the cursor position. | |||
//An array with 2 strings will use the first string as the label, and the second string as the string to be inserted. | |||
//An object containing action and label properties will perform the action (used to split text to insert before and after the selection). | |||
'characters': [ | |||
'{{#fas:film}}','{{#far:file-video}}','{{#fas:file-video}}','{{#fas:video}}', | |||
'{{#fas:tv}}','{{#fas:upload}}','{{#fas:glasses}}','{{#fas:play}}', | |||
'{{#fas:stopwatch}}','{{#fas:eye}}', | |||
{ | |||
'action': { | |||
type: 'encapsulate', | |||
options: { | |||
pre: '{{Clear}}' | |||
} | |||
}, | |||
'label':{ text: 'Red' } | |||
} | |||
] | |||
} | |||
} | } | ||
} | } ); | ||
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { | |||
'section': 'fontawesome', | |||
'pages': { | |||
'fabrand': { | |||
'layout': 'characters', | |||
'label': 'Brand Icons', | |||
'characters': [ | |||
'{{#fab:github}}', '{{#fab:soundcloud}}', '{{#fab:patreon}}', '{{#fab:markdown}}', | |||
'{{#fab:twitch}}', '{{#fab:twitter}}', '{{#fab:wikipedia-w}}', '{{#fab:vimeo}}', | |||
'{{#fab:youtube}}', '{{#fab:youtube-square}}', '{{#fab:creative-commons}}', | |||
'{{#fab:creative-commons-nd}}', '{{#fab:creative-commons-zero}}' | |||
] | |||
} | |||
} | } | ||
} ); | } ); | ||
} | }; | ||
/* 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 ); | |||
} | |||
} ); | |||
} |
Revision as of 17:52, 30 October 2021
/* Any JavaScript here will be loaded for all users on every page load. */ var customizeToolbar = function () { /* * * jrtools toolbar * */ $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'sections': { 'jrtools': { //'type': 'booklet', // Can be 'booklet' or 'toolbar' 'type': 'toolbar', 'label': 'JR Tools' // or 'labelMsg': 'section-jrtools-label' for a localized label } } } ); $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'section': 'jrtools', 'groups': { 'inserts': { 'label': 'Inserts' // or use labelMsg for a localized label, see above } } } ); // strike butt $('#wpTextbox1').wikiEditor('addToToolbar', { section: 'jrtools', group: 'inserts', tools: { "strikethrough": { label: 'Strike', oouiIcon: 'strikethrough', type: 'button', action: { type: 'encapsulate', options: { pre: "<s>", post: "</s>" } } } } }); // dropdown $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { section: 'jrtools', group: 'inserts', groups: { list: { tools: { templates: { label: 'Templates', type: 'select', list: { 'Ping-button': { label: '{{Ping}}', action: { type: 'encapsulate', options: { pre: '{{Ping|', post: '}}' } } }, 'Clear-button': { label: 'Clear', action: { type: 'encapsulate', options: { pre: '{{Clear}}' } } }, 'Done-button': { label: 'Done', action: { type: 'encapsulate', options: { pre: '{{Done}}' } } } } } } } } } ); /* * * fa booklet * */ $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'sections': { 'fontawesome': { 'type': 'booklet', // Can be 'booklet' or 'toolbar' //'type': 'toolbar', 'label': 'Icons' // or 'labelMsg': 'section-jrtools-label' for a localized label } } } ); $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'section': 'fontawesome', 'pages': { 'Example': { 'layout': 'table', 'label': 'Examples', 'headings': [ { html: '<span style="font-size:0.6em;">Input</span>' }, // or use textMsg for localization, see also above { html: '<span style="font-size:0.6em;">Output</span>' } ], 'rows': [ { 'swatch': { html: '<div style="width:10px;height:10px;background-color:red;">' }, 'swatch': { html: '<div style="width:10px;height:10px;background-color:red;">' } }, { 'swatch': { html: '<div style="width:10px;height:10px;background-color:red;">' }, 'swatch': { html: '<div style="width:10px;height:10px;background-color:red;">' } }, { 'swatch': { html: '<div style="width:10px;height:10px;background-color:red;">' }, 'swatch': { html: '<div style="width:10px;height:10px;background-color:red;">' } } ] } } } ); $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'section': 'fontawesome', 'pages': { 'fafilm': { 'layout': 'characters', 'label': 'Films Icons', //A string is interpreted as a character or string to insert at the cursor position. //An array with 2 strings will use the first string as the label, and the second string as the string to be inserted. //An object containing action and label properties will perform the action (used to split text to insert before and after the selection). 'characters': [ '{{#fas:film}}','{{#far:file-video}}','{{#fas:file-video}}','{{#fas:video}}', '{{#fas:tv}}','{{#fas:upload}}','{{#fas:glasses}}','{{#fas:play}}', '{{#fas:stopwatch}}','{{#fas:eye}}', { 'action': { type: 'encapsulate', options: { pre: '{{Clear}}' } }, 'label':{ text: 'Red' } } ] } } } ); $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'section': 'fontawesome', 'pages': { 'fabrand': { 'layout': 'characters', 'label': 'Brand Icons', 'characters': [ '{{#fab:github}}', '{{#fab:soundcloud}}', '{{#fab:patreon}}', '{{#fab:markdown}}', '{{#fab:twitch}}', '{{#fab:twitter}}', '{{#fab:wikipedia-w}}', '{{#fab:vimeo}}', '{{#fab:youtube}}', '{{#fab:youtube-square}}', '{{#fab:creative-commons}}', '{{#fab:creative-commons-nd}}', '{{#fab:creative-commons-zero}}' ] } } } ); }; /* 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 ); } } ); }