Initial commit. State 04.2021.

This commit is contained in:
2021-04-22 17:57:16 +02:00
commit 82781cca41
2974 changed files with 975656 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
(function(e,t){var i;return i=t.Model.extend({url:ajaxurl+"?action=ajax_settings_save",sync:function(e,i,s){return s=s||{},s.emulateHTTP=!0,t.Model.prototype.sync.call(this,e,i,s)},parse:function(e,t){return t.form?(this.optionsName=t.options_name,this.url=ajaxurl+("?action=ajax_settings_save_"+this.optionsName),t.url&&(this.url=t.url),t.network_wide&&(this.url+="&network_wide=true"),this.$form=t.form,_.extend(e,this.$form.serializeObject())):void 0},isNew:function(){return!1},update:function(t){var i;return i=e(t),i.is(":checkbox")&&(t.value=i.is(":checked")?1:0),this.saving=!0,this.save(t.name,t.value,{success:this.saveSuccess.bind(this),error:this.saveError.bind(this)})},saveSuccess:function(e,t){return this.saving=!1},saveError:function(e,t){return this.saving=!1},findInput:function(e,t){return null==t&&(t={}),this._is||(this._is={}),this._is[e]||(this._is[e]=this.$form.find("input, select, textarea").filter("[name='"+e+"']")),this._is[e]}}),e.fn.serializeObject=function(t){var i,s,n,r,a;for(s={},a=e(this).serializeArray(),n=0,r=a.length;r>n;n++)i=a[n],s[i.name]=i.value;return s},i.extend=t.Model.extend,this.AjaxSettingsModel=i}).call(this,jQuery,Backbone);
(function(e,t){var s;return s=t.View.extend({messageTemplate:_.template("<div class='<%=type%> ajax-settings-msg'><p><%= message %></p></div>"),events:{"change input:not(.ajax-ignore)":"persistChanges","change select:not(.ajax-ignore)":"persistChanges","change textarea:not(.ajax-ignore)":"persistChanges"},modelClass:AjaxSettingsModel,el:'form[action="options.php"]',genericErrorMessage:"Something went wrong: ",successMessageDisplayTime:3e3,initialize:function(t){return this.opts=t,this.opts.formSelector&&this.setElement(e(t.formSelector)),this.hide(),this.model=new this.modelClass({},_.extend({form:this.$el,parse:!0},this.opts)),this.listenTo(this.model,"change",this.render),this.listenTo(this.model,"change",this.startUpdating),this.listenTo(this.model,"sync",this.updated),this.listenTo(this.model,"error",this.error),this.listenTo(this.model,"change",this.clearErrors)},hide:function(){return this.$el.hide()},render:function(){var e,t,s,r,i;r=this.model.attributes,i=[];for(t in r)s=r[t],e=this.model.findInput(t),e?e.is(":checkbox")?i.push(e.prop("checked",parseInt(s))):i.push(e.val(s)):i.push(void 0);return i},show:function(){return this.$el.fadeIn()},persistChanges:function(e){return e.preventDefault(),this.model.update(e.currentTarget)},startUpdating:function(e,t){var s,r,i,n;i=e.changed,n=[];for(s in i)r=i[s],n.push(this.settingUpdateSent(this.model.findInput(s)));return n},updated:function(e,t){var s,r,i,n;this.render(),i=e.changed,n=[];for(s in i)r=i[s],n.push(this.settingUpdateSuccess(this.model.findInput(s)));return n},error:function(e,t){var s,r,i,n;if(!t.responseJSON||!t.responseJSON.data)return void this.showMessage({message:""+this.genericErrorMessage+" "+t.responseText,type:"error"});if(!t.responseJSON.data.errors&&t.responseJSON.data.error)return void this.showMessage({message:t.responseJSON.data.error,type:"error"});i=t.responseJSON.data.errors,n=[];for(s in i)r=i[s],n.push(this.settingsUpdateError(this.model.findInput(""+this.opts.options_name+"["+s+"]"),r));return n},clearErrors:function(e,t){var s,r,i,n,a;this.globalError&&(this.globalError.remove(),this.globalError=null),n=e.changed,a=[];for(r in n)i=n[r],s=this.model.findInput(r),s.data("errorEl")?(s.data("errorEl").remove(),a.push(s.data("errorEl",null))):a.push(void 0);return a},settingUpdateSent:function(e){},settingUpdateSuccess:function(t){var s;if(t.length&&!t.data("successEl"))return s=e(this.messageTemplate({message:"Setting saved.",type:"updated"})).hide(),t.data("successEl",s.insertAfter(t).slideDown()),setTimeout(function(){return s.slideUp(),t.data("successEl",null)},this.successMessageDisplayTime)},settingsUpdateError:function(t,s){var r;return t.data("errorEl")?t.data("errorEl").find("p").html(s):(r=e(this.messageTemplate({message:s,type:"error"})).hide(),t.data("errorEl",r.insertAfter(t).slideDown()))},showMessage:function(t){var s;return s=e(this.messageTemplate(t)).hide(),this.globalError=s.prependTo(this.$el).slideDown(),e("html, body").animate({scrollTop:this.$el.scrollTop()},"slow")}},{extend:t.View.extend}),this.AjaxSettingsView=s,e(document).ready(function(){var e;return ajaxSetOpt.initialize?(e=""+ajaxSetOpt.options_name+"AjaxSettingsView",window[e]=new s(ajaxSetOpt)):void 0}),e.fn.leftPositionWithPadding=function(){var e;return e=this.position().left,e+=this.width(),this.css("padding-left")&&(e+=parseInt(this.css("padding-left"))),this.css("padding-right")&&(e+=parseInt(this.css("padding-right"))),this.css("border-left")&&(e+=parseInt(this.css("border-left"))),this.css("border-right")&&(e+=parseInt(this.css("border-right"))),e}}).call(this,jQuery,Backbone);