Server : Apache/2.4.18 (Ubuntu) System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64 User : oppastar ( 1041) PHP Version : 7.0.33-0ubuntu0.16.04.15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Directory : /var/www/rabbithabit.com/public_html/themes/3/swal_alert/src/utils/dom/ |
Upload File : |
import { swalClasses } from '../classes.js' import { uniqueArray, toArray } from '../utils.js' import { isVisible } from './domUtils.js' export const getContainer = () => document.body.querySelector(`.${swalClasses.container}`) export const elementBySelector = (selectorString) => { const container = getContainer() return container ? container.querySelector(selectorString) : null } const elementByClass = (className) => { return elementBySelector(`.${className}`) } export const getPopup = () => elementByClass(swalClasses.popup) export const getIcons = () => { const popup = getPopup() return toArray(popup.querySelectorAll(`.${swalClasses.icon}`)) } export const getIcon = () => { const visibleIcon = getIcons().filter(icon => isVisible(icon)) return visibleIcon.length ? visibleIcon[0] : null } export const getTitle = () => elementByClass(swalClasses.title) export const getContent = () => elementByClass(swalClasses.content) export const getHtmlContainer = () => elementByClass(swalClasses['html-container']) export const getImage = () => elementByClass(swalClasses.image) export const getProgressSteps = () => elementByClass(swalClasses['progress-steps']) export const getValidationMessage = () => elementByClass(swalClasses['validation-message']) export const getConfirmButton = () => elementBySelector(`.${swalClasses.actions} .${swalClasses.confirm}`) export const getCancelButton = () => elementBySelector(`.${swalClasses.actions} .${swalClasses.cancel}`) export const getActions = () => elementByClass(swalClasses.actions) export const getHeader = () => elementByClass(swalClasses.header) export const getFooter = () => elementByClass(swalClasses.footer) export const getTimerProgressBar = () => elementByClass(swalClasses['timer-progress-bar']) export const getCloseButton = () => elementByClass(swalClasses.close) // https://github.com/jkup/focusable/blob/master/index.js const focusable = ` a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex="0"], [contenteditable], audio[controls], video[controls], summary ` export const getFocusableElements = () => { const focusableElementsWithTabindex = toArray( getPopup().querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])') ) // sort according to tabindex .sort((a, b) => { a = parseInt(a.getAttribute('tabindex')) b = parseInt(b.getAttribute('tabindex')) if (a > b) { return 1 } else if (a < b) { return -1 } return 0 }) const otherFocusableElements = toArray( getPopup().querySelectorAll(focusable) ).filter(el => el.getAttribute('tabindex') !== '-1') return uniqueArray(focusableElementsWithTabindex.concat(otherFocusableElements)).filter(el => isVisible(el)) } export const isModal = () => { return !isToast() && !document.body.classList.contains(swalClasses['no-backdrop']) } export const isToast = () => { return document.body.classList.contains(swalClasses['toast-shown']) } export const isLoading = () => { return getPopup().hasAttribute('data-loading') }