jQuery(document).ready(function ($) {
function getDeleteNonce() {
return (
$(".options_mapping_section").data("delete-nonce") ||
$(".Basalam-delete-option").first().data("_wpnonce") ||
""
);
}
function submitMapOption() {
const wooName = $("#woo-option-name").val().trim();
const basalamName = $("#Basalam-option-name").val().trim();
const nonce = $("#basalam_add_map_option_nonce").val();
if (!wooName || !basalamName) {
window.BasalamToast.warning("لطفاً هر دو مقدار را وارد کنید.");
return;
}
$.ajax({
url: ajaxurl,
type: "POST",
data: {
action: "basalam_add_map_option",
"woo-option-name": wooName,
"basalam-option-name": basalamName,
_wpnonce: nonce,
},
success: function (response) {
if (response.success) {
window.BasalamToast.success("ویژگی با موفقیت ذخیره شد.");
$("#Basalam-map-option-result").text("ویژگی با موفقیت ذخیره شد.");
$(".options_mapping_section").show();
$("#woo-option-name").val("");
$("#Basalam-option-name").val("");
const deleteNonce = getDeleteNonce();
const newRow = `
| ${wooName} |
${basalamName} |
|
`;
const $tableBody = $(".basalam-table tbody");
if ($tableBody.length > 0) {
$tableBody.append(newRow);
}
} else {
const errorMessage = response.data?.message || "خطا در ذخیرهسازی.";
window.BasalamToast.error(errorMessage);
$("#Basalam-map-option-result").text(errorMessage);
}
},
error: function (xhr) {
const errorMessage =
xhr.responseJSON?.data?.message || "خطا در ارسال درخواست.";
window.BasalamToast.error(errorMessage);
$("#Basalam-map-option-result").text(errorMessage);
},
});
}
$(document).on("click", ".Basalam-delete-option", function (e) {
e.preventDefault();
if (!window.confirm("آیا مطمئن هستید؟")) {
return;
}
const $row = $(this).closest("tr");
const woo_name = $row.data("woo");
const basalam_name = $row.data("basalam");
const nonce = $(this).data("_wpnonce") || getDeleteNonce();
$.ajax({
url: ajaxurl,
method: "POST",
data: {
action: "basalam_delete_mapped_option",
woo_name: woo_name,
basalam_name: basalam_name,
_wpnonce: nonce,
},
success: function (response) {
if (response.success) {
$row.remove();
window.BasalamToast.success("ویژگی با موفقیت حذف شد.");
if ($(".basalam-table tbody tr").length === 0) {
$(".options_mapping_section").hide();
}
} else {
window.BasalamToast.error("عملیات ناموفق بود");
}
},
error: function () {
window.BasalamToast.error("خطایی در ارسال درخواست رخ داد.");
location.reload();
},
});
});
$(document).on("click", "#Basalam-map-option-submit", function (e) {
e.preventDefault();
submitMapOption();
});
$(document).on("keydown", "#Basalam-map-option-form input", function (e) {
if (e.key === "Enter") {
e.preventDefault();
submitMapOption();
}
});
if ($(".basalam-table tbody tr").length === 0) {
$(".options_mapping_section").hide();
}
});