summaryrefslogtreecommitdiff
path: root/rannak/mangud/uliopilane/ajatelg/script.js
blob: 5c667a53bff0e830741875d8cbe21030cb86a480 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
const list_items = document.querySelectorAll(".list-item");
const lists = document.querySelectorAll(".list");

let draggedItem = null;

for (let i=0; i < list_items.length; i++){
	const item = list_items[i];

	/* Event Listeners */
	item.addEventListener("dragstart", e => {
		draggedItem = item;
		setTimeout(() => (item.style.display = "none"), 0);
	});

	item.addEventListener("dragend", e => {
		setTimeout(() => {
			draggedItem.style.display = "block";
			draggedItem = null}, 0);
		checkIfAllGood();
	});

	for (let j=0; j < lists.length; j++){
		const list = lists[j];


		/* Event Listeners */
		list.addEventListener("dragenter",e => (e.preventDefault()));

		list.addEventListener("dragover",e => {
			e.preventDefault();
			//list.style.backgroundColor = "rgba(0,0,0,0.5)";
		});


		list.addEventListener("dragleave",e => {
			//list.style.backgroundColor = "rgba(0,0,0,0.3)";
		});


		list.addEventListener("drop",e => { 
			if ((list.children.length == 0 && list.id ==draggedItem.id) || list.className.includes("startBasket"))
				list.append(draggedItem);
			//list.style.backgroundColor = "rgba(0,0,0,0.5)";
		})
	}

}

function checkIfAllGood(){
	let rightDone = [];

	for (let j=0; j < lists.length; j++){
		const list = lists[j];
		if (list.className.includes("startBasket")){
			continue;
        }
		else if (list.children.length == 1){
			if (list.id == list.children[0].id){
				if (!rightDone.includes(list.id))
					rightDone.push(list.id);
				console.log(rightDone.length);
				console.log(rightDone);
			}
		}
	}  // For loop end

	if (rightDone.length == 12) {
        const btn = document.querySelector(".moveOn");
        btn.disabled = false;
        btn.onclick = () => location.href = "";
	}
}