MediaWiki:Common.js
From Future Of Mankind
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() { $('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', ''); }); }); $(document).ready(function() { $('tr td:first-child .WD-Gewalt').hover(function() { // Set the tooltip content from the data attribute $(this).attr('data-tooltip', 'Explanation from Ptaah: Gewalt has nothing to do with the terms ‹heftig› (violent) and ‹Heftigkeit› (violence), because the old Lyrian term with regard to ‹Gewalt› means ‹Gewila›, and it is defined as using, with all the coercive means that are at one’s disposal, physical, psychical, mental, and consciousness-based powers, abilities and skills, in order to carry out and carry through terrible actions and deeds.'); }, function() { // Clear the tooltip content $(this).attr('data-tooltip', ''); }); }); $(document).ready(function() { $('tr td:first-child .WD-Wesen').hover(function() { // Set the tooltip content from the data attribute var tooltipContent = '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 (relating to the psyche), conscious, part-conscious, unconscious, impulse- or instinct-based development-forms (human being, animal, creature and plants).'; // Create a tooltip element var $tooltip = $(' ').text(tooltipContent).appendTo('body'); // Get the position of the hovered element var offset = $(this).offset(); var elementHeight = $(this).outerHeight(); var tooltipHeight = $tooltip.outerHeight(); var viewportHeight = $(window).height(); // Calculate the position for the tooltip var topPosition = offset.top - tooltipHeight - 5; // 5px above the element if (topPosition < 0 || (topPosition + tooltipHeight) > viewportHeight) { // If the tooltip goes off-screen above, position it below topPosition = offset.top + elementHeight + 5; // 5px below the element } // Set the tooltip position and show it $tooltip.css({ left: offset.left, top: topPosition, position: 'absolute', zIndex: 1000 // Ensure it's above other elements }); // Store the tooltip in the element for later removal $(this).data('tooltip', $tooltip); }, function() { // Clear the tooltip content and remove the tooltip element var $tooltip = $(this).data('tooltip'); if ($tooltip) { $tooltip.remove(); $(this).removeData('tooltip'); } }); });