MediaWiki:Common.js

From Dragon Ball World Wiki
Revision as of 18:10, 15 December 2024 by Titan099 (talk | contribs)
Jump to navigation Jump to search

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.
// JavaScript to dynamically create and insert a table, only on the "Meals" page
mw.loader.using(["mediawiki.util"]).then(function () {
  (function () {
    const targetPage = "Meals"; // Target page name
    const currentPage = mw.config.get("wgPageName");

    // Run the script only if the current page matches the target page
    if (currentPage !== targetPage) return;

    // Check if the content area exists
    const contentArea = document.getElementById("mw-content-text");
    if (!contentArea) return;

    // Create table element
    const table = document.createElement("table");
    table.className = "wikitable"; // Apply MediaWiki's table styling
    table.style.width = "50%";
    table.style.margin = "20px auto";

    // Add table header
    const headers = ["Food", "Category", "Calories"];
    const headerRow = document.createElement("tr");
    headers.forEach((header) => {
      const th = document.createElement("th");
      th.textContent = header;
      headerRow.appendChild(th);
    });
    table.appendChild(headerRow);

    // Add table rows with sample data
    const data = [
      ["Pizza", "Fast Food", "285"],
      ["Apple", "Fruit", "52"],
      ["Salad", "Healthy", "150"],
    ];

    data.forEach((row) => {
      const tableRow = document.createElement("tr");
      row.forEach((cell) => {
        const td = document.createElement("td");
        td.textContent = cell;
        tableRow.appendChild(td);
      });
      table.appendChild(tableRow);
    });

    // Insert the table into the page content area
    contentArea.prepend(table); // Add the table at the top of the content area
  })();
});