Files
newwalls.pl/modules/epaka/views/js/front/epaka-front-17.js
2024-12-17 13:43:22 +01:00

201 lines
8.0 KiB
JavaScript

$(document).ready(function () {
console.log("| epaka-front.js is loaded!");
});
$(document).ready(epakaButtonShowHide);
// wywolywanie map z punktami po stronie zamawiania przez klienta
$(document).off('click', '#epaka-set-point');
$(document).on('click', '#epaka-set-point', async function (e) {
console.log('| showMapPopUp Ajax DONE.');
e.preventDefault();
// debugger;
var presta_carrier_selected_id = $('input[type="radio"][name^="delivery_option"]:checked').val().replace(',', '');
var epaka_carrier_selected_short = $('#epaka-delivery-p2p-' + presta_carrier_selected_id).val();
await Promise.all([window.ShowMap(e, epaka_carrier_selected_short, undefined, undefined, true, function (element, marker, message) {
console.log('| showMapPopUp Ajax STOP.');
// debugger;
if (marker != null) {
// debugger;
$("#epaka-set-point").text('Zmień punkt odbioru');
$("#epaka-delivery-point-code").val(marker.fullPointData.id);
$("#epaka-delivery-point-name").val(marker.fullPointData.name);
var id_carrier_prestashop = parseInt($('.delivery-options-list input:checked').val());
if ($('#epaka-delivery-p2p-' + id_carrier_prestashop).length) {
var id_carrier_epaka = $('#epaka-delivery-p2p-' + id_carrier_prestashop).val();
$.post(epakaSaveMachinesPointsAjax,
{
id_carrier_prestashop: id_carrier_prestashop,
id_carrier_epaka: id_carrier_epaka,
point_code: $("#epaka-delivery-point-code").val(),
point_name: $("#epaka-delivery-point-name").val(),
},
function (response) {
// debugger;
setTimeout(function () {
$('#checkout-delivery-step').trigger('click');
}, 1000);
if (response.status == 'error') {
$("#epaka-set-point").text('Wybierz punkt odbioru');
alert(response.message);
}
},
"json");
}
} else {
alert(message);
}
})]);
});
// wywolywanie map z punktami po stronie strony konfiguracyjnej
$(document).off('click', '.configuration-map-trigger');
$(document).on('click', '.configuration-map-trigger', async function (e) {
console.log('| showMapPopUp Ajax DONE.');
e.preventDefault();
// debugger;
await Promise.all([window.ShowMap(e, $(this).attr('data-epaka-short'), undefined, undefined, true, function (element, marker, message) {
console.log('| showMapPopUp Ajax STOP.');
// debugger;
if (marker != null) {
$($(element).siblings()[0]).val(marker.fullPointData.id);
$(element).val(marker.fullPointData.name);
$(element).change();
} else {
alert(message);
}
})]);
});
$(document).off('change', '.delivery-options-list');
$(document).on('change', '.delivery-options-list', function () {
epakaButtonShowHide();
});
// przejscie do nastepnego kroku (do platnosci) przycisk DALEJ
$(document).off('click', 'button[name="confirmDeliveryOption"]');
$(document).on('click', 'button[name="confirmDeliveryOption"]', function (e) {
// debugger;
if ($(e.target).hasClass('clicked')) {
$(e.target).removeClass('clicked');
} else {
e.preventDefault();
// debugger;
var id_carrier_prestashop = parseInt($('.delivery-options-list input:checked').val());
var id_carrier_epaka = undefined;
var delivery_type = undefined;
if ($('#epaka-delivery-p2p-' + id_carrier_prestashop).length) {
delivery_type = 'p2p';
id_carrier_epaka = $('#epaka-delivery-p2p-' + id_carrier_prestashop).val();
} else if ($('#epaka-delivery-d2d-' + id_carrier_prestashop).length) {
delivery_type = 'd2d';
id_carrier_epaka = $('#epaka-delivery-d2d-' + id_carrier_prestashop).val();
} else {
delivery_type = 'onp';
if ($('#epaka-delivery-onp-' + id_carrier_prestashop).length) {
id_carrier_epaka = $('#epaka-delivery-onp-' + id_carrier_prestashop).val();
} else {
id_carrier_epaka = '0';
}
}
if (id_carrier_epaka != undefined) {
$.post(epakaValidateMachinesPointsAjax,
{ id_carrier_prestashop: id_carrier_prestashop, id_carrier_epaka: id_carrier_epaka },
function (response) {
// debugger;
if (response.status == 'error') {
alert(response.message)
} else {
if (delivery_type == 'p2p') { // bo już wczesniej zapisany punkt
$(e.target).addClass('clicked');
$(e.target).click();
} else if (delivery_type == 'd2d' || delivery_type == 'onp') { // bo kurier nie bedacy punktem jeszcze nie zapisany
$.post(epakaSaveMachinesPointsAjax,
{
id_carrier_prestashop: id_carrier_prestashop,
id_carrier_epaka: id_carrier_epaka,
point_code: null,
point_name: null,
},
function (response) {
// debugger;
if (response.status == 'error') {
alert(response.message);
} else {
$(e.target).addClass('clicked');
$(e.target)[0].click();
}
},
"json");
} else {
$(e.target).addClass('clicked');
$(e.target).click();
}
}
},
"json");
}
}
});
// ostatni krok (po platnosci). Potwierdzenie zamowienia
$('body').off('click', '#payment-confirmation button');
$('body').on('click', '#payment-confirmation button', function (e) {
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
// debugger;
var id_carrier_prestashop = parseInt($('.delivery-options-list input:checked').val());
if ($('#epaka-delivery-p2p-' + id_carrier_prestashop).length) {
var id_carrier_epaka = $('#epaka-delivery-p2p-' + id_carrier_prestashop).val();
$.post(epakaValidateMachinesPointsAjax,
{ id_carrier_prestashop: id_carrier_prestashop, id_carrier_epaka: id_carrier_epaka },
function (response) {
// debugger;
if (response.status == 'error') {
alert(response.message)
} else {
var option = $('input[name="payment-option"]:checked').attr('id');
if (option) {
$('#payment-confirmation button').prop('disabled', true);
$('#pay-with-' + option + '-form form').submit();
}
}
},
"json");
} else {
var option = $('input[name="payment-option"]:checked').attr('id');
if (option) {
$('#payment-confirmation button').prop('disabled', true);
$('#pay-with-' + option + '-form form').submit();
}
}
});
function epakaButtonShowHide() {
// debugger;
var id_delivery = parseInt($('.delivery-options-list input:checked').val());
var button = $('#epaka-set-point');
if (!$('#epaka-delivery-p2p-' + id_delivery).length) {
button.hide();
} else {
button.show();
}
}