blob: 7355a99168f9d7a3e0c3dbe00c7f0ac3a22760b6 (
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
|
import { Order } from "./templateImplementations.js"
import { displayNumberOfItemsInShoppingBasketWithBadge, findParentWithTag, childKillerUsingTags } from "./utils.js";
function getOrderArray() {
var orders = JSON.parse(localStorage.getItem("shoppingBasketArray"));
return orders;
}
function displayOrders() {
displayNumberOfItemsInShoppingBasketWithBadge();
const orderFunctionality = {
cancel: cancelOrder,
};
var orders = getOrderArray();
if (orders === null) return;
var main = document.querySelector("main");
for (let i = 0; i < orders.length; i++) {
var orderObj = new Order(orders[i], document.querySelector("#ticket"));
orderObj.addToNode(main, orderFunctionality);
}
}
function cancelOrder(event) {
//console.log(event.target);
const article = findParentWithTag.bind(event.target)("article");
var previous = article.previousSibling;
var i = 0;
while (previous) {
if (previous.tagName === "ARTICLE") {
i = i+1;
}
previous = previous.previousSibling;
}
var orders = getOrderArray();
orders.splice(i, 1);
localStorage.setItem("shoppingBasketArray", JSON.stringify(orders));
var main = document.querySelector("main");
childKillerUsingTags(main)(main.firstChild)("article");
displayOrders();
}
function finalizePayment(event) {
console.log("finalizing payments");
localStorage.clear();
window.location.replace("orderplaced.html");
}
document.querySelector("#finalizepaymentbutton").addEventListener("click", finalizePayment);
displayOrders();
|