Jump to content

MediaWiki:Common.js

From Farmpedia – Agricultural Encyclopedia for Farmers
Revision as of 00:58, 12 April 2026 by Mamta (talk | contribs)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */

$(document).ready(function() {

    /* Force main menu to be pinned on desktop */
    if (window.innerWidth >= 1024) {
        var pinnedContainer = document.getElementById('vector-main-menu-pinned-container');
        var unpinnedContainer = document.getElementById('vector-main-menu-unpinned-container');
        var mainMenu = document.getElementById('vector-main-menu');

        if (unpinnedContainer && mainMenu) {
            if (pinnedContainer && !pinnedContainer.contains(mainMenu)) {
                pinnedContainer.appendChild(mainMenu);
            }
        }

        var pinButton = document.querySelector('.vector-pinnable-header-pin-button');
        if (pinButton) {
            pinButton.click();
        }
    }

    /* Google Translate Widget */
    var translateHtml =
        '<div class="mw-portlet vector-menu" id="p-translate">' +
            '<div class="vector-menu-heading">Translate</div>' +
            '<div class="vector-menu-content">' +
                '<div id="google_translate_element"></div>' +
            '</div>' +
        '</div>';

    // Try multiple selectors to find Main Menu portlet
    var mainMenuPortlet = document.querySelector('#p-Main_Menu') ||
                          document.querySelector('.mw-portlet-Main_Menu') ||
                          document.querySelector('[id*="Main_Menu"]') ||
                          document.querySelector('[id*="main-menu"]');

    if (mainMenuPortlet) {
        mainMenuPortlet.insertAdjacentHTML('afterend', translateHtml);
    } else {
        // Fallback - append to sidebar
        var sidebar = document.querySelector('#mw-panel, .vector-sidebar');
        if (sidebar) {
            sidebar.insertAdjacentHTML('beforeend', translateHtml);
        }
    }

    /* Load Google Translate script */
    var script = document.createElement('script');
    script.src = '//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit';
    document.body.appendChild(script);

}); /* end document.ready */

function googleTranslateElementInit() {
    new google.translate.TranslateElement({
        pageLanguage: 'en',
        layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
        autoDisplay: false
    }, 'google_translate_element');
}