MediaWiki:ListingButtons.js

Материал из Wikivoyage

Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
  • Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
  • Internet Explorer / Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
  • Opera: Нажмите Ctrl+F5.
// Add listing buttons in edit toolbar
var customizeToolbar = function() {
$( function() {
             if ( typeof $.fn.wikiEditor != 'undefined' ) {
                   $( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', {
                          'section': 'main',
                          'group': 'insert',
                          'tool': 'reference'
                   });
             }
        });

$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        'section': 'main',
        'groups': {
                'listings': {
                        'label': 'Объекты' // or use labelMsg for a localized label, see above
                }
        }
} );

function currentLastEditDate() {
    // return the date as "2015-01-15"
    var d = new Date();
    var year = d.getFullYear();
    // Date.getMonth() returns 0-11
    var month = d.getMonth() + 1;
    if (month < 10) month = '0' + month;
    var day = d.getDate();
    if (day < 10) day = '0' + day;
    return year + '-' + month + '-' + day;
}

var CURRENT_LAST_EDIT_DATE = currentLastEditDate();
var LISTING_TOOLBAR_ITEMS = {
    'see': {
        label: 'Достопримечательности', // or use labelMsg for a localized label, see above
        icon: '//upload.wikimedia.org/wikipedia/commons/thumb/b/b7/Italian_traffic_signs_-_icona_museo.svg/22px-Italian_traffic_signs_-_icona_museo.svg.png',
        options: {
            pre: '{{listing|type=see| lat=| long= |wdid=\n| name=',
            post: ' | alt= | image=\n| address= | directions=\n| url= | facebook= | vkontakte=\n| phone= | email= \n| hours= | price=\n| lastedit=' + CURRENT_LAST_EDIT_DATE + '\n| description=\n}}' // text to be inserted
        }
    },
    'do': {
        label: 'Чем заняться', // or use labelMsg for a localized label, see above
        icon: '//upload.wikimedia.org/wikipedia/commons/thumb/5/56/Italian_traffic_signs_-_icona_teatro.svg/22px-Italian_traffic_signs_-_icona_teatro.svg.png',
        options: {
            pre: '{{listing|type=do| lat=| long= |wdid=\n| name=',
            post: ' | alt= | image=\n| address= | directions=\n| url= | facebook= | vkontakte=\n| phone= | email= \n| hours= | price=\n| lastedit=' + CURRENT_LAST_EDIT_DATE + '\n| description=\n}}' // text to be inserted
        }
    },
    'transport': {
        label: 'Транспорт', // or use labelMsg for a localized label, see above
        icon: 'https://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Italian_traffic_signs_-_simbolo_aeroporto_%28figura_II_116%29.svg/22px-Italian_traffic_signs_-_simbolo_aeroporto_%28figura_II_116%29.svg.png',
        options: {
            pre: '{{listing|type=go| lat=| long= |wdid=\n| name=',
            post: ' | alt= | image=\n| address= | directions=\n| url= | facebook= | vkontakte=\n| phone= | email= \n| hours= | price=\n| lastedit=' + CURRENT_LAST_EDIT_DATE + '\n| description=\n}}' // text to be inserted
        }
    },
    'buy': {
        label: 'Покупки', // or use labelMsg for a localized label, see above
        icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a1/Italian_traffic_signs_-_icona_supermercato.svg/22px-Italian_traffic_signs_-_icona_supermercato.svg.png',
        options: {
            pre: '{{listing|type=buy| lat=| long= |wdid=\n| name=',
            post: ' | alt= | image=\n| address= | directions=\n| url= | facebook= | vkontakte=\n| phone= | email= \n| hours= | price=\n| lastedit=' + CURRENT_LAST_EDIT_DATE + '\n| description=\n}}' // text to be inserted
        }
    },
    'eat': {
        label: 'Еда', // or use labelMsg for a localized label, see above
        icon: '//upload.wikimedia.org/wikipedia/commons/thumb/2/2c/Italian_traffic_signs_-_icona_ristorante.svg/22px-Italian_traffic_signs_-_icona_ristorante.svg.png',
        options: {
            pre: '{{listing|type=eat| lat=| long= |wdid=\n| name=',
            post: ' | alt= | image=\n| address= | directions=\n| url= | facebook= | vkontakte=\n| phone= | email= \n| hours= | price=\n| lastedit=' + CURRENT_LAST_EDIT_DATE + '\n| description=\n}}' // text to be inserted
        }
    },
    'drink': {
        label: 'Ночная жизнь', // or use labelMsg for a localized label, see above
        icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a5/Verre_cocktail.svg/22px-Verre_cocktail.svg.png',
        options: {
            pre: '{{listing|type=drink| lat=| long= |wdid=\n| name=',
            post: ' | alt= | image=\n| address= | directions=\n| url= | facebook= | vkontakte=\n| phone= | email= \n| hours= | price=\n| lastedit=' + CURRENT_LAST_EDIT_DATE + '\n| description=\n}}' // text to be inserted
        }
    },
    'sleep': {
        label: 'Ночлег', // or use labelMsg for a localized label, see above
        icon: '//upload.wikimedia.org/wikipedia/commons/thumb/2/25/Pictograms-nps-lodging.svg/22px-Pictograms-nps-lodging.svg.png',
        options: {
            pre: '{{listing|type=sleep| lat=| long= |wdid=\n| name=',
            post: ' | alt= | image=\n| address= | directions=\n| url= | facebook= | vkontakte=\n| phone= | email= \n| price=\n| lastedit=' + CURRENT_LAST_EDIT_DATE + '\n| description=\n}}' // text to be inserted
        }
    },
    'listing': {
        label: 'Другое', // or use labelMsg for a localized label, see above
        icon: '//upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Italian_traffic_signs_-_icona_informazioni.svg/22px-Italian_traffic_signs_-_icona_informazioni.svg.png',
        options: {
            pre: '{{listing|type=other| lat=| long= |wdid=\n| name=',
            post: ' | alt= | image=\n| address= | directions=\n| url= | facebook= | vkontakte=\n| phone= | email= \n| hours= | price=\n| lastedit=' + CURRENT_LAST_EDIT_DATE + '\n| description=\n}}' // text to be inserted
        }
    },
    'listing': {
        label: 'Окрестности', // or use labelMsg for a localized label, see above
        icon: '//upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Pictograms-nps-motor_bike_trail.svg/22px-Pictograms-nps-motor_bike_trail.svg.png',
        options: {
            pre: '{{listing|type=vicinity| lat=| long= |wdid=\n| name=',
            post: ' | alt= | image=\n| address= | directions=\n| url= | facebook= | vkontakte=\n| phone= | email= \n| hours= | price=\n| lastedit=' + CURRENT_LAST_EDIT_DATE + '\n| description=\n}}' // text to be inserted
        }
    }
};

$.each(LISTING_TOOLBAR_ITEMS, function(index, element) {
    $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        'section': 'main',
        'group': 'listings',
        'tools': {
                'Listings': {
                        label: element.label,
                        type: 'button',
                        icon: element.icon,
                        action: {
                                type: 'encapsulate',
                                options: element.options
                        }
                }
        }
    } );
});
};
 
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar . . . */
if ( $.inArray( mw.config.get( 'wgAction' ), ['edit', 'submit'] ) !== -1 ) {
        mw.loader.using( 'user.options', function () {
                if ( mw.user.options.get('usebetatoolbar') ) {
                        mw.loader.using( 'ext.wikiEditor', function () {
                                $(document).ready( customizeToolbar );
                        } );
                }
        } );
}