MediaWiki:Common.js

From Future Of Mankind
Revision as of 08:29, 12 September 2024 by Earth Human Being (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)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */

//collapsible table column test, based on: https://codepen.io/feger/pen/eDybC
$(".btnHideEnglish").click(function() {
    console.log('Hiding first column of table with an id of report');
    $("table#collapsible_report > tbody:last-child > tr > th:first-child, table#collapsible_report > tbody:last-child > tr > td:first-child").toggle();
    $(this).text($(this).text() == "Hide English" ? "Show English" : "Hide English");
    $("table#collapsible_report").css({
        "width": $(this).text() == "Show English" ? "80%" : "100%"
    });
});

$(".btnHideHigh-German").click(function() {
    console.log('Hiding first column of table with an id of report');
    $("table#collapsible_report > tbody:last-child > tr > th:last-child, table#collapsible_report > tbody:last-child > tr > td:last-child").toggle();
    $(this).text($(this).text() == "Hide High German" ? "Show High German" : "Hide High German");
    $("table#collapsible_report").css({
        "width": $(this).text() == "Show High German" ? "80%" : "100%"
    });
});

$(".btnHideGerman").click(function() {
    console.log('Hiding first column of table with an id of report');
    $("table#collapsible_report > tbody:last-child > tr > th:last-child, table#collapsible_report > tbody:last-child > tr > td:last-child").toggle();
    $(this).text($(this).text() == "Hide German" ? "Show German" : "Hide German");
    $("table#collapsible_report").css({
        "width": $(this).text() == "Show German" ? "80%" : "100%"
    });
});

// hide the german by default, on page load, but only if the btnHideGerman element exists on the page
if (document.getElementById("btnHideGerman")) {
  console.log('btnHideGerman exists');
  //$("#btnHideGerman").click();
} else {
  // do stuff
  console.log('btnHideGerman does not exist');
}


$(document).ready(function() {
    $('.WD-Ausartung, .WD-Gewalt').hover(function() {
        // Set the tooltip content from the data attribute
        const tooltipContent = 'Explanation of the Plejaren language scientists, given to Billy on the 27th of August 2010: Ausartung means a very bad get-out of the control of the good human nature.';
        $(this).attr('data-tooltip', tooltipContent);

        // Create a tooltip element
        const tooltip = $('
').text(tooltipContent).appendTo('body');

        // Get the position of the hovered element
        const offset = $(this).offset();
        const elementWidth = $(this).outerWidth();
        const tooltipWidth = tooltip.outerWidth();
        const tooltipHeight = tooltip.outerHeight();

        // Calculate the position for the tooltip
        let top = offset.top - tooltipHeight - 10; // 10px above the element
        let left = offset.left + (elementWidth / 2) - (tooltipWidth / 2); // Centered above the element

        // Adjust if the tooltip goes off-screen
        if (left < 0) {
            left = 10; // 10px from the left edge
        } else if (left + tooltipWidth > $(window).width()) {
            left = $(window).width() - tooltipWidth - 10; // 10px from the right edge
        }

        // Adjust if the tooltip goes off the top of the screen
        if (top < 0) {
            top = offset.top + $(this).outerHeight() + 10; // Position below the element
        }

        // Set the position and show the tooltip
        tooltip.css({
            top: top,
            left: left,
            position: 'absolute',
            backgroundColor: '#d0dcf1',
            borderRadius: '6px',
            padding: '8px 12px',
            boxShadow: '0 0 8px rgba(27,27,27,0.6)',
            zIndex: 1000,
            display: 'block'
        });


});