UNPKG

sweetalert2

Version:

A beautiful, responsive, customizable and accessible (WAI-ARIA) replacement for JavaScript's popup boxes, supported fork of sweetalert

52 lines (47 loc) 1.66 kB
import privateProps from '../privateProps.js' import { swalClasses } from '../utils/classes.js' import * as dom from '../utils/dom/index.js' /** * Hides loader and shows back the button which was hidden by .showLoading() * @this {SweetAlert} */ function hideLoading() { // do nothing if popup is closed const innerParams = privateProps.innerParams.get(this) if (!innerParams) { return } const domCache = privateProps.domCache.get(this) dom.hide(domCache.loader) if (dom.isToast()) { if (innerParams.icon) { dom.show(dom.getIcon()) } } else { showRelatedButton(domCache) } dom.removeClass([domCache.popup, domCache.actions], swalClasses.loading) domCache.popup.removeAttribute('aria-busy') domCache.popup.removeAttribute('data-loading') domCache.confirmButton.disabled = false domCache.denyButton.disabled = false domCache.cancelButton.disabled = false const focusedElement = privateProps.focusedElement.get(this) if (focusedElement instanceof HTMLElement && document.activeElement === document.body) { focusedElement.focus() } privateProps.focusedElement.delete(this) } /** * @param {DomCache} domCache */ const showRelatedButton = (domCache) => { const dataButtonToReplace = domCache.loader.getAttribute('data-button-to-replace') const buttonToReplace = dataButtonToReplace ? domCache.popup.getElementsByClassName(dataButtonToReplace) : [] if (buttonToReplace.length) { dom.show(/** @type {HTMLElement} */ (buttonToReplace[0]), 'inline-block') } else if (dom.allButtonsAreHidden()) { dom.hide(domCache.actions) } } export { hideLoading, hideLoading as disableLoading }