favorites-admin.min.js
10.2 KB
var FavoritesAdmin;!function(s){var i=window.MutationObserver||window.WebKitMutationObserver;s.fn.attrchange=function(t,e){if("object"==typeof t){var o={trackValues:!1,callback:s.noop};if("function"==typeof t?o.callback=t:s.extend(o,t),o.trackValues&&this.each(function(t,e){for(var o,n={},a=(t=0,e.attributes),i=a.length;t<i;t++)n[(o=a.item(t)).nodeName]=o.value;s(this).data("attr-old-value",n)}),i){var n={subtree:!1,attributes:!0,attributeOldValue:o.trackValues},a=new i(function(t){t.forEach(function(t){var e=t.target;o.trackValues&&(t.newValue=s(e).attr(t.attributeName)),"connected"===s(e).data("attrchange-status")&&o.callback.call(e,t)})});return this.data("attrchange-method","Mutation Observer").data("attrchange-status","connected").data("attrchange-obs",a).each(function(){a.observe(this,n)})}return function(){var t=document.createElement("p"),e=!1;if(t.addEventListener)t.addEventListener("DOMAttrModified",function(){e=!0},!1);else{if(!t.attachEvent)return!1;t.attachEvent("onDOMAttrModified",function(){e=!0})}return t.setAttribute("id","target"),e}()?this.data("attrchange-method","DOMAttrModified").data("attrchange-status","connected").on("DOMAttrModified",function(t){t.originalEvent&&(t=t.originalEvent),t.attributeName=t.attrName,t.oldValue=t.prevValue,"connected"===s(this).data("attrchange-status")&&o.callback.call(this,t)}):"onpropertychange"in document.body?this.data("attrchange-method","propertychange").data("attrchange-status","connected").on("propertychange",function(t){t.attributeName=window.event.propertyName,function(t,e){if(t){var o=this.data("attr-old-value");if(0<=e.attributeName.indexOf("style")){o.style||(o.style={});var n=e.attributeName.split(".");e.attributeName=n[0],e.oldValue=o.style[n[1]],e.newValue=n[1]+":"+this.prop("style")[s.camelCase(n[1])],o.style[n[1]]=e.newValue}else e.oldValue=o[e.attributeName],e.newValue=this.attr(e.attributeName),o[e.attributeName]=e.newValue;this.data("attr-old-value",o)}}.call(s(this),o.trackValues,t),"connected"===s(this).data("attrchange-status")&&o.callback.call(this,t)}):this}if("string"==typeof t&&s.fn.attrchange.hasOwnProperty("extensions")&&s.fn.attrchange.extensions.hasOwnProperty(t))return s.fn.attrchange.extensions[t].call(this,e)}}(jQuery),(FavoritesAdmin=FavoritesAdmin||{}).Settings=function(){var i=this,s=jQuery;return i.bindEvents=function(){s(document).ready(function(){i.toggleButtonTypes(),i.toggleAnonymousSave(),i.toggleLoadingTypeLoad(),i.toggleAnonymousSettings(),i.toggleCustomColorOptions(),i.enableColorPickers(),i.toggleButtonPreviewColors(),i.toggleCountOptions(),i.toggleModalConsentContent(),s.each(s("[data-favorites-dependency-checkbox]"),function(){var t=s(this).parents(".field");i.toggleDependencyContent(t)}),s(".wp-color-result").attrchange({callback:function(){i.toggleButtonPreviewColors()}})}),s(document).on("change","[data-favorites-dependency-checkbox]",function(){var t=s(this).parents(".field");i.toggleDependencyContent(t)}),s(document).on("change","*[data-favorites-anonymous-checkbox]",function(){i.toggleAnonymousSave(),i.toggleAnonymousSettings()}),s(document).on("change","[data-favorites-anonymous-settings]",function(){i.toggleAnonymousSettings(s(this))}),s(document).on("change","*[data-favorites-posttype-checkbox]",function(){i.togglePostTypeOptionsButtons()}),s(document).on("click","[data-favorites-toggle-post-type-settings]",function(t){t.preventDefault(),i.togglePostTypeOptions(s(this))}),s(document).on("change","[data-favorites-spinner-type]",function(){i.toggleLoadingType(s(this))}),s(document).on("change","[data-favorites-preset-button-select]",function(){i.toggleButtonTypes()}),s(document).on("click","[data-favorites-button-preview]",function(t){t.preventDefault(),i.togglePreviewButtonState(s(this))}),s(document).on("change","[data-favorites-include-count-checkbox]",function(){i.toggleCountOptions()}),s(document).on("change","[data-favorites-custom-colors-checkbox]",function(){i.toggleCustomColorOptions()}),s(document).on("change","[data-favorites-button-shadow]",function(){i.toggleButtonPreviewColors()}),s(document).on("change","[data-favorites-color-picker]",function(){i.toggleButtonPreviewColors()}),s(document).on("change","[data-favorites-require-consent-checkbox]",function(){i.toggleModalConsentContent()})},i.togglePostTypeOptions=function(t){s(t).parents(".post-type-row").find(".post-type-settings").toggle(),s(t).toggleClass("button-primary")},i.togglePostTypeOptionsButtons=function(){var t=s("[data-favorites-posttype-checkbox]");s.each(t,function(){var t=!!s(this).is(":checked"),e=s(this).parents(".post-type-row"),o=s(e).find("[data-favorites-toggle-post-type-settings]");t?s(o).show():(s(o).hide(),s(e).find(".post-type-settings").hide())})},i.toggleDependencyContent=function(t){s(t).find("[data-favorites-dependency-checkbox]").is(":checked")?s(t).find("[data-favorites-dependency-content]").hide():s(t).find("[data-favorites-dependency-content]").show()},i.toggleAnonymousSave=function(){if(s("[data-favorites-anonymous-checkbox]").is(":checked"))return s("[data-favorites-anonymous-count]").show(),void s("[data-favorites-require-login]").hide().find('input[type="checkbox"]').attr("checked",!1);s("[data-favorites-anonymous-count]").hide().find('input[type="checkbox"]').attr("checked",!1),s("[data-favorites-require-login]").show()},i.toggleAnonymousSettings=function(t){if(void 0===t||""===t){var e=s("[data-favorites-anonymous-settings]");s.each(e,function(){i.toggleAnonymousSettings(s(this))})}var o=s(t).attr("data-favorites-anonymous-settings");return"modal"===o&&s(t).is(":checked")?(s("[data-favorites-authentication-modal-content]").show(),s("[data-favorites-anonymous-redirect-content]").hide(),void s('[data-favorites-anonymous-settings="redirect"]').attr("checked",!1)):"redirect"===o&&s(t).is(":checked")?(s("[data-favorites-anonymous-redirect-content]").show(),s("[data-favorites-authentication-modal-content]").hide(),void s('[data-favorites-anonymous-settings="modal"]').attr("checked",!1)):(s('[data-favorites-anonymous-settings="redirect"]').is(":checked")||s("[data-favorites-anonymous-redirect-content]").hide(),void(s('[data-favorites-anonymous-settings="modal"]').is(":checked")||s("[data-favorites-authentication-modal-content]").hide()))},i.toggleLoadingTypeLoad=function(){var t=s('[data-favorites-spinner-type="image"]');s(t).is(":checked")?s('[data-favorites-spinner-type="html"]').attr("checked",!1):s('[data-favorites-spinner-type="image"]').attr("checked",!1)},i.toggleLoadingType=function(t){"image"!==s(t).attr("data-favorites-spinner-type")?s('[data-favorites-spinner-type="image"]').attr("checked",!1):s('[data-favorites-spinner-type="html"]').attr("checked",!1)},i.togglePreviewButtonState=function(t){s(t).toggleClass("active");var e=s(t).attr("data-favorites-button-icon"),o=s(t).attr("data-favorites-button-active-content"),n=s(t).attr("data-favorites-button-default-content"),a=e+" "+(s(t).hasClass("active")?o:n);s("[data-favorites-include-count-checkbox]").is(":checked")&&(a+=' <span class="simplefavorite-button-count">2</span>'),s(t).html(a),setTimeout(function(){i.toggleButtonPreviewColors()},10)},i.toggleButtonTypes=function(){var t=s("[data-favorites-preset-button-select]").val(),e=s("[data-favorites-preset-button-previews]"),o=s("[data-favorites-button-preview]"),n=s("[data-favorites-custom-button-option]");if("custom"===t)return s(e).hide(),void s(n).show();s(n).hide(),s(o).hide(),s(e).show(),s('[data-favorites-button-preview="'+t+'"]').show()},i.toggleCustomColorOptions=function(){var t=!!s("[data-favorites-custom-colors-checkbox]").is(":checked");i.toggleButtonPreviewColors(),t?s("[data-favorites-custom-colors-options]").show():s("[data-favorites-custom-colors-options]").hide()},i.enableColorPickers=function(){s("[data-favorites-color-picker]").wpColorPicker({change:function(t,e){setTimeout(function(){i.toggleButtonPreviewColors()},10)}})},i.toggleButtonPreviewColors=function(){var t=s("[data-favorites-button-preview]"),e=s("[data-favorites-button-preview]:visible");if(!s("[data-favorites-custom-colors-checkbox]").is(":checked"))return s(t).removeAttr("style"),void i.toggleButtonTypes();var o=s("[data-favorites-button-shadow]").is(":checked")?"":"none";s(t).css("box-shadow",o);var n=s(e).hasClass("active")?"_active":"_default";s(t).css("background-color",i.getCurrentColor("background"+n)),s(t).css("border-color",i.getCurrentColor("border"+n)),s(t).css("color",i.getCurrentColor("text"+n)),s(t).find("i").css("color",i.getCurrentColor("icon"+n)),s(t).find(".simplefavorite-button-count").css("color",i.getCurrentColor("count"+n))},i.getCurrentColor=function(t){var e=s('[data-favorites-color-picker="'+t+'"]');return value=s(e).val(),value},i.toggleCountOptions=function(){if(!!s("[data-favorites-include-count-checkbox]").is(":checked"))return s(".simplefavorite-button-count").show(),s('[data-favorites-color-option="count_default"]').show(),void s('[data-favorites-color-option="count_active"]').show();s(".simplefavorite-button-count").hide(),s('[data-favorites-color-option="count_default"]').hide(),s('[data-favorites-color-option="count_active"]').hide()},i.toggleModalConsentContent=function(){!s("[data-favorites-require-consent-checkbox]").is(":checked")?s("[data-favorites-require-consent-modal-content]").hide():s("[data-favorites-require-consent-modal-content]").show()},i.bindEvents()},(FavoritesAdmin=FavoritesAdmin||{}).ListingCustomizer=function(){var e=this,o=jQuery;return e.bindEvents=function(){o(document).ready(function(){e.toggleListingCustomizer()}),o(document).on("change","[data-favorites-listing-customizer-checkbox]",function(){e.toggleListingCustomizer()}),o(document).on("click","[data-favorites-listing-customizer-variable-button]",function(t){t.preventDefault(),e.addFieldToEditor(o(this))})},e.toggleListingCustomizer=function(){o("[data-favorites-listing-customizer-checkbox]").is(":checked")?o("[data-favorites-listing-customizer]").show():o("[data-favorites-listing-customizer]").hide()},e.addFieldToEditor=function(t){var e=o(t).siblings("select").val();tinymce.activeEditor.execCommand("mceInsertContent",!1,e)},e.bindEvents()},jQuery(document).ready(function(){new FavoritesAdmin.Factory}),(FavoritesAdmin=FavoritesAdmin||{}).selectors={},FavoritesAdmin.cssClasses={},FavoritesAdmin.jsData={},FavoritesAdmin.formActions={},FavoritesAdmin.Factory=function(){jQuery;return this.build=function(){new FavoritesAdmin.Settings,new FavoritesAdmin.ListingCustomizer},this.build()};