MediaWiki:Tierlist.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 5: | Line 5: | ||
let draggedItem = null; | let draggedItem = null; | ||
item.draggable | // Make tier items draggable | ||
document.querySelectorAll(".tier-item").forEach(function (item) { | |||
item.setAttribute("draggable", "true"); | |||
item.addEventListener("dragstart", function (e) { | |||
draggedItem = item; | draggedItem = item; | ||
console.log("Dragging:", item.id); | 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; | |||
}); | }); | ||
| Line 17: | Line 34: | ||
container.addEventListener("dragover", function(e) { | // Setup drop zones | ||
document.querySelectorAll(".tier-items").forEach(function (container) { | |||
container.addEventListener("dragover", function (e) { | |||
e.preventDefault(); | e.preventDefault(); | ||
e.dataTransfer.dropEffect = "move"; | |||
console.log("Over:", container.id); | |||
}); | }); | ||
container.addEventListener("drop", function(e) { | |||
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(); | 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); | |||
} | } | ||
| Line 35: | Line 91: | ||
}); | }); | ||
}); | }); | ||
Revision as of 09:15, 18 July 2026
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);
}
});
});
});