]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-includes/js/wp-backbone.min.js
Wordpress 3.7
[autoinstalls/wordpress.git] / wp-includes / js / wp-backbone.min.js
index a96dac9ed43f770bb6ae7cc43bf39db43cdcad04..6f21210da56ca8d2695b026e611ca0ad40f527be 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{};(function(a){wp.Backbone={};wp.Backbone.Subviews=function(c,b){this.view=c;this._views=_.isArray(b)?{"":b}:b||{}};wp.Backbone.Subviews.extend=Backbone.Model.extend;_.extend(wp.Backbone.Subviews.prototype,{all:function(){return _.flatten(this._views)},get:function(b){b=b||"";return this._views[b]},first:function(b){var c=this.get(b);return c&&c.length?c[0]:null},set:function(b,c,d){var f,e;if(!_.isString(b)){d=c;c=b;b=""}d=d||{};c=_.isArray(c)?c:[c];f=this.get(b);e=c;if(f){if(d.add){if(_.isUndefined(d.at)){e=f.concat(c)}else{e=f;e.splice.apply(e,[d.at,0].concat(c))}}else{_.each(e,function(g){g.__detach=true});_.each(f,function(g){if(g.__detach){g.$el.detach()}else{g.remove()}});_.each(e,function(g){delete g.__detach})}}this._views[b]=e;_.each(c,function(i){var g=i.Views||wp.Backbone.Subviews,h=i.views=i.views||new g(i);h.parent=this.view;h.selector=b},this);if(!d.silent){this._attach(b,c,_.extend({ready:this._isReady()},d))}return this},add:function(b,c,d){if(!_.isString(b)){d=c;c=b;b=""}return this.set(b,c,_.extend({add:true},d))},unset:function(b,c,d){var e;if(!_.isString(b)){d=c;c=b;b=""}c=c||[];if(e=this.get(b)){c=_.isArray(c)?c:[c];this._views[b]=c.length?_.difference(e,c):[]}if(!d||!d.silent){_.invoke(c,"remove")}return this},detach:function(){a(_.pluck(this.all(),"el")).detach();return this},render:function(){var b={ready:this._isReady()};_.each(this._views,function(d,c){this._attach(c,d,b)},this);this.rendered=true;return this},remove:function(b){if(!b||!b.silent){if(this.parent&&this.parent.views){this.parent.views.unset(this.selector,this.view,{silent:true})}delete this.parent;delete this.selector}_.invoke(this.all(),"remove");this._views=[];return this},replace:function(b,c){b.html(c);return this},insert:function(c,f,e){var b=e&&e.at,d;if(_.isNumber(b)&&(d=c.children()).length>b){d.eq(b).before(f)}else{c.append(f)}return this},ready:function(){this.view.trigger("ready");_.chain(this.all()).map(function(b){return b.views}).flatten().where({attached:true}).invoke("ready")},_attach:function(b,c,d){var f=b?this.view.$(b):this.view.$el,e;if(!f.length){return this}e=_.chain(c).pluck("views").flatten().value();_.each(e,function(g){if(g.rendered){return}g.view.render();g.rendered=true},this);this[d.add?"insert":"replace"](f,_.pluck(c,"el"),d);_.each(e,function(g){g.attached=true;if(d.ready){g.ready()}},this);return this},_isReady:function(){var b=this.view.el;while(b){if(b===document.body){return true}b=b.parentNode}return false}});wp.Backbone.View=Backbone.View.extend({Subviews:wp.Backbone.Subviews,constructor:function(){this.views=new this.Subviews(this,this.views);this.on("ready",this.ready,this);Backbone.View.apply(this,arguments)},remove:function(){var b=Backbone.View.prototype.remove.apply(this,arguments);if(this.views){this.views.remove()}return b},render:function(){var b;if(this.prepare){b=this.prepare()}this.views.detach();if(this.template){b=b||{};this.trigger("prepare",b);this.$el.html(this.template(b))}this.views.render();return this},prepare:function(){return this.options},ready:function(){}})}(jQuery));
\ No newline at end of file
+window.wp=window.wp||{},function(a){wp.Backbone={},wp.Backbone.Subviews=function(a,b){this.view=a,this._views=_.isArray(b)?{"":b}:b||{}},wp.Backbone.Subviews.extend=Backbone.Model.extend,_.extend(wp.Backbone.Subviews.prototype,{all:function(){return _.flatten(this._views)},get:function(a){return a=a||"",this._views[a]},first:function(a){var b=this.get(a);return b&&b.length?b[0]:null},set:function(a,b,c){var d,e;return _.isString(a)||(c=b,b=a,a=""),c=c||{},b=_.isArray(b)?b:[b],d=this.get(a),e=b,d&&(c.add?_.isUndefined(c.at)?e=d.concat(b):(e=d,e.splice.apply(e,[c.at,0].concat(b))):(_.each(e,function(a){a.__detach=!0}),_.each(d,function(a){a.__detach?a.$el.detach():a.remove()}),_.each(e,function(a){delete a.__detach}))),this._views[a]=e,_.each(b,function(b){var c=b.Views||wp.Backbone.Subviews,d=b.views=b.views||new c(b);d.parent=this.view,d.selector=a},this),c.silent||this._attach(a,b,_.extend({ready:this._isReady()},c)),this},add:function(a,b,c){return _.isString(a)||(c=b,b=a,a=""),this.set(a,b,_.extend({add:!0},c))},unset:function(a,b,c){var d;return _.isString(a)||(c=b,b=a,a=""),b=b||[],(d=this.get(a))&&(b=_.isArray(b)?b:[b],this._views[a]=b.length?_.difference(d,b):[]),c&&c.silent||_.invoke(b,"remove"),this},detach:function(){return a(_.pluck(this.all(),"el")).detach(),this},render:function(){var a={ready:this._isReady()};return _.each(this._views,function(b,c){this._attach(c,b,a)},this),this.rendered=!0,this},remove:function(a){return a&&a.silent||(this.parent&&this.parent.views&&this.parent.views.unset(this.selector,this.view,{silent:!0}),delete this.parent,delete this.selector),_.invoke(this.all(),"remove"),this._views=[],this},replace:function(a,b){return a.html(b),this},insert:function(a,b,c){var d,e=c&&c.at;return _.isNumber(e)&&(d=a.children()).length>e?d.eq(e).before(b):a.append(b),this},ready:function(){this.view.trigger("ready"),_.chain(this.all()).map(function(a){return a.views}).flatten().where({attached:!0}).invoke("ready")},_attach:function(a,b,c){var d,e=a?this.view.$(a):this.view.$el;return e.length?(d=_.chain(b).pluck("views").flatten().value(),_.each(d,function(a){a.rendered||(a.view.render(),a.rendered=!0)},this),this[c.add?"insert":"replace"](e,_.pluck(b,"el"),c),_.each(d,function(a){a.attached=!0,c.ready&&a.ready()},this),this):this},_isReady:function(){for(var a=this.view.el;a;){if(a===document.body)return!0;a=a.parentNode}return!1}}),wp.Backbone.View=Backbone.View.extend({Subviews:wp.Backbone.Subviews,constructor:function(){this.views=new this.Subviews(this,this.views),this.on("ready",this.ready,this),Backbone.View.apply(this,arguments)},remove:function(){var a=Backbone.View.prototype.remove.apply(this,arguments);return this.views&&this.views.remove(),a},render:function(){var a;return this.prepare&&(a=this.prepare()),this.views.detach(),this.template&&(a=a||{},this.trigger("prepare",a),this.$el.html(this.template(a))),this.views.render(),this},prepare:function(){return this.options},ready:function(){}})}(jQuery);
\ No newline at end of file