From 38ed411e7e5ca5efa5f0dff787543750a9b2898e Mon Sep 17 00:00:00 2001 From: Scott Keller Date: Fri, 19 Oct 2012 18:45:56 -0400 Subject: [PATCH] Add Backbone.Marionette 0.9.2 Adds two dependencies, Backbone.EventBinder and Backbone.Wreqr also. --- .../0.1.0/backbone.eventbinder.min.js | 5 +++ ajax/libs/backbone.eventbinder/package.json | 28 ++++++++++++++++ .../0.10.2/backbone.marionette.min.js | 5 +++ ajax/libs/backbone.marionette/package.json | 33 +++++++++++++++++++ .../0.0.0/backbone.wreqr.min.js | 5 +++ ajax/libs/backbone.wreqr/package.json | 28 ++++++++++++++++ 6 files changed, 104 insertions(+) create mode 100644 ajax/libs/backbone.eventbinder/0.1.0/backbone.eventbinder.min.js create mode 100644 ajax/libs/backbone.eventbinder/package.json create mode 100644 ajax/libs/backbone.marionette/0.10.2/backbone.marionette.min.js create mode 100644 ajax/libs/backbone.marionette/package.json create mode 100644 ajax/libs/backbone.wreqr/0.0.0/backbone.wreqr.min.js create mode 100644 ajax/libs/backbone.wreqr/package.json diff --git a/ajax/libs/backbone.eventbinder/0.1.0/backbone.eventbinder.min.js b/ajax/libs/backbone.eventbinder/0.1.0/backbone.eventbinder.min.js new file mode 100644 index 000000000..003909ba6 --- /dev/null +++ b/ajax/libs/backbone.eventbinder/0.1.0/backbone.eventbinder.min.js @@ -0,0 +1,5 @@ +// Backbone.EventBinder, v0.1.0 +// Copyright (c)2012 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// http://github.com/marionettejs/backbone.eventbinder +Backbone.EventBinder=function(e,t){"use strict";function r(e){return e.jquery?n.jquery:n["default"]}var n={"default":{bindTo:function(e,t,n,r){r=r||this,e.on(t,n,r);var i={type:"default",obj:e,eventName:t,callback:n,context:r};return i},unbindFrom:function(e){e.obj.off(e.eventName,e.callback,e.context)}},jquery:{bindTo:function(e,n,r,i){i=i||this,r=t(r).bind(i),e.on(n,r);var s={type:"jquery",obj:e,eventName:n,callback:r,context:i};return s},unbindFrom:function(e){e.obj.off(e.eventName,e.callback)}}},i=function(){this._eventBindings=[]};return i.extend=e.View.extend,t.extend(i.prototype,{bindTo:function(){var e=arguments[0],t=r(e),n=t.bindTo.apply(this,arguments);return this._eventBindings.push(n),n},unbindFrom:function(e){n[e.type].unbindFrom.apply(this,arguments),this._eventBindings=t.reject(this._eventBindings,function(t){return t===e})},unbindAll:function(){var e=t.map(this._eventBindings,t.identity);t.each(e,this.unbindFrom,this)}}),i}(Backbone,_); \ No newline at end of file diff --git a/ajax/libs/backbone.eventbinder/package.json b/ajax/libs/backbone.eventbinder/package.json new file mode 100644 index 000000000..1139d8db8 --- /dev/null +++ b/ajax/libs/backbone.eventbinder/package.json @@ -0,0 +1,28 @@ +{ + "name": "backbone.eventbinder", + "filename": "backbone.eventbinder.min.js", + "version": "0.1.0", + "description": "Manage Backbone Events Better", + "homepage": "http://github.com/marionettejs/backbone.eventbinder", + "keywords": [ + "events", + "popular" + ], + "devDependencies": { + "backbone.js": "0.9.2" + }, + "maintainers": [ + { + "name": "Derick Bailey", + "email": "derickbailey@gmail.com", + "web": "http://derickbailey.lostechies.com/" + } + ], + "repositories": [ + { + "type": "git", + "url": "http://github.com/marionettejs/backbone.eventbinder" + } + ] + +} diff --git a/ajax/libs/backbone.marionette/0.10.2/backbone.marionette.min.js b/ajax/libs/backbone.marionette/0.10.2/backbone.marionette.min.js new file mode 100644 index 000000000..90756edbd --- /dev/null +++ b/ajax/libs/backbone.marionette/0.10.2/backbone.marionette.min.js @@ -0,0 +1,5 @@ +// Backbone.Marionette, v0.10.2 +// Copyright (c)2012 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// http://github.com/derickbailey/backbone.marionette +Backbone.Marionette=function(e,t,n){var r={};r.EventBinder=function(){this._eventBindings=[]},t.extend(r.EventBinder.prototype,{bindTo:function(e,t,n,r){r=r||this,e.on(t,n,r);var i={obj:e,eventName:t,callback:n,context:r};return this._eventBindings.push(i),i},unbindFrom:function(e){e.obj.off(e.eventName,e.callback,e.context),this._eventBindings=t.reject(this._eventBindings,function(t){return t===e})},unbindAll:function(){var e=this,n=t.map(this._eventBindings,t.identity);t.each(n,function(t,n){e.unbindFrom(t)})}}),r.EventBinder.extend=e.View.extend,r.View=e.View.extend({constructor:function(){var n=new r.EventBinder;t.extend(this,n),e.View.prototype.constructor.apply(this,arguments),this.bindBackboneEntityTo(this.model,this.modelEvents),this.bindBackboneEntityTo(this.collection,this.collectionEvents),this.bindTo(this,"show",this.onShowCalled,this)},getTemplate:function(){var e;return this.options&&this.options.template?e=this.options.template:e=this.template,e},serializeData:function(){var e;return this.model?e=this.model.toJSON():this.collection&&(e={items:this.collection.toJSON()}),e=this.mixinTemplateHelpers(e),e},mixinTemplateHelpers:function(e){e=e||{};var n=this.templateHelpers;return t.isFunction(n)&&(n=n.call(this)),t.extend(e,n)},configureTriggers:function(){if(!this.triggers)return;var e=this.triggers,n=this,r={};return t.isFunction(e)&&(e=e.call(this)),t.each(e,function(e,t){r[t]=function(t){t&&t.preventDefault&&t.preventDefault(),t&&t.stopPropagation&&t.stopPropagation(),n.trigger(e)}}),r},delegateEvents:function(n){n=n||this.events,t.isFunction(n)&&(n=n.call(this));var r={},i=this.configureTriggers();t.extend(r,n,i),e.View.prototype.delegateEvents.call(this,r)},onShowCalled:function(){},close:function(){this.beforeClose&&this.beforeClose(),this.remove(),this.onClose&&this.onClose(),this.trigger("close"),this.unbindAll(),this.unbind()},bindUIElements:function(){if(!this.ui)return;var e=this;this.uiBindings||(this.uiBindings=this.ui),this.ui={},t.each(t.keys(this.uiBindings),function(t){var n=e.uiBindings[t];e.ui[t]=e.$(n)})},bindBackboneEntityTo:function(e,n){if(!e||!n)return;var r=this;t.each(n,function(t,n){var i=r[t];if(!i)throw new Error("View method '"+t+"' was configured as an event handler, but does not exist.");r.bindTo(e,n,i,r)})}}),r.ItemView=r.View.extend({constructor:function(){r.View.prototype.constructor.apply(this,arguments),this.initialEvents&&this.initialEvents()},render:function(){this.beforeRender&&this.beforeRender(),this.trigger("before:render",this),this.trigger("item:before:render",this);var e=this.serializeData(),t=this.getTemplate(),n=r.Renderer.render(t,e);return this.$el.html(n),this.bindUIElements(),this.onRender&&this.onRender(),this.trigger("render",this),this.trigger("item:rendered",this),this},close:function(){this.trigger("item:before:close"),r.View.prototype.close.apply(this,arguments),this.trigger("item:closed")}}),r.CollectionView=r.View.extend({constructor:function(){r.View.prototype.constructor.apply(this,arguments),this.initChildViewStorage(),this.initialEvents(),this.onShowCallbacks=new r.Callbacks},initialEvents:function(){this.collection&&(this.bindTo(this.collection,"add",this.addChildView,this),this.bindTo(this.collection,"remove",this.removeItemView,this),this.bindTo(this.collection,"reset",this.render,this))},addChildView:function(e,t,n){this.closeEmptyView();var r=this.getItemView(e);return this.addItemView(e,r,n.index)},onShowCalled:function(){this.onShowCallbacks.run()},triggerBeforeRender:function(){this.beforeRender&&this.beforeRender(),this.trigger("before:render",this),this.trigger("collection:before:render",this)},triggerRendered:function(){this.onRender&&this.onRender(),this.trigger("render",this),this.trigger("collection:rendered",this)},render:function(){return this.triggerBeforeRender(),this.closeEmptyView(),this.closeChildren(),this.collection&&this.collection.length>0?this.showCollection():this.showEmptyView(),this.triggerRendered(),this},showCollection:function(){var e=this,t;this.collection.each(function(n,r){t=e.getItemView(n),e.addItemView(n,t,r)})},showEmptyView:function(){var t=this.options.emptyView||this.emptyView;if(t&&!this._showingEmptyView){this._showingEmptyView=!0;var n=new e.Model;this.addItemView(n,t,0)}},closeEmptyView:function(){this._showingEmptyView&&(this.closeChildren(),delete this._showingEmptyView)},getItemView:function(e){var t=this.options.itemView||this.itemView;if(!t){var n=new Error("An `itemView` must be specified");throw n.name="NoItemViewError",n}return t},addItemView:function(e,t,n){var r=this,s=this.buildItemView(e,t);this.storeChild(s),this.onItemAdded&&this.onItemAdded(s),this.trigger("item:added",s);var o=this.renderItemView(s,n);s.onShow&&this.onShowCallbacks.add(s.onShow,s);var u=this.bindTo(s,"all",function(){var e=i.call(arguments);e[0]="itemview:"+e[0],e.splice(1,0,s),r.trigger.apply(r,e)});return this.childBindings=this.childBindings||{},this.childBindings[s.cid]=u,o},renderItemView:function(e,t){e.render(),this.appendHtml(this,e,t)},buildItemView:function(e,n){var r;t.isFunction(this.itemViewOptions)?r=this.itemViewOptions(e):r=this.itemViewOptions;var i=t.extend({model:e},r),s=new n(i);return s},removeItemView:function(e){var t=this.children[e.cid];if(t){var n=this.childBindings[t.cid];n&&(this.unbindFrom(n),delete this.childBindings[t.cid]),t.close(),delete this.children[e.cid]}(!this.collection||this.collection.length===0)&&this.showEmptyView(),this.trigger("item:removed",t)},appendHtml:function(e,t,n){e.$el.append(t.el)},storeChild:function(e){this.children[e.model.cid]=e},initChildViewStorage:function(){this.children={}},close:function(){this.trigger("collection:before:close"),this.closeChildren(),this.trigger("collection:closed"),r.View.prototype.close.apply(this,arguments)},closeChildren:function(){var e=this;this.children&&t.each(t.clone(this.children),function(t){e.removeItemView(t.model)})}}),r.CompositeView=r.CollectionView.extend({constructor:function(e){r.CollectionView.apply(this,arguments),this.itemView=this.getItemView()},initialEvents:function(){this.collection&&(this.bindTo(this.collection,"add",this.addChildView,this),this.bindTo(this.collection,"remove",this.removeItemView,this),this.bindTo(this.collection,"reset",this.renderCollection,this))},getItemView:function(e){var t=this.options.itemView||this.itemView||this.constructor;if(!t){var n=new Error("An `itemView` must be specified");throw n.name="NoItemViewError",n}return t},render:function(){var e=this;this.resetItemViewContainer();var t=this.renderModel();return this.$el.html(t),this.bindUIElements(),this.trigger("composite:model:rendered"),this.trigger("render"),this.renderCollection(),this.trigger("composite:rendered"),this},renderCollection:function(){r.CollectionView.prototype.render.apply(this,arguments),this.trigger("composite:collection:rendered")},renderModel:function(){var e={};e=this.serializeData();var t=this.getTemplate();return r.Renderer.render(t,e)},appendHtml:function(e,t){var n=this.getItemViewContainer(e);n.append(t.el)},getItemViewContainer:function(e){var n;if("$itemViewContainer"in e)n=e.$itemViewContainer;else{if(e.itemViewContainer){n=e.$(t.result(e,"itemViewContainer"));if(n.length<=0){var r=new Error("Missing `itemViewContainer`");throw r.name="ItemViewContainerMissingError",r}}else n=e.$el;e.$itemViewContainer=n}return n},resetItemViewContainer:function(){this.$itemViewContainer&&delete this.$itemViewContainer}}),r.Region=function(e){this.options=e||{};var n=new r.EventBinder;t.extend(this,n,e);if(!this.el){var i=new Error("An 'el' must be specified");throw i.name="NoElError",i}this.initialize&&this.initialize.apply(this,arguments)},t.extend(r.Region.prototype,e.Events,{show:function(e){this.ensureEl(),this.close(),e.render(),this.open(e),e.onShow&&e.onShow(),e.trigger("show"),this.onShow&&this.onShow(e),this.trigger("view:show",e),this.currentView=e},ensureEl:function(){if(!this.$el||this.$el.length===0)this.$el=this.getEl(this.el)},getEl:function(e){return n(e)},open:function(e){this.$el.html(e.el)},close:function(){var e=this.currentView;if(!e)return;e.close&&e.close(),this.trigger("view:closed",e),delete this.currentView},attachView:function(e){this.currentView=e},reset:function(){this.close(),delete this.$el}}),r.Region.extend=e.View.extend,r.Layout=r.ItemView.extend({regionType:r.Region,constructor:function(){this.initializeRegions(),e.Marionette.ItemView.apply(this,arguments)},render:function(){this._firstRender?this._firstRender=!1:(this.closeRegions(),this.reInitializeRegions());var e=r.ItemView.prototype.render.apply(this,arguments);return e},close:function(){this.closeRegions(),this.destroyRegions(),e.Marionette.ItemView.prototype.close.call(this,arguments)},initializeRegions:function(){this.regionManagers||(this.regionManagers={});var e=this;t.each(this.regions,function(t,n){var r=typeof t=="string",i=typeof t.selector=="string",s=typeof t.regionType=="undefined";if(!r&&!i)throw new Error("Region must be specified as a selector string or an object with selector property");var o,u;r?o=t:o=t.selector,s?u=e.regionType:u=t.regionType;var a=new u({el:o,getEl:function(t){return e.$(t)}});e.regionManagers[n]=a,e[n]=a})},reInitializeRegions:function(){this.regionManagers&&t.size(this.regionManagers)===0?this.initializeRegions():t.each(this.regionManagers,function(e){e.reset()})},closeRegions:function(){var e=this;t.each(this.regionManagers,function(e,t){e.close()})},destroyRegions:function(){var e=this;t.each(this.regionManagers,function(t,n){delete e[n]}),this.regionManagers={}}}),r.Application=function(e){this.initCallbacks=new r.Callbacks,this.vent=new r.EventAggregator,this.submodules={};var n=new r.EventBinder;t.extend(this,n,e)},t.extend(r.Application.prototype,e.Events,{addInitializer:function(e){this.initCallbacks.add(e)},start:function(e){this.trigger("initialize:before",e),this.initCallbacks.run(e,this),this.trigger("initialize:after",e),this.trigger("start",e)},addRegions:function(e){var t,n,i;for(i in e)e.hasOwnProperty(i)&&(t=e[i],typeof t=="string"?n=new r.Region({el:t}):n=new t,this[i]=n)},removeRegion:function(e){this[e].close(),delete this[e]},module:function(e,t){var n=i.call(arguments);return n.unshift(this),r.Module.create.apply(r.Module,n)}}),r.Application.extend=e.View.extend,r.AppRouter=e.Router.extend({constructor:function(t){e.Router.prototype.constructor.call(this,t);if(this.appRoutes){var n=this.controller;t&&t.controller&&(n=t.controller),this.processAppRoutes(n,this.appRoutes)}},processAppRoutes:function(e,n){var r,i,s,o,u,a=[],f=this;for(s in n)n.hasOwnProperty(s)&&a.unshift([s,n[s]]);o=a.length;for(u=0;u0)for(e=0;e