MediaWiki:Common.js
Chú ý: Sau khi lưu trang, có thể bạn sẽ phải xóa bộ nhớ đệm của trình duyệt để xem các thay đổi.
- Firefox / Safari: Nhấn giữ phím Shift trong khi nhấn Tải lại (Reload), hoặc nhấn tổ hợp Ctrl-F5 hay Ctrl-R (⌘R trên Mac)
- Google Chrome: Nhấn tổ hợp Ctrl-Shift-R (⇧⌘R trên Mac)
- Internet Explorer / Edge: Nhấn giữ phím Ctrl trong khi nhấn Làm tươi (Refresh), hoặc nhấn tổ hợp Ctrl-F5
- Opera: Nhấn tổ hợp Ctrl-F5.
/**
* Keep code in MediaWiki:Common.js to a minimum as it is unconditionally
* loaded for all users on every wiki page. If possible create a gadget that is
* enabled by default instead of adding it here (since gadgets are fully.
* optimized ResourceLoader modules with possibility to add dependencies etc.)
*
* Since Common.js isn't a gadget, there is no place to declare its
* dependencies, so we have to lazy load them with mw.loader.using on demand and
* then execute the rest in the callback. In most cases these dependencies will
* be loaded (or loading) already and the callback will not be delayed. In case a
* dependency hasn't arrived yet it'll make sure those are loaded before this.
*/
/* global mw, $, importStylesheet, importScript */
/* jshint strict:false, browser:true */
mw.loader.using( ['mediawiki.util', 'jquery.client'], function () {
/* Begin of mw.loader.using callback */
/*
* rwdImageMaps jQuery plugin v1.4
*
* Allows image maps to be used in a responsive design by recalculating the area coordinates to match the actual image size on load and window.resize
*
* Copyright (c) 2012 Matt Stow
* https://github.com/stowball/jQuery-rwdImageMaps
* http://mattstow.com
* Licensed under the MIT license
*/
;(function(a){a.fn.rwdImageMaps=function(){var d=this,c=parseFloat(a.fn.jquery);var b=function(){d.each(function(){if(typeof(a(this).attr("usemap"))=="undefined"){return}var f=this,e=a(f);a("<img />").on('load',function(){var o,k,i="width",n="height";if(c<1.6){o=f.getAttribute(i),k=f.getAttribute(n)}else{o=e.attr(i),k=e.attr(n)}if(!o||!k){var p=new Image();p.src=e.attr("src");if(!o){o=p.width}if(!k){k=p.height}}var g=e.width()/100,l=e.height()/100,j=e.attr("usemap").replace("#",""),m="coords";a('map[name="'+j+'"]').find("area").each(function(){var s=a(this);if(!s.data(m)){s.data(m,s.attr(m))}var r=s.data(m).split(","),q=new Array(r.length);for(var h=0;h<q.length;++h){if(h%2===0){q[h]=parseInt(((r[h]/o)*100)*g)}else{q[h]=parseInt(((r[h]/k)*100)*l)}}s.attr(m,q.toString())})}).attr("src",e.attr("src"))})};a(window).resize(b).trigger("resize");return this}})(jQuery);
// This method will resize elements that have a class name of "js-proportional-resize" by
// changing the font-size (%) based on a viewing area width of 900px being the baseline,
// i.e. 450px width=font size 50%, 900px width=font size 100%, 1800px width=font size 200%.
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);
});
}
$(document).ready(function(e) {
$('img[usemap]').rwdImageMaps();
proportionalResize();
});
$(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
proportionalResize();
});
$(window).resize(function(e) {
proportionalResize();
});
// 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': 'Địa điểm' // 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 = {
'xem': {
label: 'Địa điểm "Xem"', // 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: '* \{\{xem\n| tên=',
post: ' | tên khác= | trang web= | email=\n| địa chỉ= | vĩ độ= | kinh độ= | chỉ đường=\n| điện thoại= | điện thoại miễn cước= | fax=\n| giờ hoạt động= | giá=\n| sửa cuối=' + CURRENT_LAST_EDIT_DATE + '\n| nội dung=\n}}' // text to be inserted
}
},
'làm': {
label: 'Địa điểm "Làm"', // 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: '* \{\{làm\n| tên=',
post: ' | tên khác= | trang web= | email=\n| địa chỉ= | vĩ độ= | kinh độ= | chỉ đường=\n| điện thoại= | điện thoại miễn cước= | fax=\n| giờ hoạt động= | giá=\n| sửa cuối=' + CURRENT_LAST_EDIT_DATE + '\n| nội dung=\n}}' // text to be inserted
}
},
'mua': {
label: 'Địa điểm "Mua"', // 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: '* \{\{mua\n| tên=',
post: ' | tên khác= | trang web= | email=\n| địa chỉ= | vĩ độ= | kinh độ= | chỉ đường=\n| điện thoại= | điện thoại miễn cước= | fax=\n| giờ hoạt động= | giá=\n| sửa cuối=' + CURRENT_LAST_EDIT_DATE + '\n| nội dung=\n}}' // text to be inserted
}
},
'ăn': {
label: 'Địa điểm "Ăn"', // 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: '* \{\{ăn\n| tên=',
post: ' | tên khác= | trang web= | email=\n| địa chỉ= | vĩ độ= | kinh độ= | chỉ đường=\n| điện thoại= | điện thoại miễn cước= | fax=\n| giờ hoạt động= | giá=\n| sửa cuối=' + CURRENT_LAST_EDIT_DATE + '\n| nội dung=\n}}' // text to be inserted
}
},
'uống': {
label: 'Địa điểm "Uống"', // 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: '* \{\{uống\n| tên=',
post: ' | tên khác= | trang web= | email=\n| địa chỉ= | vĩ độ= | kinh độ= | chỉ đường=\n| điện thoại= | điện thoại miễn cước= | fax=\n| giờ hoạt động= | giá=\n| sửa cuối=' + CURRENT_LAST_EDIT_DATE + '\n| nội dung=\n}}' // text to be inserted
}
},
'ngủ': {
label: 'Địa điểm "Ngủ"', // 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: '* \{\{ngủ\n| tên=',
post: ' | tên khác= | trang web= | email=\n| địa chỉ= | vĩ độ= | kinh độ= | chỉ đường=\n| điện thoại= | điện thoại miễn cước= | fax=\n| nhận phòng= | trả phòng= | giá=\n| sửa cuối=' + CURRENT_LAST_EDIT_DATE + '\n| nội dung=\n}}' // text to be inserted
}
},
'địa điểm': {
label: 'Địa điểm khác', // 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: '* \{\{địa điểm\n| tên=',
post: ' | tên khác= | trang web= | email=\n| địa chỉ= | vĩ độ= | kinh độ= | chỉ đường=\n| điện thoại= | điện thoại miễn cước= | fax=\n| giờ hoạt động= | giá=\n| sửa cuối=' + CURRENT_LAST_EDIT_DATE + '\n| nội dung=\n}}' // text to be inserted
}
}
};
$.each(LISTING_TOOLBAR_ITEMS, function(index, element) {
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
'section': 'main',
'group': 'listings',
'tools': {
'Địa điểm': {
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 );
} );
}
} );
}
/**
* Import more specific scripts if necessary
*/
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Watchlist' ) {
/* watchlist scripts */
importScript( 'MediaWiki:Common.js/watchlist.js' );
}
$(".geo, #GPX-track").parents("#content").find("#mw-indicator-GPX").css("display","inline");
/* End of mw.loader.using callback */
} );
/* DO NOT ADD CODE BELOW THIS LINE */