MediaWiki:Common.js

From Future Of Mankind
Revision as of 07:40, 10 October 2023 by Earth Human Being (talk | contribs)

Note: After saving, 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: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
$(document).ready(function() {
  var term = 'Jschwjsch';
  var footnoteContent = 'The term is applied only to men and means King of Wisdom.';

  // Check if the current page is in the allowedPages array
  if (allowedPages.includes(mw.config.get('wgPageName'))) {
    $('#collapsible_report > tbody > tr > td:first-child').each(function() {
      var text = $(this).html();
      var regex = new RegExp('\\b' + term + '\\b', 'g');
      var newText = text.replace(regex, '<span class="footnote">' + term + '<div class="footnote-content">' + footnoteContent + '</div></span>');

      $(this).html(newText);
    });
  }

  $(".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").toggle();
    $("table#collapsible_report > tbody:last-child > tr > td:first-child").toggle();
    if ($(this).text() == "Hide English") {
      $(this).text("Show English");
      $("table#collapsible_report").css({"width": "80%", "margin": "0 auto"});
    } else {
      $(this).text("Hide English");
      $("table#collapsible_report").css({"width": "", "border-spacing": "1.5em 0", "margin": "0 -1.5em"});
    }
  });

  $(".btnHideHigh-German").click(function() {
    console.log('Hiding second column of table with an id of report');
    $("table#collapsible_report > tbody:last-child > tr > th:last-child").toggle();
    $("table#collapsible_report > tbody:last-child > tr > td:last-child").toggle();
    if ($(this).text() == "Hide High German") {
      $(this).text("Show High German");
      $("table#collapsible_report").css({"width": "80%", "margin": "0 auto"});
    } else {
      $(this).text("Hide High German");
      $("table#collapsible_report").css({"width": "", "border-spacing": "1.5em 0", "margin": "0 -1.5em"});
    }
  });

  $(".btnHideGerman").click(function() {
    console.log('Hiding second column of table with an id of report');
    $("table#collapsible_report > tbody:last-child > tr > th:last-child").toggle();
    $("table#collapsible_report > tbody:last-child > tr > td:last-child").toggle();
    if ($(this).text() == "Hide German") {
      $(this).text("Show German");
      $("table#collapsible_report").css({"width": "80%", "margin": "0 auto"});
    } else {
      $(this).text("Hide German");
      $("table#collapsible_report").css({"width": "", "border-spacing": "1.5em 0", "margin": "0 -1.5em"});
    }
  });

  // 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');
  }
});