Jump to content

MediaWiki:Common.js: Difference between revisions

From Farmpedia – Agricultural Encyclopedia for Farmers
No edit summary
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
$(document).ready(function() {
/* Force viewport meta for mobile responsiveness */
(function() {
var existing = document.querySelector('meta[name="viewport"]');
if (existing) {
existing.setAttribute('content', 'width=device-width, initial-scale=1');
} else {
var meta = document.createElement('meta');
meta.name = 'viewport';
meta.content = 'width=device-width, initial-scale=1';
document.head.appendChild(meta);
}
})();


    /* Force main menu pinned */
$(document).ready(function () {
    if (window.innerWidth >= 1024) {
        var pinButton = document.querySelector('.vector-pinnable-header-pin-button');
        if (pinButton) pinButton.click();
    }


    /* Google Translate - try all possible insertion points */
/* ===== PIN MAIN MENU ON DESKTOP ===== */
    var translateHtml =
if (window.innerWidth >= 1000) {
        '<div class="mw-portlet vector-menu" id="p-translate">' +
var pinnedContainer = document.getElementById('vector-main-menu-pinned-container');
            '<div class="vector-menu-heading">Translate</div>' +
var unpinnedContainer = document.getElementById('vector-main-menu-unpinned-container');
            '<div class="vector-menu-content" style="padding:8px 5px;">' +
var mainMenu = document.getElementById('vector-main-menu');
                '<div id="google_translate_element"></div>' +
            '</div>' +
        '</div>';


    // Log all portlets for debugging
if (unpinnedContainer && mainMenu) {
    var allPortlets = document.querySelectorAll('.mw-portlet');
if (pinnedContainer && !pinnedContainer.contains(mainMenu)) {
    console.log('Found portlets:', allPortlets.length);
pinnedContainer.appendChild(mainMenu);
    allPortlets.forEach(function(p) {
}
        console.log('Portlet:', p.id, p.className);
}
    });


    // Insert after last portlet in sidebar
// Click pin button if available
    var sidebar = document.querySelector('#mw-panel .vector-menu-portal:last-child, #vector-main-menu, .mw-portlet:last-child');
var pinButton = document.querySelector('.vector-pinnable-header-pin-button');
    console.log('Sidebar target:', sidebar);
if (pinButton) pinButton.click();
}


    if (allPortlets.length > 0) {
/* ===== MOVE TRANSLATE LINK INTO SIDEBAR ===== */
        var lastPortlet = allPortlets[allPortlets.length - 1];
// Find translate link from Tools menu
        lastPortlet.insertAdjacentHTML('afterend', translateHtml);
var $translateLi = $('#p-tb li').filter(function () {
        console.log('Inserted after:', lastPortlet.id);
return $(this).find('a').attr('href') &&
    }
$(this).find('a').attr('href').indexOf('Translate') !== -1;
});


    /* Load Google Translate */
var translateHref = '#';
    var script = document.createElement('script');
if ($translateLi.length) {
    script.src = '//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit';
translateHref = $translateLi.find('a').attr('href');
    document.body.appendChild(script);
$translateLi.hide(); // Hide from Tools menu
}


// Also check ULS trigger (MediaWiki translate extension button)
var $ulsBtn = $('#p-lang-btn, .uls-trigger, #pt-uls');
if ($ulsBtn.length) {
translateHref = $ulsBtn.attr('href') || translateHref;
}
/* ===== CLEAN UP TOOLS MENU — REMOVE LESS USEFUL ITEMS ===== */
// Optional: hide items you don't want in Tools
var hideFromTools = ['t-permalink', 't-info']; // add IDs to hide
hideFromTools.forEach(function(id) {
$('#' + id).hide();
});
});


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

Latest revision as of 19:12, 14 April 2026

/* Force viewport meta for mobile responsiveness */
(function() {
var existing = document.querySelector('meta[name="viewport"]');
if (existing) {
existing.setAttribute('content', 'width=device-width, initial-scale=1');
} else {
var meta = document.createElement('meta');
meta.name = 'viewport';
meta.content = 'width=device-width, initial-scale=1';
document.head.appendChild(meta);
}
})();

$(document).ready(function () {

/* ===== PIN MAIN MENU ON DESKTOP ===== */
if (window.innerWidth >= 1000) {
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);
}
}

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

/* ===== MOVE TRANSLATE LINK INTO SIDEBAR ===== */
// Find translate link from Tools menu
var $translateLi = $('#p-tb li').filter(function () {
return $(this).find('a').attr('href') &&
$(this).find('a').attr('href').indexOf('Translate') !== -1;
});

var translateHref = '#';
if ($translateLi.length) {
translateHref = $translateLi.find('a').attr('href');
$translateLi.hide(); // Hide from Tools menu
}

// Also check ULS trigger (MediaWiki translate extension button)
var $ulsBtn = $('#p-lang-btn, .uls-trigger, #pt-uls');
if ($ulsBtn.length) {
translateHref = $ulsBtn.attr('href') || translateHref;
}


/* ===== CLEAN UP TOOLS MENU — REMOVE LESS USEFUL ITEMS ===== */
// Optional: hide items you don't want in Tools
var hideFromTools = ['t-permalink', 't-info']; // add IDs to hide
hideFromTools.forEach(function(id) {
$('#' + id).hide();
});

});