diff --git a/src/static/test/index.html b/src/static/test/index.html index 4072aef..556f928 100644 --- a/src/static/test/index.html +++ b/src/static/test/index.html @@ -15,10 +15,10 @@
-
-
-
-
+
+
+
+
@@ -45,12 +45,12 @@
-
-
-
-
+
+
+
+
- + \ No newline at end of file diff --git a/src/static/test/js/events.js b/src/static/test/js/events.js new file mode 100644 index 0000000..9183ab5 --- /dev/null +++ b/src/static/test/js/events.js @@ -0,0 +1,49 @@ +let dragged; + +document.querySelectorAll("[dropable='true']").forEach(e => { + e.addEventListener("drag", event => { + }, false); + + e.addEventListener("dragstart", event => { + dragged = event.target; + }, false); + + e.addEventListener("dragend", event => { + }, false); + + e.addEventListener("dragover", event => { + event.preventDefault(); + }, false); + + e.addEventListener("dragenter", event => { + event.target.style.opacity = "0.4"; + }, false); + + e.addEventListener("dragleave", event => { + event.target.style.opacity = ""; + }, false); + + e.addEventListener("drop", event => { + event.preventDefault(); + const to = event.target.id.slice(0, 4) !== "main" ? event.target.parentNode : event.target; + + const from = { + val: dragged + }; + + console.log("from", dragged); + console.log("to", to); + + event.target.style.opacity = ""; + }, false); +}); + +export default ({ + createCardEvents: () => { + document.querySelectorAll(".card_outer[draggable='true']").forEach(card => { + card.addEventListener("dragstart", event => { + event.dataTransfer.setData("text/plain", null); + }); + }); + } +}); diff --git a/src/static/test/main.js b/src/static/test/js/main.js similarity index 58% rename from src/static/test/main.js rename to src/static/test/js/main.js index b42cece..c255e25 100644 --- a/src/static/test/main.js +++ b/src/static/test/js/main.js @@ -1,24 +1,29 @@ +import events from "./events.js"; + const colors = { 1: "blue", 2: "blue", 3: "blue", 4: "blue", 5: "green", 6: "green", 7: "green", 8: "green", 9: "red", 10: "red", 11: "red", 12: "red" }; -const card = ({ val }) => - `
+const card = ({ val, drag }) => + `
${val}
${val}
${val}
`; -/*document.querySelector("#p0_pile_card_0").insertAdjacentHTML("beforeend", - [{ val: ~~(Math.random() * 12) + 1 }].map(card).join`` -);*/ - const fillAll = () => { document.querySelectorAll(".pile").forEach(slot => { + console.log(slot.id); + if(slot.id.slice(0, 4) === "main" && slot.id.slice(-1) === "0") + return; slot.insertAdjacentHTML("beforeend", - [{ val: ~~(Math.random() * 12) + 1 }].map(card).join`` + [{ val: ~~(Math.random() * 12) + 1, drag: slot.id.slice(0, 2) === "p0" }].map(card).join`` ); }); }; +fillAll(); + + +events.createCardEvents(); \ No newline at end of file diff --git a/src/static/test/main.css b/src/static/test/main.css index 1bfacd9..684429d 100644 --- a/src/static/test/main.css +++ b/src/static/test/main.css @@ -17,6 +17,24 @@ html, body { height: 100%; width: 100%; } +* { + user-drag: none; + user-select: none; +} +*[draggable=true] { + cursor: move; +} +div[dropable=true] > * > * { + pointer-events: none; +} +[draggable] { + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + user-select: none; + -khtml-user-drag: element; + -webkit-user-drag: element; +} .player { position: absolute; @@ -176,8 +194,3 @@ html, body { var(--blue) 93.33% ); } - -[draggable=true] { - cursor: move; -} -