Difference between revisions of "MediaWiki:Common.js"

From Ephemeral Film Wiki
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', {
        $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        'sections': {
            'sections': {
            'jrtools': {
                'jrtools': {
                //'type': 'booklet', // Can be 'booklet' or 'toolbar'
                    //'type': 'booklet', // Can be 'booklet' or 'toolbar'
                'type': 'toolbar',
                    'type': 'toolbar',
                'label': 'JR Tools'
                    'label': 'JR Tools'
                // or 'labelMsg': 'section-jrtools-label' for a localized label
                    // or 'labelMsg': 'section-jrtools-label' for a localized label
                }
             }
             }
         }
         } );
    } );
        $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
    $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
            'section': 'jrtools',
        'section': 'jrtools',
            'groups': {
        'groups': {
                'inserts': {
            'inserts': {
                    'label': 'Inserts' // or use labelMsg for a localized label, see above
                'label': 'Inserts' // or use labelMsg for a localized label, see above
                }
             }
             }
         }
         } );
    } );
        // strike butt
    // strike butt
        $('#wpTextbox1').wikiEditor('addToToolbar', {
    $('#wpTextbox1').wikiEditor('addToToolbar', {
            section: 'jrtools',
        section: 'jrtools',
            group: 'inserts',
        group: 'inserts',
            tools: {
        tools: {
                "strikethrough": {
            "strikethrough": {
                    label: 'Strike',
                label: 'Strike',
                    oouiIcon: 'strikethrough',
                oouiIcon: 'strikethrough',
                    type: 'button',
                type: 'button',
                    action: {
                action: {
                        type: 'encapsulate',
                    type: 'encapsulate',
                        options: {
                    options: {
                            pre: "<s>",
                        pre: "<s>",
                            post: "</s>"
                        post: "</s>"
                        }
                     }
                     }
                 }
                 }
             }
             }
         }
         });
    });
        // dropdown
    // dropdown
        $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
    $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
            section: 'jrtools',
        section: 'jrtools',
            group: 'inserts',
        group: 'inserts',
            groups: {
        groups: {
                list: {
            list: {
                    tools: {
                tools: {
                        templates: {
                    templates: {
                            label: 'Templates',
                        label: 'Templates',
                            type: 'select',
                        type: 'select',
                            list: {
                        list: {
                                'Ping-button': {
                            'Ping-button': {
                                    label: '{{Ping}}',
                                label: '{{Ping}}',
                                    action: {
                                action: {
                                        type: 'encapsulate',
                                    type: 'encapsulate',
                                        options: {
                                    options: {
                                            pre: '{{Ping|',
                                        pre: '{{Ping|',
                                            post: '}}'
                                        post: '}}'
                                        }
                                     }
                                     }
                                 }
                                 },
                            },
                                'Clear-button': {
                            'Clear-button': {
                                    label: 'Clear',
                                label: 'Clear',
                                    action: {
                                action: {
                                        type: 'encapsulate',
                                    type: 'encapsulate',
                                        options: {
                                    options: {
                                            pre: '{{Clear}}'
                                        pre: '{{Clear}}'
                                        }
                                     }
                                     }
                                 }
                                 },
                            },
                                'Done-button': {
                            'Done-button': {
                                    label: 'Done',
                                label: 'Done',
                                    action: {
                                action: {
                                        type: 'encapsulate',
                                    type: 'encapsulate',
                                        options: {
                                    options: {
                                            pre: '{{Done}}'
                                        pre: '{{Done}}'
                                        }
                                     }
                                     }
                                 }
                                 }
Line 86: Line 87:
                 }
                 }
             }
             }
         }
         } );
    } );
    /*
/*
    *
*
    * fa booklet
* 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', {
     $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
         'section': 'fontawesome',
         'sections': {
        'pages': {
             'fontawesome': {
             'Example': {
                 'type': 'booklet', // Can be 'booklet' or 'toolbar'
                 'layout': 'table',
                 //'type': 'toolbar',
                'label': 'Examples',
                 'label': 'Icons'
                 'headings': [
                // or 'labelMsg': 'section-jrtools-label' for a localized label
                    { html: '<span style="font-size:0.5em;">Name</span>' }, // 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', {
        $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        'section': 'fontawesome',
            'section': 'fontawesome',
        'pages': {
            'pages': {
            'fafilm': {
                'Example': {
                'layout': 'characters',
                    'layout': 'table',
                'label': 'Films Icons',
                    'label': 'Examples',
                //A string is interpreted as a character or string to insert at the cursor position.
                    'headings': [
                //An array with 2 strings will use the first string as the label, and the second string as the string to be inserted.
                        { html: '<span style="font-size:0.6em;">Input</span>' }, // or use textMsg for localization, see also above
                //An object containing action and label properties will perform the action (used to split text to insert before and after the selection).
                        { html: '<span style="font-size:0.6em;">Output</span>' }
                'characters': [  
                    ],
                    '{{#fas:film}}','{{#far:file-video}}','{{#fas:file-video}}','{{#fas:video}}',
                     'rows': [
                     '{{#fas:tv}}','{{#fas:upload}}','{{#fas:glasses}}','{{#fas:play}}',
                        {
                    '{{#fas:stopwatch}}','{{#fas:eye}}',
                            'swatch': { html: '<div style="width:10px;height:10px;background-color:red;">' },
                    {
                            'swatch': { html: '<div style="width:10px;height:10px;background-color:red;">' }
                        'action': {  
                        },
                            type: 'encapsulate',
                        {
                             options: {
                            'swatch': { html: '<div style="width:10px;height:10px;background-color:red;">' },
                                pre: '{{Clear}}'
                             'swatch': { html: '<div style="width:10px;height:10px;background-color:red;">' }
                            }
                         },
                         },
                         'label':'clear'
                         {
                     }
                            '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', {
    $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
            'section': 'fontawesome',
        'section': 'fontawesome',
            'pages': {
        'pages': {
                'fafilm': {
            'fabrand': {
                    'layout': 'characters',
                'layout': 'characters',
                    'label': 'Films Icons',
                'label': 'Brand Icons',
                    //A string is interpreted as a character or string to insert at the cursor position.
                'characters': [  
                    //An array with 2 strings will use the first string as the label, and the second string as the string to be inserted.
                    '{{#fab:github}}', '{{#fab:soundcloud}}', '{{#fab:patreon}}', '{{#fab:markdown}}',
                    //An object containing action and label properties will perform the action (used to split text to insert before and after the selection).
                    '{{#fab:twitch}}', '{{#fab:twitter}}', '{{#fab:wikipedia-w}}', '{{#fab:vimeo}}',  
                    'characters': [  
                    '{{#fab:youtube}}', '{{#fab:youtube-square}}', '{{#fab:creative-commons}}',  
                        '{{#fas:film}}','{{#far:file-video}}','{{#fas:file-video}}','{{#fas:video}}',
                    '{{#fab:creative-commons-nd}}', '{{#fab:creative-commons-zero}}'
                        '{{#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': {
    /* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */
                'fabrand': {
    if ( [ 'edit', 'submit' ].indexOf( mw.config.get( 'wgAction' ) ) !== -1 ) {
                    'layout': 'characters',
        mw.loader.using( 'user.options' ).then( function () {
                    'label': 'Brand Icons',
            // This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]])
                    'characters': [  
            if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {
                        '{{#fab:github}}', '{{#fab:soundcloud}}', '{{#fab:patreon}}', '{{#fab:markdown}}',
                $.when(
                        '{{#fab:twitch}}', '{{#fab:twitter}}', '{{#fab:wikipedia-w}}', '{{#fab:vimeo}}',
                    mw.loader.using( 'ext.wikiEditor' ), $.ready
                        '{{#fab:youtube}}', '{{#fab:youtube-square}}', '{{#fab:creative-commons}}',
                 ).then( customizeToolbar );
                        '{{#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 );
                }
            } );
        }