| 1 |
!function($){"use strict";var a,t={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>',mediaFrame:!1},init:function(){a=this.settings,$(t.ready),$(document).on("CharitableDirReady",t.initAddons)},ready:function(){$(document).trigger("CharitableDirReady")},initAddons:function(){if(console.log("initAddons"),$("#charitable-admin-addons").length){if($("#charitable-admin-addons-list").length){var a=new List("charitable-admin-addons-list",{valueNames:["addon-link"]});$("#charitable-admin-addons-search").on("keyup search",(function(){t.updateAddonSearchResult(this,a)}))}$(document).on("click","#charitable-admin-addons .addon-item button",(function(a){if(a.preventDefault(),$(this).hasClass("disabled"))return!1;t.addonToggle($(this))}))}},updateAddonSearchResult:function(a,t){var i=$(a).val();$("#addons-heading");i=i.replace(/[.,]/g," "),t.search(i)},setAddonState:function(a,t,i,n){console.log("setAddonState");var e={activate:"charitable_activate_addon",install:"charitable_install_addon",deactivate:"charitable_deactivate_addon"}[t];if(e){var d={action:e,nonce:charitable_admin.nonce,plugin:a,type:i};$.post(charitable_admin.ajax_url,d,(function(a){n(a)})).fail((function(a){console.log(a.responseText)}))}},addonToggle:function(i){var n,e,d,s,o,l,c=i.closest(".addon-item"),r=i.attr("data-plugin"),u=i.attr("data-type");if(i.hasClass("status-go-to-url"))window.open(i.attr("data-plugin"),"_blank");else{if(i.prop("disabled",!0).addClass("loading"),i.html(a.iconSpinner),i.hasClass("status-active"))n="deactivate",e="status-installed","plugin"===u&&(e+=" button button-secondary"),d=charitable_admin.addon_inactive,s=charitable_admin.addon_activate,o=charitable_admin.addon_deactivate,"addon"===u&&(s=a.iconActivate+s,o=a.iconDeactivate+o);else if(i.hasClass("status-installed"))n="activate",e="status-active","plugin"===u&&(e+=" button button-secondary disabled"),d=charitable_admin.addon_active,s=charitable_admin.addon_deactivate,"addon"===u?(s=a.iconDeactivate+s,o=a.iconActivate+charitable_admin.addon_activate):"plugin"===u&&(s=charitable_admin.addon_activated,o=charitable_admin.addon_activate);else{if(!i.hasClass("status-missing"))return;n="install",e="status-active","plugin"===u&&(e+=" button disabled"),d=charitable_admin.addon_active,s=charitable_admin.addon_activated,o=a.iconInstall,"addon"===u&&(s=a.iconActivate+charitable_admin.addon_deactivate,o+=charitable_admin.addon_install)}t.setAddonState(r,n,u,(function(t){t.success?(console.log("success test"),console.log(n),"install"===n?(i.attr("data-plugin",t.data.basename),l=t.data.msg,t.data.is_activated||(d=charitable_admin.addon_inactive,s="plugin"===u?charitable_admin.addon_activate:a.iconActivate+charitable_admin.addon_activate,e="plugin"===u?"status-installed button button-secondary":"status-installed")):l=t.data,c.find(".actions").append('<div class="msg success">'+l+"</div>"),c.find("span.status-label").removeClass("status-active status-installed status-missing").addClass(e).removeClass("button button-primary button-secondary disabled").text(d),i.removeClass("status-active status-installed status-missing").removeClass("button button-primary button-secondary disabled").addClass(e).html(s)):("object"==typeof t.data?"addon"===u?c.find(".actions").append('<div class="msg error"><p>'+charitable_admin.addon_error+"</p></div>"):c.find(".actions").append('<div class="msg error"><p>'+charitable_admin.plugin_error+"</p></div>"):c.find(".actions").append('<div class="msg error"><p>'+t.data+"</p></div>"),"install"===n&&"plugin"===u&&i.addClass("status-go-to-url").removeClass("status-missing"),i.html(o)),i.prop("disabled",!1).removeClass("loading"),c.find(".actions").find(".msg.error").length||setTimeout((function(){$(".addon-item .msg").remove()}),3e3)}))}},getQueryString:function(a){var t=new RegExp("[?&]"+a+"=([^&]*)").exec(window.location.search);return t&&decodeURIComponent(t[1].replace(/\+/g," "))},debug:function(a){t.isDebug()&&("object"==typeof a||a.constructor===Array?(console.log("Charitable Debug:"),console.log(a)):console.log("Charitable Debug: "+a))},isDebug:function(){return window.location.hash&&"#charitabledebug"===window.location.hash}};t.init(),window.CharitableDirAdmin=t}(jQuery); |