PluginProbe
ووسلام – همگام سازی ووکامرس و باسلام / 1.10.20
ووسلام – همگام سازی ووکامرس و باسلام v1.10.20
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 / vendor-status.js

vendor-status.js in ووسلام – همگام سازی ووکامرس و باسلام 1.10.20, at assets/js/vendor-status.js

65 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 document.addEventListener("DOMContentLoaded", function () {
2 const button = document.getElementById(
3 "sync_basalam_refresh_vendor_status_btn"
4 );
5
6 if (!button) return;
7
8 const showToast = (type, message) => {
9 if (window.BasalamToast && typeof window.BasalamToast[type] === "function") {
10 window.BasalamToast[type](message);
11 return;
12 }
13
14 window.alert(message);
15 };
16
17 button.addEventListener("click", function () {
18 if (button.disabled) return;
19
20 const originalText = button.textContent;
21 const formData = new FormData();
22 formData.append("action", "sync_basalam_refresh_vendor_status");
23 formData.append("_wpnonce", button.dataset.nonce || "");
24
25 button.disabled = true;
26 button.textContent = "در حال بررسی...";
27
28 fetch(window.ajaxurl, {
29 method: "POST",
30 credentials: "same-origin",
31 body: formData,
32 })
33 .then((response) => response.json())
34 .then((response) => {
35 const data = response.data || {};
36
37 if (!response.success) {
38 throw new Error(data.message || "بررسی وضعیت غرفه نا�
39 وفق بود.");
40 }
41
42 const isActive = data.state && data.state.mode === "active";
43 showToast(
44 isActive ? "success" : "warning",
45 data.message ||
46 (isActive
47 ? "غرفه فعال شد."
48 : "غرفه هنوز در باسلا�
49 غیرفعال است.")
50 );
51
52 window.setTimeout(function () {
53 window.location.reload();
54 }, 600);
55 })
56 .catch((error) => {
57 showToast("error", error.message || "خطا در ارتباط با سرور.");
58 })
59 .finally(() => {
60 button.disabled = false;
61 button.textContent = originalText;
62 });
63 });
64 });
65