2012-12-07 22:00:25 +01:00
|
|
|
(function(e){var f=wp.media,d=f.model.Attachment,c=f.model.Attachments,a=f.model.Query,b;b=f.view.l10n=typeof _wpMediaViewsL10n==="undefined"?{}:_wpMediaViewsL10n;f.view.settings=b.settings||{};delete b.settings;f.model.settings.post=f.view.settings.post;e.support.transition=(function(){var g=document.documentElement.style,h={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},i;i=_.find(_.keys(h),function(j){return !_.isUndefined(g[j])});return i&&{end:h[i]}}());f.transition=function(g,h){var i=e.Deferred();h=h||2000;if(e.support.transition){if(!(g instanceof e)){g=e(g)}g.first().one(e.support.transition.end,i.resolve);_.delay(i.resolve,h)}else{i.resolve()}return i.promise()};f.controller.Region=function(g){_.extend(this,_.pick(g||{},"id","view","selector"))};f.controller.Region.extend=Backbone.Model.extend;_.extend(f.controller.Region.prototype,{mode:function(g){if(!g){return this._mode}if(g===this._mode){return this}this.trigger("deactivate");this._mode=g;this.render(g);this.trigger("activate");return this},render:function(h){if(h&&h!==this._mode){return this.mode(h)}var i={view:null},g;this.trigger("create",i);g=i.view;this.trigger("render",g);if(g){this.set(g)}return this},get:function(){return this.view.views.first(this.selector)},set:function(g,h){if(h){h.add=false}return this.view.views.set(this.selector,g,h)},trigger:function(h){var i;if(!this._mode){return}var g=_.toArray(arguments);i=this.id+":"+h;g[0]=i+":"+this._mode;this.view.trigger.apply(this.view,g);g[0]=i;this.view.trigger.apply(this.view,g);return this}});f.controller.StateMachine=function(g){this.states=new Backbone.Collection(g)};f.controller.StateMachine.extend=Backbone.Model.extend;_.extend(f.controller.StateMachine.prototype,Backbone.Events,{state:function(g){this.states=this.states||new Backbone.Collection();g=g||this._state;if(g&&!this.states.get(g)){this.states.add({id:g})}return this.states.get(g)},setState:function(h){var g=this.state();if((g&&h===g.id)||!this.states||!this.states.get(h)){return this}if(g){g.trigger("deactivate");this._lastState=g.id}this._state=h;this.state().trigger("activate");return this},lastState:function(){if(this._lastState){return this.state(this._lastState)}}});_.each(["on","off","trigger"],function(g){f.controller.StateMachine.prototype[g]=function(){this.states=this.states||new Backbone.Collection();this.states[g].apply(this.states,arguments);return this}});f.controller.State=Backbone.Model.extend({constructor:function(){this.on("activate",this._preActivate,this);this.on("activate",this.activate,this);this.on("activate",this._postActivate,this);this.on("deactivate",this._deactivate,this);this.on("deactivate",this.deactivate,this);this.on("reset",this.reset,this);this.on("ready",this._ready,this);this.on("ready",this.ready,this);this.on("change:menu",this._updateMenu,this);Backbone.Model.apply(this,arguments)},ready:function(){},activate:function(){},deactivate:function(){},reset:function(){},_ready:function(){this._updateMenu()},_preActivate:function(){this.active=true},_postActivate:function(){this.on("change:menu",this._menu,this);this.on("change:titleMode",this._title,this);this.on("change:content",this._content,this);this.on("change:toolbar",this._toolbar,this);this.frame.on("title:render:default",this._renderTitle,this);this._title();this._menu();this._toolbar();this._content();this._router()},_deactivate:function(){this.active=false;this.frame.off("title:render:default",this._renderTitle,this);this.off("change:menu",this._menu,this);this.off("change:titleMode",this._title,this);this.off("change:content",this._content,this);this.off("change:toolbar",this._toolbar,this)},_title:function(){this.frame.title.render(this.get("titleMode")||"default")},_renderTitle:function(g){g.$el.text(this.get("title")||"")},_router:function(){var h=this.frame.router,i=this.get("router"),g;this.frame.$el.toggleClass("hide-router",!i);if(!i){return}this.frame.router.render(i);g=h.get();if(g&&g.select){g.select(this.frame.content.mode())}},_me
|