Difference between revisions of "MediaWiki:Common.js"

From CycleChaos
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', {
 
'sections': {
    $('#wpTextbox1').wikiEditor('addToToolbar', {
'emoticons': {
        section: 'main',
'type': 'toolbar', // Can also be 'booklet'
        group: 'format',
'label': 'Emoticons'
        tools: {
// or 'labelMsg': 'section-emoticons-label' for a localized label
            "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 () {
    mw.loader.using('user.options').then(function () {
// This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]])
        // This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]])
if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {
        if (mw.user.options.get('usebetatoolbar') == 1) {
$.when(
            $.when(
mw.loader.using( 'ext.wikiEditor' ), $.ready
                mw.loader.using('ext.wikiEditor'), $.ready
).then( customizeToolbar );
            ).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);
        }
    });
}