PluginProbe
Charitable – Donation & Fundraising Platform (Donation Forms, Recurring Donations & Fundraising Campaigns) / 1.8.13
Charitable – Donation & Fundraising Platform (Donation Forms, Recurring Donations & Fundraising Campaigns) v1.8.13
1.8.13 1.8.12.3 1.8.12.2 1.8.12.1 1.8.12 1.8.11.3 1.8.11.2 1.8.11.1 1.8.11 1.6.6 1.6.60 1.6.7 1.6.8 1.6.9 1.7.0 1.7.0.1 1.7.0.11 1.7.0.12 1.7.0.14 1.7.0.2 1.7.0.3 1.7.0.5 1.7.0.6 1.7.0.7 1.7.0.9 All 211 releases
charitable / assets / js / admin / charitable-admin-addons.min.js

charitable-admin-addons.min.js in Charitable – Donation & Fundraising Platform (Donation Forms, Recurring Donations & Fundraising Campaigns) 1.8.13, at assets/js/admin/charitable-admin-addons.min.js

11 lines 4.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * Charitable Admin Addons functionality.
3 *
4 * @package Charitable/Admin Scripts
5 * @author David Bisset
6 * @copyright Copyright (c) 2024, WP Charitable LLC
7 * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
8 * @since 1.8.7.6
9 * @version 1.8.7.6
10 */
11 !function(t){"use strict";var a,i={settings:{iconActivate:'<i class="fa fa-toggle-on fa-flip-horizontal" aria-hidden="true"></i>',iconDeactivate:'<i class="fa fa-toggle-on" aria-hidden="true"></i>',iconInstall:'<i class="fa fa-cloud-download" aria-hidden="true"></i>',iconSpinner:'<i class="fa fa-spinner fa-spin" aria-hidden="true"></i>'},init:function(){a=this.settings,t(i.ready)},ready:function(){t("#charitable-admin-addons").length&&t(document).on("click","#charitable-admin-addons .action-button button",i.handleAddonAction)},handleAddonAction:function(a){a.preventDefault();var n=t(this),e=n.parents(".addon-item"),s={active:"status-active",activating:"status-activating",incompatible:"status-incompatible",installed:"status-installed",missing:"status-missing",goToUrl:"status-go-to-url",withError:"status-with-error"};if(e.hasClass(s.goToUrl))window.open(n.attr("data-plugin"),"_blank");else{n.prop("disabled",!0);n.is(":checked");var d=n.attr("data-plugin"),o=n.attr("data-type"),c=n.parents(".addon-item"),l=i.getAddonState(e,s,n);i.updateAddonButton(n,l,!0),i.setAddonState(d,l,o,function(t){i.handleAddonStateResponse(t,c,n,l,o,void 0)},function(t){i.handleAddonStateError(t,c,n,l)})}},getAddonState:function(t,a,i){return t.hasClass(a.missing)?"install":t.hasClass(a.installed)?"activate":t.hasClass(a.active)?"deactivate":t.hasClass(a.incompatible)?"incompatible":i.hasClass("status-missing")?"install":i.hasClass("status-installed")?"activate":i.hasClass("status-active")?"deactivate":"install"},updateAddonButton:function(t,i,n){var e="",s="";if(n)e="install"===i?a.iconSpinner+" Installing...":"deactivate"===i?a.iconSpinner+" Deactivating...":a.iconSpinner+" Activating...",s="button button-secondary loading";else switch(i){case"install":e=a.iconInstall+" Install Plugin",s="status-missing button button-primary";break;case"activate":e=a.iconActivate+" Activate",s="status-installed button button-secondary";break;case"deactivate":e=a.iconDeactivate+" Deactivate",s="status-active button button-secondary";break;case"incompatible":e="Incompatible",s="status-incompatible button button-secondary disabled"}t.removeClass().addClass(s).html(e)},setAddonState:function(a,i,n,e,s){var d={activate:"charitable_addons_activate",install:"charitable_addons_install_wporg",deactivate:"charitable_addons_deactivate",incompatible:"charitable_addons_activate"}[i];if(d){var o={action:d,nonce:charitable_admin_addons.nonce,plugin:a,type:n};t.post(charitable_admin_addons.ajax_url,o,function(t){e(t)}).fail(function(t){s(t)})}},handleAddonStateResponse:function(n,e,s,d,o,c){if(s.prop("disabled",!1),s.removeClass("loading"),n.success){if(n.data&&"object"==typeof n.data&&n.data.redirect)return void(window.location.href=n.data.redirect);var l="",r="",u="";"install"===d?(s.attr("data-plugin",n.data.basename),l=n.data.msg,n.data.is_activated||(r="Inactive",u="plugin"===o?"Activate":a.iconActivate+" Activate",c="plugin"===o?"status-installed button button-secondary":"status-installed")):(l=n.data&&"object"==typeof n.data&&n.data.msg?n.data.msg:n.data,"activate"===d?(r="Active",u="plugin"===o?"Deactivate":a.iconDeactivate+" Deactivate",c="plugin"===o?"status-active button button-secondary":"status-active"):"deactivate"===d&&(r="Inactive",u="plugin"===o?"Activate":a.iconActivate+" Activate",c="plugin"===o?"status-installed button button-secondary":"status-installed")),e.find(".actions").append('<div class="msg success">'+l+"</div>"),e.find("span.status-label").removeClass("status-active status-installed status-missing").addClass(c).removeClass("button button-primary button-secondary disabled").text(r),s.removeClass("status-active status-installed status-missing").removeClass("button button-primary button-secondary disabled loading").addClass(c).html(u)}else"object"==typeof n.data&&"addon"===o?e.find(".actions").append('<div class="msg error"><p>Error installing addon</p></div>'):e.find(".actions").append('<div class="msg error"><p>'+n.data+"</p></div>"),s.removeClass("loading"),i.updateAddonButton(s,d,!1);setTimeout(function(){e.find(".msg").fadeOut(300,function(){t(this).remove()})},3e3)},handleAddonStateError:function(a,n,e,s){e.prop("disabled",!1),n.find(".actions").append('<div class="msg error"><p>Network error. Please try again.</p></div>'),i.updateAddonButton(e,s,!1),setTimeout(function(){n.find(".msg").fadeOut(300,function(){t(this).remove()})},3e3)}};t(document).ready(function(){i.init()})}(jQuery);