Powiększenie wysokości toggle password

This commit is contained in:
2024-01-16 08:38:18 +01:00
parent d6f645e3e3
commit 842a2c5309
4 changed files with 315 additions and 305 deletions

View File

@@ -40,19 +40,21 @@ Trzeba je później podmienić w kodzie w Wydzielonym Javascript na np.:
- Zablokowana edycja danych osobowych w trakcie zamówienia(klient dalej może wysłać zamówienie na inny adres). - Zablokowana edycja danych osobowych w trakcie zamówienia(klient dalej może wysłać zamówienie na inny adres).
- Zmiana sposobów dostaw zależnie od państwa(Czasami się buguje, może to być zależne od plików cookies) - Zmiana sposobów dostaw zależnie od państwa(Czasami się buguje, może to być zależne od plików cookies)
- Sprawdzenie czy wpisano dobry bon towarowy przed złożeniem zamówienia - Sprawdzenie czy wpisano dobry bon towarowy przed złożeniem zamówienia
- lepiej zabezpieczony numer telefonu(na standardzie to +2+++++++++1 przejdzie) - Lepiej zabezpieczony numer telefonu(na standardzie to +2+++++++++1 przejdzie)
- autouzupełnianie metod płatności i dostawy w edycji - Autouzupełnianie metod płatności i dostawy w edycji
- autouzupełnianie metod płatności i dostawy na podstawie poprzednio wykonanego zakupu - Autouzupełnianie metod płatności i dostawy na podstawie poprzednio wykonanego zakupu
### Wady ### ### Wady ###
- nie ma faktury na inne dane(żeby nie używać tego samego zapytania co OSCOP Idosella, na wszelki wypadek żeby nie pobierało opłat) - Nie ma faktury na inne dane(żeby nie używać tego samego zapytania co OSCOP Idosella, na wszelki wypadek żeby nie pobierało opłat)
### Dodatkowe pomysły do zrealizowania ### ### Dodatkowe pomysły do zrealizowania ###
- sprawdzanie logina w trakcie pisania(może być słabe dla ochrony danych klienta) - Sprawdzanie logina w trakcie pisania(może być słabe dla ochrony danych klienta)
- Limit znaków | Wydłużanie się okienka od uwag do sklepu|kuriera - Limit znaków | Wydłużanie się okienka od uwag do sklepu|kuriera
- W przypadku punktów odbioru na jednej mapie, można zamienić metody dostawy wymagające punkty odbioru na jeden wspólny. - W przypadku punktów odbioru na jednej mapie, można zamienić metody dostawy wymagające punkty odbioru na jeden wspólny.
- Na mobilce przyklejenie zamów na dół ekranu na wypadek gdyby zalogowany użytkownik miał już wybrany punkt odbioru - Na mobilce przyklejenie zamów na dół ekranu na wypadek gdyby zalogowany użytkownik miał już wybrany punkt odbioru
- Przekreślona cena|Omnibus w wypadku gdy produkt jest w promocji
### Uwagi ### ### Uwagi ###
- Długie zdjęcia produktu źle wyglądają(najlepsze kwadratowe)
- W przypadku edycji zamówienia z zapłatą za pobraniem nie można pobrać danych takiego zamówienia przed dokonaniem zapłaty. Idosell sprawdza ten problem w komunikacie na zooart6. - W przypadku edycji zamówienia z zapłatą za pobraniem nie można pobrać danych takiego zamówienia przed dokonaniem zapłaty. Idosell sprawdza ten problem w komunikacie na zooart6.
- Dziwna rzecz którą zauważyłem. Jak składasz zamówienie wraz z zakładaniem konta, ale okazuje się że brakuje któregoś produktu w koszyku, to konto dalej się zakłada(ponieważ w takiej sytuacji najpierw zakłada się konto, a później składa się zamówienie) - Dziwna rzecz którą zauważyłem. Jak składasz zamówienie wraz z zakładaniem konta, ale okazuje się że brakuje któregoś produktu w koszyku, to konto dalej się zakłada(ponieważ w takiej sytuacji najpierw zakłada się konto, a później składa się zamówienie)

View File

@@ -3,6 +3,7 @@ var stocks_list_more_txt=<iai:variable vid="więcej informacji"/>;var stocks_lis
// MAPA // MAPA
// Zmienna trzymająca informacje o customowych markerach // Zmienna trzymająca informacje o customowych markerach
// [wysokosc, szerokosc] w pikselach
const defaultIconSize = [50,45]; const defaultIconSize = [50,45];
const mapMarkerIcons = { const mapMarkerIcons = {
inpost: L.icon({ inpost: L.icon({
@@ -31,10 +32,10 @@ function getMarkerIcon(courierId){
else return mapMarkerIcons.default; else return mapMarkerIcons.default;
} }
// zmienne trzymające id dostaw z mapą i czy mapa już była załadowana // Zmienne trzymające id dostaw z mapą i czy mapa już była załadowana
const deliveryPickupPoints = [] ; const deliveryPickupPoints = [] ;
let finpostjs = false; let finpostjs = false;
// funkcja inicjująca mapę // Funkcja inicjująca mapę
function loadMap() { function loadMap() {
var htmlContent = ` var htmlContent = `
<div id="fbs_z02_cover"> <div id="fbs_z02_cover">
@@ -99,7 +100,7 @@ function loadMap() {
</div> </div>
</div>`; </div>`;
// funkcja wyszukująca markery na mapie // Funkcja wyszukująca markery na mapie
function runSearchPickup() { function runSearchPickup() {
if (typeof mymap !== 'undefined') { if (typeof mymap !== 'undefined') {
mymap.eachLayer(function (layer) { mymap.eachLayer(function (layer) {
@@ -178,7 +179,7 @@ function loadMap() {
if (window.innerWidth < 757) document.getElementById("pickup_list_form").insertAdjacentElement("beforebegin",document.querySelector('.map_button_search')); if (window.innerWidth < 757) document.getElementById("pickup_list_form").insertAdjacentElement("beforebegin",document.querySelector('.map_button_search'));
if (!oscItem.querySelector('.fselectedPoint')) oscItem.insertAdjacentHTML("beforeend",`<label class="fselectedPoint" style="padding: 0px;" for="${deliveryValue}"></label>`); if (!oscItem.querySelector('.fselectedPoint')) oscItem.insertAdjacentHTML("beforeend",`<label class="fselectedPoint" style="padding: 0px;" for="${deliveryValue}"></label>`);
// wyszukiwanie punktów odbioru na mapie // Wyszukiwanie punktów odbioru na mapie
if (finpostjs) { if (finpostjs) {
pickup_sites.courierId = ITEM_ID; pickup_sites.courierId = ITEM_ID;
runSearchPickup(); runSearchPickup();
@@ -207,7 +208,7 @@ function loadMap() {
const selectedPoint = document.querySelector('[name="shipping"]:checked').closest('.osc_item').querySelector('.fselectedPoint'); const selectedPoint = document.querySelector('[name="shipping"]:checked').closest('.osc_item').querySelector('.fselectedPoint');
selectedPoint.innerHTML = ""; selectedPoint.innerHTML = "";
// utworzenie informacji o punkcie odbioru // Utworzenie informacji o punkcie odbioru
const deliveryId = document.querySelector('[name="pickup_point"]:checked').value; const deliveryId = document.querySelector('[name="pickup_point"]:checked').value;
const chosenPoint = document.querySelector(`.asideContainer_pickup label[data-id="${deliveryId}"]`); const chosenPoint = document.querySelector(`.asideContainer_pickup label[data-id="${deliveryId}"]`);
const pickupName = chosenPoint.querySelector(".headerText").innerHTML; const pickupName = chosenPoint.querySelector(".headerText").innerHTML;
@@ -228,7 +229,7 @@ function loadMap() {
} }
deliveryPickupPoints.forEach(point => createEventsInpost(point)); deliveryPickupPoints.forEach(point => createEventsInpost(point));
} }
// zamknięcie mapy // Zamknięcie mapy
function closeMap(){ function closeMap(){
document.getElementById("fbs_z02_cover").style.display = "none"; document.getElementById("fbs_z02_cover").style.display = "none";
enablePageScroll(); enablePageScroll();
@@ -240,7 +241,7 @@ function getAddressInfo(query){
}; };
return document.getElementById(`client_${query}`).value; return document.getElementById(`client_${query}`).value;
} }
// utworzenie informacji o punkcie odbioru // Utworzenie informacji o punkcie odbioru
function createPickuppointInfo(selectedPoint, deliveryPointId, name, streetText, cityText, zipcodeText, courierId){ function createPickuppointInfo(selectedPoint, deliveryPointId, name, streetText, cityText, zipcodeText, courierId){
// Pokazanie elementu fselectedPoint // Pokazanie elementu fselectedPoint
selectedPoint.style.display = "block"; selectedPoint.style.display = "block";
@@ -289,7 +290,7 @@ function toggleMapList(e){
e.target.dataset.show = ifList ? "map" : "list"; e.target.dataset.show = ifList ? "map" : "list";
} }
/////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// DANE KLIENTA // DANE KLIENTA
document.getElementById("cop_seection1").addEventListener("click", (e) => { document.getElementById("cop_seection1").addEventListener("click", (e) => {
@@ -371,10 +372,10 @@ function showDeliveryForm(style){
const deliveryWrapper = document.querySelector(".ajax_cop #client_new_additional .delivery_box.cn_wrapper"); const deliveryWrapper = document.querySelector(".ajax_cop #client_new_additional .delivery_box.cn_wrapper");
if((style && deliveryWrapper.classList.contains("--more")) || (!style && !deliveryWrapper.classList.contains("--more"))) return; if((style && deliveryWrapper.classList.contains("--more")) || (!style && !deliveryWrapper.classList.contains("--more"))) return;
// formularz dostawy na inny adres // Formularz dostawy na inny adres
style ? deliveryWrapper.classList.add("--more") : deliveryWrapper.classList.remove("--more"); style ? deliveryWrapper.classList.add("--more") : deliveryWrapper.classList.remove("--more");
// przycisk od wybierania z listy adresów // Przycisk od wybierania z listy adresów
listBtn = document.querySelector(".delivery__address-list-button"); listBtn = document.querySelector(".delivery__address-list-button");
if(listBtn) style ? listBtn.classList.add("--fade-in") : listBtn.classList.remove("--fade-in"); if(listBtn) style ? listBtn.classList.add("--fade-in") : listBtn.classList.remove("--fade-in");
@@ -417,7 +418,7 @@ function handleClickAddressList(e){
changeRegion(); changeRegion();
} }
// nadanie klasy aktywnemu adresowi // Nadanie klasy aktywnemu adresowi
e.target.closest("ul").querySelectorAll("li").forEach(el => el.classList.remove("--active-address")); e.target.closest("ul").querySelectorAll("li").forEach(el => el.classList.remove("--active-address"));
addressLi.classList.add("--active-address"); addressLi.classList.add("--active-address");
@@ -501,20 +502,20 @@ function getClientNew(){
}); });
}; };
///////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////
// WALIDACJA // WALIDACJA
// wyczyść klasy walidacji // Wyczyść klasy walidacji
function clearValidation(input){ function clearValidation(input){
const wrapper = input.closest(".has-feedback") const wrapper = input.closest(".has-feedback")
wrapper.classList.remove('--success', '--error', 'has-error', 'has-success'); wrapper.classList.remove('--success', '--error', 'has-error', 'has-success');
}; };
// wyczyść wiadomość błędu // Wyczyść wiadomość błędu
function removeErrorMessage(input) { function removeErrorMessage(input) {
const valMessage = input.closest('.has-feedback').querySelector('.validate_message'); const valMessage = input.closest('.has-feedback').querySelector('.validate_message');
if(valMessage) valMessage.remove(); if(valMessage) valMessage.remove();
}; };
// dodaj klasy błędu // Dodaj klasy błędu
function addError(input){ function addError(input){
clearValidation(input); clearValidation(input);
removeErrorMessage(input); removeErrorMessage(input);
@@ -522,7 +523,7 @@ function addError(input){
clearValidation(wrapper); clearValidation(wrapper);
wrapper.classList.add('--error', 'has-error'); wrapper.classList.add('--error', 'has-error');
}; };
// dodaj klasy sukcesu // Dodaj klasy sukcesu
function addSuccess(input){ function addSuccess(input){
clearValidation(input); clearValidation(input);
removeErrorMessage(input); removeErrorMessage(input);
@@ -530,12 +531,12 @@ function addSuccess(input){
clearValidation(wrapper); clearValidation(wrapper);
wrapper.classList.add('--success', 'has-success'); wrapper.classList.add('--success', 'has-success');
}; };
// dodaj error wraz z wiadomością // Dodaj error wraz z wiadomością
function addErrorMessage(input, message){ function addErrorMessage(input, message){
addError(input); addError(input);
input.closest('.has-feedback').insertAdjacentHTML("beforeend",`<span class="help-block validate_message text-danger">${message}.</span>`); input.closest('.has-feedback').insertAdjacentHTML("beforeend",`<span class="help-block validate_message text-danger">${message}.</span>`);
} }
// waliduj elementy wymagające wysłania requesta (zipcode, nip) // Waliduj elementy wymagające wysłania requesta (zipcode, nip)
async function validateRequest(target, order=false){ async function validateRequest(target, order=false){
const wrapper = target.closest(".has-feedback"); const wrapper = target.closest(".has-feedback");
let reqData = `${target.name}=${target.value}`; let reqData = `${target.name}=${target.value}`;
@@ -635,14 +636,14 @@ function handleShowSigninModalFromEmailModal(e){
showSigninModal(); showSigninModal();
} }
// event listener zmian w kontenerze cop_seection1 // EventListener zmian w kontenerze cop_seection1
const validateRequestId = ["client_zipcode", "delivery_zipcode", "client_nip", "client_email"]; const validateRequestId = ["client_zipcode", "delivery_zipcode", "client_nip", "client_email"];
const notEmptyFieldsId = ["client_firstname", "client_lastname", "client_city", "delivery_firstname", "delivery_lastname", "delivery_city", "client_firm"]; const notEmptyFieldsId = ["client_firstname", "client_lastname", "client_city", "delivery_firstname", "delivery_lastname", "delivery_city", "client_firm"];
document.getElementById("cop_seection1").addEventListener("change", (e) => { document.getElementById("cop_seection1").addEventListener("change", (e) => {
// walidacja zipcode, nipu i emaila // Walidacja zipcode, nipu i emaila
if(validateRequestId.includes(e.target.id)) return validateRequest(e.target); if(validateRequestId.includes(e.target.id)) return validateRequest(e.target);
// zmiana regionu // Zmiana regionu
if(e.target.name === "client_region" || e.target.name === "delivery_region") { if(e.target.name === "client_region" || e.target.name === "delivery_region") {
const clientType = e.target.name.split("_")[0]; const clientType = e.target.name.split("_")[0];
validateRequest(document.getElementById(`${clientType}_zipcode`)); validateRequest(document.getElementById(`${clientType}_zipcode`));
@@ -667,7 +668,7 @@ document.getElementById("cop_seection1").addEventListener("change", (e) => {
else clearValidation(e.target); else clearValidation(e.target);
}; };
}); });
// funkcje walidacji poszczególnych elementów // Funkcje walidacji poszczególnych elementów
function validateStreet(streetEl){ function validateStreet(streetEl){
const streetParts = streetEl.value.split(" "); const streetParts = streetEl.value.split(" ");
const addressNumber = Number(streetParts[streetParts.length-1][0]); const addressNumber = Number(streetParts[streetParts.length-1][0]);
@@ -742,7 +743,7 @@ document.querySelector("body").addEventListener("change", (e) => {
} }
}) })
/////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
// DOSTAWA I PŁATNOSĆI // DOSTAWA I PŁATNOSĆI
const SET_REGION = (setRegionInput) => JSON.stringify({ const SET_REGION = (setRegionInput) => JSON.stringify({
@@ -783,7 +784,7 @@ async function changeRegion(payAndDelData = null, firstLoad = false) {
getNewPaymentsAndDeliveries(payAndDelData, firstLoad); getNewPaymentsAndDeliveries(payAndDelData, firstLoad);
}; };
// załadowanie metod dostaw i płatności // Załadowanie metod dostaw i płatności
function getNewPaymentsAndDeliveries(data = null, firstLoad = false) { function getNewPaymentsAndDeliveries(data = null, firstLoad = false) {
console.log("fn: order1_new"); console.log("fn: order1_new");
// Wyczyszczenie zapisanych poprzednich metod płatności // Wyczyszczenie zapisanych poprzednich metod płatności
@@ -867,7 +868,7 @@ const checkedPayment = paymentValue === method.id;
} }
else{ else{
prepaidsMethodMarkup += markup; prepaidsMethodMarkup += markup;
// okienko vouchera // Okienko vouchera
if(method.id === 2){ if(method.id === 2){
prepaidsMethodMarkup += ` prepaidsMethodMarkup += `
<div class="order__voucher_container osc_item-modal"> <div class="order__voucher_container osc_item-modal">
@@ -944,13 +945,13 @@ const checkedPayment = paymentValue === method.id;
cloneElement(document.getElementById(paymentMethodId)); cloneElement(document.getElementById(paymentMethodId));
} }
// poprzednia dostawa // Poprzednia dostawa
const prevDeliveryMethod = JSON.parse(localStorage.getItem("prevDeliveryMethod")); const prevDeliveryMethod = JSON.parse(localStorage.getItem("prevDeliveryMethod"));
const prevDeliveryInput = document.querySelector(`input#${prevDeliveryMethod.id}`); const prevDeliveryInput = document.querySelector(`input#${prevDeliveryMethod.id}`);
// Sprawdzenie czy istnieje metoda płatności(na wypadek gdyby była usunięta lub klient zamawiał do innego kraju) // Sprawdzenie czy istnieje metoda dostawy (na wypadek gdyby była usunięta lub klient zamawiał do innego kraju)
if(prevDeliveryInput){ if(prevDeliveryInput){
// sprawdzenie czy dostawa miała punkt odbioru // Sprawdzenie czy dostawa miała punkt odbioru
if(prevDeliveryMethod.fselectedPoint){ if(prevDeliveryMethod.fselectedPoint){
checkPrevPickupPoint( checkPrevPickupPoint(
prevDeliveryInput.parentElement.querySelector(".fselectedPoint"), prevDeliveryInput.parentElement.querySelector(".fselectedPoint"),
@@ -1006,7 +1007,7 @@ function createPaymentContainerMarkup(method){
// Przygotowanie html dla metod dostaw // Przygotowanie html dla metod dostaw
function prepareDeliveryMarkup(method, deliveryId){ function prepareDeliveryMarkup(method, deliveryId){
// zapisanie do listy dostaw z mapą // Zapisanie do listy dostaw z mapą
if (method.pickuppoint === "y" && !deliveryPickupPoints.includes(method.id)) deliveryPickupPoints.push(method.id); if (method.pickuppoint === "y" && !deliveryPickupPoints.includes(method.id)) deliveryPickupPoints.push(method.id);
const cost = Number(method.cost) === 0 ? <iai:variable vid="Gratis!"/> : method.cost_formatted; const cost = Number(method.cost) === 0 ? <iai:variable vid="Gratis!"/> : method.cost_formatted;
const disabled = method.minworthreached === "false" ? 'disabled="disabled"' : ""; const disabled = method.minworthreached === "false" ? 'disabled="disabled"' : "";
@@ -1018,7 +1019,7 @@ function prepareDeliveryMarkup(method, deliveryId){
date.setDate(date.getDate()+method.time); date.setDate(date.getDate()+method.time);
const deliveryDate = date.toLocaleDateString('en-GB').replaceAll("/", "."); const deliveryDate = date.toLocaleDateString('en-GB').replaceAll("/", ".");
// uzupełnienie markupa dla metod dostaw dvp // Uzupełnienie markupa dla metod dostaw dvp
return `<label class="osc_item" for="item_${method.id}"> return `<label class="osc_item" for="item_${method.id}">
<input id="item_${method.id}" value="${method.id}" type="radio" name="shipping" data-pickuppoint="${method.pickuppoint}" data-delivery="${method.time_days}#${method.time_hours}#${method.time_minutes}#${method.week_day}#${method.week_amount}#${method.time}" ${ifChecked ? "checked" : ""}> <input id="item_${method.id}" value="${method.id}" type="radio" name="shipping" data-pickuppoint="${method.pickuppoint}" data-delivery="${method.time_days}#${method.time_hours}#${method.time_minutes}#${method.week_day}#${method.week_amount}#${method.time}" ${ifChecked ? "checked" : ""}>
<div class="photo"> <div class="photo">
@@ -1094,7 +1095,7 @@ function changeCurrentShippingInfo(shippingMethod){
app_shop.vars.checkedShipping = shippingMethod.value; app_shop.vars.checkedShipping = shippingMethod.value;
} }
document.getElementById("cop_seection2").addEventListener("click", e => { document.getElementById("cop_seection2").addEventListener("click", e => {
// kliknięcie na dostawe // Kliknięcie na dostawe
if(e.target.name === "shipping"){ if(e.target.name === "shipping"){
// Wyczyszczenie wszystkich zaznaczonych punktów odbioru // Wyczyszczenie wszystkich zaznaczonych punktów odbioru
clearSelectedPoints(); clearSelectedPoints();
@@ -1103,7 +1104,7 @@ document.getElementById("cop_seection2").addEventListener("click", e => {
if(app_shop.vars.checkedShipping === e.target.value) return; if(app_shop.vars.checkedShipping === e.target.value) return;
if(e.target.dataset.working_days) e.target.dataset.working_days.split("#").map(function (e) {return parseInt(e, 10);}); if(e.target.dataset.working_days) e.target.dataset.working_days.split("#").map(function (e) {return parseInt(e, 10);});
// zapisanie jako poprzednia metoda płatności jeśli nie wymaga wyboru punktu odbioru // Zapisanie jako poprzednia metoda płatności jeśli nie wymaga wyboru punktu odbioru
if(e.target.dataset.pickuppoint === "n"){ if(e.target.dataset.pickuppoint === "n"){
prevShipping=e.target; prevShipping=e.target;
@@ -1113,7 +1114,7 @@ document.getElementById("cop_seection2").addEventListener("click", e => {
return; return;
} }
// kliknięcie na płatność // Kliknięcie na płatność
if(e.target.name === "payform_id"){ if(e.target.name === "payform_id"){
// Usunięcie klona poprzedniego przelewu online/ karty płatniczej // Usunięcie klona poprzedniego przelewu online/ karty płatniczej
removePrevClone(); removePrevClone();
@@ -1198,17 +1199,17 @@ function showPaymentMethodModal(method){
// Metoda oblugujaca kliknieca w metody platnosci w popupie // Metoda oblugujaca kliknieca w metody platnosci w popupie
function handlePaymentMethodClick(e){ function handlePaymentMethodClick(e){
// usuń poprzedni klon i stwórz nowy // Usuń poprzedni klon i stwórz nowy
removePrevClone(); removePrevClone();
cloneElement(e.target); cloneElement(e.target);
// zamkniecie modala // Zamkniecie modala
ifChosenNewPaymentMethod = true; ifChosenNewPaymentMethod = true;
app_shop.fn.paymentModal.closeModal(); app_shop.fn.paymentModal.closeModal();
return false; return false;
} }
function cloneElement(originalPaymentElement){ function cloneElement(originalPaymentElement){
// sklonowanie kliknietego elementu // Sklonowanie kliknietego elementu
const clonedMethod = originalPaymentElement.closest(".osc_item").cloneNode(true); const clonedMethod = originalPaymentElement.closest(".osc_item").cloneNode(true);
const clonedInput = clonedMethod.querySelector("input"); const clonedInput = clonedMethod.querySelector("input");
@@ -1235,7 +1236,7 @@ function changeDeliveryOptions(){
calculateBasketCost(); calculateBasketCost();
} }
// zmień pokazane metody dostawy // Zmień pokazane metody dostawy
function changePrepaidDvp(prepaidStyle, dvpStyle){ function changePrepaidDvp(prepaidStyle, dvpStyle){
const prepaid = document.getElementById("osc_order1_prepaid"); const prepaid = document.getElementById("osc_order1_prepaid");
const dvp = document.getElementById("osc_order1_dvp"); const dvp = document.getElementById("osc_order1_dvp");
@@ -1311,7 +1312,7 @@ const productsPointsEl = document.querySelector("#order2_products_points .operat
const summaryCostEl = document.getElementById("summary-cost"); const summaryCostEl = document.getElementById("summary-cost");
const summaryPointsEl = document.getElementById("summary-points"); const summaryPointsEl = document.getElementById("summary-points");
function calculateBasketCost() { function calculateBasketCost() {
// przygotowanie informacji o metodzie dostawy i platnosci // Przygotowanie informacji o metodzie dostawy i platnosci
const orderInfo = { const orderInfo = {
delivery: document.querySelector('.ajax_cop input[name="shipping"]:checked') ? document.querySelector('.ajax_cop input[name="shipping"]:checked').value : "0-1", delivery: document.querySelector('.ajax_cop input[name="shipping"]:checked') ? document.querySelector('.ajax_cop input[name="shipping"]:checked').value : "0-1",
payform_id: document.querySelector('.ajax_cop input[name="payform_id"]:checked') ? document.querySelector('.ajax_cop input[name="payform_id"]:checked').value : "cash" payform_id: document.querySelector('.ajax_cop input[name="payform_id"]:checked') ? document.querySelector('.ajax_cop input[name="payform_id"]:checked').value : "cash"
@@ -1344,7 +1345,7 @@ function calculateBasketCost() {
checkShowPrice(totalRebateEl, Number(t.total_rebate_without_shipping), t.currency_sign); checkShowPrice(totalRebateEl, Number(t.total_rebate_without_shipping), t.currency_sign);
checkShowPrice(saldoValueEl, Number(t.payment_amount_from_client_balance), t.currency_sign); checkShowPrice(saldoValueEl, Number(t.payment_amount_from_client_balance), t.currency_sign);
// punkty zamówienia // Punkty zamówienia
if(t.products_worth_at_points){ if(t.products_worth_at_points){
productsPointsEl.innerHTML = `${t.products_worth_at_points} ${<iai:variable vid="pkt"/>}.`; productsPointsEl.innerHTML = `${t.products_worth_at_points} ${<iai:variable vid="pkt"/>}.`;
productsPointsEl.parentElement.style.display = "flex"; productsPointsEl.parentElement.style.display = "flex";
@@ -1361,14 +1362,14 @@ function calculateBasketCost() {
}); });
}; };
// funkcja od pokazania wybranej ceny (np rabat, ubezpieczenie...) // Funkcja od pokazania wybranej ceny (np rabat, ubezpieczenie...)
function checkShowPrice(priceContainer, price, currencySign){ function checkShowPrice(priceContainer, price, currencySign){
priceContainer.innerHTML = formatPrice(price, currencySign); priceContainer.innerHTML = formatPrice(price, currencySign);
if(price && price > 0) priceContainer.parentElement.style.display = "flex"; if(price && price > 0) priceContainer.parentElement.style.display = "flex";
else priceContainer.parentElement.style.display = "none"; else priceContainer.parentElement.style.display = "none";
}; };
// funkcja od formatowania ceny // Funkcja od formatowania ceny
function formatPrice(price, currencySign) { function formatPrice(price, currencySign) {
return format_price(price, { mask: app_shop.vars.currency_format, currency: currencySign, currency_space: app_shop.vars.currency_space, currency_before_price: app_shop.vars.currency_before_value }); return format_price(price, { mask: app_shop.vars.currency_format, currency: currencySign, currency_space: app_shop.vars.currency_space, currency_before_price: app_shop.vars.currency_before_value });
}; };
@@ -1466,7 +1467,7 @@ const DEACTIVATE_REBATE_CODE = () => JSON.stringify({
}`, }`,
}) })
// aktywacja kodu rabatowego // Aktywacja kodu rabatowego
const rebateCode = document.getElementById("rebate_code"); const rebateCode = document.getElementById("rebate_code");
async function updateCode(){ async function updateCode(){
if(rebateCode.value.trim() === ""){ if(rebateCode.value.trim() === ""){
@@ -1500,7 +1501,7 @@ async function updateCode(){
toggleActiveCode(false, true); toggleActiveCode(false, true);
} }
// usunięcie aktywnego kodu rabatowego // Usunięcie aktywnego kodu rabatowego
async function removeCode(){ async function removeCode(){
app_shop.fn.ajaxLoadSite(1); app_shop.fn.ajaxLoadSite(1);
@@ -1518,7 +1519,7 @@ async function removeCode(){
} }
} }
// zmień widoczność kodu rabatowego // Zmień widoczność kodu rabatowego
const rebateOptionWrapper = document.querySelector(".rebate__options"); const rebateOptionWrapper = document.querySelector(".rebate__options");
const rebateCodeContainer = document.querySelector(".rebate__code"); const rebateCodeContainer = document.querySelector(".rebate__code");
const rebateActiveWrapper = document.querySelector(".rebate__active"); const rebateActiveWrapper = document.querySelector(".rebate__active");
@@ -1531,14 +1532,14 @@ function toggleActiveCode(show, error=false){
clearValidation(rebateCode); clearValidation(rebateCode);
} }
// zmień widoczność // Zmień widoczność
rebateOptionWrapper.style.display = show ? "none" : "flex"; rebateOptionWrapper.style.display = show ? "none" : "flex";
rebateActiveWrapper.style.display = show ? "block" : "none"; rebateActiveWrapper.style.display = show ? "block" : "none";
if(!error) rebateCodeContainer.classList.remove("--fade-in"); if(!error) rebateCodeContainer.classList.remove("--fade-in");
else rebateCodeContainer.classList.add("--fade-in"); else rebateCodeContainer.classList.add("--fade-in");
// zmień wartości // Zmień wartości
activeCodeEl.innerHTML = show ? rebateCode.value : ""; activeCodeEl.innerHTML = show ? rebateCode.value : "";
showInput = error ? true : false; showInput = error ? true : false;
rebateOptionEl.checked = error ? true : false; rebateOptionEl.checked = error ? true : false;
@@ -1546,7 +1547,7 @@ function toggleActiveCode(show, error=false){
else activeCodeEl.innerHTML = ""; else activeCodeEl.innerHTML = "";
} }
// eventListenery dla kodu rabatowego // EventListenery dla kodu rabatowego
let showInput = false; let showInput = false;
const rebateCodeWrapper = document.querySelector(".rebate"); const rebateCodeWrapper = document.querySelector(".rebate");
rebateCodeWrapper.addEventListener("click", (e) => { rebateCodeWrapper.addEventListener("click", (e) => {
@@ -1622,16 +1623,16 @@ document.querySelector(".order2_button_order").addEventListener("click", () => {
// Sprawdzenie pól formularza // Sprawdzenie pól formularza
if(validateAllInputs() === false) app_shop.vars.validation = 0; if(validateAllInputs() === false) app_shop.vars.validation = 0;
// znalezienie obecnie zaznaczonej metody dostawy i płatności // Znalezienie obecnie zaznaczonej metody dostawy i płatności
const deliveryMethod = document.querySelector(".ajax_cop [name=shipping]:checked"); const deliveryMethod = document.querySelector(".ajax_cop [name=shipping]:checked");
const paymentMethod = document.querySelector(".ajax_cop [name=payform_id]:checked"); const paymentMethod = document.querySelector(".ajax_cop [name=payform_id]:checked");
// sprawdzenie czy użytkownik zaakceptował regulamin // Sprawdzenie czy użytkownik zaakceptował regulamin
if(!termsConditionsInput.checked || !cancelConditionsInput.checked){ if(!termsConditionsInput.checked || !cancelConditionsInput.checked){
app_shop.vars.validation = 0; app_shop.vars.validation = 0;
showTermsError(termsConditionsInput); showTermsError(termsConditionsInput);
showTermsError(cancelConditionsInput); showTermsError(cancelConditionsInput);
}// sprawdzenie czy użytkownik wybrał metodę dostawy i płatności (też sprawdzenie czy wybrał paczkomat i wpisał voucher) }// Sprawdzenie czy użytkownik wybrał metodę dostawy i płatności (też sprawdzenie czy wybrał paczkomat i wpisał voucher)
else { else {
if(deliveryMethod){ if(deliveryMethod){
if(deliveryMethod.dataset.pickuppoint === "y" && deliveryMethod.parentElement.querySelector(".fselectedPoint").innerHTML === "") orderValidationError(<iai:variable vid="Nie wybrano punktu odbioru"/>); if(deliveryMethod.dataset.pickuppoint === "y" && deliveryMethod.parentElement.querySelector(".fselectedPoint").innerHTML === "") orderValidationError(<iai:variable vid="Nie wybrano punktu odbioru"/>);
@@ -1653,9 +1654,9 @@ document.querySelector(".order2_button_order").addEventListener("click", () => {
} }
} }
// przerwanie składania zamówienia jeśli w trakcie walidacji wystąpił błąd // Przerwanie składania zamówienia jeśli w trakcie walidacji wystąpił błąd
if (app_shop.vars.validation === 0) { if (app_shop.vars.validation === 0) {
// scroll do elementów z błędem // Scroll do elementów z błędem
if(document.getElementById("order2_terms_conditions").checked && document.getElementById("order2_cancel").checked){ if(document.getElementById("order2_terms_conditions").checked && document.getElementById("order2_cancel").checked){
const errorEl = document.querySelector(".--error.has-error"); const errorEl = document.querySelector(".--error.has-error");
if(errorEl) scrollToHeight(errorEl) if(errorEl) scrollToHeight(errorEl)
@@ -1693,7 +1694,7 @@ function showTermsError(input){
input.parentElement.querySelector("a").classList.add("text-danger"); input.parentElement.querySelector("a").classList.add("text-danger");
} }
} }
// złożenie zamówienia // Złożenie zamówienia
function createOrder(deliveryMethod, paymentMethod){ function createOrder(deliveryMethod, paymentMethod){
// Weź dane klienta // Weź dane klienta
const email = document.getElementById("client_email").value; const email = document.getElementById("client_email").value;
@@ -1739,11 +1740,11 @@ function createOrder(deliveryMethod, paymentMethod){
if (!lastname) lastname = (deliveryLastname) ? deliveryLastname : 'Firma'; if (!lastname) lastname = (deliveryLastname) ? deliveryLastname : 'Firma';
} }
// czyszczenie imienia i nazwiska ze znaków specjalnych // Czyszczenie imienia i nazwiska ze znaków specjalnych
firstname = firstname.replace(/[&\/\\#,+()$~%.'":*?<>{}!@~`^_]/g, ""); firstname = firstname.replace(/[&\/\\#,+()$~%.'":*?<>{}!@~`^_]/g, "");
lastname = lastname.replace(/[&\/\\#,+()$~%.'":*?<>{}!@~`^_]/g, ""); lastname = lastname.replace(/[&\/\\#,+()$~%.'":*?<>{}!@~`^_]/g, "");
// dodatkowe informacje (uwagi, faktura, punkt odbioru) // Dodatkowe informacje (uwagi, faktura, punkt odbioru)
const shopRemarks = document.getElementById("shop_remarks").checked ? document.querySelector(".ajax_cop [name=remarks]").value : ""; const shopRemarks = document.getElementById("shop_remarks").checked ? document.querySelector(".ajax_cop [name=remarks]").value : "";
const deliveryRemarks = document.getElementById("courier_remarks").checked ? document.querySelector(".ajax_cop [name=deliverer_remarks]").value : ""; const deliveryRemarks = document.getElementById("courier_remarks").checked ? document.querySelector(".ajax_cop [name=deliverer_remarks]").value : "";
@@ -1787,7 +1788,7 @@ function createOrder(deliveryMethod, paymentMethod){
}, },
}; };
// złóż zamówienie jako zalogowany/niezalogowany użytkownik. // Złóż zamówienie jako zalogowany/niezalogowany użytkownik.
if (document.querySelector(".--logged")) sendOrder(order); if (document.querySelector(".--logged")) sendOrder(order);
else { else {
const clientData = new FormData(); const clientData = new FormData();
@@ -2032,7 +2033,9 @@ async function fetchData(options = {}) {
return false; return false;
} }
} }
// element z numerem edycji jeśli jest
function initOSCOP(){
// Element z numerem edycji jeśli jest
const editNumber = document.getElementById("edit-number"); const editNumber = document.getElementById("edit-number");
if(document.querySelector(".ajax_cop").childElementCount && !editNumber) changeRegion(null, true); if(document.querySelector(".ajax_cop").childElementCount && !editNumber) changeRegion(null, true);
@@ -2128,8 +2131,9 @@ if(editNumber){
linkParameter: "?query=orderDetails", linkParameter: "?query=orderDetails",
alert: false, alert: false,
}); });
// Jesli error to zatrzymaj funkcje // Jesli error to zatrzymaj funkcje
if(!data?.data?.orderDetails) return changeRegion(); if(!data?.data?.orderDetails || !data) return changeRegion();
// Wstawienie danych // Wstawienie danych
insertEditData(data.data.orderDetails); insertEditData(data.data.orderDetails);
@@ -2186,10 +2190,12 @@ if(editNumber){
} }
getEditData(); getEditData();
// funkcja od uzupełnienia inputów // Funkcja od uzupełnienia inputów
function fillInput(input, value){ function fillInput(input, value){
input.value = value; input.value = value;
input.classList.add("focused"); input.classList.add("focused");
input.parentElement.classList.add("--success", "has-success"); input.parentElement.classList.add("--success", "has-success");
} }
} }
}
initOSCOP();

View File

@@ -1,5 +1,5 @@
.--place-order-page{ .--place-order-page{
// blokada przesuwania się text area // Blokada przesuwania się text area
textarea{ textarea{
resize: none; resize: none;
} }
@@ -9,7 +9,7 @@
label:has(input:disabled){ label:has(input:disabled){
cursor: default; cursor: default;
} }
// strzalki po prawej // Strzalki po prawej
.--arrow-input{ .--arrow-input{
display: none; display: none;
} }
@@ -44,35 +44,35 @@
.bm-oscop__btn:hover{ .bm-oscop__btn:hover{
background-color: @less_iaicolorscheme_background_text_color!important; background-color: @less_iaicolorscheme_background_text_color!important;
} }
// error // Error
.has-feedback.--error .form-control{ .has-feedback.--error .form-control{
border-color: @less_iaicolorscheme_danger_color; border-color: @less_iaicolorscheme_danger_color;
} }
// zmiana fontsize na 16px na desktop // Zmiana fontsize na 16px na desktop
.order__voucher_headlines strong, .order__voucher_button, #signin-form-ajax .signin_button, .delivery__address-list-firstname, .delivery__address-list-lastname, .osc_item-modal h2, .propose_title, #e-invoice_dialog .btn, #checkout_step2_2 h3, #summary-points, #fbs_z02_wrapper .big_label, .propose_main .button_password_recover, .rebate__title{ .order__voucher_headlines strong, .order__voucher_button, #signin-form-ajax .signin_button, .delivery__address-list-firstname, .delivery__address-list-lastname, .osc_item-modal h2, .propose_title, #e-invoice_dialog .btn, #checkout_step2_2 h3, #summary-points, #fbs_z02_wrapper .big_label, .propose_main .button_password_recover, .rebate__title{
font-size: 1.6rem!important; font-size: 1.6rem!important;
} }
// zmiana fontsize na 14px na desktop // Zmiana fontsize na 14px na desktop
.rebate_option label, .order2_terms_checkall, .register_client_checkbox, .firm-form, #delivery_box_switcher label, #FBS_faktura, #checkout_step3_1 .name, .client_type-text, .headerText{ .rebate_option label, .order2_terms_checkall, .register_client_checkbox, .firm-form, #delivery_box_switcher label, #FBS_faktura, #checkout_step3_1 .name, .client_type-text, .headerText{
font-size: 1.4rem!important; font-size: 1.4rem!important;
} }
// zmiana fontsize na 13px na desktop // Zmiana fontsize na 13px na desktop
.cop_product_wrap, .order_pay_wrapper, .order2_shiptime, .signin_header, .delivery_date, #checkout_step2_2 .step3_sub.cop_box_sub span, .delivery__address-list-street, .delivery__address-list-city, .delivery__address-list-zipcode, .delivery__address-list-phone, .delivery__address-country_name, .propose_text, .propose_json_mail, .control-label, .register__hide-password::before, .f-label, #locationField .btn, .rebate__active-options button{ .cop_product_wrap, .order_pay_wrapper, .order2_shiptime, .signin_header, .delivery_date, #checkout_step2_2 .step3_sub.cop_box_sub span, .delivery__address-list-street, .delivery__address-list-city, .delivery__address-list-zipcode, .delivery__address-list-phone, .delivery__address-country_name, .propose_text, .propose_json_mail, .control-label, .register__hide-password::before, .f-label, #locationField .btn, .rebate__active-options button{
font-size: 1.3rem!important; font-size: 1.3rem!important;
} }
// zmiana fontsize na 12px na desktop // Zmiana fontsize na 12px na desktop
.comment, .delivery_date, #checkout_step2_1 .name, a.go__shopping, .order_products_action span, .needed-text, #fbs_z02_close::before, .pickup_point_sub div, .mapTooltipAdress, #cop_seection2 #checkout_step2_2 h3 span, .osc_item-modal span, #e-invoice_dialog p, .e-invoice_dialog, .cn_propose_desc, #mail_propose_signin, #mail_propose_close, .order__voucher_info{ .comment, .delivery_date, #checkout_step2_1 .name, a.go__shopping, .order_products_action span, .needed-text, #fbs_z02_close::before, .pickup_point_sub div, .mapTooltipAdress, #cop_seection2 #checkout_step2_2 h3 span, .osc_item-modal span, #e-invoice_dialog p, .e-invoice_dialog, .cn_propose_desc, #mail_propose_signin, #mail_propose_close, .order__voucher_info{
font-size: 1.2rem!important; font-size: 1.2rem!important;
} }
// zmiana grubości czcionki na 700 // Zmiana grubości czcionki na 700
#delivery_box_switcher label, #FBS_faktura > span, .client_type-text, #signin-form-ajax .signin_button, .delivery__address-list-firstname, .delivery__address-list-lastname, .propose_title, .button_password_recover, .client_type-text, .voucher-value, #active-code, .order2_terms_checkall, .order2_button_order, #fbs_z02_close, #locationField .btn, .btn.map_dir,.fbs02_btn, .register__option label, #e-invoice_dialog font, #e-invoice_dialog .btn, .rebate label, .--points{ #delivery_box_switcher label, #FBS_faktura > span, .client_type-text, #signin-form-ajax .signin_button, .delivery__address-list-firstname, .delivery__address-list-lastname, .propose_title, .button_password_recover, .client_type-text, .voucher-value, #active-code, .order2_terms_checkall, .order2_button_order, #fbs_z02_close, #locationField .btn, .btn.map_dir,.fbs02_btn, .register__option label, #e-invoice_dialog font, #e-invoice_dialog .btn, .rebate label, .--points{
font-weight: 700; font-weight: 700;
} }
// margin bottom 0 // Zmiana margin bottom na 0
#signin-form-ajax .f-group, .propose_main div:has(#mail_propose_close), #e-invoice_dialog .big_label, #cop_seection1 .form-group:last-child, .register__form, .register__item:last-of-type, #client_contact_info{ #signin-form-ajax .f-group, .propose_main div:has(#mail_propose_close), #e-invoice_dialog .big_label, #cop_seection1 .form-group:last-child, .register__form, .register__item:last-of-type, #client_contact_info{
margin-bottom: 0!important; margin-bottom: 0!important;
} }
// transition // Transition
.--hide{ .--hide{
max-height: 0; max-height: 0;
height: 0; height: 0;
@@ -126,7 +126,7 @@
display: none; display: none;
} }
} }
// modal vouchera // Modal vouchera
.order__voucher_container { .order__voucher_container {
.order__voucher_headlines{ .order__voucher_headlines{
display: flex; display: flex;
@@ -146,13 +146,13 @@
top: -5px!important; top: -5px!important;
} }
} }
// modal logowania // Modal logowania
#signin-form-ajax .signin_button{ #signin-form-ajax .signin_button{
width: 100%; width: 100%;
margin-bottom: 1rem; margin-bottom: 1rem;
padding: 1.4rem 0; padding: 1.4rem 0;
} }
// modal listy adresów // Modal listy adresów
.delivery__address-list-container{ .delivery__address-list-container{
h2{ h2{
padding-left: 1rem; padding-left: 1rem;
@@ -277,7 +277,7 @@
} }
} }
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
// inputy // Inputy
input[type="text"], input[type="email"], input[type="password"], input[type="tel"], select{ input[type="text"], input[type="email"], input[type="password"], input[type="tel"], select{
border-radius: 8px!important; border-radius: 8px!important;
height: 38px!important; height: 38px!important;
@@ -310,7 +310,7 @@
select{ select{
cursor: pointer; cursor: pointer;
} }
// ikony // Ikony
i.icon-home:before { i.icon-home:before {
content: '\F015'; content: '\F015';
} }
@@ -333,7 +333,7 @@
content: "\F104"; content: "\F104";
font-family: FontAwesome; font-family: FontAwesome;
} }
// ułożenie strony // Ułożenie strony
.ajax_cop{ .ajax_cop{
display: grid!important; display: grid!important;
grid-template-columns: 5fr 3.5fr; grid-template-columns: 5fr 3.5fr;
@@ -343,7 +343,7 @@
font-size: 2.2rem; font-size: 2.2rem;
padding-bottom: 1.5rem; padding-bottom: 1.5rem;
} }
// cena gratis // Cena gratis
.cost_free{ .cost_free{
color: #0BAC38; color: #0BAC38;
font-weight: 800; font-weight: 800;
@@ -404,7 +404,7 @@
.row { .row {
margin: 0 0px 0 -10px; margin: 0 0px 0 -10px;
} }
// kraj // Kraj
.form-group.--region{ .form-group.--region{
position: relative; position: relative;
.control-label{ .control-label{
@@ -443,7 +443,7 @@
content: "\F106"; content: "\F106";
} }
} }
// zalogowanie się // Zalogowanie się
.signin{ .signin{
.get_signin{ .get_signin{
text-decoration: underline; text-decoration: underline;
@@ -515,10 +515,11 @@
#toggle_password{ #toggle_password{
position: absolute; position: absolute;
right: 1.5rem; right: 1.5rem;
top: 1rem;
cursor: pointer; cursor: pointer;
display: flex; display: flex;
align-items: center; align-items: center;
top: 0;
height: 100%;
} }
#toggle_password:hover{ #toggle_password:hover{
color: @less_iaicolorscheme_background_active_color; color: @less_iaicolorscheme_background_active_color;
@@ -540,7 +541,7 @@
.cn_wrapper{ .cn_wrapper{
width: 100%!important; width: 100%!important;
} }
// dostawa na inny adres // Dostawa na inny adres
#client_new_additional{ #client_new_additional{
border-top: 1px solid #ccc; border-top: 1px solid #ccc;
padding-top: 2.4rem; padding-top: 2.4rem;
@@ -578,7 +579,7 @@
margin-right: 1rem; margin-right: 1rem;
} }
} }
// sekcja dostawa i płatności // Sekcja dostawa i płatności
#cop_seection2{ #cop_seection2{
.osc_item { .osc_item {
gap: 1.2rem; gap: 1.2rem;
@@ -686,13 +687,12 @@
display: none; display: none;
} }
} }
// sekcja podsumowanie // Sekcja podsumowanie
#cop_seection3{ #cop_seection3{
position: sticky; position: sticky;
top: 10px; top: 10px;
align-self: flex-start; align-self: flex-start;
.summary__container{ .summary__container{
// background-color: @less_iaicolorscheme_gray_lighter_color;
background-color: #f2f2f2; background-color: #f2f2f2;
padding: 4rem 2rem 2rem 2rem; padding: 4rem 2rem 2rem 2rem;
border-radius: 5px; border-radius: 5px;
@@ -948,15 +948,15 @@
.delivery__address-list{ .delivery__address-list{
grid-template-columns: 1fr!important; grid-template-columns: 1fr!important;
} }
// font size 12px // Zmiana fontsize na 12px mobile
.cop_product_wrap_r .cop_quantity{ .cop_product_wrap_r .cop_quantity{
font-size: 1.2rem!important; font-size: 1.2rem!important;
} }
// font size 13px // Zmiana fontsize na 13px mobile
.delivery_date, .cop_product_wrap_r .cop_price, .order2_terms_wrapper_sub:not(.needed-text), #mail_propose_signin, #mail_propose_close { .delivery_date, .cop_product_wrap_r .cop_price, .order2_terms_wrapper_sub:not(.needed-text), #mail_propose_signin, #mail_propose_close {
font-size: 1.3rem!important; font-size: 1.3rem!important;
} }
// font size 14px // Zmiana fontsize na 14px mobile
.bm-oscop__btn, .cop_product_wrap_r .cop_product_name, .rebate__options, .order2_terms_wrapper_sub.newsletter, .propose_text, .propose_json_mail, .button_password_recover, #cop_seection2 #checkout_step2_2 h3, .rebate__title{ .bm-oscop__btn, .cop_product_wrap_r .cop_product_name, .rebate__options, .order2_terms_wrapper_sub.newsletter, .propose_text, .propose_json_mail, .button_password_recover, #cop_seection2 #checkout_step2_2 h3, .rebate__title{
font-size: 1.4rem!important; font-size: 1.4rem!important;
} }
@@ -1036,9 +1036,6 @@
flex-direction: column; flex-direction: column;
gap: 1.2rem; gap: 1.2rem;
} }
.register .register__form .register__item #toggle_password{
top: 1.4rem;
}
} }
.delivery_box.--more .form-group, .client_box .form-group, #client_contact_info .form-group{ .delivery_box.--more .form-group, .client_box .form-group, #client_contact_info .form-group{
margin-bottom: 1.2rem!important; margin-bottom: 1.2rem!important;
@@ -1133,7 +1130,7 @@
font-size: 1.6rem!important; font-size: 1.6rem!important;
} }
} }
// modal elektroniczna faktura mobile // Modal elektroniczna faktura mobile
.modal__wrapper:has(#e-invoice_dialog){ .modal__wrapper:has(#e-invoice_dialog){
padding: 2.4rem!important; padding: 2.4rem!important;
} }

View File

@@ -35,10 +35,10 @@ function getMarkerIcon(courierId){
else return mapMarkerIcons.default; else return mapMarkerIcons.default;
} }
// zmienne trzymające id dostaw z mapą i czy mapa już była załadowana // Zmienne trzymające id dostaw z mapą i czy mapa już była załadowana
const deliveryPickupPoints = [] ; const deliveryPickupPoints = [] ;
let finpostjs = false; let finpostjs = false;
// funkcja inicjująca mapę // Funkcja inicjująca mapę
function loadMap() { function loadMap() {
var htmlContent = ` var htmlContent = `
<div id="fbs_z02_cover"> <div id="fbs_z02_cover">
@@ -103,7 +103,7 @@ function loadMap() {
</div> </div>
</div>`; </div>`;
// funkcja wyszukująca markery na mapie // Funkcja wyszukująca markery na mapie
function runSearchPickup() { function runSearchPickup() {
if (typeof mymap !== 'undefined') { if (typeof mymap !== 'undefined') {
mymap.eachLayer(function (layer) { mymap.eachLayer(function (layer) {
@@ -185,7 +185,7 @@ function loadMap() {
if (window.innerWidth < 757) document.getElementById("pickup_list_form").insertAdjacentElement("beforebegin",document.querySelector('.map_button_search')); if (window.innerWidth < 757) document.getElementById("pickup_list_form").insertAdjacentElement("beforebegin",document.querySelector('.map_button_search'));
if (!oscItem.querySelector('.fselectedPoint')) oscItem.insertAdjacentHTML("beforeend",`<label class="fselectedPoint" style="padding: 0px;" for="${deliveryValue}"></label>`); if (!oscItem.querySelector('.fselectedPoint')) oscItem.insertAdjacentHTML("beforeend",`<label class="fselectedPoint" style="padding: 0px;" for="${deliveryValue}"></label>`);
// wyszukiwanie punktów odbioru na mapie // Wyszukiwanie punktów odbioru na mapie
if (finpostjs) { if (finpostjs) {
pickup_sites.courierId = ITEM_ID; pickup_sites.courierId = ITEM_ID;
runSearchPickup(); runSearchPickup();
@@ -204,7 +204,7 @@ function loadMap() {
const selectedPoint = document.querySelector('[name="shipping"]:checked').closest('.osc_item').querySelector('.fselectedPoint'); const selectedPoint = document.querySelector('[name="shipping"]:checked').closest('.osc_item').querySelector('.fselectedPoint');
selectedPoint.innerHTML = ""; selectedPoint.innerHTML = "";
// utworzenie informacji o punkcie odbioru // Utworzenie informacji o punkcie odbioru
const deliveryId = document.querySelector('[name="pickup_point"]:checked').value; const deliveryId = document.querySelector('[name="pickup_point"]:checked').value;
const chosenPoint = document.querySelector(`.asideContainer_pickup label[data-id="${deliveryId}"]`); const chosenPoint = document.querySelector(`.asideContainer_pickup label[data-id="${deliveryId}"]`);
const pickupName = chosenPoint.querySelector(".headerText").innerHTML; const pickupName = chosenPoint.querySelector(".headerText").innerHTML;
@@ -225,7 +225,7 @@ function loadMap() {
} }
deliveryPickupPoints.forEach(point => createEventsInpost(point)); deliveryPickupPoints.forEach(point => createEventsInpost(point));
} }
// zamknięcie mapy // Zamknięcie mapy
function closeMap(){ function closeMap(){
document.getElementById("fbs_z02_cover").style.display = "none"; document.getElementById("fbs_z02_cover").style.display = "none";
enablePageScroll(); enablePageScroll();
@@ -237,7 +237,7 @@ function getAddressInfo(query){
}; };
return document.getElementById(`client_${query}`).value; return document.getElementById(`client_${query}`).value;
} }
// utworzenie informacji o punkcie odbioru // Utworzenie informacji o punkcie odbioru
function createPickuppointInfo(selectedPoint, deliveryPointId, name, streetText, cityText, zipcodeText, courierId){ function createPickuppointInfo(selectedPoint, deliveryPointId, name, streetText, cityText, zipcodeText, courierId){
// Pokazanie elementu fselectedPoint // Pokazanie elementu fselectedPoint
selectedPoint.style.display = "block"; selectedPoint.style.display = "block";
@@ -286,7 +286,7 @@ function toggleMapList(e){
e.target.dataset.show = ifList ? "map" : "list"; e.target.dataset.show = ifList ? "map" : "list";
} }
/////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// DANE KLIENTA // DANE KLIENTA
document.getElementById("cop_seection1").addEventListener("click", (e) => { document.getElementById("cop_seection1").addEventListener("click", (e) => {
@@ -368,10 +368,10 @@ function showDeliveryForm(style){
const deliveryWrapper = document.querySelector(".ajax_cop #client_new_additional .delivery_box.cn_wrapper"); const deliveryWrapper = document.querySelector(".ajax_cop #client_new_additional .delivery_box.cn_wrapper");
if((style && deliveryWrapper.classList.contains("--more")) || (!style && !deliveryWrapper.classList.contains("--more"))) return; if((style && deliveryWrapper.classList.contains("--more")) || (!style && !deliveryWrapper.classList.contains("--more"))) return;
// formularz dostawy na inny adres // Formularz dostawy na inny adres
style ? deliveryWrapper.classList.add("--more") : deliveryWrapper.classList.remove("--more"); style ? deliveryWrapper.classList.add("--more") : deliveryWrapper.classList.remove("--more");
// przycisk od wybierania z listy adresów // Przycisk od wybierania z listy adresów
listBtn = document.querySelector(".delivery__address-list-button"); listBtn = document.querySelector(".delivery__address-list-button");
if(listBtn) style ? listBtn.classList.add("--fade-in") : listBtn.classList.remove("--fade-in"); if(listBtn) style ? listBtn.classList.add("--fade-in") : listBtn.classList.remove("--fade-in");
@@ -414,7 +414,7 @@ function handleClickAddressList(e){
changeRegion(); changeRegion();
} }
// nadanie klasy aktywnemu adresowi // Nadanie klasy aktywnemu adresowi
e.target.closest("ul").querySelectorAll("li").forEach(el => el.classList.remove("--active-address")); e.target.closest("ul").querySelectorAll("li").forEach(el => el.classList.remove("--active-address"));
addressLi.classList.add("--active-address"); addressLi.classList.add("--active-address");
@@ -498,20 +498,20 @@ function getClientNew(){
}); });
}; };
///////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////
// WALIDACJA // WALIDACJA
// wyczyść klasy walidacji // Wyczyść klasy walidacji
function clearValidation(input){ function clearValidation(input){
const wrapper = input.closest(".has-feedback") const wrapper = input.closest(".has-feedback")
wrapper.classList.remove('--success', '--error', 'has-error', 'has-success'); wrapper.classList.remove('--success', '--error', 'has-error', 'has-success');
}; };
// wyczyść wiadomość błędu // Wyczyść wiadomość błędu
function removeErrorMessage(input) { function removeErrorMessage(input) {
const valMessage = input.closest('.has-feedback').querySelector('.validate_message'); const valMessage = input.closest('.has-feedback').querySelector('.validate_message');
if(valMessage) valMessage.remove(); if(valMessage) valMessage.remove();
}; };
// dodaj klasy błędu // Dodaj klasy błędu
function addError(input){ function addError(input){
clearValidation(input); clearValidation(input);
removeErrorMessage(input); removeErrorMessage(input);
@@ -519,7 +519,7 @@ function addError(input){
clearValidation(wrapper); clearValidation(wrapper);
wrapper.classList.add('--error', 'has-error'); wrapper.classList.add('--error', 'has-error');
}; };
// dodaj klasy sukcesu // Dodaj klasy sukcesu
function addSuccess(input){ function addSuccess(input){
clearValidation(input); clearValidation(input);
removeErrorMessage(input); removeErrorMessage(input);
@@ -527,12 +527,12 @@ function addSuccess(input){
clearValidation(wrapper); clearValidation(wrapper);
wrapper.classList.add('--success', 'has-success'); wrapper.classList.add('--success', 'has-success');
}; };
// dodaj error wraz z wiadomością // Dodaj error wraz z wiadomością
function addErrorMessage(input, message){ function addErrorMessage(input, message){
addError(input); addError(input);
input.closest('.has-feedback').insertAdjacentHTML("beforeend",`<span class="help-block validate_message text-danger">${message}.</span>`); input.closest('.has-feedback').insertAdjacentHTML("beforeend",`<span class="help-block validate_message text-danger">${message}.</span>`);
} }
// waliduj elementy wymagające wysłania requesta (zipcode, nip) // Waliduj elementy wymagające wysłania requesta (zipcode, nip)
async function validateRequest(target, order=false){ async function validateRequest(target, order=false){
const wrapper = target.closest(".has-feedback"); const wrapper = target.closest(".has-feedback");
let reqData = `${target.name}=${target.value}`; let reqData = `${target.name}=${target.value}`;
@@ -632,14 +632,14 @@ function handleShowSigninModalFromEmailModal(e){
showSigninModal(); showSigninModal();
} }
// event listener zmian w kontenerze cop_seection1 // EventListener zmian w kontenerze cop_seection1
const validateRequestId = ["client_zipcode", "delivery_zipcode", "client_nip", "client_email"]; const validateRequestId = ["client_zipcode", "delivery_zipcode", "client_nip", "client_email"];
const notEmptyFieldsId = ["client_firstname", "client_lastname", "client_city", "delivery_firstname", "delivery_lastname", "delivery_city", "client_firm"]; const notEmptyFieldsId = ["client_firstname", "client_lastname", "client_city", "delivery_firstname", "delivery_lastname", "delivery_city", "client_firm"];
document.getElementById("cop_seection1").addEventListener("change", (e) => { document.getElementById("cop_seection1").addEventListener("change", (e) => {
// walidacja zipcode, nipu i emaila // Walidacja zipcode, nipu i emaila
if(validateRequestId.includes(e.target.id)) return validateRequest(e.target); if(validateRequestId.includes(e.target.id)) return validateRequest(e.target);
// zmiana regionu // Zmiana regionu
if(e.target.name === "client_region" || e.target.name === "delivery_region") { if(e.target.name === "client_region" || e.target.name === "delivery_region") {
const clientType = e.target.name.split("_")[0]; const clientType = e.target.name.split("_")[0];
validateRequest(document.getElementById(`${clientType}_zipcode`)); validateRequest(document.getElementById(`${clientType}_zipcode`));
@@ -664,7 +664,7 @@ document.getElementById("cop_seection1").addEventListener("change", (e) => {
else clearValidation(e.target); else clearValidation(e.target);
}; };
}); });
// funkcje walidacji poszczególnych elementów // Funkcje walidacji poszczególnych elementów
function validateStreet(streetEl){ function validateStreet(streetEl){
const streetParts = streetEl.value.split(" "); const streetParts = streetEl.value.split(" ");
const addressNumber = Number(streetParts[streetParts.length-1][0]); const addressNumber = Number(streetParts[streetParts.length-1][0]);
@@ -739,7 +739,7 @@ document.querySelector("body").addEventListener("change", (e) => {
} }
}) })
/////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
// DOSTAWA I PŁATNOSĆI // DOSTAWA I PŁATNOSĆI
const SET_REGION = (setRegionInput) => JSON.stringify({ const SET_REGION = (setRegionInput) => JSON.stringify({
@@ -780,7 +780,7 @@ async function changeRegion(payAndDelData = null, firstLoad = false) {
getNewPaymentsAndDeliveries(payAndDelData, firstLoad); getNewPaymentsAndDeliveries(payAndDelData, firstLoad);
}; };
// załadowanie metod dostaw i płatności // Załadowanie metod dostaw i płatności
function getNewPaymentsAndDeliveries(data = null, firstLoad = false) { function getNewPaymentsAndDeliveries(data = null, firstLoad = false) {
console.log("fn: order1_new"); console.log("fn: order1_new");
// Wyczyszczenie zapisanych poprzednich metod płatności // Wyczyszczenie zapisanych poprzednich metod płatności
@@ -864,7 +864,7 @@ function getNewPaymentsAndDeliveries(data = null, firstLoad = false) {
} }
else{ else{
prepaidsMethodMarkup += markup; prepaidsMethodMarkup += markup;
// okienko vouchera // Okienko vouchera
if(method.id === 2){ if(method.id === 2){
prepaidsMethodMarkup += ` prepaidsMethodMarkup += `
<div class="order__voucher_container osc_item-modal"> <div class="order__voucher_container osc_item-modal">
@@ -941,13 +941,13 @@ function getNewPaymentsAndDeliveries(data = null, firstLoad = false) {
cloneElement(document.getElementById(paymentMethodId)); cloneElement(document.getElementById(paymentMethodId));
} }
// poprzednia dostawa // Poprzednia dostawa
const prevDeliveryMethod = JSON.parse(localStorage.getItem("prevDeliveryMethod")); const prevDeliveryMethod = JSON.parse(localStorage.getItem("prevDeliveryMethod"));
const prevDeliveryInput = document.querySelector(`input#${prevDeliveryMethod.id}`); const prevDeliveryInput = document.querySelector(`input#${prevDeliveryMethod.id}`);
// Sprawdzenie czy istnieje metoda płatności(na wypadek gdyby była usunięta lub klient zamawiał do innego kraju) // Sprawdzenie czy istnieje metoda dostawy (na wypadek gdyby była usunięta lub klient zamawiał do innego kraju)
if(prevDeliveryInput){ if(prevDeliveryInput){
// sprawdzenie czy dostawa miała punkt odbioru // Sprawdzenie czy dostawa miała punkt odbioru
if(prevDeliveryMethod.fselectedPoint){ if(prevDeliveryMethod.fselectedPoint){
checkPrevPickupPoint( checkPrevPickupPoint(
prevDeliveryInput.parentElement.querySelector(".fselectedPoint"), prevDeliveryInput.parentElement.querySelector(".fselectedPoint"),
@@ -1003,7 +1003,7 @@ function createPaymentContainerMarkup(method){
// Przygotowanie html dla metod dostaw // Przygotowanie html dla metod dostaw
function prepareDeliveryMarkup(method, deliveryId){ function prepareDeliveryMarkup(method, deliveryId){
// zapisanie do listy dostaw z mapą // Zapisanie do listy dostaw z mapą
if (method.pickuppoint === "y" && !deliveryPickupPoints.includes(method.id)) deliveryPickupPoints.push(method.id); if (method.pickuppoint === "y" && !deliveryPickupPoints.includes(method.id)) deliveryPickupPoints.push(method.id);
const cost = Number(method.cost) === 0 ? <iai:variable vid="Gratis!"/> : method.cost_formatted; const cost = Number(method.cost) === 0 ? <iai:variable vid="Gratis!"/> : method.cost_formatted;
const disabled = method.minworthreached === "false" ? 'disabled="disabled"' : ""; const disabled = method.minworthreached === "false" ? 'disabled="disabled"' : "";
@@ -1015,7 +1015,7 @@ function prepareDeliveryMarkup(method, deliveryId){
date.setDate(date.getDate()+method.time); date.setDate(date.getDate()+method.time);
const deliveryDate = date.toLocaleDateString('en-GB').replaceAll("/", "."); const deliveryDate = date.toLocaleDateString('en-GB').replaceAll("/", ".");
// uzupełnienie markupa dla metod dostaw dvp // Uzupełnienie markupa dla metod dostaw dvp
return `<label class="osc_item" for="item_${method.id}"> return `<label class="osc_item" for="item_${method.id}">
<input id="item_${method.id}" value="${method.id}" type="radio" name="shipping" data-pickuppoint="${method.pickuppoint}" data-delivery="${method.time_days}#${method.time_hours}#${method.time_minutes}#${method.week_day}#${method.week_amount}#${method.time}" ${ifChecked ? "checked" : ""}> <input id="item_${method.id}" value="${method.id}" type="radio" name="shipping" data-pickuppoint="${method.pickuppoint}" data-delivery="${method.time_days}#${method.time_hours}#${method.time_minutes}#${method.week_day}#${method.week_amount}#${method.time}" ${ifChecked ? "checked" : ""}>
<div class="photo"> <div class="photo">
@@ -1091,7 +1091,7 @@ function changeCurrentShippingInfo(shippingMethod){
app_shop.vars.checkedShipping = shippingMethod.value; app_shop.vars.checkedShipping = shippingMethod.value;
} }
document.getElementById("cop_seection2").addEventListener("click", e => { document.getElementById("cop_seection2").addEventListener("click", e => {
// kliknięcie na dostawe // Kliknięcie na dostawe
if(e.target.name === "shipping"){ if(e.target.name === "shipping"){
// Wyczyszczenie wszystkich zaznaczonych punktów odbioru // Wyczyszczenie wszystkich zaznaczonych punktów odbioru
clearSelectedPoints(); clearSelectedPoints();
@@ -1100,7 +1100,7 @@ document.getElementById("cop_seection2").addEventListener("click", e => {
if(app_shop.vars.checkedShipping === e.target.value) return; if(app_shop.vars.checkedShipping === e.target.value) return;
if(e.target.dataset.working_days) e.target.dataset.working_days.split("#").map(function (e) {return parseInt(e, 10);}); if(e.target.dataset.working_days) e.target.dataset.working_days.split("#").map(function (e) {return parseInt(e, 10);});
// zapisanie jako poprzednia metoda płatności jeśli nie wymaga wyboru punktu odbioru // Zapisanie jako poprzednia metoda płatności jeśli nie wymaga wyboru punktu odbioru
if(e.target.dataset.pickuppoint === "n"){ if(e.target.dataset.pickuppoint === "n"){
prevShipping=e.target; prevShipping=e.target;
@@ -1110,7 +1110,7 @@ document.getElementById("cop_seection2").addEventListener("click", e => {
return; return;
} }
// kliknięcie na płatność // Kliknięcie na płatność
if(e.target.name === "payform_id"){ if(e.target.name === "payform_id"){
// Usunięcie klona poprzedniego przelewu online/ karty płatniczej // Usunięcie klona poprzedniego przelewu online/ karty płatniczej
removePrevClone(); removePrevClone();
@@ -1195,17 +1195,17 @@ function showPaymentMethodModal(method){
// Metoda oblugujaca kliknieca w metody platnosci w popupie // Metoda oblugujaca kliknieca w metody platnosci w popupie
function handlePaymentMethodClick(e){ function handlePaymentMethodClick(e){
// usuń poprzedni klon i stwórz nowy // Usuń poprzedni klon i stwórz nowy
removePrevClone(); removePrevClone();
cloneElement(e.target); cloneElement(e.target);
// zamkniecie modala // Zamkniecie modala
ifChosenNewPaymentMethod = true; ifChosenNewPaymentMethod = true;
app_shop.fn.paymentModal.closeModal(); app_shop.fn.paymentModal.closeModal();
return false; return false;
} }
function cloneElement(originalPaymentElement){ function cloneElement(originalPaymentElement){
// sklonowanie kliknietego elementu // Sklonowanie kliknietego elementu
const clonedMethod = originalPaymentElement.closest(".osc_item").cloneNode(true); const clonedMethod = originalPaymentElement.closest(".osc_item").cloneNode(true);
const clonedInput = clonedMethod.querySelector("input"); const clonedInput = clonedMethod.querySelector("input");
@@ -1232,7 +1232,7 @@ function changeDeliveryOptions(){
calculateBasketCost(); calculateBasketCost();
} }
// zmień pokazane metody dostawy // Zmień pokazane metody dostawy
function changePrepaidDvp(prepaidStyle, dvpStyle){ function changePrepaidDvp(prepaidStyle, dvpStyle){
const prepaid = document.getElementById("osc_order1_prepaid"); const prepaid = document.getElementById("osc_order1_prepaid");
const dvp = document.getElementById("osc_order1_dvp"); const dvp = document.getElementById("osc_order1_dvp");
@@ -1308,7 +1308,7 @@ const productsPointsEl = document.querySelector("#order2_products_points .operat
const summaryCostEl = document.getElementById("summary-cost"); const summaryCostEl = document.getElementById("summary-cost");
const summaryPointsEl = document.getElementById("summary-points"); const summaryPointsEl = document.getElementById("summary-points");
function calculateBasketCost() { function calculateBasketCost() {
// przygotowanie informacji o metodzie dostawy i platnosci // Przygotowanie informacji o metodzie dostawy i platnosci
const orderInfo = { const orderInfo = {
delivery: document.querySelector('.ajax_cop input[name="shipping"]:checked') ? document.querySelector('.ajax_cop input[name="shipping"]:checked').value : "0-1", delivery: document.querySelector('.ajax_cop input[name="shipping"]:checked') ? document.querySelector('.ajax_cop input[name="shipping"]:checked').value : "0-1",
payform_id: document.querySelector('.ajax_cop input[name="payform_id"]:checked') ? document.querySelector('.ajax_cop input[name="payform_id"]:checked').value : "cash" payform_id: document.querySelector('.ajax_cop input[name="payform_id"]:checked') ? document.querySelector('.ajax_cop input[name="payform_id"]:checked').value : "cash"
@@ -1341,7 +1341,7 @@ function calculateBasketCost() {
checkShowPrice(totalRebateEl, Number(t.total_rebate_without_shipping), t.currency_sign); checkShowPrice(totalRebateEl, Number(t.total_rebate_without_shipping), t.currency_sign);
checkShowPrice(saldoValueEl, Number(t.payment_amount_from_client_balance), t.currency_sign); checkShowPrice(saldoValueEl, Number(t.payment_amount_from_client_balance), t.currency_sign);
// punkty zamówienia // Punkty zamówienia
if(t.products_worth_at_points){ if(t.products_worth_at_points){
productsPointsEl.innerHTML = `${t.products_worth_at_points} ${<iai:variable vid="pkt"/>}.`; productsPointsEl.innerHTML = `${t.products_worth_at_points} ${<iai:variable vid="pkt"/>}.`;
productsPointsEl.parentElement.style.display = "flex"; productsPointsEl.parentElement.style.display = "flex";
@@ -1358,14 +1358,14 @@ function calculateBasketCost() {
}); });
}; };
// funkcja od pokazania wybranej ceny (np rabat, ubezpieczenie...) // Funkcja od pokazania wybranej ceny (np rabat, ubezpieczenie...)
function checkShowPrice(priceContainer, price, currencySign){ function checkShowPrice(priceContainer, price, currencySign){
priceContainer.innerHTML = formatPrice(price, currencySign); priceContainer.innerHTML = formatPrice(price, currencySign);
if(price && price > 0) priceContainer.parentElement.style.display = "flex"; if(price && price > 0) priceContainer.parentElement.style.display = "flex";
else priceContainer.parentElement.style.display = "none"; else priceContainer.parentElement.style.display = "none";
}; };
// funkcja od formatowania ceny // Funkcja od formatowania ceny
function formatPrice(price, currencySign) { function formatPrice(price, currencySign) {
return format_price(price, { mask: app_shop.vars.currency_format, currency: currencySign, currency_space: app_shop.vars.currency_space, currency_before_price: app_shop.vars.currency_before_value }); return format_price(price, { mask: app_shop.vars.currency_format, currency: currencySign, currency_space: app_shop.vars.currency_space, currency_before_price: app_shop.vars.currency_before_value });
}; };
@@ -1463,7 +1463,7 @@ const DEACTIVATE_REBATE_CODE = () => JSON.stringify({
}`, }`,
}) })
// aktywacja kodu rabatowego // Aktywacja kodu rabatowego
const rebateCode = document.getElementById("rebate_code"); const rebateCode = document.getElementById("rebate_code");
async function updateCode(){ async function updateCode(){
if(rebateCode.value.trim() === ""){ if(rebateCode.value.trim() === ""){
@@ -1497,7 +1497,7 @@ async function updateCode(){
toggleActiveCode(false, true); toggleActiveCode(false, true);
} }
// usunięcie aktywnego kodu rabatowego // Usunięcie aktywnego kodu rabatowego
async function removeCode(){ async function removeCode(){
app_shop.fn.ajaxLoadSite(1); app_shop.fn.ajaxLoadSite(1);
@@ -1515,7 +1515,7 @@ async function removeCode(){
} }
} }
// zmień widoczność kodu rabatowego // Zmień widoczność kodu rabatowego
const rebateOptionWrapper = document.querySelector(".rebate__options"); const rebateOptionWrapper = document.querySelector(".rebate__options");
const rebateCodeContainer = document.querySelector(".rebate__code"); const rebateCodeContainer = document.querySelector(".rebate__code");
const rebateActiveWrapper = document.querySelector(".rebate__active"); const rebateActiveWrapper = document.querySelector(".rebate__active");
@@ -1528,14 +1528,14 @@ function toggleActiveCode(show, error=false){
clearValidation(rebateCode); clearValidation(rebateCode);
} }
// zmień widoczność // Zmień widoczność
rebateOptionWrapper.style.display = show ? "none" : "flex"; rebateOptionWrapper.style.display = show ? "none" : "flex";
rebateActiveWrapper.style.display = show ? "block" : "none"; rebateActiveWrapper.style.display = show ? "block" : "none";
if(!error) rebateCodeContainer.classList.remove("--fade-in"); if(!error) rebateCodeContainer.classList.remove("--fade-in");
else rebateCodeContainer.classList.add("--fade-in"); else rebateCodeContainer.classList.add("--fade-in");
// zmień wartości // Zmień wartości
activeCodeEl.innerHTML = show ? rebateCode.value : ""; activeCodeEl.innerHTML = show ? rebateCode.value : "";
showInput = error ? true : false; showInput = error ? true : false;
rebateOptionEl.checked = error ? true : false; rebateOptionEl.checked = error ? true : false;
@@ -1543,7 +1543,7 @@ function toggleActiveCode(show, error=false){
else activeCodeEl.innerHTML = ""; else activeCodeEl.innerHTML = "";
} }
// eventListenery dla kodu rabatowego // EventListenery dla kodu rabatowego
let showInput = false; let showInput = false;
const rebateCodeWrapper = document.querySelector(".rebate"); const rebateCodeWrapper = document.querySelector(".rebate");
rebateCodeWrapper.addEventListener("click", (e) => { rebateCodeWrapper.addEventListener("click", (e) => {
@@ -1619,16 +1619,16 @@ document.querySelector(".order2_button_order").addEventListener("click", () => {
// Sprawdzenie pól formularza // Sprawdzenie pól formularza
if(validateAllInputs() === false) app_shop.vars.validation = 0; if(validateAllInputs() === false) app_shop.vars.validation = 0;
// znalezienie obecnie zaznaczonej metody dostawy i płatności // Znalezienie obecnie zaznaczonej metody dostawy i płatności
const deliveryMethod = document.querySelector(".ajax_cop [name=shipping]:checked"); const deliveryMethod = document.querySelector(".ajax_cop [name=shipping]:checked");
const paymentMethod = document.querySelector(".ajax_cop [name=payform_id]:checked"); const paymentMethod = document.querySelector(".ajax_cop [name=payform_id]:checked");
// sprawdzenie czy użytkownik zaakceptował regulamin // Sprawdzenie czy użytkownik zaakceptował regulamin
if(!termsConditionsInput.checked || !cancelConditionsInput.checked){ if(!termsConditionsInput.checked || !cancelConditionsInput.checked){
app_shop.vars.validation = 0; app_shop.vars.validation = 0;
showTermsError(termsConditionsInput); showTermsError(termsConditionsInput);
showTermsError(cancelConditionsInput); showTermsError(cancelConditionsInput);
}// sprawdzenie czy użytkownik wybrał metodę dostawy i płatności (też sprawdzenie czy wybrał paczkomat i wpisał voucher) }// Sprawdzenie czy użytkownik wybrał metodę dostawy i płatności (też sprawdzenie czy wybrał paczkomat i wpisał voucher)
else { else {
if(deliveryMethod){ if(deliveryMethod){
if(deliveryMethod.dataset.pickuppoint === "y" && deliveryMethod.parentElement.querySelector(".fselectedPoint").innerHTML === "") orderValidationError(<iai:variable vid="Nie wybrano punktu odbioru"/>); if(deliveryMethod.dataset.pickuppoint === "y" && deliveryMethod.parentElement.querySelector(".fselectedPoint").innerHTML === "") orderValidationError(<iai:variable vid="Nie wybrano punktu odbioru"/>);
@@ -1650,9 +1650,9 @@ document.querySelector(".order2_button_order").addEventListener("click", () => {
} }
} }
// przerwanie składania zamówienia jeśli w trakcie walidacji wystąpił błąd // Przerwanie składania zamówienia jeśli w trakcie walidacji wystąpił błąd
if (app_shop.vars.validation === 0) { if (app_shop.vars.validation === 0) {
// scroll do elementów z błędem // Scroll do elementów z błędem
if(document.getElementById("order2_terms_conditions").checked && document.getElementById("order2_cancel").checked){ if(document.getElementById("order2_terms_conditions").checked && document.getElementById("order2_cancel").checked){
const errorEl = document.querySelector(".--error.has-error"); const errorEl = document.querySelector(".--error.has-error");
if(errorEl) scrollToHeight(errorEl) if(errorEl) scrollToHeight(errorEl)
@@ -1690,7 +1690,7 @@ function showTermsError(input){
input.parentElement.querySelector("a").classList.add("text-danger"); input.parentElement.querySelector("a").classList.add("text-danger");
} }
} }
// złożenie zamówienia // Złożenie zamówienia
function createOrder(deliveryMethod, paymentMethod){ function createOrder(deliveryMethod, paymentMethod){
// Weź dane klienta // Weź dane klienta
const email = document.getElementById("client_email").value; const email = document.getElementById("client_email").value;
@@ -1736,11 +1736,11 @@ function createOrder(deliveryMethod, paymentMethod){
if (!lastname) lastname = (deliveryLastname) ? deliveryLastname : 'Firma'; if (!lastname) lastname = (deliveryLastname) ? deliveryLastname : 'Firma';
} }
// czyszczenie imienia i nazwiska ze znaków specjalnych // Czyszczenie imienia i nazwiska ze znaków specjalnych
firstname = firstname.replace(/[&\/\\#,+()$~%.'":*?<>{}!@~`^_]/g, ""); firstname = firstname.replace(/[&\/\\#,+()$~%.'":*?<>{}!@~`^_]/g, "");
lastname = lastname.replace(/[&\/\\#,+()$~%.'":*?<>{}!@~`^_]/g, ""); lastname = lastname.replace(/[&\/\\#,+()$~%.'":*?<>{}!@~`^_]/g, "");
// dodatkowe informacje (uwagi, faktura, punkt odbioru) // Dodatkowe informacje (uwagi, faktura, punkt odbioru)
const shopRemarks = document.getElementById("shop_remarks").checked ? document.querySelector(".ajax_cop [name=remarks]").value : ""; const shopRemarks = document.getElementById("shop_remarks").checked ? document.querySelector(".ajax_cop [name=remarks]").value : "";
const deliveryRemarks = document.getElementById("courier_remarks").checked ? document.querySelector(".ajax_cop [name=deliverer_remarks]").value : ""; const deliveryRemarks = document.getElementById("courier_remarks").checked ? document.querySelector(".ajax_cop [name=deliverer_remarks]").value : "";
@@ -1784,7 +1784,7 @@ function createOrder(deliveryMethod, paymentMethod){
}, },
}; };
// złóż zamówienie jako zalogowany/niezalogowany użytkownik. // Złóż zamówienie jako zalogowany/niezalogowany użytkownik.
if (document.querySelector(".--logged")) sendOrder(order); if (document.querySelector(".--logged")) sendOrder(order);
else { else {
const clientData = new FormData(); const clientData = new FormData();
@@ -2029,7 +2029,9 @@ async function fetchData(options = {}) {
return false; return false;
} }
} }
// element z numerem edycji jeśli jest
function initOSCOP(){
// Element z numerem edycji jeśli jest
const editNumber = document.getElementById("edit-number"); const editNumber = document.getElementById("edit-number");
if(document.querySelector(".ajax_cop").childElementCount && !editNumber) changeRegion(null, true); if(document.querySelector(".ajax_cop").childElementCount && !editNumber) changeRegion(null, true);
@@ -2125,8 +2127,9 @@ if(editNumber){
linkParameter: "?query=orderDetails", linkParameter: "?query=orderDetails",
alert: false, alert: false,
}); });
// Jesli error to zatrzymaj funkcje // Jesli error to zatrzymaj funkcje
if(!data?.data?.orderDetails) return changeRegion(); if(!data?.data?.orderDetails || !data) return changeRegion();
// Wstawienie danych // Wstawienie danych
insertEditData(data.data.orderDetails); insertEditData(data.data.orderDetails);
@@ -2183,10 +2186,12 @@ if(editNumber){
} }
getEditData(); getEditData();
// funkcja od uzupełnienia inputów // Funkcja od uzupełnienia inputów
function fillInput(input, value){ function fillInput(input, value){
input.value = value; input.value = value;
input.classList.add("focused"); input.classList.add("focused");
input.parentElement.classList.add("--success", "has-success"); input.parentElement.classList.add("--success", "has-success");
} }
} }
}
initOSCOP();