Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/queuepro/node_modules/sweetalert2/src/utils/ drwxrwxr-x | |
| Viewing file: Select action/file-type: import defaultParams from './params.js'
import { capitalizeFirstLetter, toArray, warn } from './utils.js'
const swalStringParams = ['swal-title', 'swal-html', 'swal-footer']
export const getTemplateParams = (params) => {
const template = typeof params.template === 'string' ? document.querySelector(params.template) : params.template
if (!template) {
return {}
}
/** @type {DocumentFragment} */
const templateContent = template.content
showWarningsForElements(templateContent)
const result = Object.assign(
getSwalParams(templateContent),
getSwalButtons(templateContent),
getSwalImage(templateContent),
getSwalIcon(templateContent),
getSwalInput(templateContent),
getSwalStringParams(templateContent, swalStringParams)
)
return result
}
/**
* @param {DocumentFragment} templateContent
*/
const getSwalParams = (templateContent) => {
const result = {}
toArray(templateContent.querySelectorAll('swal-param')).forEach((param) => {
showWarningsForAttributes(param, ['name', 'value'])
const paramName = param.getAttribute('name')
const value = param.getAttribute('value')
if (typeof defaultParams[paramName] === 'boolean' && value === 'false') {
result[paramName] = false
}
if (typeof defaultParams[paramName] === 'object') {
result[paramName] = JSON.parse(value)
}
})
return result
}
/**
* @param {DocumentFragment} templateContent
*/
const getSwalButtons = (templateContent) => {
const result = {}
toArray(templateContent.querySelectorAll('swal-button')).forEach((button) => {
showWarningsForAttributes(button, ['type', 'color', 'aria-label'])
const type = button.getAttribute('type')
result[`${type}ButtonText`] = button.innerHTML
result[`show${capitalizeFirstLetter(type)}Button`] = true
if (button.hasAttribute('color')) {
result[`${type}ButtonColor`] = button.getAttribute('color')
}
if (button.hasAttribute('aria-label')) {
result[`${type}ButtonAriaLabel`] = button.getAttribute('aria-label')
}
})
return result
}
/**
* @param {DocumentFragment} templateContent
*/
const getSwalImage = (templateContent) => {
const result = {}
/** @type {HTMLElement} */
const image = templateContent.querySelector('swal-image')
if (image) {
showWarningsForAttributes(image, ['src', 'width', 'height', 'alt'])
if (image.hasAttribute('src')) {
result.imageUrl = image.getAttribute('src')
}
if (image.hasAttribute('width')) {
result.imageWidth = image.getAttribute('width')
}
if (image.hasAttribute('height')) {
result.imageHeight = image.getAttribute('height')
}
if (image.hasAttribute('alt')) {
result.imageAlt = image.getAttribute('alt')
}
}
return result
}
/**
* @param {DocumentFragment} templateContent
*/
const getSwalIcon = (templateContent) => {
const result = {}
/** @type {HTMLElement} */
const icon = templateContent.querySelector('swal-icon')
if (icon) {
showWarningsForAttributes(icon, ['type', 'color'])
if (icon.hasAttribute('type')) {
result.icon = icon.getAttribute('type')
}
if (icon.hasAttribute('color')) {
result.iconColor = icon.getAttribute('color')
}
result.iconHtml = icon.innerHTML
}
return result
}
/**
* @param {DocumentFragment} templateContent
*/
const getSwalInput = (templateContent) => {
const result = {}
/** @type {HTMLElement} */
const input = templateContent.querySelector('swal-input')
if (input) {
showWarningsForAttributes(input, ['type', 'label', 'placeholder', 'value'])
result.input = input.getAttribute('type') || 'text'
if (input.hasAttribute('label')) {
result.inputLabel = input.getAttribute('label')
}
if (input.hasAttribute('placeholder')) {
result.inputPlaceholder = input.getAttribute('placeholder')
}
if (input.hasAttribute('value')) {
result.inputValue = input.getAttribute('value')
}
}
const inputOptions = templateContent.querySelectorAll('swal-input-option')
if (inputOptions.length) {
result.inputOptions = {}
toArray(inputOptions).forEach((option) => {
showWarningsForAttributes(option, ['value'])
const optionValue = option.getAttribute('value')
const optionName = option.innerHTML
result.inputOptions[optionValue] = optionName
})
}
return result
}
/**
* @param {DocumentFragment} templateContent
* @param {string[]} paramNames
*/
const getSwalStringParams = (templateContent, paramNames) => {
const result = {}
for (const i in paramNames) {
const paramName = paramNames[i]
/** @type {HTMLElement} */
const tag = templateContent.querySelector(paramName)
if (tag) {
showWarningsForAttributes(tag, [])
result[paramName.replace(/^swal-/, '')] = tag.innerHTML.trim()
}
}
return result
}
/**
* @param {DocumentFragment} templateContent
*/
const showWarningsForElements = (templateContent) => {
const allowedElements = swalStringParams.concat([
'swal-param',
'swal-button',
'swal-image',
'swal-icon',
'swal-input',
'swal-input-option',
])
toArray(templateContent.children).forEach((el) => {
const tagName = el.tagName.toLowerCase()
if (allowedElements.indexOf(tagName) === -1) {
warn(`Unrecognized element <${tagName}>`)
}
})
}
/**
* @param {HTMLElement} el
* @param {string[]} allowedAttributes
*/
const showWarningsForAttributes = (el, allowedAttributes) => {
toArray(el.attributes).forEach((attribute) => {
if (allowedAttributes.indexOf(attribute.name) === -1) {
warn([
`Unrecognized attribute "${attribute.name}" on <${el.tagName.toLowerCase()}>.`,
`${
allowedAttributes.length
? `Allowed attributes are: ${allowedAttributes.join(', ')}`
: 'To set the value, use HTML within the element.'
}`,
])
}
})
}
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0135 ]-- |