Files
upload-platform/upload/frontend/table/set_status.js
T

21 lines
1.1 KiB
JavaScript

import { flattenFiles } from './render.js';
/**
* Legacy helper: заменяет HTML статуса у найденного leaf-файла.
*
* @param {string} path Полный логический путь файла в текущем дереве.
* @param {string} html Готовая HTML-строка статуса; вызывающая сторона отвечает
* за её безопасность.
* @param {{nodes: Array}} state Состояние дерева, из которого ищется файл.
* @param {{tableBodyEl: HTMLElement}} elements DOM-элементы старого renderer.
* @returns {void} Ничего не возвращает; при отсутствии файла или ячейки ничего
* не изменяет.
*/
export function setStatus(path, html, state, elements) {
const file = flattenFiles(state.nodes).find((item) => item.path === path);
if (!file) return;
const cell = Array.from(elements.tableBodyEl.querySelectorAll('.tree-row.tree-file'))
.find((row) => row.dataset.path === file.path)
?.querySelector('td:nth-child(3)');
if (cell) cell.innerHTML = html;
}