window.addEventListener('load', () => {
const deliveryCards = document.querySelectorAll('.delivery-card');
deliveryCards.forEach(card => {
const input = card.querySelector('input[type=radio]');
card.addEventListener('click', function (e){
if(e.target !== input) {
if (!input.disabled) { // Solo cambia el estado de 'checked' si el input NO está deshabilitado
input.checked = !input.checked;
handleInputStateChange(input, card, deliveryCards);
}
}
});
input.addEventListener('click', function(e){
handleInputStateChange(input, card, deliveryCards);
});
if (input.checked) card.classList.add('bg-light');
});
});
function handleInputStateChange(input, card, deliveryCards) {
if (input.checked) {
card.classList.add('bg-light');
deliveryCards.forEach(card => clearDeliveryCards(card, input));
} else {
card.classList.remove('bg-light');
}
}
function addRadioEvents(deliveryCards, card) {
const input = card.children[1].children[0];
input.addEventListener('change', function (e) {
handleInputStateChange(input, card, deliveryCards);
});
}
function clearDeliveryCards(card, target) {
if (card !== target.parentElement.parentElement) {
const productId = target.parentElement.parentElement.parentElement.id.split('-')[4];
if (card.parentElement.id.split('-')[4] === productId) {
card.classList.remove('bg-light');
}
}
}
const show_pickup_point = (e) => {
const value = e.value;
const target = document.querySelector(`${e.dataset.target}`);
const deliveriesContainer = document.querySelector(`#delivery-options-product-${e.dataset.productId}`);
if (value === 'home_delivery' || value === 'carrier') {
if (!target.classList.contains('d-none')) {
target.classList.add('d-none');
}
deliveriesContainer.classList.remove('d-none');
} else {
target.classList.remove('d-none')
deliveriesContainer.classList.add('d-none');
}
}
|