MediaWiki:Common.js

Матеріал з Вікімандрів

Увага: Після публікування слід очистити кеш браузера, щоб побачити зміни.

  • Firefox / Safari: тримайте Shift, коли натискаєте Оновити, або натисніть Ctrl-F5 чи Ctrl-Shift-R (⌘-R на Apple Mac)
  • Google Chrome: натисніть Ctrl-Shift-R (⌘-Shift-R на Apple Mac)
  • Internet Explorer / Edge: тримайте Ctrl, коли натискаєте Оновити, або натисніть Ctrl-F5
  • Opera: натисніть Ctrl-F5
// сортування українських букв
mw.config.set( 'tableSorterCollation', {'ґ':'гя', 'і':'ия', 'ї':'ияя', 'є':'ея'} );

/**
 * Скрипти для списку спостереження.
 */
if( $( '#watchlist-message' ).length > 0 ) {
	importScript( 'MediaWiki:Common.js/watchlist.js' );
}
//Завантаження зображень
function uploadPage() {
     $('#wpUploadDescription').val('{{Опис зображення\n|опис =\n|автор =\n|джерело =\n|інше =\n\}\}\n\n{{nofop\}\}');
     $('#wpUploadDescription').focus();
}
//</nowiki>
if (mw.config.get('wgCanonicalNamespace') == 'Special' && mw.config.get('wgCanonicalSpecialPageName') == 'Upload') {
    $(document).ready(function(){uploadPage();});
    $('#mw-upload-permitted').html("<p>Дозволені типи файлів: png, jpg, jpeg, svg</p>");
}

// Disabled due to loading external resource. -- Reedy 07/08/2014
//Embedded maps
/*$(document).ready(function() {
    var exhtml = 'http://maps.wikivoyage-ev.org/w/poimap2.php?';
    var map = $("#mapdiv");
    var exsrc = exhtml+'lat='+map.data("lat")+'&lon='+map.data("long")
        +'&zoom='+map.data("zoom")+'&layer=O&lang='+wgContentLanguage+'&name='+wgPageName;

    var ifstr = '<iframe src="'+exsrc+'" width="'+map.data("width")+'" height="'+map.data("height")
        +'"></iframe><div class="thumbcaption"><a target="_blank" href='+exsrc+'>Відкрити в новому вікні</a></div>';
    map.html(ifstr);
});*/

// Базується на скрипті з англійської версії Wikivoyage
// Add listing buttons in edit toolbar
var customizeToolbar = function() {
$( function() {
             if ( typeof $.fn.wikiEditor != 'undefined' ) {
                   $( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', {
                          'section': 'main',
                          'group': 'insert',
                          'tool': 'reference'
                   });
             }
        });
//Вікіфікатор у верхній панелі. Оригінал: http://ru.wikipedia.org/wiki/MediaWiki:Editpage.js
if(mw.config.get('wgAction') == 'edit' || mw.config.get('wgAction') == 'submit')
	importScript('MediaWiki:Wikificator.js');
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
	'section': 'main',
	'group': 'format',
	'tools': {
	        'Listings': {
	                label: 'Вікіфікатор — стандартизація тексту',
	                type: 'button',
	                icon: '//upload.wikimedia.org/wikipedia/commons/0/06/Wikify-toolbutton.png',
	                action: {
	                        type: 'callback',
	            			execute: function(context){
	                       		Wikify();
	                		}
	                }
	        }
	    }
} );

$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        'section': 'main',
        'groups': {
                'listings': {
                        'label': 'Listings' // 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: '* \{\{see\n| name=',
            post: ' | alt= | url= | email=\n| wikidata= | wikipedia=\n| address= | lat= | long= | directions=\n| phone= | tollfree= | fax=\n| hours= | price=\n| lastedit=' + CURRENT_LAST_EDIT_DATE + '\n| content=\n}}' // text to be inserted
        }
    },
    'do': {
        label: 'Чим зайнятись', // or use labelMsg for a localized label, see above
        icon: '//upload.wikimedia.org/wikipedia/commons/thumb/3/30/Pictograms-nps-bicycle_trail-2.svg/22px-Pictograms-nps-bicycle_trail-2.svg.png',
        options: {
            pre: '* \{\{do\n| name=',
            post: ' | alt= | url= | email=\n| wikidata= | wikipedia=\n| address= | lat= | long= | directions=\n| phone= | tollfree= | fax=\n| hours= | price=\n| lastedit=' + CURRENT_LAST_EDIT_DATE + '\n| content=\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: '* \{\{buy\n| name=',
            post: ' | alt= | url= | email=\n| wikidata= | wikipedia=\n| address= | lat= | long= | directions=\n| phone= | tollfree= | fax=\n| hours= | price=\n| lastedit=' + CURRENT_LAST_EDIT_DATE + '\n| content=\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: '* \{\{eat\n| name=',
            post: ' | alt= | url= | email=\n| wikidata= | wikipedia=\n| address= | lat= | long= | directions=\n| phone= | tollfree= | fax=\n| hours= | price=\n| lastedit=' + CURRENT_LAST_EDIT_DATE + '\n| content=\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: '* \{\{drink\n| name=',
            post: ' | alt= | url= | email=\n| wikidata= | wikipedia=\n| address= | lat= | long= | directions=\n| phone= | tollfree= | fax=\n| hours= | price=\n| lastedit=' + CURRENT_LAST_EDIT_DATE + '\n| content=\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: '* \{\{sleep\n| name=',
            post: ' | alt= | url= | email=\n| wikidata= | wikipedia=\n| address= | lat= | long= | directions=\n| phone= | tollfree= | fax=\n| checkin= | checkout= | price=\n| lastedit=' + CURRENT_LAST_EDIT_DATE + '\n| content=\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\n| name=',
            post: ' | alt= | url= | email=\n| wikidata= | wikipedia=\n| address= | lat= | long= | directions=\n| phone= | tollfree= | fax=\n| hours= | price=\n| lastedit=' + CURRENT_LAST_EDIT_DATE + '\n| content=\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 );
                        } );
                }
        } );
}

//<nowiki>
//Покращений Edittools
importScript('MediaWiki:EditTools.js')

var dot = "·п";
if (!window.spOptions)
window.spOptions = {
subsets : [
//<nowiki>

{caption:'Вікіфікація', symbols:[{cap:"Вікіфікатор", func:function(){Wikify();}}, dot, ["[[Категорія:$+]]", "[[Категорія:]]"], dot, ["[[$+]]", "[[]]"], dot, ["[[$+|]]", "[[|]]"], dot, ["{{$+}}", "{{}}"]]},

{caption:'Лістинги', symbols:[["{{listing |map = <!-- номер -->|type = see|lat = <!-- широта -->|long = <!-- довгота -->|name = <!-- назва -->|alt = <!-- інша назва -->|address = <!-- адреса -->|directions = <!-- опис, транспорт, тощо -->|url = <!-- інтернет -->|facebook = <!-- Facebook -->|vkontakte = <!-- ВКонтакті -->|phone = <!-- телефон -->|fax = <!-- факс -->|email = <!-- ел. пошта -->|skype = <!-- скайп -->|hours = <!-- графік -->|price = <!-- ціни -->|description = <!-- опис -->}}", "Що відвідати"], "·п", ["{{listing  |map = <!-- номер -->|type = do|lat = <!-- широта -->|long = <!-- довгота -->|name = <!-- назва -->|alt = <!-- інша назва -->|address = <!-- адреса -->|directions = <!-- опис, транспорт, тощо -->|url = <!-- інтернет -->|facebook = <!-- Facebook -->|vkontakte = <!-- ВКонтакті -->|phone = <!-- телефон -->|fax = <!-- факс -->|email = <!-- ел. пошта -->|skype = <!-- скайп -->|hours = <!-- графік -->|price = <!-- ціни -->|description = <!-- опис -->}}", "Чим зайнятись"], "·п", ["{{listing |map = <!-- номер -->|type = buy|lat = <!-- широта -->|long = <!-- довгота -->|name = <!-- назва -->|alt = <!-- інша назва -->|address = <!-- адреса -->|directions = <!-- опис, транспорт, тощо -->|url = <!-- інтернет -->|facebook = <!-- Facebook -->|vkontakte = <!-- ВКонтакті -->|phone = <!-- телефон -->|fax = <!-- факс -->|email = <!-- ел. пошта -->|skype = <!-- скайп -->|hours = <!-- графік -->|price = <!-- ціни -->|description = <!-- опис -->}}", "Покупки"], "·п", ["{{listing |map = <!-- номер -->|type = eat|lat = <!-- широта -->|long = <!-- довгота -->|name = <!-- назва -->|alt = <!-- інша назва -->|address = <!-- адреса -->|directions = <!-- опис, транспорт, тощо -->|url = <!-- інтернет -->|facebook = <!-- Facebook -->|vkontakte = <!-- ВКонтакті -->|phone = <!-- телефон -->|fax = <!-- факс -->|email = <!-- ел. пошта -->|skype = <!-- скайп -->|hours = <!-- графік -->|price = <!-- ціни -->|description = <!-- опис -->}}", "Де поїсти"], "·п", ["{{listing |map = <!-- номер -->|type = sleep|lat = <!-- широта -->|long = <!-- довгота -->|name = <!-- назва -->|alt = <!-- інша назва -->|address = <!-- адреса -->|directions = <!-- опис, транспорт, тощо -->|url = <!-- інтернет -->|facebook = <!-- Facebook -->|vkontakte = <!-- ВКонтакті -->|phone = <!-- телефон -->|fax = <!-- факс -->|email = <!-- ел. пошта -->|skype = <!-- скайп -->|hours = <!-- графік -->|price = <!-- ціни -->|description = <!-- опис -->}}", "Де зупинитись"], "·п", ["{{listing |map = <!-- номер -->|type = drink|lat = <!-- широта -->|long = <!-- довгота -->|name = <!-- назва -->|alt = <!-- інша назва -->|address = <!-- адреса -->|directions = <!-- опис, транспорт, тощо -->|url = <!-- інтернет -->|facebook = <!-- Facebook -->|vkontakte = <!-- ВКонтакті -->|phone = <!-- телефон -->|fax = <!-- факс -->|email = <!-- ел. пошта -->|skype = <!-- скайп -->|hours = <!-- графік -->|price = <!-- ціни -->|description = <!-- опис -->}}", "Де розважитись"], dot, dot, {cap:"Документація по шаблонах", func: function () { window.open("http://uk.wikivoyage.com/wiki/Template:Listing"); }} ]},

{caption:'Обговорення', symbols:[["~~~~","~~~~ (підпис)"], "·п", ["{{subst:Welcome}} --~~~~", "{{subst:Welcome}}"], "·п", ["{{subst:Joinus}} --~~~~", "{{subst:Joinus}}"]]},

{caption:'Символи', symbols:[['\'', '\' (апостроф)'], dot, ['«$+»', '«»'], '·п — ·п', ['|', '| (модуль)'], '·п ² ·п • ·п ° ·п °C ·п ~ ·п &nbsp; ·п ', ["₴","₴ (гривня)"], "·п", ["€","€ (євро)"], "·п", ["£","£ (фунт)"], "·п", ["¥","¥ (єна)"], "·п  Ґ ·п ґ"]},

{caption:'Вікімандри', symbols:[["{{delete|Причина}}", "{{delete}} (на вилучення)"], "·п", ["{{В|$+}}", "Шаблон:В"], "·п", ["[[wikipedia:uk:$+]]","Стаття у Вікіпедії"], "·п", ["[[commons:Category:$+]]","Стаття у Вікісховищі"]]},

{caption:'Вікітеги', symbols:[["<noinclude>$+<//noinclude>", "<noinclude></noinclude>"], "·п", ["<includeonly>$+<//includeonly>", "<includeonly></includeonly>"], "·п", ["<nowiki>$+<//nowiki>", "<nowiki></nowiki>"], "·п", ["<big>$+<//big>", "<big></big>"], "·п", ["<small>$+<//small>", "<small></small>"], "·п", ["<code>$+<//code>", "<code></code>"], "·п", "<br//>"]}

//</nowiki>
],

sections :
[/* bg color, default subset*/
{tabColor: '#97DEFF', defaultSubset: 0},
{tabColor: '#EEEE55', defaultSubset: 1},
]}

//</nowiki>

/* Hide normal page title and move location of geo map symbol when a page has a pagebanner */
$(".topbanner").closest(".mw-body").children(".firstHeading").hide();
$(".topbanner").closest("#mw-content-text").children("#geoCoord").css({top:0});

function proportionalResize() {
	var EXPECTED_PAGE_WIDTH = 900.00;
	$('.js-proportonal-resize').each(function() {
		var fontSizeCss= (($(this).width() / EXPECTED_PAGE_WIDTH) * 100.00) + '%';
		$(this).css("font-size", fontSizeCss);
		$(this).find('img').css('height', '100%').css('width', '100%');
	});
}

$(document).ready(function(e) {
    proportionalResize();
});
$(window).on('load', function() {
	// the main page carousel text boxes aren't being initialized to the
	// correct size on IE, so add a second resize post-DOM-ready
	$('#mainbanner').show();
	proportionalResize();
});
$(window).resize(function(e) {
    proportionalResize();
});