MediaWiki:Tierlist.js

From Roat Pkz
Revision as of 09:15, 18 July 2026 by Hefner (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.
mw.loader.using('mediawiki.util').then(function () {

    console.log("✅ TierList.js loaded");

    let draggedItem = null;


    // Make tier items draggable
    document.querySelectorAll(".tier-item").forEach(function (item) {

        item.setAttribute("draggable", "true");

        item.addEventListener("dragstart", function (e) {

            draggedItem = item;

            console.log("Dragging:", item.id);

            e.dataTransfer.effectAllowed = "move";
            e.dataTransfer.setData("text/plain", item.id);

        });


        item.addEventListener("dragend", function () {

            console.log("Drag ended");

            draggedItem = null;

        });

    });



    // Setup drop zones
    document.querySelectorAll(".tier-items").forEach(function (container) {


        container.addEventListener("dragover", function (e) {

            e.preventDefault();

            e.dataTransfer.dropEffect = "move";

            console.log("Over:", container.id);

        });



        container.addEventListener("dragenter", function () {

            container.classList.add("tier-hover");

        });



        container.addEventListener("dragleave", function () {

            container.classList.remove("tier-hover");

        });



        container.addEventListener("drop", function (e) {

            e.preventDefault();

            container.classList.remove("tier-hover");


            let id = e.dataTransfer.getData("text/plain");

            let item = document.getElementById(id);


            console.log("Dropped:", id, "into", container.id);


            if (item) {

                container.appendChild(item);

            }

        });

    });


});