PluginProbe
ووسلام – همگام سازی ووکامرس و باسلام / 1.10.14
ووسلام – همگام سازی ووکامرس و باسلام v1.10.14
1.10.19 1.10.20 1.10.18 1.10.17 1.10.15 1.10.14 1.10.13 1.10.12 1.10.10 1.10.9 1.10.8 1.10.7 1.10.6 1.10.5 1.10.4 1.10.3 1.10.2 1.10.1 1.10.0 1.9.2 1.9.1 1.9.0 1.8.8 1.8.5 1.8.6 All 53 releases
sync-basalam / assets / js / map-category-option.js

map-category-option.js in ووسلام – همگام سازی ووکامرس و باسلام 1.10.14, at assets/js/map-category-option.js

130 lines 3.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 jQuery(document).ready(function ($) {
2 function getDeleteNonce() {
3 return (
4 $(".options_mapping_section").data("delete-nonce") ||
5 $(".Basalam-delete-option").first().data("_wpnonce") ||
6 ""
7 );
8 }
9
10 function submitMapOption() {
11 const wooName = $("#woo-option-name").val().trim();
12 const basalamName = $("#Basalam-option-name").val().trim();
13 const nonce = $("#basalam_add_map_option_nonce").val();
14
15 if (!wooName || !basalamName) {
16 window.BasalamToast.warning("لطفاً هر دو �
17 قدار را وارد کنید.");
18 return;
19 }
20
21 $.ajax({
22 url: ajaxurl,
23 type: "POST",
24 data: {
25 action: "basalam_add_map_option",
26 "woo-option-name": wooName,
27 "basalam-option-name": basalamName,
28 _wpnonce: nonce,
29 },
30 success: function (response) {
31 if (response.success) {
32 window.BasalamToast.success("ویژگی با �
33 وفقیت ذخیره شد.");
34 $("#Basalam-map-option-result").text("ویژگی با �
35 وفقیت ذخیره شد.");
36 $(".options_mapping_section").show();
37 $("#woo-option-name").val("");
38 $("#Basalam-option-name").val("");
39
40 const deleteNonce = getDeleteNonce();
41 const newRow = `
42 <tr data-woo="${wooName}" data-basalam="${basalamName}">
43 <td>${wooName}</td>
44 <td>${basalamName}</td>
45 <td>
46 <button type="button" class="Basalam-delete-option basalam-primary-button basalam-delete-option-auto" data-_wpnonce="${deleteNonce}">حذف</button>
47 </td>
48 </tr>
49 `;
50
51 const $tableBody = $(".basalam-table tbody");
52 if ($tableBody.length > 0) {
53 $tableBody.append(newRow);
54 }
55 } else {
56 const errorMessage = response.data?.message || "خطا در ذخیره‌سازی.";
57 window.BasalamToast.error(errorMessage);
58 $("#Basalam-map-option-result").text(errorMessage);
59 }
60 },
61 error: function (xhr) {
62 const errorMessage =
63 xhr.responseJSON?.data?.message || "خطا در ارسال درخواست.";
64 window.BasalamToast.error(errorMessage);
65 $("#Basalam-map-option-result").text(errorMessage);
66 },
67 });
68 }
69
70 $(document).on("click", ".Basalam-delete-option", function (e) {
71 e.preventDefault();
72
73 if (!window.confirm("آیا �
74 ط�
75 ئن هستید؟")) {
76 return;
77 }
78
79 const $row = $(this).closest("tr");
80 const woo_name = $row.data("woo");
81 const basalam_name = $row.data("basalam");
82 const nonce = $(this).data("_wpnonce") || getDeleteNonce();
83
84 $.ajax({
85 url: ajaxurl,
86 method: "POST",
87 data: {
88 action: "basalam_delete_mapped_option",
89 woo_name: woo_name,
90 basalam_name: basalam_name,
91 _wpnonce: nonce,
92 },
93 success: function (response) {
94 if (response.success) {
95 $row.remove();
96 window.BasalamToast.success("ویژگی با �
97 وفقیت حذف شد.");
98 if ($(".basalam-table tbody tr").length === 0) {
99 $(".options_mapping_section").hide();
100 }
101 } else {
102 window.BasalamToast.error("ع�
103 لیات نا�
104 وفق بود");
105 }
106 },
107 error: function () {
108 window.BasalamToast.error("خطایی در ارسال درخواست رخ داد.");
109 location.reload();
110 },
111 });
112 });
113
114 $(document).on("click", "#Basalam-map-option-submit", function (e) {
115 e.preventDefault();
116 submitMapOption();
117 });
118
119 $(document).on("keydown", "#Basalam-map-option-form input", function (e) {
120 if (e.key === "Enter") {
121 e.preventDefault();
122 submitMapOption();
123 }
124 });
125
126 if ($(".basalam-table tbody tr").length === 0) {
127 $(".options_mapping_section").hide();
128 }
129 });
130