internet-programming/lab3/js/catalog/catalog.js

34 lines
1.2 KiB
JavaScript
Raw Normal View History

2024-01-12 14:27:01 +04:00
import { getAllItemTypes, getAllLines } from "../lines-rest-api.js";
import { indexPageCatalog } from "../lines-ui.js";
import { getProductItem } from "./getProductItem.js";
// Проверка, есть ли вообще на странице каталога место,
// где будут отображаться карточки
if (indexPageCatalog) {
drawCatalog();
}
async function drawCatalog() {
try {
// Получаем все типы
const itemTypes = await getAllItemTypes();
// Получаем все товары
const lines = await getAllLines();
// Пробегаем по товарам через for
for (let i = 0; i < lines.length; i++) {
const line = lines[i];
// Получаем его тип
const itemType = itemTypes.find(it => it.id === +line.itemsId);
// Если нужно понять, что лежит в itemType
// console.log(itemType);
// В сам каталог добавляем карточку через функцию,
// которую вынесли в отдельный файл
indexPageCatalog.innerHTML += getProductItem(line.image, itemType.name, line.price);
}
} catch (err) {
console.log(err);
}
}