1
|
|
|
!function(t,e){var i;void 0===e.Amarkal?(i={},e.Amarkal=i):i=e.Amarkal,i.settings={init:function(){t(".amarkal-ui-component").on("amarkal.change",function(){i.settings.notifier.notice('Settings have changed, click "Save" to apply them.')}),i.settings.search.init()}},t(document).ready(function(){i.settings.init()}),i.settings.notifier={classes:["error","success","notice","info"],prefix:"amarkal-",timeout:null,$el:null,notify:function(t,e,n){clearTimeout(i.settings.notifier.timeout),i.settings.notifier.$el.removeAttr("class").addClass(i.settings.notifier.prefix+t).html("<p>"+e+"</p>"),void 0!==n&&(i.settings.notifier.timeout=setTimeout(function(){i.settings.notifier.$el.removeAttr("class").html("")},n))},error:function(t,e){i.settings.notifier.notify("error",t,e)},success:function(t,e){i.settings.notifier.notify("success",t,e)},notice:function(t,e){i.settings.notifier.notify("notice",t,e)},info:function(t,e){i.settings.notifier.notify("info",t,e)},init:function(){this.$el=t("#amarkal-settings-notices")}},t(document).ready(function(){i.settings.notifier.init()}),i.settings.search={$fields:null,$input:null,init:function(){var e=this;this.$fields=t(".amarkal-settings-field"),this.$input=t("#settings-search"),this.$input.on("keyup",function(){e.onKeyup()})},onKeyup:function(e){var i,n=this.$input.val().toLowerCase();n.length>1?(i=this.find(n),this.$fields.hide(),i.show(),t("#settings-search-results").text(i.length?i.length+" settings found":"Nothing found")):(this.$fields.show(),t("#settings-search-results").text(""))},find:function(e){var i=[];return this.$fields.each(function(){var n=t(this),s=n.attr("data-title").toLowerCase(),a=n.find(".description").text();(s.match(e)||a.match(e))&&i.push(n)}),t(i).map(function(){return this.toArray()})}},t(document).ready(function(){t(".amarkal-settings-button").on("click",function(e){e.preventDefault();var n=t(this);n.data("disabled")||(t(".amarkal-settings-button").data("disabled",!0),n.addClass("processing"),i.settings[n.val()](function(){n.removeClass("processing"),t(".amarkal-settings-button").data("disabled",!1)}))})}),i.settings.save=function(e){i.settings._postData("save",function(n){if(i.settings._clearErrors(),t.isEmptyObject(n.errors))i.settings.notifier.success("Settings saved",2e3);else{for(var s in n.errors){var a=t('[amarkal-component-name="'+s+'"]');a.amarkalUIComponent("makeInvalid"),a.parent().children(".amarkal-settings-error").addClass("amarkal-visible").html(n.errors[s])}i.settings.notifier.error("Some errors have occured, see below for more information.")}t("#amarkal-settings-form").amarkalUIForm("setData",n.values,n.errors),e()})},i.settings.reset=function(e){i.settings._postData("reset",function(n){i.settings._clearErrors(),i.settings.notifier.success("Default settings applied",2e3),t("#amarkal-settings-form").amarkalUIForm("setData",n.values,n.errors),e()})},i.settings._clearErrors=function(){t(".amarkal-ui-component").amarkalUIComponent("reset"),t(".amarkal-settings-error").removeClass("amarkal-visible").html("")},i.settings._postData=function(e,i){var n=t("#amarkal-settings-form").amarkalUIForm("getData");t("#amarkal-settings-form").find('input[name^="_amarkal"]').each(function(){n[t(this).attr("name")]=t(this).val()}),t.post(ajaxurl,{action:"amarkal_settings_"+e,data:n},i)}}(jQuery,window); |