Current File : /home/tradevaly/www/node_modules/sweetalert2/src/utils/params.js |
import { warn, warnAboutDeprecation } from '../utils/utils.js'
export const defaultParams = {
title: '',
titleText: '',
text: '',
html: '',
footer: '',
icon: undefined,
iconColor: undefined,
iconHtml: undefined,
template: undefined,
toast: false,
animation: true,
showClass: {
popup: 'swal2-show',
backdrop: 'swal2-backdrop-show',
icon: 'swal2-icon-show',
},
hideClass: {
popup: 'swal2-hide',
backdrop: 'swal2-backdrop-hide',
icon: 'swal2-icon-hide',
},
customClass: {},
target: 'body',
backdrop: true,
heightAuto: true,
allowOutsideClick: true,
allowEscapeKey: true,
allowEnterKey: true,
stopKeydownPropagation: true,
keydownListenerCapture: false,
showConfirmButton: true,
showDenyButton: false,
showCancelButton: false,
preConfirm: undefined,
preDeny: undefined,
confirmButtonText: 'OK',
confirmButtonAriaLabel: '',
confirmButtonColor: undefined,
denyButtonText: 'No',
denyButtonAriaLabel: '',
denyButtonColor: undefined,
cancelButtonText: 'Cancel',
cancelButtonAriaLabel: '',
cancelButtonColor: undefined,
buttonsStyling: true,
reverseButtons: false,
focusConfirm: true,
focusDeny: false,
focusCancel: false,
returnFocus: true,
showCloseButton: false,
closeButtonHtml: '×',
closeButtonAriaLabel: 'Close this dialog',
loaderHtml: '',
showLoaderOnConfirm: false,
showLoaderOnDeny: false,
imageUrl: undefined,
imageWidth: undefined,
imageHeight: undefined,
imageAlt: '',
timer: undefined,
timerProgressBar: false,
width: undefined,
padding: undefined,
background: undefined,
input: undefined,
inputPlaceholder: '',
inputLabel: '',
inputValue: '',
inputOptions: {},
inputAutoTrim: true,
inputAttributes: {},
inputValidator: undefined,
returnInputValueOnDeny: false,
validationMessage: undefined,
grow: false,
position: 'center',
progressSteps: [],
currentProgressStep: undefined,
progressStepsDistance: undefined,
onBeforeOpen: undefined,
onOpen: undefined,
willOpen: undefined,
didOpen: undefined,
onRender: undefined,
didRender: undefined,
onClose: undefined,
onAfterClose: undefined,
willClose: undefined,
didClose: undefined,
onDestroy: undefined,
didDestroy: undefined,
scrollbarPadding: true
}
export const updatableParams = [
'allowEscapeKey',
'allowOutsideClick',
'background',
'buttonsStyling',
'cancelButtonAriaLabel',
'cancelButtonColor',
'cancelButtonText',
'closeButtonAriaLabel',
'closeButtonHtml',
'confirmButtonAriaLabel',
'confirmButtonColor',
'confirmButtonText',
'currentProgressStep',
'customClass',
'denyButtonAriaLabel',
'denyButtonColor',
'denyButtonText',
'didClose',
'didDestroy',
'footer',
'hideClass',
'html',
'icon',
'iconColor',
'iconHtml',
'imageAlt',
'imageHeight',
'imageUrl',
'imageWidth',
'onAfterClose',
'onClose',
'onDestroy',
'progressSteps',
'returnFocus',
'reverseButtons',
'showCancelButton',
'showCloseButton',
'showConfirmButton',
'showDenyButton',
'text',
'title',
'titleText',
'willClose',
]
export const deprecatedParams = {
animation: 'showClass" and "hideClass',
onBeforeOpen: 'willOpen',
onOpen: 'didOpen',
onRender: 'didRender',
onClose: 'willClose',
onAfterClose: 'didClose',
onDestroy: 'didDestroy',
}
const toastIncompatibleParams = [
'allowOutsideClick',
'allowEnterKey',
'backdrop',
'focusConfirm',
'focusDeny',
'focusCancel',
'returnFocus',
'heightAuto',
'keydownListenerCapture'
]
/**
* Is valid parameter
* @param {String} paramName
*/
export const isValidParameter = (paramName) => {
return Object.prototype.hasOwnProperty.call(defaultParams, paramName)
}
/**
* Is valid parameter for Swal.update() method
* @param {String} paramName
*/
export const isUpdatableParameter = (paramName) => {
return updatableParams.indexOf(paramName) !== -1
}
/**
* Is deprecated parameter
* @param {String} paramName
*/
export const isDeprecatedParameter = (paramName) => {
return deprecatedParams[paramName]
}
const checkIfParamIsValid = (param) => {
if (!isValidParameter(param)) {
warn(`Unknown parameter "${param}"`)
}
}
const checkIfToastParamIsValid = (param) => {
if (toastIncompatibleParams.includes(param)) {
warn(`The parameter "${param}" is incompatible with toasts`)
}
}
const checkIfParamIsDeprecated = (param) => {
if (isDeprecatedParameter(param)) {
warnAboutDeprecation(param, isDeprecatedParameter(param))
}
}
/**
* Show relevant warnings for given params
*
* @param params
*/
export const showWarningsForParams = (params) => {
for (const param in params) {
checkIfParamIsValid(param)
if (params.toast) {
checkIfToastParamIsValid(param)
}
checkIfParamIsDeprecated(param)
}
}
export default defaultParams