Files
kupshop/web/common/static/wpj/wpj.foxentryHelpers.js
2025-08-02 16:30:27 +02:00

79 lines
2.2 KiB
JavaScript

/* More info: https://github.com/Foxentry/Javascript-API */
/**
* If Foxentry validation is success and complete, remove
* enter key handler and reset BootstrapValidation.
*/
function addressValidationHandler(validatorResponse) {
if (validatorResponse.success) {
$form.data('bootstrapValidator').resetForm().validate();
$form.off('keypress', '.foxentry-input', disableFoxentrySubmit);/*
$('.alert-foxentry-invalid').remove();*/
} /*else {
var header = $('.logged-in .foxentry-input-invalid')[0].closest('.form-block');
//var header = $('.logged-in .form-block .form-control');
if (header.length) {
var alert = '<div class="alert alert-warning alert-foxentry-invalid">Vaši adresu jsme nenašli v databázi. ' +
'Prosím, překontrolujte si zadané údaje. Pokud si jste jistí, že jste zadali údaje správně, ' +
'můžete bez obav pokračovat na další krok.</div>';
header = $(header).find('h3');
header.after(alert);
}
}*/
}
/**
* Set Foxentry callback functions.
*/
function onFoxentryProjectLoad() {
FoxentryBuilder.setCallbacks(
{
'address': addressValidationHandler,
'company': addressValidationHandler,
}
);
}
/**
* Disable form submit when Foxentry is active and has invalid fields.
*/
function checkFoxentry(el) {
// no credit, daily limit overflow, wrong domain... skip validation
if (!Foxentry.isReady()) {
return true;
// todo: send warning to sentry
}
var form = document.querySelector(el);
var formValidation = Foxentry.formValidation(form);
var invalidInputs = formValidation.inputs.invalid;
// loop through invalid entries
for (var input in invalidInputs) {
if (invalidInputs.hasOwnProperty(input)) {
var domNode = invalidInputs[input].input;
// check if input is visible
if (domNode.offsetParent) {
return false;
}
}
}
// all inputs are valid or hidden
return true;
}
/**
* Disable enter key submit during Foxentry validation.
*/
function disableFoxentrySubmit(event) {
if (event.keyCode === 13) {
event.stopPropagation();
event.preventDefault();
}
}