| Current File : /home/tekstore/www/wp-content/plugins/dc-woocommerce-multi-vendor/assets/frontend/js/frontend.js |
/* global front_end_param */
jQuery(document).ready(function ($) {
var block = function( $node ) {
if ( ! is_blocked( $node ) ) {
$node.addClass( 'processing' ).block( {
message: null,
overlayCSS: {
background: '#fff',
opacity: 0.6
}
} );
}
};
var is_blocked = function( $node ) {
return $node.is( '.processing' ) || $node.parents( '.processing' ).length;
};
var unblock = function( $node ) {
$node.removeClass( 'processing' ).unblock();
};
// Modal Close
$(".mvx-report-abouse-wrapper .close").on('click', function () {
$(".mvx-report-abouse-wrapper #report_abuse_form").slideToggle(500);
});
$('.mvx-report-abouse-wrapper #report_abuse').on('click', function () {
$(".mvx-report-abouse-wrapper #report_abuse_form").slideToggle(1000);
});
var modal = document.getElementById('report_abuse_form');
window.onclick = function (event) {
if (event.target == modal) {
modal.style.display = "none";
}
}
$('.submit-report-abuse').on('click', function (e) {
var inpObjName = document.getElementById("report_abuse_name");
if (inpObjName.checkValidity() === false) {
$('#report_abuse_name').next('span').html(inpObjName.validationMessage);
} else {
$('#report_abuse_name').next('span').html('');
}
var inpObjEmail = document.getElementById("report_abuse_email");
if (inpObjEmail.checkValidity() === false) {
$('#report_abuse_email').next('span').html(inpObjEmail.validationMessage);
} else {
$('#report_abuse_email').next('span').html('');
}
var inpObjMessage = document.getElementById("report_abuse_msg");
if (inpObjMessage.checkValidity() === false) {
$('#report_abuse_msg').next('span').html(inpObjMessage.validationMessage);
} else {
$('#report_abuse_msg').next('span').html('');
}
e.preventDefault();
var data = {
action: 'send_report_abuse',
product_id: $('.report_abuse_product_id').val(),
name: $('.report_abuse_name').val(),
email: $('.report_abuse_email').val(),
msg: $('.report_abuse_msg').val(),
};
if (inpObjName.checkValidity() && inpObjEmail.checkValidity() && inpObjMessage.checkValidity()) {
block($( '#report_abuse_form' ));
$.post(frontend_js_script_data.ajax_url, data, function (responsee) {
unblock($( '#report_abuse_form' ));
$(".mvx-report-abouse-wrapper #report_abuse_form").slideToggle(500);
$('#report_abuse').text(frontend_js_script_data.messages.report_abuse_msg);
});
}
});
$('#mvx_widget_vendor_search .search_keyword').on('input', function () {
var vendor_search_data = {
action: 'vendor_list_by_search_keyword',
s: $(this).val(),
vendor_search_nonce: $('#mvx_vendor_search_nonce').val()
}
$.post(frontend_js_script_data.ajax_url, vendor_search_data, function (response) {
$('#mvx_widget_vendor_list').html('');
$('#mvx_widget_vendor_list').html(response);
});
});
$('.vendors_sort_shipping_fields').hide();
$('#vendor_state').hide();
$('#vendor_sort_type').change(function () {
if ($(this).val() == 'category') {
$('#vendor_sort_category').show();
} else {
$('#vendor_sort_category').hide();
}
// shipping zone
if ($(this).val() == 'shipping') {
$('.vendors_sort_shipping_fields').show();
$('#vendor_state').show();
} else {
$('.vendors_sort_shipping_fields').hide();
$('#vendor_state').hide();
}
}).change();
/* Delete Product */
$('.mvx_fpm_delete').each(function() {
$(this).click(function(event) {
event.preventDefault();
var rconfirm = confirm(frontend_js_script_data.messages.confirm_dlt_pro);
if(rconfirm) deleteProduct($(this));
return false;
});
});
function deleteProduct(item) {
$('.woocommerce').block({
message: null,
overlayCSS: {
background: '#fff',
opacity: 0.6
}
});
var data = {
action : 'delete_fpm_product',
proid : item.data('proid'),
security : frontend_js_script_data.frontend_nonce
}
$.ajax({
type: 'POST',
url: frontend_js_script_data.ajax_url,
data: data,
success: function(response) {
if(response) {
$response_json = $.parseJSON(response);
if($response_json.status == 'success') {
window.location = $response_json.shop_url;
} else {
$('.woocommerce').unblock();
}
} else {
$('.woocommerce').unblock();
}
}
});
}
// Follow and unfollow by customer
$('.mvx-stroke-butn').on('click', function() {
var vendor_id = $(this).attr('data-vendor_id');
var status = $(this).attr('data-status');
$('.mvx_bannersec_start').block({
message: null,
overlayCSS: {
background: '#fff',
opacity: 0.6
}
});
var data = {
action : 'mvx_follow_store_toggle_status',
vendor_id : vendor_id,
status : status,
security : frontend_js_script_data.frontend_nonce
}
$.ajax({
type: 'POST',
url: frontend_js_script_data.ajax_url,
data: data,
success: function(response) {
window.location.href = window.location.href;
}
});
});
});