PluginProbe ʕ •ᴥ•ʔ
WP Chat App / 3.6.9
WP Chat App v3.6.9
3.8.1 3.8.2 trunk 2.6 3.4 3.4.1 3.4.2 3.4.4 3.4.5 3.4.6 3.5 3.6 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.6.8 3.6.9 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.8.0
wp-whatsapp / includes / Recommended / assets / js / recommended.js
wp-whatsapp / includes / Recommended / assets / js Last commit date
recommended.js 1 year ago
recommended.js
160 lines
1 jQuery(document).ready(function () {
2 const wooActive = window.yayRecommended.woo_active;
3 if(wooActive === '') {
4 getData('featured');
5 } else {
6 getData('woocommerce');
7 }
8
9 jQuery(".yay-recommended-plugins-layout .plugin-install-tab").on("click", function () {
10 if(jQuery(this).children().hasClass("current") === false) {
11 getData(jQuery(this).attr("data-tab"));
12 jQuery( ".yay-recommended-plugins-layout .plugin-install-tab a" ).each(function() {
13 if(jQuery(this).hasClass("current") === true) {
14 jQuery(this).removeClass("current");
15 }
16 });
17 jQuery(this).children().addClass("current");
18 }
19 })
20 jQuery('body').on('click', '.yay-recommended-plugins-layout .plugin-action-buttons .activate-now', function() {
21 const file = jQuery(this).attr("data-plugin-file");
22 activatePlugin(jQuery(this), file);
23 });
24 jQuery('body').on('click', '.yay-recommended-plugins-layout .plugin-action-buttons .install-now', function() {
25 if(!jQuery(this).hasClass("updating-message") ) {
26 const plugin = jQuery(this).attr("data-install-url");
27 installPlugin(jQuery(this), plugin);
28 }
29 });
30 jQuery('body').on('click', '.yay-recommended-plugins-layout .plugin-action-buttons .update-now', function() {
31 if(!jQuery(this).hasClass("updating-message") ) {
32 const plugin = jQuery(this).attr("data-plugin");
33 updatePlugin(jQuery(this), plugin);
34 }
35 });
36 })
37 function getData(tab) {
38 const loadingHtml = '<div class="loading-content"><span class="spinner is-active"></span></div>';
39 jQuery(".yay-recommended-plugins-layout #the-list").html(loadingHtml);
40 jQuery(".yay-recommended-plugins-layout .plugin-install-tab").addClass("loading-process");
41 jQuery.ajax({
42 url: yayRecommended.admin_ajax,
43 type: "POST",
44 data: {
45 action: "yay_recommended_get_plugin_data",
46 tab: tab,
47 nonce: yayRecommended.nonce
48 },
49 success: function(response) {
50 if(response.success === true) {
51 const html = response.data.html;
52 jQuery( ".yay-recommended-plugins-layout #the-list" ).html(html);
53 jQuery(".yay-recommended-plugins-layout .plugin-install-tab").removeClass("loading-process");
54 }
55 }
56 })
57 }
58
59 function activatePlugin(element,file) {
60 element.addClass("button-disabled");
61 element.attr("disabled", "disabled");
62 element.text("Processing...");
63 jQuery.ajax({
64 url: yayRecommended.admin_ajax,
65 type: "POST",
66 data: {
67 action: "yay_recommended_activate_plugin",
68 file: file,
69 nonce: yayRecommended.nonce
70 },
71 success: function(response) {
72 if(response.success === true) {
73 const pluginStatus = jQuery(".yay-recommended-plugins-layout .plugin-status-inactive[data-plugin-file='" + file +"']")
74 pluginStatus.text("Active");
75 pluginStatus.addClass("plugin-status-active");
76 pluginStatus.removeClass("plugin-status-inactive");
77 element.removeClass("active-now");
78 element.text("Activated");
79 } else {
80 element.removeClass("button-disabled");
81 element.prop("disabled", false);
82 element.text("Activated");
83 }
84 },
85 })
86 }
87
88 function installPlugin(element,plugin) {
89 element.removeClass("button-primary");
90 element.addClass("updating-message");
91 element.text("Installing...");
92 jQuery.ajax({
93 url: yayRecommended.admin_ajax,
94 type: "POST",
95 data: {
96 action: "yay_recommended_upgrade_plugin",
97 type: 'install',
98 plugin: plugin,
99 nonce: yayRecommended.nonce
100 },
101 success: function(response) {
102 if(response.success === true) {
103 element.removeClass("updating-message");
104 element.addClass("updated-message installed button-disabled");
105 element.attr("disabled", "disabled");
106 element.removeAttr("data-install-url");
107 element.text("Installed!");
108 setTimeout(() => {
109 const pluginStatus = jQuery(".yay-recommended-plugins-layout .plugin-status-not-install[data-plugin-url='" + plugin +"']")
110 pluginStatus.text("Active");
111 pluginStatus.addClass("plugin-status-active");
112 pluginStatus.removeClass("plugin-status-not-install");
113 pluginStatus.removeAttr("data-install-url");
114 element.removeClass("install-now updated-message installed");
115 element.text("Activated");
116 element.removeAttr("aria-label");
117 }, 500);
118
119 } else {
120 element.removeClass("updating-message");
121 element.addClass("button-primary");
122 element.text("Install Now");
123 }
124 },
125 })
126 }
127
128 function updatePlugin(element,plugin) {
129 element.addClass("updating-message");
130 element.text("Updating...");
131 jQuery.ajax({
132 url: yayRecommended.admin_ajax,
133 type: "POST",
134 data: {
135 action: "yay_recommended_upgrade_plugin",
136 type: "update",
137 plugin: plugin,
138 nonce: yayRecommended.nonce
139 },
140 success: function(response) {
141 if(response.success === true) {
142 element.removeClass("updating-message");
143 element.addClass("updated-message button-disabled");
144 element.attr("disabled", "disabled");
145 element.text("Updated!");
146 if(response.data.active === false) {
147 const pluginStatus = jQuery(".yay-recommended-plugins-layout .plugin-status-inactive[data-plugin-file='" + plugin +"']");
148 pluginStatus.text("Active");
149 pluginStatus.addClass("plugin-status-active");
150 pluginStatus.removeClass("plugin-status-inactive");
151 pluginStatus.removeAttr("data-plugin-file");
152 }
153 } else {
154 element.removeClass("updating-message");
155 element.text("Update Now");
156 }
157 },
158 })
159 }
160