(2 revisi antara tak ditampilkan.) | |||
Baris 1: | Baris 1: | ||
- | + | mw.loader.using( 'mediawiki.util', function() { | |
- | /* | + | /** |
- | + | JavaScript yang ada di sini akan diterapkan untuk semua kulit. | |
- | + | __TOC__ | |
- | + | == Deklarasi variabel == | |
- | + | ||
- | + | Variabel-variabel yang dipakai secara global */ | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
+ | var ScriptPrefix = '<script type="text/javascript" src="/w/index.php?title='; | ||
+ | var ScriptSuffix = '&action=raw&ctype=text/javascript&dontcountme=s"></script>'; | ||
+ | var LoadInterProject = true; | ||
+ | var LoadLinkFA = true; | ||
+ | var LoadNavFrame = true; | ||
+ | var load_edittools = true; | ||
+ | var LoadExtraPortlet = true; | ||
+ | var LoadStripe = true; | ||
+ | var LoadEditTop = true; | ||
+ | var LoadExtraEditButtons = true; | ||
+ | var load_extratabs = false; | ||
+ | var LoadPageCounter = false; | ||
- | / | + | /** |
- | + | == Variabel saklar per pengguna == | |
- | + | ||
- | + | Ubah [[Istimewa:Mypage/switches.js]] untuk mengatur fitur yang ingin Anda | |
- | + | aktifkan atau matikan */ | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | document.write( ScriptPrefix + 'Pengguna:' + wgUserName + '/switches.js' + ScriptSuffix ); | |
- | /* | + | /** |
+ | == Library functions == | ||
+ | |||
+ | Librari fungsi yang digunakan oleh fungsi-fungsi lain. | ||
+ | ** Untuk sementara di-remark karena menyebabkan fungsi-fungsi lainnya tidak berfungsi di Firefox3 - (borgx 26 Juni 2008) | ||
+ | */ | ||
- | if ( | + | // Fix tampilan untuk IE |
- | { | + | /* |
- | + | if (window.showModalDialog && document.compatMode && document.compatMode == "CSS1Compat") | |
- | + | { | |
- | + | var oldWidth; | |
- | + | var docEl = document.documentElement; | |
- | + | function fixIEScroll() | |
- | + | { | |
- | + | if (!oldWidth || docEl.clientWidth > oldWidth) | |
- | + | doFixIEScroll(); | |
- | + | else | |
- | + | setTimeout(doFixIEScroll, 1); | |
- | + | oldWidth = docEl.clientWidth; | |
- | + | } | |
- | + | function doFixIEScroll() { | |
- | + | docEl.style.overflowX = (docEl.scrollWidth - docEl.clientWidth < 4) ? "hidden" : ""; | |
- | + | } | |
- | + | document.attachEvent("onreadystatechange", fixIEScroll); | |
- | + | attachEvent("onresize", fixIEScroll); | |
- | + | } | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | } | + | |
- | / | + | // addLoadEvent, menambahkan event |
+ | |||
+ | function addLoadEvent(func) | ||
+ | { | ||
+ | if (window.addEventListener) | ||
+ | window.addEventListener("load", func, false); | ||
+ | else if (window.attachEvent) | ||
+ | window.attachEvent("onload", func); | ||
+ | } | ||
+ | */ | ||
+ | /** | ||
+ | == MainPageTransform == | ||
- | + | Menghilangkan judul [[Halaman Utama]] dan mengganti nama tab. */ | |
- | addOnloadHook( | + | var mpTitle = "Halaman Utama"; |
+ | var isMainPage = (document.title.substr(0, mpTitle.length) == mpTitle) | ||
+ | var isDiff = (document.location.search && ( | ||
+ | document.location.search.indexOf("diff=") != -1 || | ||
+ | document.location.search.indexOf("oldid=") != -1 || | ||
+ | document.location.search.indexOf("action=history") != -1 | ||
+ | )); | ||
+ | if ( isMainPage && !isDiff && (wgCanonicalNamespace != 'Special') ) | ||
+ | { | ||
+ | document.write('<style type="text/css"> #siteSub, #contentSub, h1.firstHeading { display: none!important; } #content, #content div.thumb, #p-cactions li a, #p-cactions li a:hover, #p-cactions li.selected a { background: #fff!important; } </style>'); | ||
+ | var mpSmallEnabled; | ||
+ | var mpMinWidth = 700; | ||
+ | function mainPageTransform() | ||
+ | { | ||
+ | var mpContentEl = document.getElementById("bodyContent"); | ||
+ | var mpBrowseEl = document.getElementById("EnWpMpBrowse"); | ||
+ | var mpContainEl = document.getElementById("EnWpMpBrowseContainer"); | ||
+ | var mpMarginEl = document.getElementById("EnWpMpMargin"); | ||
+ | var mpEl = document.getElementById("EnWpMainPage"); | ||
+ | if (!mpContentEl || !mpBrowseEl || !mpContainEl || !mpMarginEl || !mpEl) | ||
+ | return; | ||
+ | if (!mpSmallEnabled && mpContentEl.offsetWidth < mpMinWidth) | ||
+ | { | ||
+ | mpContainEl.insertBefore(mpBrowseEl, mpContainEl.firstChild); | ||
+ | mpBrowseEl.className = "EnWpMpBrowseBottom"; | ||
+ | mpMarginEl.style.marginRight = 0; | ||
+ | mpSmallEnabled = true; | ||
+ | } | ||
+ | else if (mpSmallEnabled && mpContentEl.offsetWidth > mpMinWidth) | ||
+ | { | ||
+ | mpEl.insertBefore(mpBrowseEl, mpEl.firstChild); | ||
+ | mpBrowseEl.className = "EnWpMpBrowseRight"; | ||
+ | mpMarginEl.style.marginRight = "13.8em"; | ||
+ | mpSmallEnabled = false; | ||
+ | } | ||
+ | } | ||
+ | var onloadFuncts = [ mainPageTransform ]; | ||
+ | if (window.addEventListener) | ||
+ | window.addEventListener("resize", mainPageTransform, false); | ||
+ | else if (window.attachEvent) | ||
+ | window.attachEvent("onresize", mainPageTransform); | ||
+ | } | ||
+ | function mainpg() { | ||
+ | if ((isMainPage || /[\/=:]Halaman_Utama/.test(document.location)) && document.getElementById('ca-nstab-main')) { | ||
+ | document.getElementById('ca-nstab-main').firstChild.innerHTML = 'Utama'; | ||
+ | } | ||
+ | } | ||
+ | addOnloadHook(mainpg); | ||
- | /* | + | /** |
+ | == LowcaseTitle == | ||
- | + | Judul dengan [[Template:Judul|huruf pertama kecil]]. */ | |
- | + | if (document.URL.indexOf("=edit") > 0 || document.URL.indexOf("=submit") > 0) {var noJS;} | |
- | + | else { | |
- | + | document.write('<style type="text/css">#title-override {display: none; speak: none;}<\/style>'); | |
- | + | function pTitle() { | |
- | + | if (document.getElementById("title-override")) { | |
- | + | var pTitle = document.getElementById("pTitle").innerHTML; | |
- | + | document.getElementsByTagName("h1")[0].innerHTML = pTitle; | |
- | + | } | |
- | + | } | |
- | + | hookEvent("load", pTitle); | |
- | + | } | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | } | + | |
- | /* | + | /** |
+ | == LinkFA == | ||
- | function | + | Menambahkan bintang di InterWiki |
+ | */ | ||
+ | if (LoadLinkFA == true) { | ||
+ | function LinkFA() | ||
+ | { | ||
+ | if ( document.getElementById( "p-lang" ) ) { | ||
+ | var InterwikiLinks = document.getElementById( "p-lang" ).getElementsByTagName( "li" ); | ||
+ | |||
+ | for ( var i = 0; i < InterwikiLinks.length; i++ ) { | ||
+ | if ( document.getElementById( InterwikiLinks[i].className + "-fa" ) ) { | ||
+ | InterwikiLinks[i].className += " FA" | ||
+ | InterwikiLinks[i].title = "Ini adalah artikel pilihan pada bahasa lain."; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | addOnloadHook( LinkFA ); | ||
+ | } | ||
+ | /** | ||
+ | == Pranala luar pilihan == | ||
- | + | Menandai pranala luar pilihan. Gunakan templat {{tl|extlink-fa}} di depan atau belakang pranala luar. Ini akan memberikan suatu objek "span" kosong yang akan dikenali oleh JavaScript yang akan mengubah style bulletnya. | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | } | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
*/ | */ | ||
+ | function linkExtLinkFA() { | ||
+ | oSpans = document.getElementById( "bodyContent" ).getElementsByTagName( "span" ); | ||
+ | for ( var i = 0; i < oSpans.length; i++ ) { | ||
+ | if ( oSpans[i].className == 'extlink-fa' ) { | ||
+ | var oParent = oSpans[i].parentNode; | ||
+ | if ( oParent.tagName == 'LI' ) { | ||
+ | oParent.className += ' FA'; | ||
+ | oParent.title = 'Pranala pilihan'; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | addOnloadHook( linkExtLinkFA ) | ||
+ | /** | ||
- | + | == InterProject == | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
+ | InterProject, link di menu samping untuk proyek lain. | ||
- | / | + | <nowiki> */ |
- | + | if (LoadInterProject == true) { | |
- | + | document.write('<style type="text/css">#interProyek {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}<\/style>'); | |
- | + | function iProject() { | |
- | */ | + | if (document.getElementById("interProyek")) { |
+ | var iProject = document.getElementById("interProyek").innerHTML; | ||
+ | var interProject = document.createElement("div"); | ||
+ | interProject.style.marginTop = "0.7em"; | ||
+ | interProject.innerHTML = '<h5>Proyek lain<\/h5><div class="pBody">'+iProject+'<\/div>'; | ||
+ | document.getElementById("p-tb").appendChild(interProject); | ||
+ | } | ||
+ | } | ||
+ | addOnloadHook(iProject); | ||
+ | } | ||
+ | /* </nowiki> */ | ||
- | var autoCollapse = 2; | + | /** |
- | var collapseCaption = " | + | == CollapsibleTable ==*/ |
- | var expandCaption = " | + | var autoCollapse = 2; |
+ | var collapseCaption = "sembunyikan"; | ||
+ | var expandCaption = "tampilkan"; | ||
+ | |||
+ | window.hasClass = (function () { | ||
+ | var reCache = {}; | ||
+ | return function (element, className) { | ||
+ | return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className); | ||
+ | }; | ||
+ | })(); | ||
- | + | window.collapseTable = function( tableIndex ){ | |
{ | { | ||
var Button = document.getElementById( "collapseButton" + tableIndex ); | var Button = document.getElementById( "collapseButton" + tableIndex ); | ||
Baris 351: | Baris 260: | ||
var ButtonText = document.createTextNode( collapseCaption ); | var ButtonText = document.createTextNode( collapseCaption ); | ||
- | Button. | + | Button.className = "collapseButton"; //Styles are declared in Common.css |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
ButtonLink.style.color = Header.style.color; | ButtonLink.style.color = Header.style.color; | ||
Baris 374: | Baris 279: | ||
if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) { | if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) { | ||
collapseTable( i ); | collapseTable( i ); | ||
+ | } | ||
+ | else if ( hasClass( NavigationBoxes[i], "innercollapse" ) ) { | ||
+ | var element = NavigationBoxes[i]; | ||
+ | while (element = element.parentNode) { | ||
+ | if ( hasClass( element, "outercollapse" ) ) { | ||
+ | collapseTable ( i ); | ||
+ | break; | ||
+ | } | ||
+ | } | ||
} | } | ||
} | } | ||
Baris 380: | Baris 294: | ||
addOnloadHook( createCollapseButtons ); | addOnloadHook( createCollapseButtons ); | ||
+ | /* End of CollapsibleTable */ | ||
- | /** | + | /** |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | == NavFrame == | |
- | + | ||
- | + | ||
- | / | + | Memberikan bagian yang bisa disembunyikan */ |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | if (LoadNavFrame == true) { | |
- | + | ||
- | + | // set up the words in your language | |
- | + | var NavigationBarHide = '[ Sembunyikan ]'; | |
- | + | var NavigationBarShow = '[ Tampilkan ]'; | |
- | + | // set up max count of Navigation Bars on page, | |
- | + | // if there are more, all will be hidden | |
- | + | // NavigationBarShowDefault = 0; // all bars will be hidden | |
- | + | // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden | |
- | + | var NavigationBarShowDefault = 0; | |
- | + | // shows and hides content and picture (if available) of navigation bars | |
- | NavChild.style.display = ' | + | // Parameters: |
- | + | // indexNavigationBar: the index of navigation bar to be toggled | |
+ | window.toggleNavigationBar = function(indexNavigationBar){ | ||
+ | { | ||
+ | var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); | ||
+ | var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); | ||
+ | if (!NavFrame || !NavToggle) { | ||
+ | return false; | ||
+ | } | ||
+ | // if shown now | ||
+ | if (NavToggle.firstChild.data == NavigationBarHide) { | ||
+ | for ( | ||
+ | var NavChild = NavFrame.firstChild; | ||
+ | NavChild != null; | ||
+ | NavChild = NavChild.nextSibling | ||
+ | ) { | ||
+ | if (NavChild.className == 'NavPic') { | ||
+ | NavChild.style.display = 'none'; | ||
+ | } | ||
+ | if (NavChild.className == 'NavContent') { | ||
+ | NavChild.style.display = 'none'; | ||
+ | } | ||
+ | } | ||
+ | NavToggle.firstChild.data = NavigationBarShow; | ||
+ | // if hidden now | ||
+ | } else if (NavToggle.firstChild.data == NavigationBarShow) { | ||
+ | for ( | ||
+ | var NavChild = NavFrame.firstChild; | ||
+ | NavChild != null; | ||
+ | NavChild = NavChild.nextSibling | ||
+ | ) { | ||
+ | if (NavChild.className == 'NavPic') { | ||
+ | NavChild.style.display = 'block'; | ||
+ | } | ||
+ | if (NavChild.className == 'NavContent') { | ||
+ | NavChild.style.display = 'block'; | ||
+ | } | ||
+ | } | ||
+ | NavToggle.firstChild.data = NavigationBarHide; | ||
+ | } | ||
+ | } | ||
+ | // adds show/hide-button to navigation bars | ||
+ | function createNavigationBarToggleButton() | ||
+ | { | ||
+ | var indexNavigationBar = 0; | ||
+ | // iterate over all < div >-elements | ||
+ | for( | ||
+ | var i=0; | ||
+ | NavFrame = document.getElementsByTagName("div")[i]; | ||
+ | i++ | ||
+ | ) { | ||
+ | // if found a navigation bar | ||
+ | if (NavFrame.className == "NavFrame") { | ||
+ | indexNavigationBar++; | ||
+ | var NavToggle = document.createElement("a"); | ||
+ | NavToggle.className = 'NavToggle'; | ||
+ | NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); | ||
+ | NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');'); | ||
+ | var NavToggleText = document.createTextNode(NavigationBarHide); | ||
+ | NavToggle.appendChild(NavToggleText); | ||
+ | // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) | ||
+ | for(var j=0; j < NavFrame.childNodes.length; j++ ) { | ||
+ | if (NavFrame.childNodes[j].className == "NavHead") { | ||
+ | NavFrame.childNodes[j].appendChild(NavToggle); | ||
+ | } | ||
+ | } | ||
+ | NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); | ||
} | } | ||
- | + | } | |
+ | // if more Navigation Bars found than Default: hide all | ||
+ | if (NavigationBarShowDefault < indexNavigationBar) { | ||
+ | for( var i=1; i<=indexNavigationBar; i++ ) { | ||
+ | toggleNavigationBar(i); | ||
+ | } | ||
+ | } | ||
+ | } | ||
- | + | addOnloadHook( createNavigationBarToggleButton ); | |
- | + | ||
- | + | } | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | } | + | |
- | / | + | /** |
- | + | == Edittools == | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | Drop down box for the Special character menu in [[MediaWiki:Edittools]] | |
- | + | Adapted from: | |
- | + | http://de.wiktionary.org/wiki/MediaWiki:Onlyifediting.js , | |
- | + | http://de.wikipedia.org/wiki/MediaWiki:Onlyifediting.js and | |
- | + | http://en.wiktionary.org/wiki/MediaWiki:Monobook.js | |
+ | <pre><nowiki> */ | ||
- | + | function addCharSubsetMenu() { | |
- | + | if ( load_edittools != true ) return; | |
- | + | var specialchars = document.getElementById('specialchars'); | |
- | + | ||
- | + | if (specialchars) { | |
- | + | var menu = "<select style=\"display:inline\" onChange=\"chooseCharSubset(selectedIndex)\">"; | |
- | + | menu += "<option>Standar+Templat</option>"; | |
- | + | menu += "<option>IPA</option>"; | |
- | + | menu += "<option>Latin</option>"; | |
+ | menu += "<option>Pinyin</option>"; | ||
+ | menu += "<option>Romaji</option>"; | ||
+ | menu += "<option>Arab</option>"; | ||
+ | menu += "<option>Ceko</option>"; | ||
+ | menu += "<option>Devanāgarī</option>"; | ||
+ | menu += "<option>Esperanto</option>"; | ||
+ | menu += "<option>Estonia</option>"; | ||
+ | menu += "<option>Hawaii</option>"; | ||
+ | menu += "<option>Hungaria</option>"; | ||
+ | menu += "<option>Ibrani</option>"; | ||
+ | menu += "<option>Inggris kuno</option>"; | ||
+ | menu += "<option>Islandia</option>"; | ||
+ | menu += "<option>Italia</option>"; | ||
+ | menu += "<option>Jawa Kuna</option>"; | ||
+ | menu += "<option>Jerman</option>"; | ||
+ | menu += "<option>Katalan</option>"; | ||
+ | menu += "<option>Latvia</option>"; | ||
+ | menu += "<option>Malta</option>"; | ||
+ | menu += "<option>Perancis</option>"; | ||
+ | menu += "<option>Polandia</option>"; | ||
+ | menu += "<option>Portugis</option>"; | ||
+ | menu += "<option>Rumania</option>"; | ||
+ | menu += "<option>Serbia</option>"; | ||
+ | menu += "<option>Sirilik</option>"; | ||
+ | menu += "<option>Skandinavia</option>"; | ||
+ | menu += "<option>Spanyol</option>"; | ||
+ | menu += "<option>Turki</option>"; | ||
+ | menu += "<option>Vietnam</option>"; | ||
+ | menu += "<option>Wales</option>"; | ||
+ | menu += "<option>Yiddish</option>"; | ||
+ | menu += "<option>Yunani</option>"; | ||
+ | menu += "</select>"; | ||
+ | specialchars.innerHTML = menu + specialchars.innerHTML; | ||
+ | |||
+ | // Standard-CharSubset | ||
+ | chooseCharSubset(0); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // CharSubset selection | ||
+ | function chooseCharSubset(s) { | ||
+ | var l = document.getElementById('specialchars').getElementsByTagName('p'); | ||
+ | for (var i = 0; i < l.length ; i++) { | ||
+ | l[i].style.display = i == s ? 'inline' : 'none'; | ||
+ | // l[i].style.visibility = i == s ? 'visible' : 'hidden'; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // Menu insertion | ||
+ | addOnloadHook( addCharSubsetMenu ); | ||
+ | // Move the toolbar to the top | ||
+ | function fixToolbar() { | ||
+ | if ( load_edittools != true ) return; | ||
+ | var wpEditToolbar = document.getElementById( "toolbar" ); | ||
+ | var editTools = document.getElementById( "specialchars" ); | ||
+ | elementMoveto( editTools, wpEditToolbar , 'after' ); | ||
+ | if( editTools ) editTools.style.display = "block"; | ||
+ | var editspecialchars = document.getElementById( "editpage-specialchars" ); | ||
+ | elementMoveto( editTools, wpEditToolbar , 'after' ); | ||
+ | } | ||
+ | onloadFuncts.push( fixToolbar ); | ||
+ | |||
+ | // Helper function to move DOM element | ||
+ | function elementMoveto( node, refNode, pos ) { | ||
+ | if(node && refNode){ | ||
+ | var parent=refNode.parentNode; | ||
+ | if (pos && pos=='after') { refNode=refNode.nextSibling; } | ||
+ | try { | ||
+ | parent.insertBefore( node, refNode ); | ||
+ | } catch ( DOMException ) {}; | ||
+ | } | ||
+ | } | ||
+ | /* </nowiki></pre> */ | ||
- | + | /** | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | == Stripe == | |
+ | [[Bantuan:Tabel|Tabel cantik]] */ | ||
- | + | if (LoadStripe == true) { | |
- | + | ||
- | + | var stripe = function() | |
- | + | { | |
- | + | // This function will add stripes to all tables that have the "wikitable-striped" class attribute. | |
- | + | var tables = document.getElementsByTagName("table"); | |
- | + | for (var a = 0; a != tables.length; a++) { | |
- | + | var table = tables[a]; | |
- | + | if (!table) { return; } // If there are no tables, abort. | |
- | + | if (table.getAttribute("class") == "tabelcantik") { | |
- | + | var tbodies = table.getElementsByTagName("tbody"); | |
- | + | for (var b = 0; b < tbodies.length; b++) { | |
- | + | var even = true; // We start with an even stripe. | |
- | + | var trs = tbodies[b].getElementsByTagName("tr"); | |
- | + | for (var c = 0; c < trs.length; c++) { | |
- | + | if (even) { | |
- | + | trs[c].className += "even"; | |
- | + | } else { | |
- | + | trs[c].className += "odd"; | |
- | + | } | |
- | + | even = !even; | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | var | + | |
- | + | ||
- | + | ||
- | + | ||
- | var | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
} | } | ||
- | + | } | |
- | + | } else | |
- | + | if (table.getAttribute("class") == "tabelcantikcyan") { | |
- | + | var tbodies = table.getElementsByTagName("tbody"); | |
- | + | for (var b = 0; b < tbodies.length; b++) { | |
- | + | var even = true; // We start with an even stripe. | |
- | var | + | var trs = tbodies[b].getElementsByTagName("tr"); |
- | + | for (var 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") { | |
- | { | + | var tbodies = table.getElementsByTagName("tbody"); |
- | + | for (var b = 0; b < tbodies.length; b++) { | |
+ | var even = true; // We start with an even stripe. | ||
+ | var trs = tbodies[b].getElementsByTagName("tr"); | ||
+ | for (var c = 0; c < trs.length; c++) { | ||
+ | if (even) { | ||
+ | trs[c].className += "evenmerah"; | ||
+ | } else { | ||
+ | trs[c].className += "oddmerah"; | ||
+ | } | ||
+ | even = !even; | ||
} | } | ||
- | + | } | |
- | + | } | |
- | + | } | |
- | + | } | |
- | + | // Perform the striping. | |
- | + | hookEvent("load", stripe); | |
- | + | ||
- | + | } | |
- | + | ||
- | + | ||
- | } | + | |
+ | /** | ||
+ | == ExtraEditButtons == | ||
+ | <pre><nowiki> */ | ||
+ | function addCustomEditButton( imageFile, speedTip, tagOpen, tagClose, sampleText ) { | ||
+ | var imagePath = 'http://upload.wikimedia.org/wikipedia/commons/'; | ||
+ | mwCustomEditButtons[mwCustomEditButtons.length] = { | ||
+ | "imageFile" : imagePath + imageFile, | ||
+ | "speedTip" : speedTip, | ||
+ | "tagOpen" : tagOpen, | ||
+ | "tagClose" : tagClose, | ||
+ | "sampleText" : sampleText | ||
+ | }; | ||
+ | } | ||
+ | |||
+ | if ( mwCustomEditButtons && LoadExtraEditButtons ) { | ||
+ | addCustomEditButton( "c/c8/Button_redirect.png", "Pengalihan", | ||
+ | "#ALIH [[", "]]", "Artikel" ); | ||
+ | addCustomEditButton( "e/eb/Button_plantilla.png", "Templat", | ||
+ | "{{", "}}", "Templat" ); | ||
+ | addCustomEditButton( "1/1b/Button_hide_wiki_tag.png", "Komentar tersembunyi", | ||
+ | "<!-- ", " -->", "Komentar" ); | ||
+ | addCustomEditButton( "f/fd/Button_underline.png", "Garis bawah", | ||
+ | "<u>", "</u>", "Teks garis bawah" ); | ||
+ | addCustomEditButton( "c/c9/Button_strike.png", "Coret", | ||
+ | "<s>", "</s>", "Teks dicoret" ); | ||
+ | addCustomEditButton( "f/f9/Button_onlyinclude_green.png", " Onlyinclude", | ||
+ | "<onlyinclude>", "</onlyinclude>", "Hanya teks ini yang ditransklusikan" ); | ||
+ | addCustomEditButton( "0/01/Button_includeonly_green.png", "Includeonly", | ||
+ | "<includeonly>", "</includeonly>", "Teks hanya akan ditransklusikan" ); | ||
+ | addCustomEditButton( "3/32/Button_noinclude_green.png", "Noinclude", | ||
+ | "<noinclude>", "</noinclude>", "Teks tidak akan ditransklusi" ); | ||
+ | addCustomEditButton( "7/79/Button_reflink.png", "Rujukan", | ||
+ | "<ref>", "</ref>", "Rujukan" ); | ||
+ | addCustomEditButton( "9/99/Button_sup_2.png", "Superscript", | ||
+ | "<sup>", "</sup>", "Teks superscript" ); | ||
+ | addCustomEditButton( "e/e5/Button_sub_2.png", "Subscript", | ||
+ | "<sub>", "</sub>", "Teks subscript" ); | ||
+ | addCustomEditButton( "1/17/Button_small_2.png", "small", | ||
+ | "<small>", "</small>", " " ); | ||
+ | addCustomEditButton( "c/cb/Button_big_2.png", "big", | ||
+ | "<big>", "</big>", " " ); | ||
+ | addCustomEditButton( "2/23/Button_code.png", "code", | ||
+ | "<code>", "</code>", " " ); | ||
+ | addCustomEditButton( "5/5f/Button_center.png", "center", | ||
+ | "<center>", "</center>", " " ); | ||
+ | addCustomEditButton( "3/3c/Button_pre.png", "pre", | ||
+ | "<pre>", "</pre>", " " ); | ||
+ | addCustomEditButton( "8/8f/Button_poeme.png", "poem", | ||
+ | "<poem>", "</poem>", " " ); | ||
+ | addCustomEditButton( "d/d4/Button_div.png", "div", | ||
+ | "<div>", "</div>", " " ); | ||
+ | addCustomEditButton( "7/72/Button_span_2.png", "span", | ||
+ | "<span>", "</span>", " " ); | ||
+ | addCustomEditButton( "2/26/Button_plainlinks.png", "plainlinks", | ||
+ | "<span class=plainlinks>", "</span>", " " ); | ||
+ | addCustomEditButton( "9/9e/Btn_toolbar_gallery.png", "Galeri gambar", | ||
+ | "<gallery>\n", "\n</gallery>", "Berkas:Contoh.jpg|Judul1\nBerkas:Contoh.jpg|Judul2" ); | ||
+ | addCustomEditButton( "c/c6/Button_Kat.png", "Kategori", | ||
+ | "[[Kategori:", "]]", "Kategori" ); | ||
+ | addCustomEditButton( "3/3f/Button_en.png", "Interwiki Wikipedia Inggris", | ||
+ | "[[en:", "]]", "Interwiki en.wiki" ); | ||
+ | addCustomEditButton( "7/7f/Interwiki-button-bg.png", "Interwiki templat en", | ||
+ | "[[en:Template:", "subst:PAGENAME}}]]", "{{" ); | ||
+ | addCustomEditButton( "f/f7/Button_referencesR.png", "Referensi", | ||
+ | "\n== Referensi ==\n\n", "reflist}}" + "\n", "{{" ); | ||
+ | addCustomEditButton( "e/e9/Button_headline2.png", "Subbagian tingkat 2", | ||
+ | "\n=== ", " ===\n", "Subbagian2" ); | ||
+ | addCustomEditButton( "3/3a/Button_headline3.png", "Subbagian tingkat 3", | ||
+ | "\n==== ", " ====\n", "Subbagian3" ); | ||
+ | addCustomEditButton( "1/11/Btn_toolbar_liste.png", "Daftar biasa", | ||
+ | "\n* ", "\n* Elemen contoh B\n* Elemen contoh C", "Elemen contoh A" ); | ||
+ | addCustomEditButton( "8/88/Btn_toolbar_enum.png", "Daftar bernomor", | ||
+ | "\n# ", "\n# Elemen contoh 2\n# Elemen contoh 3", "Elemen contoh 1" ); | ||
+ | addCustomEditButton( "d/d3/Button_definition_list.png", "Daftar definisi", | ||
+ | "\n; ", "\n: Contoh item 1\n: Contoh item 2", "Contoh definisi" ); | ||
+ | addCustomEditButton( "0/04/Button_array.png", "Tabel", | ||
+ | '{| class="wikitable"\n|-\n', "\n|}", "! kepala1\n! kepala2\n|-\n" + | ||
+ | "| baris1, kolom1\n| baris1, kolom2\n|-\n| baris2, kolom1\n| baris2, kolom2" ); | ||
+ | addCustomEditButton( "9/9f/Button_defaultsort.png", "DEFAULTSORT", | ||
+ | "", "DEFAULTSORT:}}", "{{" ); | ||
+ | addCustomEditButton( "b/bf/Button_pagename.png", "PAGENAME", | ||
+ | "", "PAGENAME}}", "{{" ); | ||
+ | addCustomEditButton( "5/55/Button_nbsp_1.png", "nbsp", | ||
+ | " ", "", "" ); | ||
+ | } | ||
+ | /*</nowiki></pre>*/ | ||
+ | /** | ||
+ | /** | ||
- | / | + | === Sunting bagian 0 === |
- | + | */ | |
- | + | function addEdittopPortletLink() { | |
- | + | if(wgCanonicalNamespace == 'Special') return; | |
- | + | if(document.getElementById("wikiPreview")) return; | |
- | + | if(document.getElementById("histlegend")) return; | |
+ | if(document.getElementById("difference")) return; | ||
+ | if(document.getElementById("watchdetails")) return; | ||
+ | if ( document.getElementById( "ca-edit" ) ) { | ||
+ | var sElm = document.getElementById( "ca-addsection" ) ? 'ca-addsection' : 'ca-edit'; | ||
+ | var sText = '↑'; | ||
+ | var sLink = wgScriptPath + "/index.php?title=" + wgPageName + | ||
+ | "&action=edit§ion=0"; | ||
+ | addPortletLink( 'p-cactions', sLink, sText, 'ca-edittop', | ||
+ | 'Suntingan bagian atas halaman ini', null, document.getElementById( sElm ).nextSibling ); | ||
+ | } | ||
+ | } | ||
+ | addOnloadHook( addEdittopPortletLink ); | ||
- | + | /** Magic editintros **************************************************** | |
+ | * | ||
+ | * Description: Adds editintros on disambiguation pages and BLP pages. | ||
+ | * Maintainers: [[User:RockMFR]] | ||
+ | */ | ||
+ | |||
+ | function addEditIntro(name) | ||
{ | { | ||
- | + | var el = document.getElementById('ca-edit'); | |
- | + | if (!el) | |
- | + | return; | |
- | + | el = el.getElementsByTagName('a')[0]; | |
- | + | if (el) | |
- | + | el.href += '&editintro=' + name; | |
- | + | } | |
- | + | ||
- | + | ||
- | + | if (wgNamespaceNumber == 0) { | |
- | + | addOnloadHook(function(){ | |
- | + | if (document.getElementById('disambigbox')) | |
- | + | addEditIntro('Template:Disambig_editintro'); | |
- | + | }); | |
- | + | ||
- | + | addOnloadHook(function(){ | |
- | + | var cats = document.getElementById('mw-normal-catlinks'); | |
- | + | if (!cats) | |
- | + | return; | |
- | + | cats = cats.getElementsByTagName('a'); | |
- | + | for (var i = 0; i < cats.length; i++) { | |
- | + | if (cats[i].title == 'Category:Living people' || cats[i].title == 'Category:Possibly living people') { | |
- | + | addEditIntro('Template:BLP_editintro'); | |
- | + | break; | |
- | if ( | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
} | } | ||
- | |||
- | |||
- | |||
} | } | ||
- | } | + | }); |
} | } | ||
- | |||
- | + | /** WikiMiniAtlas ******************************************************* | |
- | /** | + | |
* | * | ||
- | * Description: | + | * 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. |
- | + | * Maintainers: [[User:Dschwen]] | |
- | * | + | |
- | * | + | |
- | + | ||
*/ | */ | ||
- | + | ||
- | + | if (wgServer == "https://secure.wikimedia.org") { | |
- | + | var metaBase = "https://secure.wikimedia.org/wikipedia/meta"; | |
- | if | + | } else { |
- | + | var metaBase = "http://meta.wikimedia.org"; | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
} | } | ||
- | + | importScriptURI(metaBase+"/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400") | |
- | // | + |
mw.loader.using( 'mediawiki.util', function() { /** JavaScript yang ada di sini akan diterapkan untuk semua kulit. __TOC__ == Deklarasi variabel == Variabel-variabel yang dipakai secara global */ var ScriptPrefix = '<script type="text/javascript" src="/w/index.php?title='; var ScriptSuffix = '&action=raw&ctype=text/javascript&dontcountme=s"></script>'; var LoadInterProject = true; var LoadLinkFA = true; var LoadNavFrame = true; var load_edittools = true; var LoadExtraPortlet = true; var LoadStripe = true; var LoadEditTop = true; var LoadExtraEditButtons = true; var load_extratabs = false; var LoadPageCounter = false; /** == Variabel saklar per pengguna == Ubah [[Istimewa:Mypage/switches.js]] untuk mengatur fitur yang ingin Anda aktifkan atau matikan */ document.write( ScriptPrefix + 'Pengguna:' + wgUserName + '/switches.js' + ScriptSuffix ); /** == Library functions == Librari fungsi yang digunakan oleh fungsi-fungsi lain. ** Untuk sementara di-remark karena menyebabkan fungsi-fungsi lainnya tidak berfungsi di Firefox3 - (borgx 26 Juni 2008) */ // Fix tampilan untuk IE /* if (window.showModalDialog && document.compatMode && document.compatMode == "CSS1Compat") { var oldWidth; var docEl = document.documentElement; function fixIEScroll() { if (!oldWidth || docEl.clientWidth > oldWidth) doFixIEScroll(); else setTimeout(doFixIEScroll, 1); oldWidth = docEl.clientWidth; } function doFixIEScroll() { docEl.style.overflowX = (docEl.scrollWidth - docEl.clientWidth < 4) ? "hidden" : ""; } document.attachEvent("onreadystatechange", fixIEScroll); attachEvent("onresize", fixIEScroll); } // addLoadEvent, menambahkan event function addLoadEvent(func) { if (window.addEventListener) window.addEventListener("load", func, false); else if (window.attachEvent) window.attachEvent("onload", func); } */ /** == MainPageTransform == Menghilangkan judul [[Halaman Utama]] dan mengganti nama tab. */ var mpTitle = "Halaman Utama"; var isMainPage = (document.title.substr(0, mpTitle.length) == mpTitle) var isDiff = (document.location.search && ( document.location.search.indexOf("diff=") != -1 || document.location.search.indexOf("oldid=") != -1 || document.location.search.indexOf("action=history") != -1 )); if ( isMainPage && !isDiff && (wgCanonicalNamespace != 'Special') ) { document.write('<style type="text/css"> #siteSub, #contentSub, h1.firstHeading { display: none!important; } #content, #content div.thumb, #p-cactions li a, #p-cactions li a:hover, #p-cactions li.selected a { background: #fff!important; } </style>'); var mpSmallEnabled; var mpMinWidth = 700; function mainPageTransform() { var mpContentEl = document.getElementById("bodyContent"); var mpBrowseEl = document.getElementById("EnWpMpBrowse"); var mpContainEl = document.getElementById("EnWpMpBrowseContainer"); var mpMarginEl = document.getElementById("EnWpMpMargin"); var mpEl = document.getElementById("EnWpMainPage"); if (!mpContentEl || !mpBrowseEl || !mpContainEl || !mpMarginEl || !mpEl) return; if (!mpSmallEnabled && mpContentEl.offsetWidth < mpMinWidth) { mpContainEl.insertBefore(mpBrowseEl, mpContainEl.firstChild); mpBrowseEl.className = "EnWpMpBrowseBottom"; mpMarginEl.style.marginRight = 0; mpSmallEnabled = true; } else if (mpSmallEnabled && mpContentEl.offsetWidth > mpMinWidth) { mpEl.insertBefore(mpBrowseEl, mpEl.firstChild); mpBrowseEl.className = "EnWpMpBrowseRight"; mpMarginEl.style.marginRight = "13.8em"; mpSmallEnabled = false; } } var onloadFuncts = [ mainPageTransform ]; if (window.addEventListener) window.addEventListener("resize", mainPageTransform, false); else if (window.attachEvent) window.attachEvent("onresize", mainPageTransform); } function mainpg() { if ((isMainPage || /[\/=:]Halaman_Utama/.test(document.location)) && document.getElementById('ca-nstab-main')) { document.getElementById('ca-nstab-main').firstChild.innerHTML = 'Utama'; } } addOnloadHook(mainpg); /** == LowcaseTitle == Judul dengan [[Template:Judul|huruf pertama kecil]]. */ if (document.URL.indexOf("=edit") > 0 || document.URL.indexOf("=submit") > 0) {var noJS;} else { document.write('<style type="text/css">#title-override {display: none; speak: none;}<\/style>'); function pTitle() { if (document.getElementById("title-override")) { var pTitle = document.getElementById("pTitle").innerHTML; document.getElementsByTagName("h1")[0].innerHTML = pTitle; } } hookEvent("load", pTitle); } /** == LinkFA == Menambahkan bintang di InterWiki */ if (LoadLinkFA == true) { function LinkFA() { if ( document.getElementById( "p-lang" ) ) { var InterwikiLinks = document.getElementById( "p-lang" ).getElementsByTagName( "li" ); for ( var i = 0; i < InterwikiLinks.length; i++ ) { if ( document.getElementById( InterwikiLinks[i].className + "-fa" ) ) { InterwikiLinks[i].className += " FA" InterwikiLinks[i].title = "Ini adalah artikel pilihan pada bahasa lain."; } } } } addOnloadHook( LinkFA ); } /** == Pranala luar pilihan == Menandai pranala luar pilihan. Gunakan templat {{tl|extlink-fa}} di depan atau belakang pranala luar. Ini akan memberikan suatu objek "span" kosong yang akan dikenali oleh JavaScript yang akan mengubah style bulletnya. */ function linkExtLinkFA() { oSpans = document.getElementById( "bodyContent" ).getElementsByTagName( "span" ); for ( var i = 0; i < oSpans.length; i++ ) { if ( oSpans[i].className == 'extlink-fa' ) { var oParent = oSpans[i].parentNode; if ( oParent.tagName == 'LI' ) { oParent.className += ' FA'; oParent.title = 'Pranala pilihan'; } } } } addOnloadHook( linkExtLinkFA ) /** == InterProject == InterProject, link di menu samping untuk proyek lain. <nowiki> */ if (LoadInterProject == true) { document.write('<style type="text/css">#interProyek {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}<\/style>'); function iProject() { if (document.getElementById("interProyek")) { var iProject = document.getElementById("interProyek").innerHTML; var interProject = document.createElement("div"); interProject.style.marginTop = "0.7em"; interProject.innerHTML = '<h5>Proyek lain<\/h5><div class="pBody">'+iProject+'<\/div>'; document.getElementById("p-tb").appendChild(interProject); } } addOnloadHook(iProject); } /* </nowiki> */ /** == CollapsibleTable ==*/ var autoCollapse = 2; var collapseCaption = "sembunyikan"; var expandCaption = "tampilkan"; window.hasClass = (function () { var reCache = {}; return function (element, className) { return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className); }; })(); window.collapseTable = function( tableIndex ){ { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = collapseCaption; } } function createCollapseButtons() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( hasClass( Tables[i], "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var 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", "javascript:collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); Header.insertBefore( Button, Header.childNodes[0] ); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) { collapseTable( i ); } else if ( hasClass( NavigationBoxes[i], "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( hasClass( element, "outercollapse" ) ) { collapseTable ( i ); break; } } } } } addOnloadHook( createCollapseButtons ); /* End of CollapsibleTable */ /** == NavFrame == Memberikan bagian yang bisa disembunyikan */ if (LoadNavFrame == true) { // set up the words in your language var NavigationBarHide = '[ Sembunyikan ]'; var NavigationBarShow = '[ Tampilkan ]'; // set up max count of Navigation Bars on page, // if there are more, all will be hidden // NavigationBarShowDefault = 0; // all bars will be hidden // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden var NavigationBarShowDefault = 0; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled window.toggleNavigationBar = function(indexNavigationBar){ { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == NavigationBarHide) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == NavigationBarShow) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = NavigationBarHide; } } // adds show/hide-button to navigation bars function createNavigationBarToggleButton() { var indexNavigationBar = 0; // iterate over all < div >-elements for( var i=0; NavFrame = document.getElementsByTagName("div")[i]; i++ ) { // if found a navigation bar if (NavFrame.className == "NavFrame") { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');'); var NavToggleText = document.createTextNode(NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++ ) { if (NavFrame.childNodes[j].className == "NavHead") { NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } // if more Navigation Bars found than Default: hide all if (NavigationBarShowDefault < indexNavigationBar) { for( var i=1; i<=indexNavigationBar; i++ ) { toggleNavigationBar(i); } } } addOnloadHook( createNavigationBarToggleButton ); } /** == Edittools == Drop down box for the Special character menu in [[MediaWiki:Edittools]] Adapted from: http://de.wiktionary.org/wiki/MediaWiki:Onlyifediting.js , http://de.wikipedia.org/wiki/MediaWiki:Onlyifediting.js and http://en.wiktionary.org/wiki/MediaWiki:Monobook.js <pre><nowiki> */ function addCharSubsetMenu() { if ( load_edittools != true ) return; var specialchars = document.getElementById('specialchars'); if (specialchars) { var menu = "<select style=\"display:inline\" onChange=\"chooseCharSubset(selectedIndex)\">"; menu += "<option>Standar+Templat</option>"; menu += "<option>IPA</option>"; menu += "<option>Latin</option>"; menu += "<option>Pinyin</option>"; menu += "<option>Romaji</option>"; menu += "<option>Arab</option>"; menu += "<option>Ceko</option>"; menu += "<option>Devanāgarī</option>"; menu += "<option>Esperanto</option>"; menu += "<option>Estonia</option>"; menu += "<option>Hawaii</option>"; menu += "<option>Hungaria</option>"; menu += "<option>Ibrani</option>"; menu += "<option>Inggris kuno</option>"; menu += "<option>Islandia</option>"; menu += "<option>Italia</option>"; menu += "<option>Jawa Kuna</option>"; menu += "<option>Jerman</option>"; menu += "<option>Katalan</option>"; menu += "<option>Latvia</option>"; menu += "<option>Malta</option>"; menu += "<option>Perancis</option>"; menu += "<option>Polandia</option>"; menu += "<option>Portugis</option>"; menu += "<option>Rumania</option>"; menu += "<option>Serbia</option>"; menu += "<option>Sirilik</option>"; menu += "<option>Skandinavia</option>"; menu += "<option>Spanyol</option>"; menu += "<option>Turki</option>"; menu += "<option>Vietnam</option>"; menu += "<option>Wales</option>"; menu += "<option>Yiddish</option>"; menu += "<option>Yunani</option>"; menu += "</select>"; specialchars.innerHTML = menu + specialchars.innerHTML; // Standard-CharSubset chooseCharSubset(0); } } // CharSubset selection function chooseCharSubset(s) { var l = document.getElementById('specialchars').getElementsByTagName('p'); for (var i = 0; i < l.length ; i++) { l[i].style.display = i == s ? 'inline' : 'none'; // l[i].style.visibility = i == s ? 'visible' : 'hidden'; } } // Menu insertion addOnloadHook( addCharSubsetMenu ); // Move the toolbar to the top function fixToolbar() { if ( load_edittools != true ) return; var wpEditToolbar = document.getElementById( "toolbar" ); var editTools = document.getElementById( "specialchars" ); elementMoveto( editTools, wpEditToolbar , 'after' ); if( editTools ) editTools.style.display = "block"; var editspecialchars = document.getElementById( "editpage-specialchars" ); elementMoveto( editTools, wpEditToolbar , 'after' ); } onloadFuncts.push( fixToolbar ); // Helper function to move DOM element function elementMoveto( node, refNode, pos ) { if(node && refNode){ var parent=refNode.parentNode; if (pos && pos=='after') { refNode=refNode.nextSibling; } try { parent.insertBefore( node, refNode ); } catch ( DOMException ) {}; } } /* </nowiki></pre> */ /** == Stripe == [[Bantuan:Tabel|Tabel cantik]] */ if (LoadStripe == true) { var stripe = function() { // This function will add stripes to all tables that have the "wikitable-striped" class attribute. var tables = document.getElementsByTagName("table"); for (var a = 0; a != tables.length; a++) { var table = tables[a]; if (!table) { return; } // If there are no tables, abort. if (table.getAttribute("class") == "tabelcantik") { var tbodies = table.getElementsByTagName("tbody"); for (var b = 0; b < tbodies.length; b++) { var even = true; // We start with an even stripe. var trs = tbodies[b].getElementsByTagName("tr"); for (var 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") { var tbodies = table.getElementsByTagName("tbody"); for (var b = 0; b < tbodies.length; b++) { var even = true; // We start with an even stripe. var trs = tbodies[b].getElementsByTagName("tr"); for (var 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") { var tbodies = table.getElementsByTagName("tbody"); for (var b = 0; b < tbodies.length; b++) { var even = true; // We start with an even stripe. var trs = tbodies[b].getElementsByTagName("tr"); for (var c = 0; c < trs.length; c++) { if (even) { trs[c].className += "evenmerah"; } else { trs[c].className += "oddmerah"; } even = !even; } } } } } // Perform the striping. hookEvent("load", stripe); } /** == ExtraEditButtons == <pre><nowiki> */ function addCustomEditButton( imageFile, speedTip, tagOpen, tagClose, sampleText ) { var imagePath = 'http://upload.wikimedia.org/wikipedia/commons/'; mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile" : imagePath + imageFile, "speedTip" : speedTip, "tagOpen" : tagOpen, "tagClose" : tagClose, "sampleText" : sampleText }; } if ( mwCustomEditButtons && LoadExtraEditButtons ) { addCustomEditButton( "c/c8/Button_redirect.png", "Pengalihan", "#ALIH [[", "]]", "Artikel" ); addCustomEditButton( "e/eb/Button_plantilla.png", "Templat", "{{", "}}", "Templat" ); addCustomEditButton( "1/1b/Button_hide_wiki_tag.png", "Komentar tersembunyi", "<!-- ", " -->", "Komentar" ); addCustomEditButton( "f/fd/Button_underline.png", "Garis bawah", "<u>", "</u>", "Teks garis bawah" ); addCustomEditButton( "c/c9/Button_strike.png", "Coret", "<s>", "</s>", "Teks dicoret" ); addCustomEditButton( "f/f9/Button_onlyinclude_green.png", " Onlyinclude", "<onlyinclude>", "</onlyinclude>", "Hanya teks ini yang ditransklusikan" ); addCustomEditButton( "0/01/Button_includeonly_green.png", "Includeonly", "<includeonly>", "</includeonly>", "Teks hanya akan ditransklusikan" ); addCustomEditButton( "3/32/Button_noinclude_green.png", "Noinclude", "<noinclude>", "</noinclude>", "Teks tidak akan ditransklusi" ); addCustomEditButton( "7/79/Button_reflink.png", "Rujukan", "<ref>", "</ref>", "Rujukan" ); addCustomEditButton( "9/99/Button_sup_2.png", "Superscript", "<sup>", "</sup>", "Teks superscript" ); addCustomEditButton( "e/e5/Button_sub_2.png", "Subscript", "<sub>", "</sub>", "Teks subscript" ); addCustomEditButton( "1/17/Button_small_2.png", "small", "<small>", "</small>", " " ); addCustomEditButton( "c/cb/Button_big_2.png", "big", "<big>", "</big>", " " ); addCustomEditButton( "2/23/Button_code.png", "code", "<code>", "</code>", " " ); addCustomEditButton( "5/5f/Button_center.png", "center", "<center>", "</center>", " " ); addCustomEditButton( "3/3c/Button_pre.png", "pre", "<pre>", "</pre>", " " ); addCustomEditButton( "8/8f/Button_poeme.png", "poem", "<poem>", "</poem>", " " ); addCustomEditButton( "d/d4/Button_div.png", "div", "<div>", "</div>", " " ); addCustomEditButton( "7/72/Button_span_2.png", "span", "<span>", "</span>", " " ); addCustomEditButton( "2/26/Button_plainlinks.png", "plainlinks", "<span class=plainlinks>", "</span>", " " ); addCustomEditButton( "9/9e/Btn_toolbar_gallery.png", "Galeri gambar", "<gallery>\n", "\n</gallery>", "Berkas:Contoh.jpg|Judul1\nBerkas:Contoh.jpg|Judul2" ); addCustomEditButton( "c/c6/Button_Kat.png", "Kategori", "[[Kategori:", "]]", "Kategori" ); addCustomEditButton( "3/3f/Button_en.png", "Interwiki Wikipedia Inggris", "[[en:", "]]", "Interwiki en.wiki" ); addCustomEditButton( "7/7f/Interwiki-button-bg.png", "Interwiki templat en", "[[en:Template:", "subst:PAGENAME}}]]", "{{" ); addCustomEditButton( "f/f7/Button_referencesR.png", "Referensi", "\n== Referensi ==\n\n", "reflist}}" + "\n", "{{" ); addCustomEditButton( "e/e9/Button_headline2.png", "Subbagian tingkat 2", "\n=== ", " ===\n", "Subbagian2" ); addCustomEditButton( "3/3a/Button_headline3.png", "Subbagian tingkat 3", "\n==== ", " ====\n", "Subbagian3" ); addCustomEditButton( "1/11/Btn_toolbar_liste.png", "Daftar biasa", "\n* ", "\n* Elemen contoh B\n* Elemen contoh C", "Elemen contoh A" ); addCustomEditButton( "8/88/Btn_toolbar_enum.png", "Daftar bernomor", "\n# ", "\n# Elemen contoh 2\n# Elemen contoh 3", "Elemen contoh 1" ); addCustomEditButton( "d/d3/Button_definition_list.png", "Daftar definisi", "\n; ", "\n: Contoh item 1\n: Contoh item 2", "Contoh definisi" ); addCustomEditButton( "0/04/Button_array.png", "Tabel", '{| class="wikitable"\n|-\n', "\n|}", "! kepala1\n! kepala2\n|-\n" + "| baris1, kolom1\n| baris1, kolom2\n|-\n| baris2, kolom1\n| baris2, kolom2" ); addCustomEditButton( "9/9f/Button_defaultsort.png", "DEFAULTSORT", "", "DEFAULTSORT:}}", "{{" ); addCustomEditButton( "b/bf/Button_pagename.png", "PAGENAME", "", "PAGENAME}}", "{{" ); addCustomEditButton( "5/55/Button_nbsp_1.png", "nbsp", " ", "", "" ); } /*</nowiki></pre>*/ /** /** === Sunting bagian 0 === */ function addEdittopPortletLink() { if(wgCanonicalNamespace == 'Special') return; if(document.getElementById("wikiPreview")) return; if(document.getElementById("histlegend")) return; if(document.getElementById("difference")) return; if(document.getElementById("watchdetails")) return; if ( document.getElementById( "ca-edit" ) ) { var sElm = document.getElementById( "ca-addsection" ) ? 'ca-addsection' : 'ca-edit'; var sText = '↑'; var sLink = wgScriptPath + "/index.php?title=" + wgPageName + "&action=edit§ion=0"; addPortletLink( 'p-cactions', sLink, sText, 'ca-edittop', 'Suntingan bagian atas halaman ini', null, document.getElementById( sElm ).nextSibling ); } } addOnloadHook( addEdittopPortletLink ); /** Magic editintros **************************************************** * * Description: Adds editintros on disambiguation pages and BLP pages. * Maintainers: [[User:RockMFR]] */ function addEditIntro(name) { var el = document.getElementById('ca-edit'); if (!el) return; el = el.getElementsByTagName('a')[0]; if (el) el.href += '&editintro=' + name; } if (wgNamespaceNumber == 0) { addOnloadHook(function(){ if (document.getElementById('disambigbox')) addEditIntro('Template:Disambig_editintro'); }); addOnloadHook(function(){ var cats = document.getElementById('mw-normal-catlinks'); if (!cats) return; cats = cats.getElementsByTagName('a'); for (var i = 0; i < cats.length; i++) { if (cats[i].title == 'Category:Living people' || cats[i].title == 'Category:Possibly living people') { addEditIntro('Template:BLP_editintro'); break; } } }); } /** WikiMiniAtlas ******************************************************* * * 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. * Maintainers: [[User:Dschwen]] */ if (wgServer == "https://secure.wikimedia.org") { var metaBase = "https://secure.wikimedia.org/wikipedia/meta"; } else { var metaBase = "http://meta.wikimedia.org"; } importScriptURI(metaBase+"/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400")