Jump to content

MediaWiki:Common.js

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. */
mw.hook('wikipage.content').add(function() {
    document.querySelectorAll('.poll-loading-msg').forEach(el => el.style.display = 'none');
    document.querySelectorAll('[id^="poll-display_"]').forEach(el => el.style.display = 'block');
});


document.addEventListener("DOMContentLoaded", function () {
    var iframe = document.getElementById("google-form");
    function resizeIframe() {
        if (iframe) {
            iframe.style.height = iframe.contentWindow.document.body.scrollHeight + "px";
        }
    }
    if (iframe) {
        iframe.onload = resizeIframe;
    }
});

function checkAllPollsVoted() {
    let allPollsVoted = true;
    
    // Get all poll containers
    document.querySelectorAll('[id^="poll-display_"]').forEach(poll => {
        // Check if any radio button is selected within this poll
        if (!poll.querySelector('input[type="radio"]:checked')) {
            allPollsVoted = false; // If even one poll is not voted, set to false
        }
    });

    // If all polls are voted, display custom content
    if (allPollsVoted) {
        document.getElementById('poll-completion-message').style.display = 'block';
    } else {
        document.getElementById('poll-completion-message').style.display = 'none';
    }
}

// Run the function on page load and on change of any radio button
document.addEventListener('DOMContentLoaded', checkAllPollsVoted);
document.addEventListener('change', checkAllPollsVoted);