/* SCORRI VERSO L'ALTO */
lascia slideUp = (destinazione, durata=500) => {
target.style.transitionProperty = 'altezza, margine, riempimento';
target.style.transitionDuration = durata + 'ms';
target.style.boxSizing = 'border-box';
target.style.height = target.offsetHeight + 'px';
target.offsetHeight;
target.style.overflow = 'nascosto';
destinazione.stile.altezza = 0;
target.style.paddingTop = 0;
target.style.paddingBottom = 0;
target.style.marginTop = 0;
target.style.marginBottom = 0;
finestra.setTimeout( () => {
target.style.display = 'nessuno';
target.style.removeProperty('altezza');
target.style.removeProperty('padding-top');
target.style.removeProperty('padding-bottom');
target.style.removeProperty('margin-top');
target.style.removeProperty('margin-bottom');
target.style.removeProperty('overflow');
target.style.removeProperty('transition-duration');
target.style.removeProperty('transition-property');
}, durata);
}
/* SCORRI GIÙ */
lascia slideDown = (destinazione, durata=500) => {
setTimeout(funzione(){
target.style.removeProperty('display');
lascia display = window.getComputedStyle(target).display;
if (display === 'nessuno') display = 'blocco';
target.style.display = visualizzazione;
lascia che altezza = target.offsetHeight;
target.style.overflow = 'nascosto';
destinazione.stile.altezza = 0;
target.style.paddingTop = 0;
target.style.paddingBottom = 0;
target.style.marginTop = 0;
target.style.marginBottom = 0;
target.offsetHeight;
target.style.boxSizing = 'border-box';
target.style.transitionProperty = "altezza, margine, riempimento";
target.style.transitionDuration = durata + 'ms';
target.style.height = altezza + 'px';
target.style.removeProperty('padding-top');
target.style.removeProperty('padding-bottom');
target.style.removeProperty('margin-top');
target.style.removeProperty('margin-bottom');
finestra.setTimeout( () => {
target.style.removeProperty('altezza');
target.style.removeProperty('overflow');
target.style.removeProperty('transition-duration');
target.style.removeProperty('transition-property');
}, durata);
}, 100)
}
/* TOOGLE */
var slideToggle = (destinazione, durata = 500) => {
if (window.getComputedStyle(target).display === 'none') {
return slideDown(destinazione, durata);
} altro {
return slideUp(destinazione, durata);
}
}
/* DISSOLVENZA */
var toggleFadeiSense = (elem, mostra) => {
se (mostra) {
elem.style.display = "blocco";
setTimeout(funzione(){
elem.classList.add('show-isense');
elem.classList.remove('hide-isense');
},20)
} altro {
elem.classList.remove('show-isense');
elem.classList.add('hide-isense');
setTimeout(() => {
elem.style.display = 'nessuno';
}, 400)
}
}
var gdprSlideUpAll = funzione() {
slideUp(document.querySelector('#form-gdpr-edit-account-request'), 100);
slideUp(document.querySelector('#form-gdpr-data-account-request'), 100);
slideUp(document.querySelector('#form-gdpr-personal-data-report-request'), 100);
slideUp(document.querySelector('#form-gdpr-delete-account-request'), 100);
document.querySelector('#gdpr_page button').setAttribute("aria-expanded", "false");
};
var email, tipo, consensoGiven = false;
var verifyModalContent = '';
var gdprSendRequest = funzione(callback) {
fetch('https://www.cloudflare.com/cdn-cgi/trace', {
metodo: 'OTTIENI',
intestazioni: {
'Tipo di contenuto': 'testo/semplice',
},
})
.then(resp => resp.testo())
.then(resp => {
if (!resp.errore) {
lascia ipInfo = resp;
lascia che formData = new FormData();
formData.append('shop', Shopify.shop);
formData.append('email', email);
formData.append('tipo', tipo);
formData.append('sourceOfRequest', 1);
formData.append('indirizzoip', ipInfo);
formData.append('consentGiven', consentGiven);
formData.append('pagina', 'gdpr');
formData.append('lang', Shopify.locale ? Shopify.locale : '');
formData.append('gtranslateLang', isenseGDPR.Cookies.get('googtrans') ? isenseGDPR.Cookies.get('googtrans') : '');
fetch('https://gdpr.apps.isenselabs.com/gdprRequests/submitRequest', {
metodo: 'POST',
corpo: formData
})
.then(resp => resp.json())
.then(resp => {
if (!resp.errore) {
gdprSlideUpAll();
if (resp.messaggio.lunghezza) {
avviso(risposta.messaggio);
} altro {
alert('La tua richiesta è stata inviata con successo. Controlla la tua email per ulteriori informazioni.');
}
} altro {
avviso(risposta.messaggio);
}
if (tipo di callback == 'funzione') {
richiamata(risposta);
}
})
.catch(errore => {
avviso(messaggio.errore);
})
}
altro {
avviso(risposta.messaggio);
}
})
}
//Aggiunge modale al corpo, perché altrimenti non rimarrà centrato (anche se la posizione è fissa)
document.querySelector("body").insertAdjacentHTML( 'beforeend', verifyModalContent);
document.addEventListener("DOMContentLoaded", funzione() {
// Quando l'utente fa clic su
(x), chiude il modal
document.querySelector('.data-verification-close').addEventListener('click', function(e) {
e.preventDefault();
chiudiVerificaModale();
});
document.querySelector('#data-verification-icon, #data-verification-container p').addEventListener('click', function(e) {
e.preventDefault();
// Rileva il clic di un href, perché viene sovrascritto.
if(e.target.tagName === "A") {
window.open(e.target.href, '_blank');
ritorno;
}
document.querySelector('#data-verification-icon').classList.add("cliccato");
setTimeout(()=>{
toggleFadeiSense(document.querySelector("#data-verification-modal"), false);
document.querySelector('#data-verification- background .loading').style.display = 'inline-block';
consensoGiven = vero;
gdprSendRequest(funzione(resp) {
consensoGiven = falso;
chiudiVerificaModale();
});
}, 400);
});
});
funzione openVerificationModal(){
toggleFadeiSense(document.querySelector("#data-verification-modal"), true);
toggleFadeiSense(document.querySelector('#data-verification- background'), true);
}
funzione chiudiVerificaModale(){
toggleFadeiSense(document.querySelector("#data-verification- background"), false);
document.querySelector('#data-verification-icon').classList.remove("cliccato");
document.querySelector('#data-verification- background .loading').style.display = 'none';
}
document.querySelector('#btn-gdpr-edit-account-request').addEventListener('click', function(e) {
e.preventDefault();
gdprSlideUpAll();
slideDown(document.querySelector('#form-gdpr-edit-account-request'), 200);
this.setAttribute("aria-expanded", "true");
});
document.querySelector('#form-gdpr-edit-account-request-submit').addEventListener('click', function(e) {
e.preventDefault();
email = document.querySelector('#form-gdpr-edit-account-request-email').value;
tipo = 'cliente/modifica';
openVerificationModal();
});
document.querySelectorAll('#btn-gdpr-requests-request, #btn-gdpr-personal-information-request, #btn-gdpr-orders-request').forEach(element => {
elemento.addEventListener('clic', funzione(e) {
e.preventDefault();
gdprSlideUpAll();
tipo = '';
switch(this.getAttribute('id')) {
caso 'btn-gdpr-richieste-richiesta':
tipo = 'cliente/richieste';
rottura;
caso 'btn-gdpr-richiesta-informazioni-personali':
tipo = 'cliente/informazioni_personali';
rottura;
caso 'btn-gdpr-ordini-richiesta':
tipo = 'cliente/ordini';
rottura;
}
document.querySelector('#form-gdpr-data-account-request-request-type').value = type;
slideDown(document.querySelector('#form-gdpr-data-account-request'), 200);
this.setAttribute("aria-expanded", "true");
})
});
document.querySelector('#form-gdpr-data-account-request-submit').addEventListener('click', function(e) {
e.preventDefault();
email = document.querySelector('#form-gdpr-data-account-request-email').value;
type = document.querySelector('#form-gdpr-data-account-request-request-type').value;
openVerificationModal();
});
document.querySelector('#btn-gdpr-personal-data-report-request').addEventListener('click', function(e) {
e.preventDefault();
gdprSlideUpAll();
slideDown(document.querySelector('#form-gdpr-personal-data-report-request'), 200);
this.setAttribute("aria-expanded", "true");
});
document.querySelector('#form-gdpr-personal-data-report-request-submit').addEventListener('click', function(e) {
e.preventDefault();
email = document.querySelector('#form-gdpr-dati-personali-report-request-email').value;
tipo = 'cliente/relazione';
openVerificationModal();
});
document.querySelector('#btn-gdpr-delete-account-request').addEventListener('click', function(e) {
e.preventDefault();
gdprSlideUpAll();
slideDown(document.querySelector('#form-gdpr-delete-account-request'), 200);
this.setAttribute("aria-expanded", "true");
});
document.querySelector('#form-gdpr-delete-account-request-submit').addEventListener('click', function(e) {
e.preventDefault();
email = document.querySelector('#form-gdpr-delete-account-request-email').value;
tipo = 'cliente/elimina';
openVerificationModal();
});