diff --git a/.vs/GIS-SoSe-2020/v16/.suo b/.vs/GIS-SoSe-2020/v16/.suo
new file mode 100644
index 0000000..faea06a
Binary files /dev/null and b/.vs/GIS-SoSe-2020/v16/.suo differ
diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json
new file mode 100644
index 0000000..6b61141
--- /dev/null
+++ b/.vs/VSWorkspaceState.json
@@ -0,0 +1,6 @@
+{
+ "ExpandedNodes": [
+ ""
+ ],
+ "PreviewInSolutionExplorer": false
+}
\ No newline at end of file
diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite
new file mode 100644
index 0000000..3cc2e27
Binary files /dev/null and b/.vs/slnx.sqlite differ
diff --git a/Aufgaben/Aufgabe_07_2020-06-10/script.js.map b/Aufgaben/Aufgabe_07_2020-06-10/script.js.map
deleted file mode 100644
index 65a2af3..0000000
--- a/Aufgaben/Aufgabe_07_2020-06-10/script.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"script.js","sourceRoot":"","sources":["script.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/Aufgaben/Aufgabe_07_2020-06-10/shop.html b/Aufgaben/Aufgabe_07_2020-06-10/shop.html
index a9b6ec4..2ac4823 100644
--- a/Aufgaben/Aufgabe_07_2020-06-10/shop.html
+++ b/Aufgaben/Aufgabe_07_2020-06-10/shop.html
@@ -3,12 +3,12 @@
-
+
-
+
green grass
@@ -32,7 +32,7 @@
diff --git a/Aufgaben/Aufgabe_07_2020-06-10/script.js b/Aufgaben/Aufgabe_07_2020-06-10/shop.js
similarity index 64%
rename from Aufgaben/Aufgabe_07_2020-06-10/script.js
rename to Aufgaben/Aufgabe_07_2020-06-10/shop.js
index 0fc74a4..d0af35f 100644
--- a/Aufgaben/Aufgabe_07_2020-06-10/script.js
+++ b/Aufgaben/Aufgabe_07_2020-06-10/shop.js
@@ -1,68 +1,76 @@
"use strict";
// Datensammlung für Produkte
-var Aufgabe06;
-(function (Aufgabe06) {
+var Aufgabe07;
+(function (Aufgabe07) {
let shoppingPrice = 0;
- let shoppingCount = 0;
+ let shoppingCount = localStorage.length;
+ if (localStorage.length > 0)
+ shoppingCount--;
+ document.querySelector("#shoppingCartNumber").innerHTML = shoppingCount.toLocaleString();
+ let jsonObj;
communicate("http://127.0.0.1:5500/Aufgaben/Aufgabe_07_2020-06-10/myJSON.json");
async function communicate(_url) {
let response = await fetch(_url);
- let jsonObj = await response.json();
+ jsonObj = await response.json();
console.log("Response", response);
- printProducts(100, jsonObj);
+ printProducts(100);
/*console.log(jsonObj);
console.log(jsonObj[0].products[2].price);
console.log(jsonObj[1].products[3].title);*/
document.querySelector("#special_a").addEventListener("click", drawSpecial);
function drawSpecial() {
- printProducts(0, jsonObj);
+ printProducts(0);
}
document.querySelector("#bunt_a").addEventListener("click", drawBunt);
function drawBunt() {
- printProducts(1, jsonObj);
+ printProducts(1);
}
document.querySelector("#grün_a").addEventListener("click", drawGrün);
function drawGrün() {
- printProducts(2, jsonObj);
+ printProducts(2);
}
document.querySelector("#all_a").addEventListener("click", drawAll);
function drawAll() {
- printProducts(100, jsonObj);
+ printProducts(100);
}
}
- Aufgabe06.communicate = communicate;
+ Aufgabe07.communicate = communicate;
+ updateShoppingCount();
+ function updateShoppingCount() {
+ shoppingCount = localStorage.length - 1;
+ }
//printProducts(100);
//console.log(jsonObj[1].products[3].title);
//create Structure;
- function printProducts(_catNumber, _jsonObj) {
- clearProducts(_jsonObj);
+ function printProducts(_catNumber) {
+ clearProducts();
let catCheck = false;
if (_catNumber != 100)
catCheck = true;
else
_catNumber = 0;
- for (let nummer = _catNumber; nummer < _jsonObj.length; nummer++) {
+ for (let nummer = _catNumber; nummer < jsonObj.length; nummer++) {
let heading = document.createElement("h1");
- heading.setAttribute("id", _jsonObj[nummer].id);
- heading.innerHTML = `${_jsonObj[nummer].title}`;
+ heading.setAttribute("id", jsonObj[nummer].id);
+ heading.innerHTML = `${jsonObj[nummer].title}`;
document.querySelector("#übersicht").appendChild(heading);
let container = document.createElement("div");
container.classList.add("container");
document.querySelector("#übersicht").appendChild(container);
- for (let index = 0; index < _jsonObj[nummer].products.length; index++) {
+ for (let index = 0; index < jsonObj[nummer].products.length; index++) {
let product = document.createElement("div");
product.classList.add("product");
product.innerHTML = `
- ${_jsonObj[nummer].products[index].title}
+ ${jsonObj[nummer].products[index].title}
- ${_jsonObj[nummer].products[index].price.toFixed(2).toLocaleString()} ¥
-
+ ${jsonObj[nummer].products[index].price.toFixed(2).toLocaleString()} ¥
+
-
- Size: ${_jsonObj[nummer].products[index].size}
+
+ Size: ${jsonObj[nummer].products[index].size}
-
${_jsonObj[nummer].products[index].description}
+
${jsonObj[nummer].products[index].description}
`;
container.appendChild(product);
@@ -72,29 +80,41 @@ var Aufgabe06;
}
addShoppingFunction();
}
- function clearProducts(_jsonObj) {
- console.log("Ich wurde geklickt");
- for (let nummer = 0; nummer < _jsonObj.length; nummer++) {
+ function clearProducts() {
+ for (let nummer = 0; nummer < jsonObj.length; nummer++) {
let alles = document.querySelector("#übersicht");
alles.innerHTML = "";
}
}
function money(_event) {
let target = _event.target;
- let price = parseFloat(target.getAttribute("productPrice"));
+ //let price: number = parseFloat(target.getAttribute("productPrice")!);
+ let price = jsonObj[parseInt(target.getAttribute("categoryNumber"))].products[parseInt(target.getAttribute("productIndex"))].price;
console.log("Artikel-Preis: " + price + " ¥");
shoppingPrice += price;
console.log("Shopping-Cart-Preis: " + shoppingPrice + " ¥");
shoppingCount++;
document.querySelector("#shoppingCartNumber").innerHTML = shoppingCount.toLocaleString();
}
+ function addLocal(_event) {
+ if (localStorage.shoppingCount) {
+ localStorage.shoppingCount = Number(localStorage.shoppingCount) + 1;
+ }
+ else {
+ localStorage.shoppingCount = 1;
+ }
+ let target = _event.target;
+ let shoppingProduct = jsonObj[parseInt(target.getAttribute("categoryNumber"))].products[parseInt(target.getAttribute("productIndex"))];
+ localStorage.setItem(`${shoppingProduct.title}`, JSON.stringify(shoppingProduct));
+ }
function addShoppingFunction() {
const buttons = document.getElementsByClassName("addProduct");
for (const button of buttons) {
button.addEventListener("click", money);
+ button.addEventListener("click", addLocal);
}
}
-})(Aufgabe06 || (Aufgabe06 = {}));
+})(Aufgabe07 || (Aufgabe07 = {}));
// Folgender auskommentierter Code dient mir als Archiv für Gedankenansätze oder Verläufe.
// Wenn dies nicht gerne gesehen ist, gebt mir kurz Bescheid und ich werde es entfernen
/*
@@ -137,4 +157,4 @@ let myJSON: string = JSON.stringify(categories);
JSON.stringify(categories);
console.log(myJSON);
*/
-//# sourceMappingURL=script.js.map
\ No newline at end of file
+//# sourceMappingURL=shop.js.map
\ No newline at end of file
diff --git a/Aufgaben/Aufgabe_07_2020-06-10/shop.js.map b/Aufgaben/Aufgabe_07_2020-06-10/shop.js.map
new file mode 100644
index 0000000..a0ea595
--- /dev/null
+++ b/Aufgaben/Aufgabe_07_2020-06-10/shop.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"shop.js","sourceRoot":"","sources":["shop.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/Aufgaben/Aufgabe_07_2020-06-10/script.ts b/Aufgaben/Aufgabe_07_2020-06-10/shop.ts
similarity index 67%
rename from Aufgaben/Aufgabe_07_2020-06-10/script.ts
rename to Aufgaben/Aufgabe_07_2020-06-10/shop.ts
index 08b2c50..44bccf2 100644
--- a/Aufgaben/Aufgabe_07_2020-06-10/script.ts
+++ b/Aufgaben/Aufgabe_07_2020-06-10/shop.ts
@@ -1,9 +1,15 @@
// Datensammlung für Produkte
-namespace Aufgabe06 {
+namespace Aufgabe07 {
let shoppingPrice: number = 0;
- let shoppingCount: number = 0;
+ let shoppingCount: number = localStorage.length;
+ if ( localStorage.length > 0)
+ shoppingCount --;
+
+ (document.querySelector("#shoppingCartNumber")).innerHTML = shoppingCount.toLocaleString();
+
+ let jsonObj: Category[];
export interface Product {
title: string;
@@ -23,9 +29,9 @@ namespace Aufgabe06 {
export async function communicate(_url: RequestInfo): Promise {
let response: Response = await fetch(_url);
- let jsonObj: Category[] = await response.json();
+ jsonObj = await response.json();
console.log("Response", response);
- printProducts(100, jsonObj);
+ printProducts(100);
/*console.log(jsonObj);
console.log(jsonObj[0].products[2].price);
@@ -33,62 +39,68 @@ namespace Aufgabe06 {
(document.querySelector("#special_a")).addEventListener("click", drawSpecial);
function drawSpecial(): void {
- printProducts(0, jsonObj);
+ printProducts(0);
}
(document.querySelector("#bunt_a")).addEventListener("click", drawBunt);
function drawBunt(): void {
- printProducts(1, jsonObj);
+ printProducts(1);
}
(document.querySelector("#grün_a")).addEventListener("click", drawGrün);
function drawGrün(): void {
- printProducts(2, jsonObj);
+ printProducts(2);
}
(document.querySelector("#all_a")).addEventListener("click", drawAll);
function drawAll(): void {
- printProducts(100, jsonObj);
+ printProducts(100);
}
}
+ updateShoppingCount();
+
+ function updateShoppingCount(): void {
+ shoppingCount = localStorage.length - 1;
+ }
+
//printProducts(100);
//console.log(jsonObj[1].products[3].title);
//create Structure;
- function printProducts(_catNumber: number, _jsonObj: Category[]): void {
+ function printProducts(_catNumber: number): void {
- clearProducts(_jsonObj);
+ clearProducts();
let catCheck: boolean = false;
if (_catNumber != 100)
catCheck = true;
- else
+ else
_catNumber = 0;
- for (let nummer: number = _catNumber; nummer < _jsonObj.length; nummer++) {
+ for (let nummer: number = _catNumber; nummer < jsonObj.length; nummer++) {
let heading: HTMLHeadingElement = document.createElement("h1");
- heading.setAttribute("id", _jsonObj[nummer].id);
- heading.innerHTML = `${_jsonObj[nummer].title}`;
+ heading.setAttribute("id", jsonObj[nummer].id);
+ heading.innerHTML = `${jsonObj[nummer].title}`;
(document.querySelector("#übersicht")).appendChild(heading);
let container: HTMLDivElement = document.createElement("div");
container.classList.add("container");
(document.querySelector("#übersicht")).appendChild(container);
- for (let index: number = 0; index < _jsonObj[nummer].products.length; index++) {
+ for (let index: number = 0; index < jsonObj[nummer].products.length; index++) {
let product: HTMLDivElement = document.createElement("div");
product.classList.add("product");
product.innerHTML = `
- ${_jsonObj[nummer].products[index].title}
+ ${jsonObj[nummer].products[index].title}
- ${_jsonObj[nummer].products[index].price.toFixed(2).toLocaleString()} ¥
-
+ ${jsonObj[nummer].products[index].price.toFixed(2).toLocaleString()} ¥
+
-
- Size: ${_jsonObj[nummer].products[index].size}
+
+ Size: ${jsonObj[nummer].products[index].size}
-
${_jsonObj[nummer].products[index].description}
+
${jsonObj[nummer].products[index].description}
`;
container.appendChild(product);
@@ -99,9 +111,8 @@ namespace Aufgabe06 {
addShoppingFunction();
}
- function clearProducts(_jsonObj: Category[]): void {
- console.log("Ich wurde geklickt");
- for (let nummer: number = 0; nummer < _jsonObj.length; nummer++) {
+ function clearProducts(): void {
+ for (let nummer: number = 0; nummer < jsonObj.length; nummer++) {
let alles: HTMLDivElement = (document.querySelector("#übersicht"));
alles.innerHTML = "";
}
@@ -109,7 +120,8 @@ namespace Aufgabe06 {
function money(_event: Event): void {
let target: HTMLElement = (_event.target);
- let price: number = parseFloat(target.getAttribute("productPrice")!);
+ //let price: number = parseFloat(target.getAttribute("productPrice")!);
+ let price: number = jsonObj[parseInt(target.getAttribute("categoryNumber")!)].products[parseInt(target.getAttribute("productIndex")!)].price;
console.log("Artikel-Preis: " + price + " ¥");
shoppingPrice += price;
console.log("Shopping-Cart-Preis: " + shoppingPrice + " ¥");
@@ -117,10 +129,22 @@ namespace Aufgabe06 {
(document.querySelector("#shoppingCartNumber")).innerHTML = shoppingCount.toLocaleString();
}
+ function addLocal(_event: Event): void {
+ if (localStorage.shoppingCount) {
+ localStorage.shoppingCount = Number(localStorage.shoppingCount) + 1;
+ } else {
+ localStorage.shoppingCount = 1;
+ }
+ let target: HTMLElement = (_event.target);
+ let shoppingProduct: Product = jsonObj[parseInt(target.getAttribute("categoryNumber")!)].products[parseInt(target.getAttribute("productIndex")!)];
+ localStorage.setItem(`${shoppingProduct.title}`, JSON.stringify(shoppingProduct) );
+ }
+
function addShoppingFunction(): void {
const buttons: HTMLCollectionOf = document.getElementsByClassName("addProduct");
for (const button of buttons) {
button.addEventListener("click", money);
+ button.addEventListener("click", addLocal);
}
}
}
@@ -166,7 +190,7 @@ console.log(theName);
*/
-/*
+/*
let myJSON: string = JSON.stringify(categories);
JSON.stringify(categories);
console.log(myJSON);
diff --git a/Aufgaben/Aufgabe_07_2020-06-10/shoppingCart.html b/Aufgaben/Aufgabe_07_2020-06-10/shoppingCart.html
new file mode 100644
index 0000000..3c8c2e8
--- /dev/null
+++ b/Aufgaben/Aufgabe_07_2020-06-10/shoppingCart.html
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ green grass
+
+
+
+
+
+
+
+
+
+
+ Current Price:
+ Hello
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Aufgaben/Aufgabe_07_2020-06-10/shoppingCart.js b/Aufgaben/Aufgabe_07_2020-06-10/shoppingCart.js
new file mode 100644
index 0000000..4486e3c
--- /dev/null
+++ b/Aufgaben/Aufgabe_07_2020-06-10/shoppingCart.js
@@ -0,0 +1,99 @@
+"use strict";
+var Aufgabe07;
+(function (Aufgabe07) {
+ let shoppingPrice = 0;
+ if (localStorage.length > 0)
+ printProducts();
+ //showPrice();
+ //printProducts(100);
+ //console.log(jsonObj[1].products[3].title);
+ //create Structure;
+ function printProducts() {
+ //clearProducts();
+ shoppingPrice = 0;
+ let container = document.createElement("div");
+ container.classList.add("container");
+ document.querySelector("#übersicht").appendChild(container);
+ for (let iterator = 0; iterator < localStorage.length; iterator++) {
+ if (localStorage.key(iterator) == "shoppingCount")
+ continue;
+ let zeug = JSON.parse(localStorage.getItem(localStorage.key(iterator)));
+ let product = document.createElement("div");
+ product.classList.add("product");
+ product.innerHTML = `
+ ${zeug.title}
+
+ ${zeug.price} ¥
+
+
+
+ Size: ${zeug.size}
+
+ `;
+ container.appendChild(product);
+ /*let shoppingPrice: HTMLSpanElement = (document.querySelector("#showPrice"));
+ myPrice += zeug.price;
+ shoppingPrice.innerHTML = myPrice.toLocaleString() + " ¥";
+ //alles.innerHTML = "";*/
+ fixPrice(zeug.price);
+ }
+ document.querySelector("#removeAllItems").addEventListener("click", clearLocalStorage);
+ addRemoveFunction();
+ } // zeug.price.toFixed(2).toLocaleString()
+ //addShoppingFunction();
+ function clearLocalStorage() {
+ localStorage.clear();
+ document.querySelector("#übersicht").innerHTML = "";
+ }
+ function removeItem(_event) {
+ let target = _event.target;
+ //let price: number = parseFloat(target.getAttribute("productPrice")!);
+ //let price: number = jsonObj[parseInt(target.getAttribute("categoryNumber")!)].products[parseInt(target.getAttribute("productIndex")!)].price;
+ localStorage.removeItem(`${localStorage.key(parseInt(target.getAttribute("itemIndex")))}`);
+ document.querySelector("#übersicht").innerHTML = "";
+ printProducts();
+ }
+ function addRemoveFunction() {
+ const buttons = document.getElementsByClassName("removeProduct");
+ for (const button of buttons) {
+ button.addEventListener("click", removeItem);
+ }
+ }
+ function fixPrice(_price) {
+ shoppingPrice += _price;
+ let shoppingPriceEle = document.querySelector("#showPrice");
+ shoppingPriceEle.innerHTML = shoppingPrice.toLocaleString() + " ¥";
+ }
+ /*function money(_event: Event): void {
+ let target: HTMLElement = (_event.target);
+ //let price: number = parseFloat(target.getAttribute("productPrice")!);
+ let price: number = jsonObj[parseInt(target.getAttribute("categoryNumber")!)].products[parseInt(target.getAttribute("productIndex")!)].price;
+ console.log("Artikel-Preis: " + price + " ¥");
+ shoppingPrice += price;
+ console.log("Shopping-Cart-Preis: " + shoppingPrice + " ¥");
+ shoppingCount++;
+ (document.querySelector("#shoppingCartNumber")).innerHTML = shoppingCount.toLocaleString();
+ }
+
+ function removeLocal(_event: Event): void {
+ if (localStorage.shoppingCount) {
+ localStorage.shoppingCount = Number(localStorage.shoppingCount) + 1;
+ } else {
+ localStorage.shoppingCount = 1;
+ }
+ let target: HTMLElement = (_event.target);
+ let shoppingProduct: Product = jsonObj[parseInt(target.getAttribute("categoryNumber")!)].products[parseInt(target.getAttribute("productIndex")!)];
+ localStorage.setItem(`${shoppingProduct.title}`, JSON.stringify(shoppingProduct));
+ }
+
+ function addShoppingFunction(): void {
+ const buttons: HTMLCollectionOf = document.getElementsByClassName("addProduct");
+ for (const button of buttons) {
+ button.addEventListener("click", money);
+ button.addEventListener("click", removeLocal);
+ }
+ }*/
+})(Aufgabe07 || (Aufgabe07 = {}));
+//# sourceMappingURL=shoppingCart.js.map
\ No newline at end of file
diff --git a/Aufgaben/Aufgabe_07_2020-06-10/shoppingCart.js.map b/Aufgaben/Aufgabe_07_2020-06-10/shoppingCart.js.map
new file mode 100644
index 0000000..cbd5682
--- /dev/null
+++ b/Aufgaben/Aufgabe_07_2020-06-10/shoppingCart.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"shoppingCart.js","sourceRoot":"","sources":["shoppingCart.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/Aufgaben/Aufgabe_07_2020-06-10/shoppingCart.ts b/Aufgaben/Aufgabe_07_2020-06-10/shoppingCart.ts
new file mode 100644
index 0000000..d5b6ce9
--- /dev/null
+++ b/Aufgaben/Aufgabe_07_2020-06-10/shoppingCart.ts
@@ -0,0 +1,130 @@
+
+namespace Aufgabe07 {
+
+ let shoppingPrice: number = 0;
+ //let shoppingCount: number = 0;
+
+ export interface Product {
+ title: string;
+ price: number;
+ size: string;
+ imgName: string;
+ description: string;
+ }
+
+ export interface Category {
+ title: string;
+ id: string;
+ products: Product[];
+ }
+
+ if (localStorage.length > 0)
+ printProducts();
+ //showPrice();
+
+ //printProducts(100);
+ //console.log(jsonObj[1].products[3].title);
+
+ //create Structure;
+
+ function printProducts(): void {
+
+ //clearProducts();
+ shoppingPrice = 0;
+
+ let container: HTMLDivElement = document.createElement("div");
+ container.classList.add("container");
+ (document.querySelector("#übersicht")).appendChild(container);
+
+ for (let iterator: number = 0; iterator < localStorage.length; iterator++) {
+ if (localStorage.key(iterator)! == "shoppingCount")
+ continue;
+ let zeug: Product = JSON.parse(localStorage.getItem(localStorage.key(iterator)!)!);
+ let product: HTMLDivElement = document.createElement("div");
+ product.classList.add("product");
+ product.innerHTML = `
+ ${zeug.title}
+
+ ${zeug.price} ¥
+
+
+
+ Size: ${zeug.size}
+
+ `;
+ container.appendChild(product);
+
+ /*let shoppingPrice: HTMLSpanElement = (document.querySelector("#showPrice"));
+ myPrice += zeug.price;
+ shoppingPrice.innerHTML = myPrice.toLocaleString() + " ¥";
+ //alles.innerHTML = "";*/
+ fixPrice(zeug.price);
+ }
+ (document.querySelector("#removeAllItems")).addEventListener("click", clearLocalStorage);
+ addRemoveFunction();
+ } // zeug.price.toFixed(2).toLocaleString()
+ //addShoppingFunction();
+
+ function clearLocalStorage(): void {
+ localStorage.clear();
+ (document.querySelector("#übersicht")).innerHTML = "";
+ }
+
+ function removeItem(_event: Event): void {
+ let target: HTMLElement = (_event.target);
+ //let price: number = parseFloat(target.getAttribute("productPrice")!);
+ //let price: number = jsonObj[parseInt(target.getAttribute("categoryNumber")!)].products[parseInt(target.getAttribute("productIndex")!)].price;
+ localStorage.removeItem(`${localStorage.key(parseInt(target.getAttribute("itemIndex")!)!)}`);
+ (document.querySelector("#übersicht")).innerHTML = "";
+ printProducts();
+ }
+
+ function addRemoveFunction(): void {
+ const buttons: HTMLCollectionOf = document.getElementsByClassName("removeProduct");
+ for (const button of buttons) {
+ button.addEventListener("click", removeItem);
+ }
+ }
+
+ function fixPrice(_price: number): void {
+ shoppingPrice += _price;
+ let shoppingPriceEle: HTMLSpanElement = (document.querySelector("#showPrice"));
+ shoppingPriceEle.innerHTML = shoppingPrice.toLocaleString() + " ¥";
+ }
+
+
+
+
+
+ /*function money(_event: Event): void {
+ let target: HTMLElement = (_event.target);
+ //let price: number = parseFloat(target.getAttribute("productPrice")!);
+ let price: number = jsonObj[parseInt(target.getAttribute("categoryNumber")!)].products[parseInt(target.getAttribute("productIndex")!)].price;
+ console.log("Artikel-Preis: " + price + " ¥");
+ shoppingPrice += price;
+ console.log("Shopping-Cart-Preis: " + shoppingPrice + " ¥");
+ shoppingCount++;
+ (document.querySelector("#shoppingCartNumber")).innerHTML = shoppingCount.toLocaleString();
+ }
+
+ function removeLocal(_event: Event): void {
+ if (localStorage.shoppingCount) {
+ localStorage.shoppingCount = Number(localStorage.shoppingCount) + 1;
+ } else {
+ localStorage.shoppingCount = 1;
+ }
+ let target: HTMLElement = (_event.target);
+ let shoppingProduct: Product = jsonObj[parseInt(target.getAttribute("categoryNumber")!)].products[parseInt(target.getAttribute("productIndex")!)];
+ localStorage.setItem(`${shoppingProduct.title}`, JSON.stringify(shoppingProduct));
+ }
+
+ function addShoppingFunction(): void {
+ const buttons: HTMLCollectionOf = document.getElementsByClassName("addProduct");
+ for (const button of buttons) {
+ button.addEventListener("click", money);
+ button.addEventListener("click", removeLocal);
+ }
+ }*/
+}
\ No newline at end of file