/**
* 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.
*/
/*jslint browser: true, vars: true, plusplus:true */
/*globals mw, $, importStylesheet, importScript*/
**/
/**
/** MainPageTransform ************************************************
* Tampilkan tombol "Sunting deskripsi" di [[Wikipedia:Warung Kopi (Bantuan)]] untuk autoconfirmed
*
* Secara baku, tombol tersebut disembunyikan lewat [[MediaWiki:Common.css]]
* Deskripsi: Menghilangkan judul [[Halaman Utama]] dan mengganti nama tab.
*
* Pemelihara: -
* Pemelihara: Pengguna:Kenrick95
*/
*/
var mpTitle = "Halaman Utama";
function hideEditDescription() {
var isMainPage = (mw.config.get('wgIsMainPage') === true);
if (mw.config.get('wgPageName') === "Wikipedia:Warung_Kopi_(Bantuan)"
var isDiff = (document.location.search && (
&& documentmw.locationconfig.searchget('wgUserGroups').indexOf("diff=autoconfirmed") !==> -1) ||{
var styleTag = $('<style>.flow-ui-boardDescriptionWidget-editButton { visibility: visible !important; }</style>');
document.location.search.indexOf("oldid=") !== -1 ||
$('html > head').append(styleTag);
document.location.search.indexOf("action=history") !== -1
}
));
function mainPageTransform() {
var mpContentEl = document.getElementById("bodyContent"),
mpBrowseEl = document.getElementById("EnWpMpBrowse"),
mpContainEl = document.getElementById("EnWpMpBrowseContainer"),
mpMarginEl = document.getElementById("EnWpMpMargin"),
mpEl = document.getElementById("EnWpMainPage"),
mpMinWidth = 700;
if (!mpContentEl || !mpBrowseEl || !mpContainEl || !mpMarginEl || !mpEl) {
return;
}
if (mpContentEl.offsetWidth < mpMinWidth) {
mpContainEl.insertBefore(mpBrowseEl, mpContainEl.firstChild);
mpBrowseEl.className = "EnWpMpBrowseBottom";
mpMarginEl.style.marginRight = 0;
} else if (mpContentEl.offsetWidth > mpMinWidth) {
mpEl.insertBefore(mpBrowseEl, mpEl.firstChild);
mpBrowseEl.className = "EnWpMpBrowseRight";
mpMarginEl.style.marginRight = "13.8em";
}
}
if (isMainPage && !isDiff && (mw.config.get('wgCanonicalNamespace') !== 'Special')) {
mw.util.addCSS('#content, #content div.thumb, #p-cactions li a, #p-cactions li a:hover, #p-cactions li.selected a { background: #fff!important; }');
$(mainPageTransform);
if (window.addEventListener) {
window.addEventListener("resize", mainPageTransform, false);
} else if (window.attachEvent) {
window.attachEvent("onresize", mainPageTransform);
}
}
mw.hook('wikipage.content').add(hideEditDescription);
/** Sembunyikan tombol daftar ************************************************
* Pemelihara: Pengguna:Kenrick95
*/
function hide_signuphideSignup() {
if (($(".idwp-signup-button").length > 0) && (mw.config.get('wgUserName') !== null)) {
$(".idwp-signup-button").hide();
}
}
mw.hook('wikipage.content').add(hideSignup);
$(hide_signup);
/** Lowcase Title *******************************************************
*
* Deskripsi: Membuat judul halaman dengan huruf pertama kecil
* Lihat [[Templat:Judul]].
* Pemelihara: Admin
*/
function pTitle() {
if (document.getElementById("title-override")) {
var pTitleText = document.getElementById("pTitle").innerHTML;
document.getElementsByTagName("h1")[0].innerHTML = pTitleText;
}
}
if (mw.config.get("wgaction") !== "edit" || mw.config.get("wgaction") !== "submit") {
mw.util.addCSS('#title-override {display: none; speak: none;}');
$(document).ready(pTitle);
}
/** LinkFA & LinkGA *******************************************************
*
* Deskripsi: Menambahkan ikon bintang untuk interwiki ke artikel yang
* merupakan artikel pilihan di wiki tujuan
* Lihat [[Templat:LinkFA]].
* Menambahkan ikon artikel bagus untuk interwiki ke artikel yang
* merupakan artikel bagus di wiki tujuan
* Lihat [[Templat:LinkGA]].
* Pemelihara: Admin
*/
function LinkFA() {
var i, className;
if (document.getElementById('p-lang')) {
var InterwikiLinks = document.getElementById('p-lang').getElementsByTagName('li');
for (i = 0; i < InterwikiLinks.length; i++) {
className = InterwikiLinks[i].className.match(/interwiki-[\-\w]+/);
if (document.getElementById(className + '-fa')
&& InterwikiLinks[i].className.indexOf('badge-featuredarticle') === -1) {
InterwikiLinks[i].className += ' FA';
InterwikiLinks[i].title = 'Ini adalah artikel pilihan dalam bahasa lain.';
} else if (document.getElementById(className + '-ga')
&& InterwikiLinks[i].className.indexOf('badge-goodarticle') === -1) {
InterwikiLinks[i].className += ' GA';
InterwikiLinks[i].title = 'Ini adalah artikel bagus dalam bahasa lain.';
}
}
}
}
mw.hook('wikipage.content').add(LinkFA);
/** InterProject *******************************************************
* Pemelihara: Admin
*/
mw.util.addCSS('#interProyek {display: none; speak: none;}');
function iProject() {
if (document.getElementById("interProyek")) {
mw.loader.using('mediawiki.util').done(function () {
mw.util.addCSS('#interProyek {display: none; speak: none;}');
});
var iProjectText = '<div id="p-ipj"><h3>Proyek lain<\/h3><div class="body">' + $("#interProyek").html() + '</div></div>';
$("#mw-panel").append(iProjectText);
/**
* @source [[:en:MediaWiki:Common.js]], 2019-07-26, updated by Kenrick95
* Collapsible tables *********************************************************
* Collapsible tables; reimplemented with mw-collapsibe
*
* Styling is also in place to avoid FOUC
* Description: Allows tables to be collapsed, showing only the header. See
*
* [[Wikipedia:NavFrame]].
* Allows tables to be collapsed, showing only the header. See [[Help:Collapsing]].
* Maintainers: [[User:R. Koot]]
* @version 3.0.0 (2018-05-20)
* @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-collapsibleTables.js
* @author [[User:R. Koot]]
* @author [[User:Krinkle]]
* @author [[User:TheDJ]]
* @deprecated Since MediaWiki 1.20: Use class="mw-collapsible" instead which
* is supported in MediaWiki core. Shimmable since MediaWiki 1.32
*/
function makeCollapsibleMwCollapsible( $content ) {
var $tables = $content
.find( 'table.collapsible:not(.mw-collapsible)' )
.addClass( 'mw-collapsible' );
$.each( $tables, function( index, table ) {
var autoCollapse = 2;
// mw.log.warn( 'This page is using the deprecated class collapsible. Please replace it with mw-collapsible.');
var collapseCaption = 'sembunyikan';
if( $( table ).hasClass( 'collapsed') ) {
var expandCaption = 'tampilkan';
$( table ).addClass( 'mw-collapsed' );
window.collapseTable = function (tableIndex) {
// mw.log.warn( 'This page is using the deprecated class collapsed. Please replace it with mw-collapsed.');
var collapseButton = document.getElementById('collapseButton' + tableIndex);
}
var collapseTable = document.getElementById('collapsibleTable' + tableIndex);
} );
if( $tables.length > 0 ) {
mw.loader.using( 'jquery.makeCollapsible' ).then( function() {
$tables.makeCollapsible();
} );
}
}
mw.hook( 'wikipage.content' ).add( makeCollapsibleMwCollapsible );
/**
if (!collapseTable || !collapseButton) {
* @source [[:en:MediaWiki:Common.js]], 2019-07-26, updated by Kenrick95
return false;
* Add support to mw-collapsible for autocollapse, innercollapse and outercollapse
}
*
* Maintainers: TheDJ
var collapseRows = collapseTable.rows, i;
*/
function mwCollapsibleSetup( $collapsibleContent ) {
if (collapseButton.firstChild.data === collapseCaption) {
var $element,
for (i = 1; i < collapseRows.length; i++) {
$toggle,
collapseRows[i].style.display = 'none';
autoCollapseThreshold = 2;
}
$.each( $collapsibleContent, function (index, element) {
collapseButton.firstChild.data = expandCaption;
$element = $( element );
} else {
if ( $element.hasClass( 'collapsible' ) ) {
for (i = 1; i < collapseRows.length; i++) {
$element.find('tr:first > th:first').prepend( $element.find('tr:first > * > .mw-collapsible-toggle'));
collapseRows[i].style.display = collapseRows[0].style.display;
}
}
if ( $collapsibleContent.length >= autoCollapseThreshold && $element.hasClass( 'autocollapse' ) ) {
collapseButton.firstChild.data = collapseCaption;
$element.data( 'mw-collapsible' ).collapse();
}
} else if ( $element.hasClass( 'innercollapse' ) ) {
};
if ( $element.parents( '.outercollapse' ).length > 0 ) {
$element.data( 'mw-collapsible' ).collapse();
function createCollapseButtons() {
}
var tableIndex = 0,
}
NavigationBoxes = {},
// because of colored backgrounds, style the link in the text color
Tables = document.getElementsByTagName('table'),
// to ensure accessible contrast
i, HeaderRow, Header, Button, ButtonLink, ButtonText;
$toggle = $element.find( '.mw-collapsible-toggle' );
if ( $toggle.length ) {
function handleButtonLink(index, e) {
// Make the toggle inherit text color
window.collapseTable(index);
if( $toggle.parent()[0].style.color ) {
e.preventDefault();
$toggle.css( 'color', 'inherit' );
}
$toggle.find( '.mw-collapsible-text' ).css( 'color', 'inherit' );
}
for (i = 0; i < Tables.length; i++) {
}
if ($(Tables[i]).hasClass('collapsible')) {
} );
/* only add button and increment count if there is a header row to work with */
HeaderRow = Tables[i].getElementsByTagName('tr')[0];
if (!HeaderRow) { continue; }
Header = HeaderRow.getElementsByTagName('th')[0];
if (!Header) { continue; }
NavigationBoxes[tableIndex] = Tables[i];
Tables[i].setAttribute('id', 'collapsibleTable' + tableIndex);
Button = document.createElement('span');
ButtonLink = document.createElement('a');
ButtonText = document.createTextNode(collapseCaption);
Button.className = 'collapseButton'; /* Styles are declared in Common.css */
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute('id', 'collapseButton' + tableIndex);
ButtonLink.setAttribute('href', '#');
$(ButtonLink).on('click', $.proxy(handleButtonLink, ButtonLink, tableIndex));
ButtonLink.appendChild(ButtonText);
Button.appendChild(document.createTextNode('['));
Button.appendChild(ButtonLink);
Button.appendChild(document.createTextNode(']'));
Header.insertBefore(Button, Header.firstChild);
tableIndex++;
}
}
var element;
for (i = 0; i < tableIndex; i++) {
if ($(NavigationBoxes[i]).hasClass('collapsed') || (tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass('autocollapse'))) {
window.collapseTable(i);
} else if ($(NavigationBoxes[i]).hasClass('innercollapse')) {
element = NavigationBoxes[i];
while ((element = element.parentNode)) {
if ($(element).hasClass('outercollapse')) {
window.collapseTable(i);
break;
}
}
}
}
}
mw.hook( 'wikipage.collapsibleContent' ).add( mwCollapsibleSetup );
$(createCollapseButtons);
/**
* Maintainers: UNMAINTAINED
*/
var collapseCaption = 'sembunyikan';
var expandCaption = 'tampilkan';
/* set up the words in your language */
var NavigationBarHidenavigationBarHide = '[' + collapseCaption + ']';
var NavigationBarShownavigationBarShow = '[' + expandCaption + ']';
/**
/* if shown now */
if (NavToggle.firstChild.data === NavigationBarHidenavigationBarHide) {
for (NavChild = NavFrame.firstChild; NavChild !== null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass('NavContent') || $(NavChild).hasClass('NavPic')) {
}
}
NavToggle.firstChild.data = NavigationBarShownavigationBarShow;
/* if hidden now */
} else if (NavToggle.firstChild.data === NavigationBarShownavigationBarShow) {
for (NavChild = NavFrame.firstChild; NavChild !== null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass('NavContent') || $(NavChild).hasClass('NavPic')) {
}
}
NavToggle.firstChild.data = NavigationBarHidenavigationBarHide;
}
event.preventDefault();
};
/**
* @source [[:en:MediaWiki:Common.js]], 2019-07-26, updated by Kenrick95
* Adds show/hide-button to navigation bars.
*
* @param {jQuery} $content
*/
function createNavigationBarToggleButton( $content ) {
var i, j, navChild, navToggle, navToggleText, isCollapsed,
indexNavigationBar = 0;
// Iterate over all < div >-elements
var $divs = $content.find( 'div.NavFrame:not(.mw-collapsible)' );
$divs.each( function ( i, navFrame ) {
indexNavigationBar++;
navToggle = document.createElement( 'a' );
navToggle.className = 'NavToggle';
navToggle.setAttribute( 'id', 'NavToggle' + indexNavigationBar );
navToggle.setAttribute( 'href', '#' );
$( navToggle ).on( 'click', $.proxy( toggleNavigationBar, null, indexNavigationBar ) );
isCollapsed = $( navFrame ).hasClass( 'collapsed' );
/* adds show/hide-button to navigation bars */
/**
function createNavigationBarToggleButton() {
* Check if any children are already hidden. This loop is here for backwards compatibility:
var indexNavigationBar = 0, NavFrame, NavChild, i, j, NavToggle, isCollapsed, NavToggleText;
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
/* iterate over all < div >-elements */
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
var divs = document.getElementsByTagName('div');
* the content visible without JavaScript support), the new recommended way is to add the class
for (i = 0; (NavFrame = divs[i]); i++) {
* "collapsed" to the NavFrame itself, just like with collapsible tables.
/* if found a navigation bar */
*/
if ($(NavFrame).hasClass('NavFrame')) {
for ( navChild = navFrame.firstChild; navChild !== null && !isCollapsed; navChild = navChild.nextSibling ) {
if ( $( navChild ).hasClass( 'NavPic' ) || $( navChild ).hasClass( 'NavContent' ) ) {
if ( navChild.style.display === 'none' ) {
isCollapsed = true;
}
}
}
if ( isCollapsed ) {
for ( navChild = navFrame.firstChild; navChild !== null; navChild = navChild.nextSibling ) {
if ( $( navChild ).hasClass( 'NavPic' ) || $( navChild ).hasClass( 'NavContent' ) ) {
navChild.style.display = 'none';
}
}
}
navToggleText = document.createTextNode( isCollapsed ? navigationBarShow : navigationBarHide );
navToggle.appendChild( navToggleText );
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
indexNavigationBar++;
for ( j = 0; j < navFrame.childNodes.length; j++ ) {
NavToggle = document.createElement('a');
if ( $( navFrame.childNodes[j] ).hasClass( 'NavHead' ) ) {
NavToggle.className = 'NavToggle';
navToggle.style.color = navFrame.childNodes[j].style.color;
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
navFrame.childNodes[j].appendChild( navToggle );
NavToggle.setAttribute('href', '#');
}
$(NavToggle).on('click', $.proxy(window.toggleNavigationBar, window, indexNavigationBar));
}
navFrame.setAttribute( 'id', 'NavFrame' + indexNavigationBar );
isCollapsed = $(NavFrame).hasClass('collapsed');
} );
/**
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (NavChild = NavFrame.firstChild; NavChild !== null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass('NavPic') || $(NavChild).hasClass('NavContent')) {
if (NavChild.style.display === 'none') {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (NavChild = NavFrame.firstChild; NavChild !== null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass('NavPic') || $(NavChild).hasClass('NavContent')) {
NavChild.style.display = 'none';
}
}
}
NavToggleText = document.createTextNode(isCollapsed ? NavigationBarShow : NavigationBarHide);
NavToggle.appendChild(NavToggleText);
/* Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) */
for (j = 0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass('NavHead')) {
NavToggle.style.color = NavFrame.childNodes[j].style.color;
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$mw.hook( 'wikipage.content' ).add( createNavigationBarToggleButton );
/** Stripe *******************************************************
*
* Deskripsi: Membuat tabel berwarna latar berselang-seling
* Lihat [[Bantuan:Tabel]]
* Pemelihara: Admin
*/
function stripe() {
// This function will add stripes to all tables that have the "wikitable-striped" class attribute.
var tables = document.getElementsByTagName("table"), a, table, tbodies, b, even, trs, c;
for (a = 0; a !== tables.length; a++) {
table = tables[a];
if (!table) { return; } // If there are no tables, abort.
if (table.getAttribute("class") === "tabelcantik") {
tbodies = table.getElementsByTagName("tbody");
for (b = 0; b < tbodies.length; b++) {
even = true; // We start with an even stripe.
trs = tbodies[b].getElementsByTagName("tr");
for (c = 0; c < trs.length; c++) {
if (even) {
trs[c].className += "even";
} else {
trs[c].className += "odd";
}
even = !even;
}
}
} else if (table.getAttribute("class") === "tabelcantikcyan") {
tbodies = table.getElementsByTagName("tbody");
for (b = 0; b < tbodies.length; b++) {
even = true; // We start with an even stripe.
trs = tbodies[b].getElementsByTagName("tr");
for (c = 0; c < trs.length; c++) {
if (even) {
trs[c].className += "evencyan";
} else {
trs[c].className += "oddcyan";
}
even = !even;
}
}
} else if (table.getAttribute("class") === "tabelcantikmerah") {
tbodies = table.getElementsByTagName("tbody");
for (b = 0; b < tbodies.length; b++) {
even = true; // We start with an even stripe.
trs = tbodies[b].getElementsByTagName("tr");
for (c = 0; c < trs.length; c++) {
if (even) {
trs[c].className += "evenmerah";
} else {
trs[c].className += "oddmerah";
}
even = !even;
}
}
}
}
}
// Perform the striping.
$(stripe);
/** Portlet tambahan *******************************************************
*
* Deskripsi: Menambah tombol/portlet tambahan di halaman-halaman wiki
*
* Pemelihara: [[Pengguna:Kenrick95]]
*/
function addPL(PLplace, PLlink, PLtext, PLid, PLtitle) {
var PLtempplace = PLplace;
var PLinside = '<li id="' + PLid + '" title="' + PLtitle + '">'
+ '<a href="' + PLlink + '"> ' + PLtext + '</a>'
+ '</li>';
$(PLtempplace).append(PLinside);
}
/** Portlet tambahan/Jumlah suntingan *******************************************************
+ 'project=' + mw.config.get('wgServerName')
+ '&user=' + mw.config.get('wgRelevantUserName');
addPL('#p-tb .body ul', sLink, sText, 't-editcount', 'Jumlah suntingan pengguna');
mw.loader.using('mediawiki.util').done(function () {
}
mw.util.addPortletLink(
}
'p-tb',
$(addEditcountPortlet);
sLink,
/** Portlet tambahan/Sunting bagian 0 *******************************************************
sText,
*
't-editcount',
* Deskripsi: Menambah tombol/portlet tambahan berupa tombol menyunting bagian 0 halaman
'Jumlah suntingan pengguna'
* Letak: di dalam drop-down menu di antara kotak pencarian dan
);
* tombol pantau halaman
});
*
* Pemelihara: [[Pengguna:Kenrick95]]
*/
function addEdittopPortletLink() {
if (mw.config.get('wgCanonicalNamespace') === 'Special'
|| document.getElementById("wikiPreview")
|| document.getElementById("histlegend")
|| document.getElementById("difference")
|| document.getElementById("watchdetails")) { return; }
if (document.getElementById("ca-edit")) {
// var sElm = document.getElementById("ca-addsection") ? 'ca-addsection' : 'ca-edit';
var sText = '↑';
var sLink = mw.config.get('wgScriptPath') + "/index.php?title=" + mw.config.get('wgPageName')
+ "&action=edit§ion=0";
addPL('#p-cactions .menu ul', sLink, sText, 'ca-edittop', 'Suntingan bagian atas halaman ini');
}
}
mw.hook( 'wikipage.content' ).add( addEditcountPortlet );
$(addEdittopPortletLink);
/** Notice di [[Wikipedia:Bak pasir]] dan [[Pembicaraan Wikipedia:Bak pasir]] *******
function sandboxNotice() {
var notice = document.createElement('div');
document.getElementById('bodyContent').insertBefore(notice, document.getElementById('jump-to-navcontentSub').nextSibling);
$.get(
'//wiki-indonesia.club/w/index.php?title=Templat:Bakpasir&action=render',
function talkpageNotice() {
var notice = document.createElement('div');
document.getElementById('bodyContent').insertBefore(notice,var jumpToNav = document.getElementById('jump-to-nav').nextSibling);
if ( !jumpToNav ) return;
document.getElementById('bodyContent').insertBefore(
notice,
jumpToNav.nextSibling
);
$.get(
'//wiki-indonesia.club/w/index.php?title=Templat:Talkheader/core&action=render',
return;
}
if ( $.inArray( 'Orang hidup', cats ) !== -1 || $.inArray( 'Semua orang hidup', cats ) !== -1 ) {
addEditIntro( 'Template:BLP_editintro' );
}
/**
* @source [[:en:MediaWiki:Common.js]], 2019-07-26, updated by Kenrick95
* WikiMiniAtlas is a popup click and drag world map.
* See [[meta:WikiMiniAtlas]] for more information.
*
* Maintainers: [[w:User:Dschwen]]
* Description: WikiMiniAtlas is a popup click and drag world map.
* This script causes all of our coordinate links to display the WikiMiniAtlas popup button.
* The script itself is located on meta because it is used by many projects.
* See [[Meta:WikiMiniAtlas]] for more information.
* Note - use of this service is recommended to be repalced with mw:Help:Extension:Kartographer
*/
( function () {
mw.loader.load( '//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript' );
var require_wikiminiatlas = false;
var coord_filter = /geohack/;
/** Skrip tambahan *******************************************************
$( function () {
* Deskripsi: Skrip tambahan untuk kelas .hlist di common.css
$( 'a.external.text' ).each( function( key, link ) {
* Pemelihara: [[User:Edokter]]
if ( link.href && coord_filter.exec( link.href ) ) {
*/
require_wikiminiatlas = true;
// break from loop
if ($.client.profile().name === 'msie') {
return false;
/* remove interpunct from last list items in IE 8 */
}
if ($.client.profile().versionBase === '8') {
} );
$('.hlist').find('dd:last-child, dt:last-child, li:last-child')
if ( $( 'div.kmldata' ).length ) {
.addClass('nopunct');
require_wikiminiatlas = true;
}
}
if ( require_wikiminiatlas ) {
mw.loader.load( '//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript' );
}
} );
} )();
/**
* @rev 6
*/
mw.loader.using('mediawiki.util').done(function () {
var extraCSS = mw.util.getParamValue('withCSS'),
var extraJSextraCSS = mw.util.getParamValue('withJSwithCSS');,
extraJS = mw.util.getParamValue('withJS');
if (extraCSS) {
if (extraCSS) { if (extraCSS.match(/^MediaWiki:[^&<>=%#]*\.css$/)) {
importStylesheet(extraCSS);
} else {
mw.notify('Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withCSS value' });
}
}
if (extraJS) {
if (extraJS.match(/^MediaWiki:[^&<>=%#]*\.js$/)) {
importScript(extraJS);
} else {
mw.notify('Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withJS value' });
}
}
/**
* Sembunyikan "Belum Diperiksa" untuk non-editor
* @author Kenrick95
*/
function hideFlaggedRevs() {
function hfrDoHide(rights) {
if (rights.indexOf("review") === -1 && $("#mw-fr-revisiontag").text() === "Belum Diperiksa") {
$("#mw-fr-revisiontag").hide()
}
}
var hfrStorageName = "hfrUserRights",
if (extraJS) {
hfrRights = null;
if (extraJS.match(/^MediaWiki:[^&<>=%#]*\.js$/)) {
if (mw.config.get('wgUserName') === null) { // anon
importScript(extraJS);
hfrDoHide([]);
} else {
} else if (localStorage.getItem(hfrStorageName) !== null) {
mw.notify('Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withJS value' });
hfrRights = JSON.parse(localStorage.getItem(hfrStorageName));
}
hfrDoHide(hfrRights);
} else {
mw.loader.using("mediawiki.api", function () {
var api = new mw.Api();
api.get({
action: "query",
list: "users",
format: "json",
usprop: "rights",
ususers: mw.config.get("wgUserName")
})
.done(function (data) {
hfrRights = data.query.users[0].rights;
localStorage.setItem(hfrStorageName, JSON.stringify(hfrRights));
hfrDoHide(hfrRights);
});
});
}
});
$(hideFlaggedRevs);
|