MediaWiki:Common.js: Difference between revisions

From Electrical Installation Guide
(correction - to make it work in MW1.35)
 
m (1 revision imported: corrections - as tested in PPR-EN - prepare it to work with MW1.35)
 

Latest revision as of 12:51, 6 June 2022

/* Any JavaScript here will be loaded for all users on every page load. */

/* customize wiki editor toolbar */
var customizeToolbar = function () {
        /* Your code goes here */
        $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
          'sections': {
            'snippets': {
              'type': 'booklet',
              'label': 'Useful Snippets',
              'pages': {
                'section-tocs-figref': {
                  'label': 'TOCs and FigRef',
                  'layout': 'characters',
                  'characters': [
                    '__TOC__',
                    '__NOTOC__',
                    '{{Section-TOC}}',
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          'pre': '{{FigRef|',
                          'peri': '<figref>',
                          'post': '}}'
                        }
                      },
                      'label': '{{FigRef|xx}}'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          'pre': '{{FigureRef|',
                          'peri': '<figref>',
                          'post': '}}'
                        }
                      },
                      'label': '{{FigureRef|xx}}'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          'pre': '{{FigRef|<ref1>|<ref2>|<ref3>}}',
                          'peri': '',
                        }
                      },
                      'label': '{{FigRef|xx|xx|xx}}'
                    },
                  ]
                },
                'section-highlights': {
                  'label': 'Callouts (highlights)',
                  'layout': 'characters',
                  'characters': [
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          pre: '{{Highlightbox|text=\n',
                          peri: 'Text of the highlighbox',
                          post: '\n}}'
                        }
                      },
                      'label': '{{Highlightbox...}}'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          pre: '{{Highlightbox-specific|text=\n',
                          peri: 'Text of the highlighbox',
                          post: '\n}}'
                        }
                      },
                      'label': '{{Highlightbox-specific...}}'
                    },
                  ]
                },
                'section-images': {
                  'label': 'Images',
                  'layout': 'characters',
                  'characters': [
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          'pre': '{{FigImage|DB421243|svg|A14|title=figure-title}}',
                          'peri': '',
                        }
                      },
                      'label': '{{FigImage...}}'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          'pre': '{{FigImage|DB421243|svg|A14|title=figure-title|notes=\nnote<br>\nanother note}}',
                          'peri': '',
                        }
                      },
                      'label': '{{FigImage...|notes}}'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          'pre': '{{FigImage|missing-image|jpg|{{red|Zxx}}|{{red|image missing or not available yet. Title to be defined}}}}',
                          'peri': '',
                        }
                      },
                      'label': 'Missing image'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          'pre': '{{Gallery|A14|gallery_title|widths|perrow\n|DB431234.svg|[a]|img_title\n|DB431235.svg|[b]|img_title}}',
                          'peri': '',
                        }
                      },
                      'label': '{{Gallery...}}'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          'pre': '[[File:',
                          'peri': '',
                          'post': ']]'
                        }
                      },
                      'label': '[[File:]]'
                    }
                  ]
                },
                'section-tables': {
                  'label': 'Tables',
                  'layout': 'characters',
                  'characters': [
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          'pre': '{{tb-start | id=<table-ID> | num=<figure-number> | title=<figure-title> | cols=<table-standard-max-width> }}',
                          'peri': '',
                        }
                      },
                      'label': 'Table title {{tb-start|...}}'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          'pre': '{{tb-start | id=<table-ID> | num=<figure-number> | title=<figure-title> | cols=2 }}',
                          'peri': '',
                        }
                      },
                      'label': 'Table title {{tb-start|...|cols=2}}'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          'pre': '{{tb-start | id=<table-ID> | num=<figure-number> | title=<figure-title> | cols=3 }}',
                          'peri': '',
                        }
                      },
                      'label': 'Table title {{tb-start|...|cols=3}}'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          'pre': '{{tb-start | id=<table-ID> | num=<figure-number> | title=<figure-title> | cols=4 }}',
                          'peri': '',
                        }
                      },
                      'label': 'Table title {{tb-start|...|cols=4}}'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          'pre': '{{tb-start | id=<table-ID> | num=<figure-number> | title=<figure-title> | cols=5 }}',
                          'peri': '',
                        }
                      },
                      'label': 'Table title {{tb-start|...|cols=5}}'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          'pre': '{{tn|',
                          'peri': 'A',
                          'post': '}}'
                        }
                      },
                      'label': 'Table note call {{tn|A}}'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          'pre': '{{tb-notes\n|A=<text of ref note A>\n|txn1=purely textual note 1}}',
                          'peri': '',
                        }
                      },
                      'label': 'Table notes {{tb-notes|...}}'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          'pre': '| {{tb-HC1}} | ',
                          'peri': '<cell content>',
                        }
                      },
                      'label': 'Table cell - highlight 1'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          'pre': '| {{tb-HC2}} | ',
                          'peri': '<cell content>',
                        }
                      },
                      'label': 'Table cell - highlight 2'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          'pre': '[[File:',
                          'peri': '',
                          'post': ']]'
                        }
                      },
                      'label': '[[File:]]'
                    }
                  ]
                },
                'section-math': {
                  'label': 'Math and symbols',
                  'layout': 'characters',
                  'characters': [
                    '≤',
                    '≥',
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          pre: '[[File:star_symbol.svg]]',
                          peri: '',
                        }
                      },
                      'label': 'star'
                    },
                    'Δ',
                    'Ω',
                    '√',
                    '√2',
                    '√3',
                    'Σ',
                    '•',
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          pre: '<math>',
                          peri: 'math formula description',
                          post: '</math>'
                        }
                      },
                      'label': '<math>...</math>'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          pre: '\\cdot',
                          peri: '',
                        }
                      },
                      'label': '\\cdot => •'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          pre: '\\times',
                          peri: '',
                        }
                      },
                      'label': '\\times => x'
                    },
                  ]
                },
                'section-footnotes-others': {
                  'label': 'Footnotes & others',
                  'layout': 'characters',
                  'characters': [
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          pre: '{{fn|',
                          peri: '<number (1, 2 ...)>',
                          post: '}}'
                        }
                      },
                      'label': 'footnote call {{fn|<number>}}'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          pre: '{{footnotes}}\n<references>\n{{fn-detail|1|',
                          peri: '<text of footnote>',
                          post: '}}\n</references>'
                        }
                      },
                      'label': 'footnote details'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          pre: '{{Related-guides-intro}}',
                          peri: '',
                        }
                      },
                      'label': '{{Related-guides-intro}}'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          pre: '{{Related-guides-intro}}\n{{RelatedGuide\n|image=HP-Highlight-model 200x270.jpg\n|title=Title (max +-40 chars)\n|text=Description text can be upto 250 - 300 chars.<br>Use "br" to add line breaks in this description text\n|btn-text=Button text\n|link=Main Page\n}}\n',
                          peri: '',
                        }
                      },
                      'label': '{{Related-guides-intro}}{{RelatedGuide|...}}'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          pre: '#REDIRECT [[',
                          peri: '<destination page>',
                          post: ']]}}'
                        }
                      },
                      'label': '#REDIRECT'
                    },
                  ]
                },
                'section-localspecific': {
                  'label': 'Local specific',
                  'layout': 'characters',
                  'characters': [
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          pre: '{{Local-specific|text=',
                          peri: '<local specific text>',
                          post: '}}'
                        }
                      },
                      'label': '{{Local-specific|text=}}'
                    },
                    '{{Local-specific|start}}',
                    '{{Local-specific|end}}',
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          pre: '{{Highlightbox-specific|text=\n',
                          peri: '<Text of the highlighbox (specific)>',
                          post: '\n}}'
                        }
                      },
                      'label': '{{Highlightbox-specific...}}'
                    },
                    {
                      'action': {
                        'type': 'encapsulate',
                        'options': {
                          pre: '| {{Local-specific}} | ',
                          peri: '<local specific cell content>',
                          post: '\n}}'
                        }
                      },
                      'label': 'Local specific table cell'
                    },
                  ]
                },
              }
            }
          }
        } );
};

/* 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 );
                }
        } );
}