Много разных изменений
This commit is contained in:
24
frontend/admin/js/view-state.js
Normal file
24
frontend/admin/js/view-state.js
Normal file
@@ -0,0 +1,24 @@
|
||||
import { escapeHtml } from './utils.js';
|
||||
|
||||
export function renderTableLoading(tbody, columns, message = 'Загрузка данных...') {
|
||||
tbody.innerHTML = `<tr><td colspan="${columns}" class="loading-row"><span class="state-spinner" aria-hidden="true"></span>${escapeHtml(message)}</td></tr>`;
|
||||
tbody.setAttribute('aria-busy', 'true');
|
||||
}
|
||||
|
||||
export function renderTableEmpty(tbody, columns, message = 'Данных пока нет') {
|
||||
tbody.innerHTML = `<tr><td colspan="${columns}" class="loading-row view-state-empty">${escapeHtml(message)}</td></tr>`;
|
||||
tbody.setAttribute('aria-busy', 'false');
|
||||
}
|
||||
|
||||
export function renderTableError(tbody, columns, message, retry) {
|
||||
tbody.innerHTML = `<tr><td colspan="${columns}" class="loading-row view-state-error">
|
||||
<span>${escapeHtml(message || 'Не удалось загрузить данные')}</span>
|
||||
${retry ? '<button type="button" class="btn btn-sm btn-secondary" data-view-retry>Повторить</button>' : ''}
|
||||
</td></tr>`;
|
||||
tbody.setAttribute('aria-busy', 'false');
|
||||
tbody.querySelector('[data-view-retry]')?.addEventListener('click', retry);
|
||||
}
|
||||
|
||||
export function markTableReady(tbody) {
|
||||
tbody.setAttribute('aria-busy', 'false');
|
||||
}
|
||||
Reference in New Issue
Block a user