125 lines
3.4 KiB
JavaScript
125 lines
3.4 KiB
JavaScript
/**
|
|
* 2007-2020 PrestaShop.
|
|
*
|
|
* NOTICE OF LICENSE
|
|
*
|
|
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
|
* that is bundled with this package in the file LICENSE.txt.
|
|
* It is also available through the world-wide-web at this URL:
|
|
* https://opensource.org/licenses/AFL-3.0
|
|
* If you did not receive a copy of the license and are unable to
|
|
* obtain it through the world-wide-web, please send an email
|
|
* to license@prestashop.com so we can send you a copy immediately.
|
|
*
|
|
* DISCLAIMER
|
|
*
|
|
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
|
* versions in the future. If you wish to customize PrestaShop for your
|
|
* needs please refer to http://www.prestashop.com for more information.
|
|
*
|
|
* @author PrestaShop SA <contact@prestashop.com>
|
|
* @copyright 2007-2020 PrestaShop SA
|
|
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
|
* International Registered Trademark & Property of PrestaShop SA
|
|
*/
|
|
|
|
$(document).ready(function() {
|
|
|
|
$('#email-alert-modal').on('hidden.bs.modal', function() {
|
|
resetForm();
|
|
clearAlert();
|
|
})
|
|
|
|
$(document).on('click', '.js-mailalert-submit', function(e) {
|
|
e.preventDefault();
|
|
addNotification(e);
|
|
});
|
|
|
|
$('.js-remove-email-alert').on('click', function(e){
|
|
e.preventDefault();
|
|
|
|
var $self = $(this);
|
|
var ids = $self.attr('rel').replace('js-id-emailalerts-', '');
|
|
ids = ids.split('-');
|
|
var id_product_mail_alert = ids[0];
|
|
var id_product_attribute_mail_alert = ids[1];
|
|
var $parent = $self.closest('.js-mailalert-product-miniature');
|
|
|
|
$.ajax({
|
|
url: $self.data('url'),
|
|
type: "POST",
|
|
data: {
|
|
'id_product': id_product_mail_alert,
|
|
'id_product_attribute': id_product_attribute_mail_alert
|
|
},
|
|
success: function(result)
|
|
{
|
|
if (result == '0')
|
|
{
|
|
$parent.fadeOut("normal", function()
|
|
{
|
|
$parent.remove();
|
|
});
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
function resetForm() {
|
|
$('.js-mailalert-email').val('');
|
|
$('.js-mailalert [name=psgdpr_consent_checkbox]').prop('checked', false);
|
|
}
|
|
|
|
function addNotification(e) {
|
|
var $idInputs = $('.js-mailalert-id-input');
|
|
var $emailInput = $('.js-mailalert-email');
|
|
var $btn = $(e.currentTarget);
|
|
var $modal = $('#email-alert-modal');
|
|
|
|
$btn.attr('disabled', true);
|
|
|
|
clearAlert();
|
|
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: $('.js-mailalert').data('url'),
|
|
data: 'id_product=' + $idInputs[0].value + '&id_product_attribute=' + $idInputs[1].value + '&customer_email=' + $emailInput.val(),
|
|
success: function (resp) {
|
|
resp = JSON.parse(resp);
|
|
var alertType = resp.error ? 'danger' : 'success';
|
|
|
|
setAlert(resp.message, alertType);
|
|
|
|
|
|
if (resp.error) {
|
|
$btn.removeAttr('disabled');
|
|
} else {
|
|
setTimeout(function() {
|
|
$modal.modal('hide');
|
|
$('.js-mailalert-modal-btn').hide();
|
|
}, 2500);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
function setAlert(message, type) {
|
|
var $alertBox = $('.js-mailalert-alert-box');
|
|
var $alert = $('<div>').addClass('alert');
|
|
|
|
if (type == 'success') {
|
|
$alert.addClass('alert-success');
|
|
} else if (type == 'danger') {
|
|
$alert.addClass('alert-danger');
|
|
}
|
|
|
|
$alert.text(message);
|
|
|
|
$alertBox.html($alert)
|
|
}
|
|
|
|
function clearAlert() {
|
|
$('.js-mailalert-alert-box').html('');
|
|
}
|
|
});
|