{% block simple_contact_form %}
{% set config = element.fieldConfig.elements %}
{% set confirmationText = element.translated.config.confirmationText.value|replace({'\n': '<br>'}) %}
<div id="simpleContactForm" class="cms-element-{{ element.type }}">
<div class="row">
<div class="col-lg-12">
<div class="card simple-contact-form-box-content">
<div class="card-body">
<div class="simple-contact-form-text">
{% block simple_contact_form_text %}
{% if config.headline != '' %}<h4
class="simple-contact-form-headline simple-headline-dot-sm">{{ config.headline.value }}</h4>{% endif %}
{% if config.text != '' %}<p>{{ config.text.value }}</p>{% endif %}
{% endblock %}
</div>
{% block simple_contact_form_input %}
{% block simple_contact_form_fields %}
<div class="form-row">
<div class="col-md-6">
{% block simple_contact_form_input_first_name %}
{% sw_include '@Storefront/storefront/element/simple-contact-form/form-input.html.twig'
with {
fieldName: 'firstName',
required: true,
placeholder: 'wexo-cms.elements.simple-contact-form.fields.name'|trans
} %}
{% endblock %}
</div>
<div class="col-md-6">
{% block simple_contact_form_input_email %}
{% sw_include '@Storefront/storefront/element/simple-contact-form/form-input.html.twig'
with {
fieldName: 'email',
type: 'email',
required: true,
placeholder: 'wexo-cms.elements.simple-contact-form.fields.mail'|trans
} %}
{% endblock %}
</div>
<div class="col-12">
{% block simple_contact_form_input_comment %}
{% sw_include '@Storefront/storefront/element/simple-contact-form/form-input.html.twig'
with {
fieldName: 'comment',
required: true,
input: 'textarea',
placeholder: 'wexo-cms.elements.simple-contact-form.fields.comment'|trans
} %}
{% endblock %}
</div>
</div>
</div>
{% endblock %}
{% block simple_contact_form_submit %}
<div class="d-flex justify-content-center">
<button type="submit"
class="btn simple-btn-hover-icon-primary simple-contact-form-submit simple-icon-arrows-white"
onclick="submitContactForm(this)">
{{ "wexo-cms.elements.simple-contact-form.submit"|trans }}
</button>
</div>
{% endblock %}
<div style="position: absolute; left: -5000px;" aria-hidden="true">
<input type="text"
id="contactFormValidator"
name="b_d41cb534d0e79c26d3eea7815_38067263f9"
tabindex="-1" value="">
</div>
<div class="clear"></div>
{% endblock %}
{% block contact_form_alerts %}
<div class="d-none" id="contact-form-error">
{% sw_include '@Storefront/storefront/utilities/alert.html.twig' with {
type: "danger",
content: "wexo-cms.elements.simple-contact-form.error"|trans
} %}
</div>
{% endblock %}
</div>
</div>
</div>
<script>
function submitContactForm(elm) {
let placeholder = "placeholder";
let mail = document.getElementById("form-email");
let validate = document.getElementById("contactFormValidator");
if (elm && document.getElementById("form-email")) {
let mailData = {};
mailData.salutationId = "{{ config('WexoShoppingExperiences.config.salutationId') }}"
if (!mailData.salutationId || mailData.salutationId == '') {
//SalutationId for value not_specified
mailData.salutationId = "07ed1e41549f40999a8f8d3522126a57";
}
document.getElementById("form-firstName") ? mailData.firstName = document.getElementById("form-firstName").value : placeholder;
mailData.lastName = placeholder;
mailData.cvr = placeholder;
mailData.email = mail.value;
mailData.phone = placeholder;
mailData.subject = placeholder;
document.getElementById("form-comment") ? mailData.comment = document.getElementById("form-comment").value : placeholder;
mailData.slotId = "{{ element.id }}";
let showError = function () {
let error = document.getElementById("contact-form-error");
let classes = error.className;
error.classList.remove("d-none");
setTimeout(() => {
error.style.opacity = 1;
}, 1);
setTimeout(() => {
if (error) {
error.className = classes;
error.style.opacity = 0;
}
}, 4000);
}
if (mail.value.length > 0 && validate.value === '') {
let contactFormCall = Wtheme.api.post("/store-api/contact-form", JSON.stringify(mailData), function () {
if (contactFormCall.status === 200 || contactFormCall.status === 204 || contactFormCall.status === 202) {
document.getElementById("simpleContactForm").innerHTML = "<div class='confirm-message'>{{ confirmationText|raw }}</div>";
} else {
showError();
}
});
} else {
showError();
}
}
}
</script>
</div>
{% endblock %}