MediaWiki:Common.js: Difference between revisions

From Future Of Mankind
No edit summary
Tag: Reverted
No edit summary
 
(128 intermediate revisions by the same user not shown)
Line 40: Line 40:




(function () {
$(document).ready(function() {
     'use strict';
    // Hover for .WD-Ausartung
    $('tr td:first-child .WD-Ausartung').hover(function() {
        // Set the tooltip content from the data attribute
        $(this).attr('data-tooltip', 'Explanation of the Plejaren language scientists, given to Billy on the 27th of August 2010: Ausartung means to get very badly out of control of the good human nature.');
     }, function() {
        // Clear the tooltip content
        $(this).attr('data-tooltip', '');
    });


     // Define the Tooltip class
     // Hover for .WD-Gewalt
     class Tooltip {
     $('tr td:first-child .WD-Gewalt').hover(function() {
         constructor(element) {
         // Set the tooltip content from the data attribute
            this.element = element;
        $(this).attr('data-tooltip', 'Ptaah explains that \'Gewalt\' is distinct from the terms \'heftig\' (violent) and \'Heftigkeit\' (violence). The old Lyrian term \'Gewalt\' refers to \'Gewila,\' which involves using all available coercive means – physical, psychological, mental, and consciousness-based powers, to execute terrible actions.');
            this.setup();
    }, function() {
        }
        // Clear the tooltip content
        $(this).attr('data-tooltip', '');
    });


        setup() {
    // Hover for .WD-Ischrisch
            this.placeholder = this.element.querySelector('[data-tooltip-placeholder]');
    $('tr td:first-child .WD-Ischrisch').hover(function() {
            this.dropdown = this.element.querySelector('[data-tooltip-dropdown]');
        // Set the tooltip content from the data attribute
        $(this).attr('data-tooltip', 'Queen of wisdom.');
    }, function() {
        // Clear the tooltip content
        $(this).attr('data-tooltip', '');
    });


            this.placeholder.addEventListener('mouseover', () => this.handleDropdownPosition());
    // Hover for .WD-Ischwisch
            this.placeholder.addEventListener('touchstart', () => this.toggle());
    $('tr td:first-child .WD-Ischwisch').hover(function() {
         }
         // Set the tooltip content from the data attribute
 
         $(this).attr('data-tooltip', 'King of wisdom.');
         handleDropdownPosition() {
    }, function() {
            const screenPadding = 16;
        // Clear the tooltip content
            const placeholderRect = this.placeholder.getBoundingClientRect();
        $(this).attr('data-tooltip', '');
            const dropdownRect = this.dropdown.getBoundingClientRect();
     });
            const dropdownRightX = dropdownRect.x + dropdownRect.width;
            const placeholderRightX = placeholderRect.x + placeholderRect.width;
 
            if (dropdownRect.x < 0) {
                this.dropdown.style.left = '0';
                this.dropdown.style.right = 'auto';
                this.dropdown.style.transform =
translateX(${-placeholderRect.x + screenPadding}px)
;
            } else if (dropdownRightX > window.outerWidth) {
                this.dropdown.style.left = 'auto';
                this.dropdown.style.right = '0';
                this.dropdown.style.transform =
translateX(${(window.outerWidth - placeholderRightX) - screenPadding}px)
;
            }
        }
 
        toggle() {
            if (this.element.classList.contains('tooltip--open')) {
                this.close();
            } else {
                this.open();
            }
        }
 
        open() {
            this.element.classList.add('tooltip--open');
            this.handleDropdownPosition();
        }
 
        close() {
            this.element.classList.remove('tooltip--open');
        }
     }
 
    // Function to dismiss all tooltips
    function dismissAllTooltips(event) {
        if (typeof event.target.closest !== 'function') return;
        const currentTooltip = event.target.closest('.tooltip');


        document.querySelectorAll('.tooltip--open').forEach(tooltip => {
    // Hover for .WD-Wesen
            if (tooltip === currentTooltip) return;
    $('tr td:first-child .WD-Wesen').hover(function() {
            tooltip.classList.remove('tooltip--open');
        // Set the tooltip content from the data attribute
        });
        $(this).attr('data-tooltip', 'A Wesen is an independently existing life-form with its own individuality and personality in an impulse-based, instinct-based or conscious consciousness-form with evolution-possibilities that are specifically directed towards everything, and with its own physical, psychical, conscious, part-conscious, unconscious, impulse- or instinct-based development-forms.');
    }
    }, function() {
 
        // Clear the tooltip content
    // Initialize tooltips on the page
        $(this).attr('data-tooltip', '');
    document.querySelectorAll('.tooltip').forEach(tooltipElement => {
        new Tooltip(tooltipElement);
     });
     });
 
});
    // Add event listener to dismiss tooltips on touchstart
    document.addEventListener('touchstart', e => dismissAllTooltips(e));
})();

Latest revision as of 18:39, 19 September 2024

/* 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() {
    // Hover for .WD-Ausartung
    $('tr td:first-child .WD-Ausartung').hover(function() {
        // Set the tooltip content from the data attribute
        $(this).attr('data-tooltip', 'Explanation of the Plejaren language scientists, given to Billy on the 27th of August 2010: Ausartung means to get very badly out of control of the good human nature.');
    }, function() {
        // Clear the tooltip content
        $(this).attr('data-tooltip', '');
    });

    // Hover for .WD-Gewalt
    $('tr td:first-child .WD-Gewalt').hover(function() {
        // Set the tooltip content from the data attribute
        $(this).attr('data-tooltip', 'Ptaah explains that \'Gewalt\' is distinct from the terms \'heftig\' (violent) and \'Heftigkeit\' (violence). The old Lyrian term \'Gewalt\' refers to \'Gewila,\' which involves using all available coercive means – physical, psychological, mental, and consciousness-based powers, to execute terrible actions.');
    }, function() {
        // Clear the tooltip content
        $(this).attr('data-tooltip', '');
    });

    // Hover for .WD-Ischrisch
    $('tr td:first-child .WD-Ischrisch').hover(function() {
        // Set the tooltip content from the data attribute
        $(this).attr('data-tooltip', 'Queen of wisdom.');
    }, function() {
        // Clear the tooltip content
        $(this).attr('data-tooltip', '');
    });

    // Hover for .WD-Ischwisch
    $('tr td:first-child .WD-Ischwisch').hover(function() {
        // Set the tooltip content from the data attribute
        $(this).attr('data-tooltip', 'King of wisdom.');
    }, function() {
        // Clear the tooltip content
        $(this).attr('data-tooltip', '');
    });

    // Hover for .WD-Wesen
    $('tr td:first-child .WD-Wesen').hover(function() {
        // Set the tooltip content from the data attribute
        $(this).attr('data-tooltip', 'A Wesen is an independently existing life-form with its own individuality and personality in an impulse-based, instinct-based or conscious consciousness-form with evolution-possibilities that are specifically directed towards everything, and with its own physical, psychical, conscious, part-conscious, unconscious, impulse- or instinct-based development-forms.');
    }, function() {
        // Clear the tooltip content
        $(this).attr('data-tooltip', '');
    });
});