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/beximco/mrp_process/node_modules/sweetalert2/src/ drwxr-xr-x | |
| Viewing file: Select action/file-type: import { handleAwaitingPromise } from './instanceMethods.js'
import privateProps from './privateProps.js'
import { showLoading } from './staticMethods/showLoading.js'
import { DismissReason } from './utils/DismissReason.js'
import { isVisible } from './utils/dom/domUtils.js'
import { getDenyButton, getValidationMessage } from './utils/dom/getters.js'
import { getInputValue } from './utils/dom/inputUtils.js'
import { asPromise, capitalizeFirstLetter, error } from './utils/utils.js'
/**
* @param {SweetAlert2} instance
*/
export const handleConfirmButtonClick = (instance) => {
const innerParams = privateProps.innerParams.get(instance)
instance.disableButtons()
if (innerParams.input) {
handleConfirmOrDenyWithInput(instance, 'confirm')
} else {
confirm(instance, true)
}
}
/**
* @param {SweetAlert2} instance
*/
export const handleDenyButtonClick = (instance) => {
const innerParams = privateProps.innerParams.get(instance)
instance.disableButtons()
if (innerParams.returnInputValueOnDeny) {
handleConfirmOrDenyWithInput(instance, 'deny')
} else {
deny(instance, false)
}
}
/**
* @param {SweetAlert2} instance
* @param {Function} dismissWith
*/
export const handleCancelButtonClick = (instance, dismissWith) => {
instance.disableButtons()
dismissWith(DismissReason.cancel)
}
/**
* @param {SweetAlert2} instance
* @param {'confirm' | 'deny'} type
*/
const handleConfirmOrDenyWithInput = (instance, type) => {
const innerParams = privateProps.innerParams.get(instance)
if (!innerParams.input) {
error(`The "input" parameter is needed to be set when using returnInputValueOn${capitalizeFirstLetter(type)}`)
return
}
const inputValue = getInputValue(instance, innerParams)
if (innerParams.inputValidator) {
handleInputValidator(instance, inputValue, type)
} else if (!instance.getInput().checkValidity()) {
instance.enableButtons()
instance.showValidationMessage(innerParams.validationMessage)
} else if (type === 'deny') {
deny(instance, inputValue)
} else {
confirm(instance, inputValue)
}
}
/**
* @param {SweetAlert2} instance
* @param {string | number | File | FileList | null} inputValue
* @param {'confirm' | 'deny'} type
*/
const handleInputValidator = (instance, inputValue, type) => {
const innerParams = privateProps.innerParams.get(instance)
instance.disableInput()
const validationPromise = Promise.resolve().then(() =>
asPromise(innerParams.inputValidator(inputValue, innerParams.validationMessage))
)
validationPromise.then((validationMessage) => {
instance.enableButtons()
instance.enableInput()
if (validationMessage) {
instance.showValidationMessage(validationMessage)
} else if (type === 'deny') {
deny(instance, inputValue)
} else {
confirm(instance, inputValue)
}
})
}
/**
* @param {SweetAlert2} instance
* @param {any} value
*/
const deny = (instance, value) => {
const innerParams = privateProps.innerParams.get(instance || this)
if (innerParams.showLoaderOnDeny) {
showLoading(getDenyButton())
}
if (innerParams.preDeny) {
privateProps.awaitingPromise.set(instance || this, true) // Flagging the instance as awaiting a promise so it's own promise's reject/resolve methods doesn't get destroyed until the result from this preDeny's promise is received
const preDenyPromise = Promise.resolve().then(() =>
asPromise(innerParams.preDeny(value, innerParams.validationMessage))
)
preDenyPromise
.then((preDenyValue) => {
if (preDenyValue === false) {
instance.hideLoading()
handleAwaitingPromise(instance)
} else {
instance.close({ isDenied: true, value: typeof preDenyValue === 'undefined' ? value : preDenyValue })
}
})
.catch((error) => rejectWith(instance || this, error))
} else {
instance.close({ isDenied: true, value })
}
}
/**
* @param {SweetAlert2} instance
* @param {any} value
*/
const succeedWith = (instance, value) => {
instance.close({ isConfirmed: true, value })
}
/**
*
* @param {SweetAlert2} instance
* @param {string} error
*/
const rejectWith = (instance, error) => {
// @ts-ignore
instance.rejectPromise(error)
}
/**
*
* @param {SweetAlert2} instance
* @param {any} value
*/
const confirm = (instance, value) => {
const innerParams = privateProps.innerParams.get(instance || this)
if (innerParams.showLoaderOnConfirm) {
showLoading()
}
if (innerParams.preConfirm) {
instance.resetValidationMessage()
privateProps.awaitingPromise.set(instance || this, true) // Flagging the instance as awaiting a promise so it's own promise's reject/resolve methods doesn't get destroyed until the result from this preConfirm's promise is received
const preConfirmPromise = Promise.resolve().then(() =>
asPromise(innerParams.preConfirm(value, innerParams.validationMessage))
)
preConfirmPromise
.then((preConfirmValue) => {
if (isVisible(getValidationMessage()) || preConfirmValue === false) {
instance.hideLoading()
handleAwaitingPromise(instance)
} else {
succeedWith(instance, typeof preConfirmValue === 'undefined' ? value : preConfirmValue)
}
})
.catch((error) => rejectWith(instance || this, error))
} else {
succeedWith(instance, value)
}
}
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0153 ]-- |