Internet_Programming_PIbd-2.../laba3/site/js/lines-ui.js

73 lines
3.1 KiB
JavaScript
Raw Permalink Normal View History

2023-11-10 09:18:55 +04:00
// модуль для работы с элементами управления
// объект для удобного получения элементов
// при обращении к атрибуту объекта вызывается
// нужная функция для поиска элемента
export const cntrls = {
button: document.getElementById("items-add"),
table: document.getElementById("items-table"),
form: document.getElementById("items-form"),
lineId: document.getElementById("items-line-id"),
name: document.getElementById("name"),
description: document.getElementById("description"),
image: document.getElementById("image"),
imagePreview: document.getElementById("image-preview"),
};
// Дефолтное превью
export const imagePlaceholder = "https://via.placeholder.com/200";
// функция создает тег option для select
// <option value="" selected>name</option>
export function createItemsOption(name, value = "", isSelected = false) {
const option = document.createElement("option");
option.value = value || "";
option.selected = isSelected;
option.text = name;
return option;
}
// функция создает строку таблицы
// <div class="row justify-content-center align-items-center g-2 mt-1 mb-1">
// <div class="col-2">item.name</div>
// <div class="col">item.description</div>
// <a href="testPage.html" class="col-2 btn btn-primary startButton" >открыть тест</a>
// </div>
export function createTableRow(item, editPageCallback, deleteCallback) {
const container = document.createElement("div");
container.classList.add("row", "justify-content-center", "align-items-center", "g-2", "mt-1", "mb-1");
const nameDiv = document.createElement("div");
nameDiv.classList.add("col-2");
nameDiv.textContent = item.name;
const descriptionDiv = document.createElement("div");
descriptionDiv.classList.add("col");
descriptionDiv.textContent = item.description;
const link = document.createElement("a");
link.href = "testPage.html";
link.classList.add("col-2", "btn", "btn-primary", "startButton");
link.textContent = "открыть тест";
const editLink = document.createElement("a");
editLink.href = "#"; // Укажите нужный href
editLink.classList.add("col-2", "btn", "btn-secondary", "startButton");
editLink.textContent = "изменить";
editLink.addEventListener("click", editPageCallback); // Привязка обработчика события
// Создание элемента для удаления
const deleteLink = document.createElement("a");
deleteLink.href = "#"; // Укажите нужный href
deleteLink.classList.add("col-2", "btn", "btn-danger", "startButton");
deleteLink.textContent = "удалить";
deleteLink.addEventListener("click", deleteCallback); // Привязка обработчика события
container.appendChild(nameDiv);
container.appendChild(descriptionDiv);
container.appendChild(link);
container.appendChild(editLink);
container.appendChild(deleteLink);
return container;
}