MediaWiki:Common.js

From Ephemeral Film Wiki
Revision as of 16:14, 30 October 2021 by JJR (talk | contribs)
Jump to navigation Jump to search

Note: After saving, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */
var customizeToolbar = function () {
    $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        'sections': {
            'ephemeral': {
                'type': 'booklet', // Can be 'booklet' or 'toolbar'
                'label': 'Ephemeral'
                // or 'labelMsg': 'section-ephemeral-label' for a localized label
            }
        }
    } );
    
    $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        'section': 'ephemeral',
        'groups': {
            'basic': {
                'label': 'Basic' // or use labelMsg for a localized label, see above
            }
        }
    } );
    $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        'section': 'ephemeral',
        'pages': {
            'colors': {
                'layout': 'table',
                'label': 'Colors',
                'headings': [
                    { text: 'Name' }, // or use textMsg for localization, see also above
                    { text: 'Temperature' },
                    { text: 'Swatch' }
                ],
                'rows': [
                    {
                        'name': { text: 'Red' },
                        'temp': { text: 'Warm' },
                        'swatch': { html: '<div style="width:10px;height:10px;background-color:red;">' }
                    },
                    {
                        'name': { text: 'Blue' },
                        'temp': { text: 'Cold' },
                        'swatch': { html: '<div style="width:10px;height:10px;background-color:blue;">' }
                    },
                    {
                        'name': { text: 'Silver' },
                        'temp': { text: 'Neutral' },
                        'swatch': { html: '<div style="width:10px;height:10px;background-color:silver;">' }
                    }
                ]
            }
        }
    } );
    $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        'section': 'ephemeral',
        'pages': {
            'buttons': {
                'layout': 'characters',
                'label': 'Buttons',
                'characters': [ ':)', ':))', ':(', '<3', ';)' ]
            }
        }
    } );
    $('#wpTextbox1').wikiEditor('addToToolbar', {
        section: 'ephemeral',
        page: 'buttons',
        //group: 'basic',
        tools: {
            "strikethrough": {
                label: 'Strike',
                oouiIcon: 'strikethrough',
                type: 'button',
                action: {
                    type: 'encapsulate',
                    options: {
                        pre: "<s>",
                        post: "</s>"
                    }
                }
            }
        }
    });
    $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        section: 'main',
        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}}'
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    } );
    };
    
    /* 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 );
            }
        } );
    }