48 lines
1.0 KiB
JavaScript
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
|
|
}
|