From d5a80871dc9544cc9b13ecc2f1e3e5481233c88e Mon Sep 17 00:00:00 2001
From: zagidulin <54302637+zagidulin@users.noreply.github.com>
Date: Tue, 15 Sep 2020 12:27:24 +0300
Subject: [PATCH 1/2] Delete catalog.json
---
responses/catalog.json | 22 ----------------------
1 file changed, 22 deletions(-)
delete mode 100644 responses/catalog.json
diff --git a/responses/catalog.json b/responses/catalog.json
deleted file mode 100644
index dd829ef..0000000
--- a/responses/catalog.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[
- {
- "title": "Rollerblade Twister Edge",
- "price": 150,
- "link": "twister_edge"
- },
- {
- "title": "K2 Alexis 80 PRO",
- "price": 50,
- "link": "k2_alexis_80_pro"
- },
- {
- "title": "FRX 80",
- "price": 350,
- "link": "seba_frx_80"
- },
- {
- "title": "Rollerblade Macroblade",
- "price": 250,
- "link": "rollerblade_macroblade_84W"
- }
-]
\ No newline at end of file
From 946b2ba7b0ac63cb8b6f33fae711169f31c4cfe0 Mon Sep 17 00:00:00 2001
From: zagidulin <54302637+zagidulin@users.noreply.github.com>
Date: Tue, 15 Sep 2020 12:45:05 +0300
Subject: [PATCH 2/2] files to task 7
---
basket_script.js | 184 ++++++++++
cart.json | 1 +
catalog.json | 22 ++
catalog_script.js | 101 ++++++
image/heder.jpg | Bin 0 -> 36663 bytes
image/k2_alexis_80_pro.jpg | Bin 0 -> 17307 bytes
image/logo_2.png | Bin 0 -> 16709 bytes
image/rollerblade_macroblade_84W.jpg | Bin 0 -> 50419 bytes
image/seba_frx_80.jpg | Bin 0 -> 25382 bytes
image/twister_edge.jpg | Bin 0 -> 27681 bytes
index.html | 66 ++++
main.js | 94 +++++
server.js | 105 ++++++
style.css | 511 +++++++++++++++++++++++++++
14 files changed, 1084 insertions(+)
create mode 100644 basket_script.js
create mode 100644 cart.json
create mode 100644 catalog.json
create mode 100644 catalog_script.js
create mode 100644 image/heder.jpg
create mode 100644 image/k2_alexis_80_pro.jpg
create mode 100644 image/logo_2.png
create mode 100644 image/rollerblade_macroblade_84W.jpg
create mode 100644 image/seba_frx_80.jpg
create mode 100644 image/twister_edge.jpg
create mode 100644 index.html
create mode 100644 main.js
create mode 100644 server.js
create mode 100644 style.css
diff --git a/basket_script.js b/basket_script.js
new file mode 100644
index 0000000..21ca870
--- /dev/null
+++ b/basket_script.js
@@ -0,0 +1,184 @@
+'use strict';
+
+// класс товара в корзине
+class BasketItem {
+ constructor(title, price, quantity, picture) {
+ this.title = title;
+ this.price = price;
+ this.picture = picture;
+ this.quantity = quantity;
+ }
+
+ render() {
+ return `
+ ${this.picture}
+
${this.title}
+
${this.price} руб
+
+
${this.quantity*this.price} руб
+
+
`;
+ }
+}
+
+// класс Корзины товаров
+class BasketList {
+ constructor() {
+ this.shopCartList = [];
+ }
+
+ #makeGETRequest(url) {
+ console.log('Направляю запрос корзины')
+ return new Promise((resolve, reject) => {
+ let xhr;
+ if (window.XMLHttpRequest) {
+ xhr = new XMLHttpRequest();
+ } else if (window .ActiveXObject) {
+ xhr = new ActiveXObject("Microsoft.XMLHTTP");
+ }
+
+ xhr.onreadystatechange = function () {
+ if (xhr.readyState === 4) {
+ if (xhr.status === 200) {
+ console.log('корзина получена')
+ resolve(xhr.response);
+ } else {
+ reject();
+ }
+ }
+ }
+
+ xhr.open( 'GET' , url, true );
+ xhr.send();
+ });
+ }
+
+ #makePOSTRequest(url, data) {
+ return new Promise((resolve, reject) => {
+ let xhr;
+ if (window.XMLHttpRequest) {
+ xhr = new XMLHttpRequest();
+ } else if (window.ActiveXObject) {
+ xhr = new ActiveXObject("Microsoft.XMLHTTP");
+ }
+ xhr.onreadystatechange = function () {
+ if (xhr.readyState === 4) {
+ if (xhr.status === 200) {
+ resolve(xhr.response);
+ } else {
+ reject();
+ }
+ }
+ }
+ xhr.open('POST', `/${url}`, true);
+ xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
+ xhr.send(data);
+ });
+ }
+
+ getShopCartList() {
+ this.#makeGETRequest(`/shopCartData`)
+ .then((data) => {
+ this.shopCartList = JSON.parse(data);
+ this.render();
+ })
+ .catch(() => {
+ console.log('Error: data not found');
+ });
+ }
+
+ toggle() {
+ document.querySelector('.basket_container').classList.toggle('hidden');
+ }
+
+ showSummary() {
+ let totalPrice = 0;
+ let totalQuantity = 0;
+
+ this.shopCartList.forEach(({ price, quantity }) => {
+ totalPrice += price*quantity;
+ totalQuantity += quantity;
+ });
+
+ document.querySelector('.total_quantity').innerHTML = `${totalQuantity}`;
+ document.querySelector('.total_price').innerHTML = `${totalPrice}`;
+ }
+
+ render() {
+ let html = '';
+
+ this.shopCartList.forEach(({ title, price, quantity, picture }) => {
+ const basketItem = new BasketItem(title, price, quantity, picture);
+ html += basketItem.render();
+ });
+
+ document.querySelector('.basket_list').innerHTML = html;
+
+ this.showSummary();
+
+ // для инициализации возможности удаления изменения количесвта товара при "раскрытии" корзины
+ if (this.shopCartList.length > 0) {
+ let changeShopCart = document.querySelector('.basket_container');
+ changeShopCart.addEventListener('click', (event) => {
+ // console.log('click');
+ event.stopImmediatePropagation(); //для предотвращения повторных запросов при ререндеринге корзины
+
+ if (event.target.className == 'product_delete') {
+ let name = event.target.parentNode.parentNode.childNodes[3].innerText;
+ const productToDelete = {"title": name};
+ this.delete(JSON.stringify(productToDelete));
+ } else if (event.target.className == 'change_quantity') {
+ let newQuantity = +event.target.value;
+ let name = event.target.parentNode.childNodes[3].innerText;
+ const productToChange = {"title": name, "quantity": newQuantity};
+
+ if (newQuantity < 1) {
+ this.delete(JSON.stringify(productToChange));
+ } else {
+ this.changeQuantity(JSON.stringify(productToChange));
+ }
+ }
+ });
+ }
+ }
+
+ // добавление товара
+ add(item) {
+ this.#makePOSTRequest('addToCart', item)
+ .then((data) => {
+ console.log('товар добавлен');
+ })
+ .catch(() => {
+ console.log('Error: data not found');
+ });
+ }
+
+ // удаление товара
+ delete(item) {
+ this.#makePOSTRequest('deleteFromCart', item)
+ .then((data) => {
+ this.shopCartList = JSON.parse(data);
+ if (this.shopCartList.length == 0) {
+ this.shopCartList = [];
+ }
+ this.render();
+ })
+ .catch(() => {
+ console.log('Error: data not found');
+ });
+ }
+
+ // изменение количества товара внутри корзины
+ changeQuantity(item) {
+ this.#makePOSTRequest('changeQuantity', item)
+ .then((data) => {
+ this.shopCartList = JSON.parse(data);
+ this.render();
+ })
+ .catch(() => {
+ console.log('Error: data not found');
+ });
+ }
+}
diff --git a/cart.json b/cart.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/cart.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/catalog.json b/catalog.json
new file mode 100644
index 0000000..dd829ef
--- /dev/null
+++ b/catalog.json
@@ -0,0 +1,22 @@
+[
+ {
+ "title": "Rollerblade Twister Edge",
+ "price": 150,
+ "link": "twister_edge"
+ },
+ {
+ "title": "K2 Alexis 80 PRO",
+ "price": 50,
+ "link": "k2_alexis_80_pro"
+ },
+ {
+ "title": "FRX 80",
+ "price": 350,
+ "link": "seba_frx_80"
+ },
+ {
+ "title": "Rollerblade Macroblade",
+ "price": 250,
+ "link": "rollerblade_macroblade_84W"
+ }
+]
\ No newline at end of file
diff --git a/catalog_script.js b/catalog_script.js
new file mode 100644
index 0000000..4fbe568
--- /dev/null
+++ b/catalog_script.js
@@ -0,0 +1,101 @@
+'use strict';
+
+
+const shopCart = [];
+
+const API_URL = 'https://raw.githubusercontent.com/zagidulin/JavaScript/master/responses';
+
+class ProductItem {
+ constructor(title, price, link) {
+ this.title = title;
+ this.price = price;
+ this.link = link;
+ }
+
+ render() {
+ return ``;
+ }
+}
+
+
+class ProductsList {
+ constructor() {
+ this.products = [];
+ this.filteredProducts = [];
+ }
+
+ #makeGETRequest(url) {
+ return new Promise((resolve, reject) => {
+ let xhr;
+ if (window.XMLHttpRequest) {
+ xhr = new XMLHttpRequest();
+ } else if (window .ActiveXObject) {
+ xhr = new ActiveXObject("Microsoft.XMLHTTP");
+ }
+
+ xhr.onreadystatechange = function () {
+ if (xhr.readyState === 4) {
+ if (xhr.status === 200) {
+ console.log('католог получен')
+ resolve(xhr.response);
+ } else {
+ reject();
+ }
+ }
+ }
+
+ xhr.open( 'GET' , url, true );
+ xhr.send();
+ });
+ }
+
+ render() {
+ let html = '';
+ this.filteredProducts.forEach(({ title, price, link }) => {
+ const productItem = new ProductItem(title, price, link);
+ html += productItem.render();
+ });
+
+ document.querySelector('.catalog').innerHTML = html;
+ }
+
+ getCatalog(list) {
+ if (list && list.length > 0) {
+ this.render();
+ } else {
+ this.#makeGETRequest(`/catalogData`)
+ .then((data) => {
+ this.products = JSON.parse(data);
+ this.filteredProducts = JSON.parse(data);
+ this.render();
+ })
+ .catch(() => {
+ console.log('Error: data not found');
+ });
+ }
+ }
+
+ total() {
+ let total = 0;
+ this.products.forEach(({ price }) => {
+ total += price;
+ });
+
+ console.log('Сумма всех цен: ', total);
+ }
+
+ filterProducts(value) {
+ const regexp = new RegExp(value, 'i');
+ this.filteredProducts = this.products.filter(product => regexp.test(product.title));
+ this.getCatalog(this.filteredProducts);
+ }
+}
diff --git a/image/heder.jpg b/image/heder.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..69bc24bd717d2585237d4dc1876e18a4096c930e
GIT binary patch
literal 36663
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℞x{FdO*5+$-d#?-U7sc^C8FbJ!+)(Q@Rtj
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
GAOG3eD6_f%
literal 0
HcmV?d00001
diff --git a/image/k2_alexis_80_pro.jpg b/image/k2_alexis_80_pro.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..30dfcc46f1a9205a8c34e0fc219afa9087916b25
GIT binary patch
literal 17307
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