Lompat ke isi

MediaWiki:Common.js: Perbedaan antara revisi

Dari Maliki Encyclopedia
Tidak ada ringkasan suntingan
Tidak ada ringkasan suntingan
 
(4 revisi perantara oleh pengguna yang sama tidak ditampilkan)
Baris 1: Baris 1:
/* =========================================================
  MALIKI ENCYCLOPEDIA
  HEADER NAVIGATION — PHASE 1A
  Vector 2022
  ========================================================= */
(function () {
(function () {
 
'use strict';
    'use strict';
function createMalikiUtilityBar() {
 
    if (document.getElementById('maliki-utility-bar')) {
    function createMalikiNavigation() {
        return;
 
    }
        /* Jangan membuat menu dua kali */
    var headerContainer = document.querySelector('.vector-header-container');
        if (document.getElementById('maliki-top-navigation')) {
    if (!headerContainer || !headerContainer.parentNode) {
            return;
        return;
        }
    }
 
    var utility = document.createElement('div');
        /* Pastikan halaman sudah memiliki header Vector */
    utility.id = 'maliki-utility-bar';
        var header = document.querySelector('.vector-header-container');
    utility.innerHTML = `
 
        <div class="maliki-utility-inner">
        if (!header) {
            <div class="maliki-utility-left">
            return;
                <a href="https://uin-malang.ac.id/" target="_blank" rel="noopener">Akademik</a>
        }
                <a href="https://uin-malang.ac.id/" target="_blank" rel="noopener">Admisi</a>
 
                <a href="https://uin-malang.ac.id/" target="_blank" rel="noopener">LMS</a>
        /* =====================================================
                <a href="/index.php/Maliki:Pengajuan_Artikel">Kontributor</a>
          CONTAINER NAVIGASI
            </div>
          ===================================================== */
            <div class="maliki-utility-right">
 
                <span>Universitas Islam Negeri Maulana Malik Ibrahim Malang</span>
         var navigation = document.createElement('nav');
                <span class="maliki-utility-language">ID</span>
 
            </div>
        navigation.id = 'maliki-top-navigation';
        </div>
        navigation.setAttribute(
    `;
            'aria-label',
    headerContainer.parentNode.insertBefore(utility, headerContainer);
            'Navigasi utama Maliki Encyclopedia'
}
        );
function createMalikiNavigation() {
 
    if (document.getElementById('maliki-top-navigation')) {
        navigation.innerHTML = `
        return;
 
    }
            <div class="maliki-nav-inner">
    var headerContainer = document.querySelector('.vector-header-container');
 
    if (!headerContainer || !headerContainer.parentNode) {
                <!-- ENSIKLOPEDIA -->
         return;
 
    }
                <div class="maliki-nav-item has-dropdown">
    var navigation = document.createElement('nav');
 
    navigation.id = 'maliki-top-navigation';
                    <button
    navigation.setAttribute('aria-label', 'Navigasi utama Maliki Encyclopedia');
                        type="button"
    navigation.innerHTML = `
                        class="maliki-nav-button"
        <div class="maliki-nav-inner">
                        aria-expanded="false">
            <div class="maliki-nav-item has-dropdown">
                        Ensiklopedia
                <button type="button" class="maliki-nav-button" aria-expanded="false">Ensiklopedia <span class="maliki-nav-arrow">⌄</span></button>
                        <span class="maliki-nav-arrow">⌄</span>
                <div class="maliki-nav-dropdown">
                    </button>
                    <a href="/index.php/Tokoh">Tokoh</a>
 
                    <a href="/index.php/Konsep">Konsep</a>
                    <div class="maliki-nav-dropdown">
                    <a href="/index.php/Karya_Intelektual">Karya Intelektual</a>
 
                    <a href="/index.php/Lembaga">Lembaga</a>
                        <a href="/index.php/Tokoh">
                    <a href="/index.php/Peristiwa">Peristiwa</a>
                            Tokoh
                    <a href="/index.php/Tempat">Tempat</a>
                        </a>
 
                        <a href="/index.php/Konsep">
                            Konsep
                        </a>
 
                        <a href="/index.php/Karya_Intelektual">
                            Karya Intelektual
                        </a>
 
                        <a href="/index.php/Lembaga">
                            Lembaga
                        </a>
 
                        <a href="/index.php/Peristiwa">
                            Peristiwa
                        </a>
 
                        <a href="/index.php/Tempat">
                            Tempat
                        </a>
 
                    </div>
 
                 </div>
                 </div>
 
            </div>
 
            <div class="maliki-nav-item has-dropdown">
                <!-- JELAJAH -->
                <button type="button" class="maliki-nav-button" aria-expanded="false">Jelajah <span class="maliki-nav-arrow">⌄</span></button>
 
                <div class="maliki-nav-dropdown">
                <div class="maliki-nav-item has-dropdown">
                    <a href="/index.php/Maliki:Jelajah_Pengetahuan">Jelajah Pengetahuan</a>
 
                    <a href="/index.php/Spesial:Halaman_Baru">Pengetahuan Terbaru</a>
                    <button
                    <a href="/index.php/Kategori:Unggulan">Artikel Unggulan</a>
                        type="button"
                        class="maliki-nav-button"
                        aria-expanded="false">
                        Jelajah
                        <span class="maliki-nav-arrow">⌄</span>
                    </button>
 
                    <div class="maliki-nav-dropdown">
 
                        <a href="/index.php/Maliki:Jelajah_Pengetahuan">
                            Jelajah Pengetahuan
                        </a>
 
                        <a href="/index.php/Spesial:Halaman_Baru">
                            Pengetahuan Terbaru
                        </a>
 
                        <a href="/index.php/Kategori:Unggulan">
                            Artikel Unggulan
                        </a>
 
                    </div>
 
                 </div>
                 </div>
 
            </div>
 
            <div class="maliki-nav-item has-dropdown">
                <!-- BIDANG ILMU -->
                <button type="button" class="maliki-nav-button" aria-expanded="false">Bidang Ilmu <span class="maliki-nav-arrow">⌄</span></button>
 
                <div class="maliki-nav-dropdown">
                <div class="maliki-nav-item has-dropdown">
                    <a href="/index.php/Kategori:Studi_Islam">Studi Islam</a>
 
                    <a href="/index.php/Kategori:Pendidikan">Pendidikan</a>
                    <button
                    <a href="/index.php/Kategori:Sains">Sains</a>
                        type="button"
                    <a href="/index.php/Kategori:Kesehatan">Kesehatan</a>
                        class="maliki-nav-button"
                    <a href="/index.php/Kategori:Humaniora">Humaniora</a>
                        aria-expanded="false">
                    <a href="/index.php/Kategori:Sosial">Sosial</a>
                        Bidang Ilmu
                        <span class="maliki-nav-arrow">⌄</span>
                    </button>
 
                    <div class="maliki-nav-dropdown">
 
                        <a href="/index.php/Kategori:Studi_Islam">
                            Studi Islam
                        </a>
 
                        <a href="/index.php/Kategori:Pendidikan">
                            Pendidikan
                        </a>
 
                        <a href="/index.php/Kategori:Sains">
                            Sains
                        </a>
 
                        <a href="/index.php/Kategori:Kesehatan">
                            Kesehatan
                        </a>
 
                        <a href="/index.php/Kategori:Humaniora">
                            Humaniora
                        </a>
 
                        <a href="/index.php/Kategori:Sosial">
                            Sosial
                        </a>
 
                    </div>
 
                 </div>
                 </div>
 
            </div>
 
            <div class="maliki-nav-item has-dropdown">
                <!-- ISLAM SAINS -->
                <button type="button" class="maliki-nav-button" aria-expanded="false">Islam–Sains <span class="maliki-nav-arrow">⌄</span></button>
 
                <div class="maliki-nav-dropdown">
                <div class="maliki-nav-item has-dropdown">
                    <a href="/index.php/Kategori:Nilai_dan_Etika">Nilai &amp; Etika</a>
 
                    <a href="/index.php/Kategori:Perspektif">Perspektif</a>
                    <button
                    <a href="/index.php/Kategori:Dialog_Keilmuan">Dialog Keilmuan</a>
                        type="button"
                    <a href="/index.php/Kategori:Integrasi_Substantif">Integrasi Substantif</a>
                        class="maliki-nav-button"
                        aria-expanded="false">
                        Islam–Sains
                        <span class="maliki-nav-arrow">⌄</span>
                    </button>
 
                    <div class="maliki-nav-dropdown">
 
                        <a href="/index.php/Kategori:Nilai_dan_Etika">
                            Nilai &amp; Etika
                        </a>
 
                        <a href="/index.php/Kategori:Perspektif">
                            Perspektif
                        </a>
 
                        <a href="/index.php/Kategori:Dialog_Keilmuan">
                            Dialog Keilmuan
                        </a>
 
                        <a href="/index.php/Kategori:Integrasi_Substantif">
                            Integrasi Substantif
                        </a>
 
                    </div>
 
                 </div>
                 </div>
 
            </div>
 
            <div class="maliki-nav-item has-dropdown">
                <!-- KONTRIBUSI -->
                <button type="button" class="maliki-nav-button" aria-expanded="false">Kontribusi <span class="maliki-nav-arrow">⌄</span></button>
 
                <div class="maliki-nav-dropdown">
                <div class="maliki-nav-item has-dropdown">
                    <a href="/index.php/Maliki:Pengajuan_Artikel">Mulai Membuat Artikel</a>
 
                    <a href="/index.php/Maliki:Panduan_Kontributor">Panduan Kontributor</a>
                    <button
                        type="button"
                        class="maliki-nav-button"
                        aria-expanded="false">
                        Kontribusi
                        <span class="maliki-nav-arrow">⌄</span>
                    </button>
 
                    <div class="maliki-nav-dropdown">
 
                        <a href="/index.php/Maliki:Pengajuan_Artikel">
                            Mulai Membuat Artikel
                        </a>
 
                        <a href="/index.php/Maliki:Panduan_Kontributor">
                            Panduan Kontributor
                        </a>
 
                    </div>
 
                 </div>
                 </div>
 
            </div>
 
            <div class="maliki-nav-item has-dropdown">
                <!-- MEDIA -->
                <button type="button" class="maliki-nav-button" aria-expanded="false">Media <span class="maliki-nav-arrow">⌄</span></button>
 
                <div class="maliki-nav-dropdown">
                <div class="maliki-nav-item has-dropdown">
                    <a href="/index.php/Kategori:Gambar">Gambar</a>
 
                    <a href="/index.php/Kategori:Video">Video</a>
                    <button
                    <a href="/index.php/Maliki:Sumber_Pengetahuan">Sumber Pengetahuan</a>
                        type="button"
                        class="maliki-nav-button"
                        aria-expanded="false">
                        Media
                        <span class="maliki-nav-arrow">⌄</span>
                    </button>
 
                    <div class="maliki-nav-dropdown">
 
                        <a href="/index.php/Kategori:Gambar">
                            Gambar
                        </a>
 
                        <a href="/index.php/Kategori:Video">
                            Video
                        </a>
 
                        <a href="/index.php/Maliki:Sumber_Pengetahuan">
                            Sumber Pengetahuan
                        </a>
 
                    </div>
 
                 </div>
                 </div>
 
            </div>
 
            <div class="maliki-nav-item has-dropdown">
                <!-- TENTANG -->
                <button type="button" class="maliki-nav-button" aria-expanded="false">Tentang Maliki <span class="maliki-nav-arrow">⌄</span></button>
 
                <div class="maliki-nav-dropdown">
                <div class="maliki-nav-item has-dropdown">
                    <a href="/index.php/Maliki:Tentang">Tentang Maliki Encyclopedia</a>
 
                    <a href="/index.php/Maliki:UIN_Malang">UIN Maulana Malik Ibrahim Malang</a>
                    <button
                    <a href="/index.php/Maliki:Tim_Editorial">Tim Editorial</a>
                        type="button"
                        class="maliki-nav-button"
                        aria-expanded="false">
                        Tentang Maliki
                        <span class="maliki-nav-arrow">⌄</span>
                    </button>
 
                    <div class="maliki-nav-dropdown">
 
                        <a href="/index.php/Maliki:Tentang">
                            Tentang Maliki Encyclopedia
                        </a>
 
                        <a href="/index.php/Maliki:UIN_Malang">
                            UIN Maulana Malik Ibrahim Malang
                        </a>
 
                        <a href="/index.php/Maliki:Tim_Editorial">
                            Tim Editorial
                        </a>
 
                    </div>
 
                 </div>
                 </div>
             </div>
             </div>
 
        </div>
        `;
    `;
 
    headerContainer.parentNode.insertBefore(navigation, headerContainer.nextSibling);
 
    var dropdownButtons = navigation.querySelectorAll('.maliki-nav-button');
        /* =====================================================
    dropdownButtons.forEach(function (button) {
          MASUKKAN NAVIGASI KE DALAM HEADER
        button.addEventListener('click', function (event) {
          ===================================================== */
            event.stopPropagation();
 
            var parent = button.closest('.maliki-nav-item');
        header.appendChild(navigation);
            var isOpen = parent.classList.contains('is-open');
 
            navigation.querySelectorAll('.maliki-nav-item').forEach(function (item) {
 
                item.classList.remove('is-open');
        /* =====================================================
                var itemButton = item.querySelector('.maliki-nav-button');
          INTERAKSI DROPDOWN
                if (itemButton) {
          ===================================================== */
                    itemButton.setAttribute('aria-expanded', 'false');
 
        var dropdownButtons =
            navigation.querySelectorAll('.maliki-nav-button');
 
 
        dropdownButtons.forEach(function (button) {
 
            button.addEventListener('click', function (event) {
 
                event.stopPropagation();
 
                var parent =
                    button.closest('.maliki-nav-item');
 
                var isOpen =
                    parent.classList.contains('is-open');
 
 
                /* Tutup semua dropdown */
 
                navigation
                    .querySelectorAll('.maliki-nav-item')
                    .forEach(function (item) {
 
                        item.classList.remove('is-open');
 
                        var itemButton =
                            item.querySelector('.maliki-nav-button');
 
                        if (itemButton) {
                            itemButton.setAttribute(
                                'aria-expanded',
                                'false'
                            );
                        }
 
                    });
 
 
                /* Buka dropdown yang dipilih */
 
                if (!isOpen) {
 
                    parent.classList.add('is-open');
 
                    button.setAttribute(
                        'aria-expanded',
                        'true'
                    );
 
                 }
                 }
             });
             });
 
            if (!isOpen) {
                parent.classList.add('is-open');
                button.setAttribute('aria-expanded', 'true');
            }
         });
         });
 
    });
 
    document.addEventListener('click', function () {
        /* =====================================================
        navigation.querySelectorAll('.maliki-nav-item').forEach(function (item) {
          KLIK DI LUAR MENU
            item.classList.remove('is-open');
          ===================================================== */
            var button = item.querySelector('.maliki-nav-button');
 
            if (button) {
        document.addEventListener('click', function () {
                button.setAttribute('aria-expanded', 'false');
 
            }
            navigation
                .querySelectorAll('.maliki-nav-item')
                .forEach(function (item) {
 
                    item.classList.remove('is-open');
 
                    var button =
                        item.querySelector('.maliki-nav-button');
 
                    if (button) {
 
                        button.setAttribute(
                            'aria-expanded',
                            'false'
                        );
 
                    }
 
                });
 
         });
         });
 
    });
 
    window.addEventListener('resize', function () {
        /* =====================================================
        if (window.innerWidth > 800) {
          MOBILE / LAYAR KECIL
            return;
          ===================================================== */
        }
 
        navigation.querySelectorAll('.maliki-nav-item').forEach(function (item) {
        window.addEventListener('resize', function () {
            item.classList.remove('is-open');
 
            if (window.innerWidth > 800) {
                return;
            }
 
            navigation
                .querySelectorAll('.maliki-nav-item')
                .forEach(function (item) {
 
                    item.classList.remove('is-open');
 
                });
 
         });
         });
 
     });
     }
}
 
function initMalikiHeader() {
 
     createMalikiUtilityBar();
     /* =========================================================
    createMalikiNavigation();
      JALANKAN SETELAH HALAMAN SIAP
}
      ========================================================= */
if (document.readyState === 'loading') {
 
    document.addEventListener('DOMContentLoaded', initMalikiHeader);
    if (document.readyState === 'loading') {
} else {
 
    initMalikiHeader();
        document.addEventListener(
}
            'DOMContentLoaded',
            createMalikiNavigation
        );
 
    } else {
 
        createMalikiNavigation();
 
    }
 
})();
})();

Revisi terkini sejak 27 September 2026 08.26

(function () {
'use strict';
function createMalikiUtilityBar() {
    if (document.getElementById('maliki-utility-bar')) {
        return;
    }
    var headerContainer = document.querySelector('.vector-header-container');
    if (!headerContainer || !headerContainer.parentNode) {
        return;
    }
    var utility = document.createElement('div');
    utility.id = 'maliki-utility-bar';
    utility.innerHTML = `
        <div class="maliki-utility-inner">
            <div class="maliki-utility-left">
                <a href="https://uin-malang.ac.id/" target="_blank" rel="noopener">Akademik</a>
                <a href="https://uin-malang.ac.id/" target="_blank" rel="noopener">Admisi</a>
                <a href="https://uin-malang.ac.id/" target="_blank" rel="noopener">LMS</a>
                <a href="/index.php/Maliki:Pengajuan_Artikel">Kontributor</a>
            </div>
            <div class="maliki-utility-right">
                <span>Universitas Islam Negeri Maulana Malik Ibrahim Malang</span>
                <span class="maliki-utility-language">ID</span>
            </div>
        </div>
    `;
    headerContainer.parentNode.insertBefore(utility, headerContainer);
}
function createMalikiNavigation() {
    if (document.getElementById('maliki-top-navigation')) {
        return;
    }
    var headerContainer = document.querySelector('.vector-header-container');
    if (!headerContainer || !headerContainer.parentNode) {
        return;
    }
    var navigation = document.createElement('nav');
    navigation.id = 'maliki-top-navigation';
    navigation.setAttribute('aria-label', 'Navigasi utama Maliki Encyclopedia');
    navigation.innerHTML = `
        <div class="maliki-nav-inner">
            <div class="maliki-nav-item has-dropdown">
                <button type="button" class="maliki-nav-button" aria-expanded="false">Ensiklopedia <span class="maliki-nav-arrow">⌄</span></button>
                <div class="maliki-nav-dropdown">
                    <a href="/index.php/Tokoh">Tokoh</a>
                    <a href="/index.php/Konsep">Konsep</a>
                    <a href="/index.php/Karya_Intelektual">Karya Intelektual</a>
                    <a href="/index.php/Lembaga">Lembaga</a>
                    <a href="/index.php/Peristiwa">Peristiwa</a>
                    <a href="/index.php/Tempat">Tempat</a>
                </div>
            </div>
            <div class="maliki-nav-item has-dropdown">
                <button type="button" class="maliki-nav-button" aria-expanded="false">Jelajah <span class="maliki-nav-arrow">⌄</span></button>
                <div class="maliki-nav-dropdown">
                    <a href="/index.php/Maliki:Jelajah_Pengetahuan">Jelajah Pengetahuan</a>
                    <a href="/index.php/Spesial:Halaman_Baru">Pengetahuan Terbaru</a>
                    <a href="/index.php/Kategori:Unggulan">Artikel Unggulan</a>
                </div>
            </div>
            <div class="maliki-nav-item has-dropdown">
                <button type="button" class="maliki-nav-button" aria-expanded="false">Bidang Ilmu <span class="maliki-nav-arrow">⌄</span></button>
                <div class="maliki-nav-dropdown">
                    <a href="/index.php/Kategori:Studi_Islam">Studi Islam</a>
                    <a href="/index.php/Kategori:Pendidikan">Pendidikan</a>
                    <a href="/index.php/Kategori:Sains">Sains</a>
                    <a href="/index.php/Kategori:Kesehatan">Kesehatan</a>
                    <a href="/index.php/Kategori:Humaniora">Humaniora</a>
                    <a href="/index.php/Kategori:Sosial">Sosial</a>
                </div>
            </div>
            <div class="maliki-nav-item has-dropdown">
                <button type="button" class="maliki-nav-button" aria-expanded="false">Islam–Sains <span class="maliki-nav-arrow">⌄</span></button>
                <div class="maliki-nav-dropdown">
                    <a href="/index.php/Kategori:Nilai_dan_Etika">Nilai &amp; Etika</a>
                    <a href="/index.php/Kategori:Perspektif">Perspektif</a>
                    <a href="/index.php/Kategori:Dialog_Keilmuan">Dialog Keilmuan</a>
                    <a href="/index.php/Kategori:Integrasi_Substantif">Integrasi Substantif</a>
                </div>
            </div>
            <div class="maliki-nav-item has-dropdown">
                <button type="button" class="maliki-nav-button" aria-expanded="false">Kontribusi <span class="maliki-nav-arrow">⌄</span></button>
                <div class="maliki-nav-dropdown">
                    <a href="/index.php/Maliki:Pengajuan_Artikel">Mulai Membuat Artikel</a>
                    <a href="/index.php/Maliki:Panduan_Kontributor">Panduan Kontributor</a>
                </div>
            </div>
            <div class="maliki-nav-item has-dropdown">
                <button type="button" class="maliki-nav-button" aria-expanded="false">Media <span class="maliki-nav-arrow">⌄</span></button>
                <div class="maliki-nav-dropdown">
                    <a href="/index.php/Kategori:Gambar">Gambar</a>
                    <a href="/index.php/Kategori:Video">Video</a>
                    <a href="/index.php/Maliki:Sumber_Pengetahuan">Sumber Pengetahuan</a>
                </div>
            </div>
            <div class="maliki-nav-item has-dropdown">
                <button type="button" class="maliki-nav-button" aria-expanded="false">Tentang Maliki <span class="maliki-nav-arrow">⌄</span></button>
                <div class="maliki-nav-dropdown">
                    <a href="/index.php/Maliki:Tentang">Tentang Maliki Encyclopedia</a>
                    <a href="/index.php/Maliki:UIN_Malang">UIN Maulana Malik Ibrahim Malang</a>
                    <a href="/index.php/Maliki:Tim_Editorial">Tim Editorial</a>
                </div>
            </div>
        </div>
    `;
    headerContainer.parentNode.insertBefore(navigation, headerContainer.nextSibling);
    var dropdownButtons = navigation.querySelectorAll('.maliki-nav-button');
    dropdownButtons.forEach(function (button) {
        button.addEventListener('click', function (event) {
            event.stopPropagation();
            var parent = button.closest('.maliki-nav-item');
            var isOpen = parent.classList.contains('is-open');
            navigation.querySelectorAll('.maliki-nav-item').forEach(function (item) {
                item.classList.remove('is-open');
                var itemButton = item.querySelector('.maliki-nav-button');
                if (itemButton) {
                    itemButton.setAttribute('aria-expanded', 'false');
                }
            });
            if (!isOpen) {
                parent.classList.add('is-open');
                button.setAttribute('aria-expanded', 'true');
            }
        });
    });
    document.addEventListener('click', function () {
        navigation.querySelectorAll('.maliki-nav-item').forEach(function (item) {
            item.classList.remove('is-open');
            var button = item.querySelector('.maliki-nav-button');
            if (button) {
                button.setAttribute('aria-expanded', 'false');
            }
        });
    });
    window.addEventListener('resize', function () {
        if (window.innerWidth > 800) {
            return;
        }
        navigation.querySelectorAll('.maliki-nav-item').forEach(function (item) {
            item.classList.remove('is-open');
        });
    });
}
function initMalikiHeader() {
    createMalikiUtilityBar();
    createMalikiNavigation();
}
if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', initMalikiHeader);
} else {
    initMalikiHeader();
}
})();