brief-rags-bench/static/js/ui/loading.ui.js

48 lines
1.0 KiB
JavaScript

/**
* Loading UI
*
* UI компонент для индикатора загрузки.
*/
import { setElementText, addClass, removeClass } from '../utils/dom.utils.js'
/**
* Показать индикатор загрузки
* @param {string} message - Сообщение для отображения
*/
export function show(message = 'Загрузка...') {
const loadingOverlay = document.getElementById('loading-overlay')
const loadingMessage = document.getElementById('loading-message')
if (!loadingOverlay) {
console.warn('Loading overlay element not found')
return
}
if (loadingMessage) {
setElementText(loadingMessage, message)
}
addClass(loadingOverlay, 'open')
}
/**
* Скрыть индикатор загрузки
*/
export function hide() {
const loadingOverlay = document.getElementById('loading-overlay')
if (!loadingOverlay) {
console.warn('Loading overlay element not found')
return
}
removeClass(loadingOverlay, 'open')
}
// Export as default object
export default {
show,
hide
}