PluginProbe ʕ •ᴥ•ʔ
File Manager Pro – Filester / trunk
File Manager Pro – Filester vtrunk
2.1.1 trunk 1.6.1 1.7.6 1.8 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9 2.0 2.0.1 2.0.2 2.1.0
filester / includes / Recommended / assets / js / recommended.js
filester / includes / Recommended / assets / js Last commit date
recommended.js 4 years 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