marionette-rails 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,5 @@
1
1
  module Marionette
2
2
  module Rails
3
- VERSION = '1.0.3'
3
+ VERSION = '1.0.4'
4
4
  end
5
5
  end
@@ -1,6 +1,6 @@
1
1
  // MarionetteJS (Backbone.Marionette)
2
2
  // ----------------------------------
3
- // v1.0.3
3
+ // v1.0.4
4
4
  //
5
5
  // Copyright (c)2013 Derick Bailey, Muted Solutions, LLC.
6
6
  // Distributed under MIT license
@@ -19,7 +19,7 @@
19
19
 
20
20
  // Backbone.BabySitter
21
21
  // -------------------
22
- // v0.0.5
22
+ // v0.0.6
23
23
  //
24
24
  // Copyright (c)2013 Derick Bailey, Muted Solutions, LLC.
25
25
  // Distributed under MIT license
@@ -37,14 +37,13 @@ Backbone.ChildViewContainer = (function(Backbone, _){
37
37
  // Container Constructor
38
38
  // ---------------------
39
39
 
40
- var Container = function(initialViews){
40
+ var Container = function(views){
41
41
  this._views = {};
42
42
  this._indexByModel = {};
43
- this._indexByCollection = {};
44
43
  this._indexByCustom = {};
45
44
  this._updateLength();
46
45
 
47
- this._addInitialViews(initialViews);
46
+ _.each(views, this.add, this);
48
47
  };
49
48
 
50
49
  // Container Methods
@@ -54,7 +53,7 @@ Backbone.ChildViewContainer = (function(Backbone, _){
54
53
 
55
54
  // Add a view to this container. Stores the view
56
55
  // by `cid` and makes it searchable by the model
57
- // and/or collection of the view. Optionally specify
56
+ // cid (and model itself). Optionally specify
58
57
  // a custom key to store an retrieve the view.
59
58
  add: function(view, customIndex){
60
59
  var viewCid = view.cid;
@@ -67,11 +66,6 @@ Backbone.ChildViewContainer = (function(Backbone, _){
67
66
  this._indexByModel[view.model.cid] = viewCid;
68
67
  }
69
68
 
70
- // index it by collection
71
- if (view.collection){
72
- this._indexByCollection[view.collection.cid] = viewCid;
73
- }
74
-
75
69
  // index by custom
76
70
  if (customIndex){
77
71
  this._indexByCustom[customIndex] = viewCid;
@@ -81,18 +75,16 @@ Backbone.ChildViewContainer = (function(Backbone, _){
81
75
  },
82
76
 
83
77
  // Find a view by the model that was attached to
84
- // it. Uses the model's `cid` to find it, and
85
- // retrieves the view by it's `cid` from the result
78
+ // it. Uses the model's `cid` to find it.
86
79
  findByModel: function(model){
87
- var viewCid = this._indexByModel[model.cid];
88
- return this.findByCid(viewCid);
80
+ return this.findByModelCid(model.cid);
89
81
  },
90
82
 
91
- // Find a view by the collection that was attached to
92
- // it. Uses the collection's `cid` to find it, and
93
- // retrieves the view by it's `cid` from the result
94
- findByCollection: function(col){
95
- var viewCid = this._indexByCollection[col.cid];
83
+ // Find a view by the `cid` of the model that was attached to
84
+ // it. Uses the model's `cid` to find the view `cid` and
85
+ // retrieve the view using it.
86
+ findByModelCid: function(modelCid){
87
+ var viewCid = this._indexByModel[modelCid];
96
88
  return this.findByCid(viewCid);
97
89
  },
98
90
 
@@ -122,26 +114,13 @@ Backbone.ChildViewContainer = (function(Backbone, _){
122
114
  delete this._indexByModel[view.model.cid];
123
115
  }
124
116
 
125
- // delete collection index
126
- if (view.collection){
127
- delete this._indexByCollection[view.collection.cid];
128
- }
129
-
130
117
  // delete custom index
131
- var cust;
132
-
133
- for (var key in this._indexByCustom){
134
- if (this._indexByCustom.hasOwnProperty(key)){
135
- if (this._indexByCustom[key] === viewCid){
136
- cust = key;
137
- break;
138
- }
118
+ _.any(this._indexByCustom, function(cid, key) {
119
+ if (cid === viewCid) {
120
+ delete this._indexByCustom[key];
121
+ return true;
139
122
  }
140
- }
141
-
142
- if (cust){
143
- delete this._indexByCustom[cust];
144
- }
123
+ }, this);
145
124
 
146
125
  // remove the view from the container
147
126
  delete this._views[viewCid];
@@ -153,44 +132,24 @@ Backbone.ChildViewContainer = (function(Backbone, _){
153
132
  // Call a method on every view in the container,
154
133
  // passing parameters to the call method one at a
155
134
  // time, like `function.call`.
156
- call: function(method, args){
157
- args = Array.prototype.slice.call(arguments, 1);
158
- this.apply(method, args);
135
+ call: function(method){
136
+ this.apply(method, _.tail(arguments));
159
137
  },
160
138
 
161
139
  // Apply a method on every view in the container,
162
140
  // passing parameters to the call method one at a
163
141
  // time, like `function.apply`.
164
142
  apply: function(method, args){
165
- var view;
166
-
167
- // fix for IE < 9
168
- args = args || [];
169
-
170
- _.each(this._views, function(view, key){
143
+ _.each(this._views, function(view){
171
144
  if (_.isFunction(view[method])){
172
- view[method].apply(view, args);
145
+ view[method].apply(view, args || []);
173
146
  }
174
147
  });
175
-
176
148
  },
177
149
 
178
150
  // Update the `.length` attribute on this container
179
151
  _updateLength: function(){
180
152
  this.length = _.size(this._views);
181
- },
182
-
183
- // set up an initial list of views
184
- _addInitialViews: function(views){
185
- if (!views){ return; }
186
-
187
- var view, i,
188
- length = views.length;
189
-
190
- for (i=0; i<length; i++){
191
- view = views[i];
192
- this.add(view);
193
- }
194
153
  }
195
154
  });
196
155
 
@@ -1418,7 +1377,13 @@ Marionette.View = Backbone.View.extend({
1418
1377
  // A single item view implementation that contains code for rendering
1419
1378
  // with underscore.js templates, serializing the view's model or collection,
1420
1379
  // and calling several methods on extended views, such as `onRender`.
1421
- Marionette.ItemView = Marionette.View.extend({
1380
+ Marionette.ItemView = Marionette.View.extend({
1381
+
1382
+ // Setting up the inheritance chain which allows changes to
1383
+ // Marionette.View.prototype.constructor which allows overriding
1384
+ constructor: function(){
1385
+ Marionette.View.prototype.constructor.apply(this, slice(arguments));
1386
+ },
1422
1387
 
1423
1388
  // Serialize the model or collection for the view. If a model is
1424
1389
  // found, `.toJSON()` is called. If a collection is found, `.toJSON()`
@@ -1749,6 +1714,12 @@ Marionette.CollectionView = Marionette.View.extend({
1749
1714
  // Extends directly from CollectionView and also renders an
1750
1715
  // an item view as `modelView`, for the top leaf
1751
1716
  Marionette.CompositeView = Marionette.CollectionView.extend({
1717
+
1718
+ // Setting up the inheritance chain which allows changes to
1719
+ // Marionette.CollectionView.prototype.constructor which allows overriding
1720
+ constructor: function(){
1721
+ Marionette.CollectionView.prototype.constructor.apply(this, slice(arguments));
1722
+ },
1752
1723
 
1753
1724
  // Configured the initial events that the composite view
1754
1725
  // binds to. Override this method to prevent the initial
@@ -1893,7 +1864,7 @@ Marionette.Layout = Marionette.ItemView.extend({
1893
1864
  this._firstRender = true;
1894
1865
  this._initializeRegions(options);
1895
1866
 
1896
- Marionette.ItemView.call(this, options);
1867
+ Marionette.ItemView.prototype.constructor.call(this, options);
1897
1868
  },
1898
1869
 
1899
1870
  // Layout's render will use the existing region objects the
@@ -1 +1 @@
1
- {"version":3,"file":"lib/backbone.marionette.min.js","sources":["backbone.marionette.js"],"names":["Backbone","ChildViewContainer","_","Container","initialViews","this","_views","_indexByModel","_indexByCollection","_indexByCustom","_updateLength","_addInitialViews","extend","prototype","add","view","customIndex","viewCid","cid","model","collection","findByModel","findByCid","findByCollection","col","findByCustom","index","findByIndex","values","remove","cust","key","hasOwnProperty","call","method","args","Array","slice","arguments","apply","each","isFunction","length","size","views","i","methods","concat","toArray","Wreqr","Marionette","Handlers","options","_wreqrHandlers","initialize","Model","Events","setHandlers","handlers","handler","name","context","isObject","callback","setHandler","config","trigger","hasHandler","getHandler","Error","removeHandler","removeAllHandlers","CommandStorage","_commands","getCommands","commandName","commands","command","instances","addCommand","push","clearCommands","Commands","storageType","constructor","_initializeStorage","on","_executeCommands","execute","storage","StorageType","RequestResponse","request","EventAggregator","EA","global","protoSlice","throwError","message","error","$","getOption","target","optionName","value","undefined","triggerMethod","getEventName","match","prefix","eventName","toUpperCase","splitter","event","methodName","replace","tail","MonitorDOMRefresh","handleShow","_isShown","triggerDOMRefresh","handleRender","_isRendered","listenTo","bindFromStrings","entity","evt","methodNames","split","bindToFunction","unbindFromStrings","stopListening","unbindToFunction","iterateEvents","bindings","functionCallback","stringCallback","bindEntityEvents","unbindEntityEvents","Callbacks","_deferred","Deferred","_callbacks","contextOverride","cb","ctx","done","run","resolve","reset","callbacks","Controller","close","unbind","Region","el","err","buildRegion","regionConfig","defaultRegionType","regionIsString","regionSelectorIsString","selector","regionTypeIsUndefined","regionType","regionIsType","RegionType","region","parentEl","getEl","find","show","ensureEl","isViewClosed","isClosed","isUndefined","$el","isDifferentView","currentView","render","open","empty","append","attachView","RegionManager","_regions","addRegions","regionDefinitions","defaults","regions","definition","addRegion","isString","hasSelector","_store","get","removeRegion","_remove","removeRegions","closeRegions","_setLength","TemplateCache","templateId","templateCaches","cachedTemplate","load","clear","compiledTemplate","template","loadTemplate","compileTemplate","html","rawTemplate","Renderer","data","templateFunc","View","bindAll","onShowCalled","getTemplate","mixinTemplateHelpers","templateHelpers","configureTriggers","triggers","triggerEvents","result","e","preventDefault","stopPropagation","delegateEvents","events","_delegateDOMEvents","combinedEvents","undelegateEvents","shouldClose","unbindUIElements","bindUIElements","ui","_uiBindings","keys","ItemView","serializeData","toJSON","items","CollectionView","itemViewEventPrefix","_initChildViewStorage","_initialEvents","addChildView","removeItemView","item","closeEmptyView","getItemView","indexOf","addItemView","children","child","triggerBeforeRender","triggerRendered","_renderChildren","closeChildren","showCollection","showEmptyView","EmptyView","_showingEmptyView","itemView","itemViewOptions","buildItemView","addChildViewEventForwarding","renderItemView","splice","appendHtml","ItemViewType","removeChildView","checkEmpty","collectionView","CompositeView","isRendered","resetItemViewContainer","renderModel","cv","iv","$container","getItemViewContainer","containerView","$itemViewContainer","container","itemViewContainer","Layout","_firstRender","_initializeRegions","_reInitializeRegions","regionManager","_buildRegions","that","_initRegionManager","AppRouter","Router","appRoutes","controller","processAppRoutes","routeNames","reverse","route","bind","Application","_initCallbacks","vent","reqres","submodules","addInitializer","initializer","start","_regionManager","module","unshift","Module","create","moduleName","app","_setupInitializersAndFinalizers","startWithParent","_initializerCallbacks","addFinalizer","_finalizerCallbacks","_isInitialized","mod","stop","addDefinition","moduleDefinition","customArgs","_runModuleDefinition","flatten","moduleNames","moduleDefinitions","parentModule","_getModule","_addModuleDefinition","def","fn","define","startWithParentIsConfigured"],"mappings":"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"}
1
+ {"version":3,"file":"lib/backbone.marionette.min.js","sources":["backbone.marionette.js"],"names":["Backbone","ChildViewContainer","_","Container","views","this","_views","_indexByModel","_indexByCustom","_updateLength","each","add","extend","prototype","view","customIndex","viewCid","cid","model","findByModel","findByModelCid","modelCid","findByCid","findByCustom","index","findByIndex","values","remove","any","key","call","method","apply","tail","arguments","args","isFunction","length","size","methods","concat","toArray","Wreqr","Marionette","Handlers","options","_wreqrHandlers","initialize","Model","Events","setHandlers","handlers","handler","name","context","isObject","callback","setHandler","config","trigger","hasHandler","getHandler","Error","Array","slice","removeHandler","removeAllHandlers","CommandStorage","_commands","getCommands","commandName","commands","command","instances","addCommand","push","clearCommands","Commands","storageType","constructor","_initializeStorage","on","_executeCommands","execute","storage","StorageType","RequestResponse","request","EventAggregator","EA","global","protoSlice","throwError","message","error","$","getOption","target","optionName","value","undefined","triggerMethod","getEventName","match","prefix","eventName","toUpperCase","splitter","event","methodName","replace","MonitorDOMRefresh","handleShow","_isShown","triggerDOMRefresh","handleRender","_isRendered","listenTo","bindFromStrings","entity","evt","methodNames","split","bindToFunction","unbindFromStrings","stopListening","unbindToFunction","iterateEvents","bindings","functionCallback","stringCallback","bindEntityEvents","unbindEntityEvents","Callbacks","_deferred","Deferred","_callbacks","contextOverride","cb","ctx","done","run","resolve","reset","callbacks","Controller","close","unbind","Region","el","err","buildRegion","regionConfig","defaultRegionType","regionIsString","regionSelectorIsString","selector","regionTypeIsUndefined","regionType","regionIsType","RegionType","region","parentEl","getEl","find","show","ensureEl","isViewClosed","isClosed","isUndefined","$el","isDifferentView","currentView","render","open","empty","append","attachView","RegionManager","_regions","addRegions","regionDefinitions","defaults","regions","definition","addRegion","isString","hasSelector","_store","get","removeRegion","_remove","removeRegions","closeRegions","_setLength","TemplateCache","templateId","templateCaches","cachedTemplate","load","clear","i","compiledTemplate","template","loadTemplate","compileTemplate","html","rawTemplate","Renderer","data","templateFunc","View","bindAll","onShowCalled","getTemplate","mixinTemplateHelpers","templateHelpers","configureTriggers","triggers","triggerEvents","result","e","preventDefault","stopPropagation","collection","delegateEvents","events","_delegateDOMEvents","combinedEvents","undelegateEvents","shouldClose","unbindUIElements","bindUIElements","ui","_uiBindings","keys","ItemView","serializeData","toJSON","items","CollectionView","itemViewEventPrefix","_initChildViewStorage","_initialEvents","addChildView","removeItemView","item","closeEmptyView","getItemView","indexOf","addItemView","children","child","triggerBeforeRender","triggerRendered","_renderChildren","closeChildren","showCollection","showEmptyView","EmptyView","_showingEmptyView","itemView","itemViewOptions","buildItemView","addChildViewEventForwarding","renderItemView","splice","appendHtml","ItemViewType","removeChildView","checkEmpty","collectionView","CompositeView","isRendered","resetItemViewContainer","renderModel","cv","iv","$container","getItemViewContainer","containerView","$itemViewContainer","container","itemViewContainer","Layout","_firstRender","_initializeRegions","_reInitializeRegions","regionManager","_buildRegions","that","_initRegionManager","AppRouter","Router","appRoutes","controller","processAppRoutes","routeNames","reverse","route","bind","Application","_initCallbacks","vent","reqres","submodules","addInitializer","initializer","start","_regionManager","module","unshift","Module","create","moduleName","app","_setupInitializersAndFinalizers","startWithParent","_initializerCallbacks","addFinalizer","_finalizerCallbacks","_isInitialized","mod","stop","addDefinition","moduleDefinition","customArgs","_runModuleDefinition","flatten","moduleNames","moduleDefinitions","parentModule","_getModule","_addModuleDefinition","def","fn","define","startWithParentIsConfigured"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  // MarionetteJS (Backbone.Marionette)
2
2
  // ----------------------------------
3
- // v1.0.3
3
+ // v1.0.4
4
4
  //
5
5
  // Copyright (c)2013 Derick Bailey, Muted Solutions, LLC.
6
6
  // Distributed under MIT license
@@ -17,5 +17,5 @@
17
17
  * https://github.com/marionettejs/backbone.wreqr/
18
18
  */
19
19
 
20
- Backbone.ChildViewContainer=function(e,t){var i=function(e){this._views={},this._indexByModel={},this._indexByCollection={},this._indexByCustom={},this._updateLength(),this._addInitialViews(e)};t.extend(i.prototype,{add:function(e,t){var i=e.cid;this._views[i]=e,e.model&&(this._indexByModel[e.model.cid]=i),e.collection&&(this._indexByCollection[e.collection.cid]=i),t&&(this._indexByCustom[t]=i),this._updateLength()},findByModel:function(e){var t=this._indexByModel[e.cid];return this.findByCid(t)},findByCollection:function(e){var t=this._indexByCollection[e.cid];return this.findByCid(t)},findByCustom:function(e){var t=this._indexByCustom[e];return this.findByCid(t)},findByIndex:function(e){return t.values(this._views)[e]},findByCid:function(e){return this._views[e]},remove:function(e){var t=e.cid;e.model&&delete this._indexByModel[e.model.cid],e.collection&&delete this._indexByCollection[e.collection.cid];var i;for(var n in this._indexByCustom)if(this._indexByCustom.hasOwnProperty(n)&&this._indexByCustom[n]===t){i=n;break}i&&delete this._indexByCustom[i],delete this._views[t],this._updateLength()},call:function(e,t){t=Array.prototype.slice.call(arguments,1),this.apply(e,t)},apply:function(e,i){i=i||[],t.each(this._views,function(n){t.isFunction(n[e])&&n[e].apply(n,i)})},_updateLength:function(){this.length=t.size(this._views)},_addInitialViews:function(e){if(e){var t,i,n=e.length;for(i=0;n>i;i++)t=e[i],this.add(t)}}});var n=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];return t.each(n,function(e){i.prototype[e]=function(){var i=t.values(this._views),n=[i].concat(t.toArray(arguments));return t[e].apply(t,n)}}),i}(Backbone,_),Backbone.Wreqr=function(e,t,i){"use strict";var n={};return n.Handlers=function(e,t){var i=function(e){this.options=e,this._wreqrHandlers={},t.isFunction(this.initialize)&&this.initialize(e)};return i.extend=e.Model.extend,t.extend(i.prototype,e.Events,{setHandlers:function(e){t.each(e,function(e,i){var n=null;t.isObject(e)&&!t.isFunction(e)&&(n=e.context,e=e.callback),this.setHandler(i,e,n)},this)},setHandler:function(e,t,i){var n={callback:t,context:i};this._wreqrHandlers[e]=n,this.trigger("handler:add",e,t,i)},hasHandler:function(e){return!!this._wreqrHandlers[e]},getHandler:function(e){var t=this._wreqrHandlers[e];if(!t)throw Error("Handler not found for '"+e+"'");return function(){var e=Array.prototype.slice.apply(arguments);return t.callback.apply(t.context,e)}},removeHandler:function(e){delete this._wreqrHandlers[e]},removeAllHandlers:function(){this._wreqrHandlers={}}}),i}(e,i),n.CommandStorage=function(){var t=function(e){this.options=e,this._commands={},i.isFunction(this.initialize)&&this.initialize(e)};return i.extend(t.prototype,e.Events,{getCommands:function(e){var t=this._commands[e];return t||(t={command:e,instances:[]},this._commands[e]=t),t},addCommand:function(e,t){var i=this.getCommands(e);i.instances.push(t)},clearCommands:function(e){var t=this.getCommands(e);t.instances=[]}}),t}(),n.Commands=function(e){return e.Handlers.extend({storageType:e.CommandStorage,constructor:function(t){this.options=t||{},this._initializeStorage(this.options),this.on("handler:add",this._executeCommands,this);var i=Array.prototype.slice.call(arguments);e.Handlers.prototype.constructor.apply(this,i)},execute:function(e,t){e=arguments[0],t=Array.prototype.slice.call(arguments,1),this.hasHandler(e)?this.getHandler(e).apply(this,t):this.storage.addCommand(e,t)},_executeCommands:function(e,t,n){var r=this.storage.getCommands(e);i.each(r.instances,function(e){t.apply(n,e)}),this.storage.clearCommands(e)},_initializeStorage:function(e){var t,n=e.storageType||this.storageType;t=i.isFunction(n)?new n:n,this.storage=t}})}(n),n.RequestResponse=function(e){return e.Handlers.extend({request:function(){var e=arguments[0],t=Array.prototype.slice.call(arguments,1);return this.getHandler(e).apply(this,t)}})}(n),n.EventAggregator=function(e,t){var i=function(){};return i.extend=e.Model.extend,t.extend(i.prototype,e.Events),i}(e,i),n}(Backbone,Backbone.Marionette,_);var Marionette=function(e,t,i){"use strict";function n(e){return s.call(e)}function r(e,t){var i=Error(e);throw i.name=t||"Error",i}var o={};t.Marionette=o,o.$=t.$;var s=Array.prototype.slice;return o.extend=t.Model.extend,o.getOption=function(e,t){if(e&&t){var i;return i=e.options&&t in e.options&&void 0!==e.options[t]?e.options[t]:e[t]}},o.triggerMethod=function(){function e(e,t,i){return i.toUpperCase()}var t=/(^|:)(\w)/gi,n=function(n){var r="on"+n.replace(t,e),o=this[r];return this.trigger.apply(this,arguments),i.isFunction(o)?o.apply(this,i.tail(arguments)):void 0};return n}(),o.MonitorDOMRefresh=function(){function e(e){e._isShown=!0,n(e)}function t(e){e._isRendered=!0,n(e)}function n(e){e._isShown&&e._isRendered&&i.isFunction(e.triggerMethod)&&e.triggerMethod("dom:refresh")}return function(i){i.listenTo(i,"show",function(){e(i)}),i.listenTo(i,"render",function(){t(i)})}}(),function(e){function t(e,t,n,o){var s=o.split(/\s+/);i.each(s,function(i){var o=e[i];o||r("Method '"+i+"' was configured as an event handler, but does not exist."),e.listenTo(t,n,o,e)})}function n(e,t,i,n){e.listenTo(t,i,n,e)}function o(e,t,n,r){var o=r.split(/\s+/);i.each(o,function(i){var r=e[i];e.stopListening(t,n,r,e)})}function s(e,t,i,n){e.stopListening(t,i,n,e)}function h(e,t,n,r,o){t&&n&&(i.isFunction(n)&&(n=n.call(e)),i.each(n,function(n,s){i.isFunction(n)?r(e,t,s,n):o(e,t,s,n)}))}e.bindEntityEvents=function(e,i,r){h(e,i,r,n,t)},e.unbindEntityEvents=function(e,t,i){h(e,t,i,s,o)}}(o),o.Callbacks=function(){this._deferred=o.$.Deferred(),this._callbacks=[]},i.extend(o.Callbacks.prototype,{add:function(e,t){this._callbacks.push({cb:e,ctx:t}),this._deferred.done(function(i,n){t&&(i=t),e.call(i,n)})},run:function(e,t){this._deferred.resolve(t,e)},reset:function(){var e=this._callbacks;this._deferred=o.$.Deferred(),this._callbacks=[],i.each(e,function(e){this.add(e.cb,e.ctx)},this)}}),o.Controller=function(e){this.triggerMethod=o.triggerMethod,this.options=e||{},i.isFunction(this.initialize)&&this.initialize(this.options)},o.Controller.extend=o.extend,i.extend(o.Controller.prototype,t.Events,{close:function(){this.stopListening(),this.triggerMethod("close"),this.unbind()}}),o.Region=function(e){if(this.options=e||{},this.el=o.getOption(this,"el"),!this.el){var t=Error("An 'el' must be specified for a region.");throw t.name="NoElError",t}if(this.initialize){var i=Array.prototype.slice.apply(arguments);this.initialize.apply(this,i)}},i.extend(o.Region,{buildRegion:function(e,t){var n="string"==typeof e,r="string"==typeof e.selector,o=e.regionType===void 0,s="function"==typeof e;if(!s&&!n&&!r)throw Error("Region must be specified as a Region type, a selector string or an object with selector property");var h,a;n&&(h=e),e.selector&&(h=e.selector),s&&(a=e),!s&&o&&(a=t),e.regionType&&(a=e.regionType);var l=new a({el:h});return e.parentEl&&(l.getEl=function(t){var n=e.parentEl;return i.isFunction(n)&&(n=n()),n.find(t)}),l}}),i.extend(o.Region.prototype,t.Events,{show:function(e){this.ensureEl();var t=e.isClosed||i.isUndefined(e.$el),n=e!==this.currentView;n&&this.close(),e.render(),(n||t)&&this.open(e),this.currentView=e,o.triggerMethod.call(this,"show",e),o.triggerMethod.call(e,"show")},ensureEl:function(){this.$el&&0!==this.$el.length||(this.$el=this.getEl(this.el))},getEl:function(e){return o.$(e)},open:function(e){this.$el.empty().append(e.el)},close:function(){var e=this.currentView;e&&!e.isClosed&&(e.close?e.close():e.remove&&e.remove(),o.triggerMethod.call(this,"close"),delete this.currentView)},attachView:function(e){this.currentView=e},reset:function(){this.close(),delete this.$el}}),o.Region.extend=o.extend,o.RegionManager=function(e){var t=e.Controller.extend({constructor:function(t){this._regions={},e.Controller.prototype.constructor.call(this,t)},addRegions:function(e,t){var n={};return i.each(e,function(e,r){"string"==typeof e&&(e={selector:e}),e.selector&&(e=i.defaults({},e,t));var o=this.addRegion(r,e);n[r]=o},this),n},addRegion:function(t,n){var r,o=i.isObject(n),s=i.isString(n),h=!!n.selector;return r=s||o&&h?e.Region.buildRegion(n,e.Region):i.isFunction(n)?e.Region.buildRegion(n,e.Region):n,this._store(t,r),this.triggerMethod("region:add",t,r),r},get:function(e){return this._regions[e]},removeRegion:function(e){var t=this._regions[e];this._remove(e,t)},removeRegions:function(){i.each(this._regions,function(e,t){this._remove(t,e)},this)},closeRegions:function(){i.each(this._regions,function(e){e.close()},this)},close:function(){this.removeRegions();var t=Array.prototype.slice.call(arguments);e.Controller.prototype.close.apply(this,t)},_store:function(e,t){this._regions[e]=t,this._setLength()},_remove:function(e,t){t.close(),delete this._regions[e],this._setLength(),this.triggerMethod("region:remove",e,t)},_setLength:function(){this.length=i.size(this._regions)}}),n=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];return i.each(n,function(e){t.prototype[e]=function(){var t=i.values(this._regions),n=[t].concat(i.toArray(arguments));return i[e].apply(i,n)}}),t}(o),o.TemplateCache=function(e){this.templateId=e},i.extend(o.TemplateCache,{templateCaches:{},get:function(e){var t=this.templateCaches[e];return t||(t=new o.TemplateCache(e),this.templateCaches[e]=t),t.load()},clear:function(){var e,t=n(arguments),i=t.length;if(i>0)for(e=0;i>e;e++)delete this.templateCaches[t[e]];else this.templateCaches={}}}),i.extend(o.TemplateCache.prototype,{load:function(){if(this.compiledTemplate)return this.compiledTemplate;var e=this.loadTemplate(this.templateId);return this.compiledTemplate=this.compileTemplate(e),this.compiledTemplate},loadTemplate:function(e){var t=o.$(e).html();return t&&0!==t.length||r("Could not find template: '"+e+"'","NoTemplateError"),t},compileTemplate:function(e){return i.template(e)}}),o.Renderer={render:function(e,t){if(!e){var i=Error("Cannot render the template since it's false, null or undefined.");throw i.name="TemplateNotFoundError",i}var n;return n="function"==typeof e?e:o.TemplateCache.get(e),n(t)}},o.View=t.View.extend({constructor:function(){i.bindAll(this,"render");var e=Array.prototype.slice.apply(arguments);t.View.prototype.constructor.apply(this,e),o.MonitorDOMRefresh(this),this.listenTo(this,"show",this.onShowCalled,this)},triggerMethod:o.triggerMethod,getTemplate:function(){return o.getOption(this,"template")},mixinTemplateHelpers:function(e){e=e||{};var t=this.templateHelpers;return i.isFunction(t)&&(t=t.call(this)),i.extend(e,t)},configureTriggers:function(){if(this.triggers){var e={},t=i.result(this,"triggers");return i.each(t,function(t,i){e[i]=function(e){e&&e.preventDefault&&e.preventDefault(),e&&e.stopPropagation&&e.stopPropagation();var i={view:this,model:this.model,collection:this.collection};this.triggerMethod(t,i)}},this),e}},delegateEvents:function(e){this._delegateDOMEvents(e),o.bindEntityEvents(this,this.model,o.getOption(this,"modelEvents")),o.bindEntityEvents(this,this.collection,o.getOption(this,"collectionEvents"))},_delegateDOMEvents:function(e){e=e||this.events,i.isFunction(e)&&(e=e.call(this));var n={},r=this.configureTriggers();i.extend(n,e,r),t.View.prototype.delegateEvents.call(this,n)},undelegateEvents:function(){var e=Array.prototype.slice.call(arguments);t.View.prototype.undelegateEvents.apply(this,e),o.unbindEntityEvents(this,this.model,o.getOption(this,"modelEvents")),o.unbindEntityEvents(this,this.collection,o.getOption(this,"collectionEvents"))},onShowCalled:function(){},close:function(){if(!this.isClosed){var e=this.triggerMethod("before:close");e!==!1&&(this.isClosed=!0,this.triggerMethod("close"),this.unbindUIElements(),this.remove())}},bindUIElements:function(){if(this.ui){this._uiBindings||(this._uiBindings=this.ui);var e=i.result(this,"_uiBindings");this.ui={},i.each(i.keys(e),function(t){var i=e[t];this.ui[t]=this.$(i)},this)}},unbindUIElements:function(){this.ui&&(i.each(this.ui,function(e,t){delete this.ui[t]},this),this.ui=this._uiBindings,delete this._uiBindings)}}),o.ItemView=o.View.extend({serializeData:function(){var e={};return this.model?e=this.model.toJSON():this.collection&&(e={items:this.collection.toJSON()}),e},render:function(){this.isClosed=!1,this.triggerMethod("before:render",this),this.triggerMethod("item:before:render",this);var e=this.serializeData();e=this.mixinTemplateHelpers(e);var t=this.getTemplate(),i=o.Renderer.render(t,e);return this.$el.html(i),this.bindUIElements(),this.triggerMethod("render",this),this.triggerMethod("item:rendered",this),this},close:function(){this.isClosed||(this.triggerMethod("item:before:close"),o.View.prototype.close.apply(this,n(arguments)),this.triggerMethod("item:closed"))}}),o.CollectionView=o.View.extend({itemViewEventPrefix:"itemview",constructor:function(){this._initChildViewStorage(),o.View.prototype.constructor.apply(this,n(arguments)),this._initialEvents()},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView,this),this.listenTo(this.collection,"remove",this.removeItemView,this),this.listenTo(this.collection,"reset",this.render,this))},addChildView:function(e){this.closeEmptyView();var t=this.getItemView(e),i=this.collection.indexOf(e);this.addItemView(e,t,i)},onShowCalled:function(){this.children.each(function(e){o.triggerMethod.call(e,"show")})},triggerBeforeRender:function(){this.triggerMethod("before:render",this),this.triggerMethod("collection:before:render",this)},triggerRendered:function(){this.triggerMethod("render",this),this.triggerMethod("collection:rendered",this)},render:function(){return this.isClosed=!1,this.triggerBeforeRender(),this._renderChildren(),this.triggerRendered(),this},_renderChildren:function(){this.closeEmptyView(),this.closeChildren(),this.collection&&this.collection.length>0?this.showCollection():this.showEmptyView()},showCollection:function(){var e;this.collection.each(function(t,i){e=this.getItemView(t),this.addItemView(t,e,i)},this)},showEmptyView:function(){var e=o.getOption(this,"emptyView");if(e&&!this._showingEmptyView){this._showingEmptyView=!0;var i=new t.Model;this.addItemView(i,e,0)}},closeEmptyView:function(){this._showingEmptyView&&(this.closeChildren(),delete this._showingEmptyView)},getItemView:function(){var e=o.getOption(this,"itemView");return e||r("An `itemView` must be specified","NoItemViewError"),e},addItemView:function(e,t,n){var r=o.getOption(this,"itemViewOptions");i.isFunction(r)&&(r=r.call(this,e,n));var s=this.buildItemView(e,t,r);this.addChildViewEventForwarding(s),this.triggerMethod("before:item:added",s),this.children.add(s),this.renderItemView(s,n),this._isShown&&o.triggerMethod.call(s,"show"),this.triggerMethod("after:item:added",s)},addChildViewEventForwarding:function(e){var t=o.getOption(this,"itemViewEventPrefix");this.listenTo(e,"all",function(){var i=n(arguments);i[0]=t+":"+i[0],i.splice(1,0,e),o.triggerMethod.apply(this,i)},this)},renderItemView:function(e,t){e.render(),this.appendHtml(this,e,t)},buildItemView:function(e,t,n){var r=i.extend({model:e},n);return new t(r)},removeItemView:function(e){var t=this.children.findByModel(e);this.removeChildView(t),this.checkEmpty()},removeChildView:function(e){e&&(this.stopListening(e),e.close?e.close():e.remove&&e.remove(),this.children.remove(e)),this.triggerMethod("item:removed",e)},checkEmpty:function(){this.collection&&0!==this.collection.length||this.showEmptyView()},appendHtml:function(e,t){e.$el.append(t.el)},_initChildViewStorage:function(){this.children=new t.ChildViewContainer},close:function(){this.isClosed||(this.triggerMethod("collection:before:close"),this.closeChildren(),this.triggerMethod("collection:closed"),o.View.prototype.close.apply(this,n(arguments)))},closeChildren:function(){this.children.each(function(e){this.removeChildView(e)},this),this.checkEmpty()}}),o.CompositeView=o.CollectionView.extend({_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView,this),this.listenTo(this.collection,"remove",this.removeItemView,this),this.listenTo(this.collection,"reset",this._renderChildren,this))},getItemView:function(){var e=o.getOption(this,"itemView")||this.constructor;return e||r("An `itemView` must be specified","NoItemViewError"),e},serializeData:function(){var e={};return this.model&&(e=this.model.toJSON()),e},render:function(){this.isRendered=!0,this.isClosed=!1,this.resetItemViewContainer(),this.triggerBeforeRender();var e=this.renderModel();return this.$el.html(e),this.bindUIElements(),this.triggerMethod("composite:model:rendered"),this._renderChildren(),this.triggerMethod("composite:rendered"),this.triggerRendered(),this},_renderChildren:function(){this.isRendered&&(o.CollectionView.prototype._renderChildren.call(this),this.triggerMethod("composite:collection:rendered"))},renderModel:function(){var e={};e=this.serializeData(),e=this.mixinTemplateHelpers(e);var t=this.getTemplate();return o.Renderer.render(t,e)},appendHtml:function(e,t){var i=this.getItemViewContainer(e);i.append(t.el)},getItemViewContainer:function(e){if("$itemViewContainer"in e)return e.$itemViewContainer;var t;if(e.itemViewContainer){var n=i.result(e,"itemViewContainer");t=e.$(n),0>=t.length&&r("The specified `itemViewContainer` was not found: "+e.itemViewContainer,"ItemViewContainerMissingError")}else t=e.$el;return e.$itemViewContainer=t,t},resetItemViewContainer:function(){this.$itemViewContainer&&delete this.$itemViewContainer}}),o.Layout=o.ItemView.extend({regionType:o.Region,constructor:function(e){e=e||{},this._firstRender=!0,this._initializeRegions(e),o.ItemView.call(this,e)},render:function(){this._firstRender?this._firstRender=!1:this.isClosed?this._initializeRegions():this._reInitializeRegions();var e=Array.prototype.slice.apply(arguments),t=o.ItemView.prototype.render.apply(this,e);return t},close:function(){if(!this.isClosed){this.regionManager.close();var e=Array.prototype.slice.apply(arguments);o.ItemView.prototype.close.apply(this,e)}},addRegion:function(e,t){var i={};return i[e]=t,this.addRegions(i)[e]},addRegions:function(e){return this.regions=i.extend(this.regions||{},e),this._buildRegions(e)},removeRegion:function(e){return this.regionManager.removeRegion(e)},_buildRegions:function(e){var t=this,i={parentEl:function(){return t.$el}};return this.regionManager.addRegions(e,i)},_initializeRegions:function(e){var t;this._initRegionManager(),t=i.isFunction(this.regions)?this.regions(e):this.regions||{},this.addRegions(t)},_reInitializeRegions:function(){this.regionManager.closeRegions(),this.regionManager.each(function(e){e.reset()})},_initRegionManager:function(){this.regionManager=new o.RegionManager,this.listenTo(this.regionManager,"region:add",function(e,t){this[e]=t,this.trigger("region:add",e,t)}),this.listenTo(this.regionManager,"region:remove",function(e,t){delete this[e],this.trigger("region:remove",e,t)})}}),o.AppRouter=t.Router.extend({constructor:function(e){if(t.Router.prototype.constructor.apply(this,n(arguments)),this.options=e,this.appRoutes){var i=o.getOption(this,"controller");this.processAppRoutes(i,this.appRoutes)}},processAppRoutes:function(e,t){var n=i.keys(t).reverse();i.each(n,function(n){var r=t[n],o=e[r];if(!o)throw Error("Method '"+r+"' was not found on the controller");this.route(n,r,i.bind(o,e))},this)}}),o.Application=function(e){this._initRegionManager(),this._initCallbacks=new o.Callbacks,this.vent=new t.Wreqr.EventAggregator,this.commands=new t.Wreqr.Commands,this.reqres=new t.Wreqr.RequestResponse,this.submodules={},i.extend(this,e),this.triggerMethod=o.triggerMethod},i.extend(o.Application.prototype,t.Events,{execute:function(){var e=Array.prototype.slice.apply(arguments);this.commands.execute.apply(this.commands,e)},request:function(){var e=Array.prototype.slice.apply(arguments);return this.reqres.request.apply(this.reqres,e)},addInitializer:function(e){this._initCallbacks.add(e)},start:function(e){this.triggerMethod("initialize:before",e),this._initCallbacks.run(e,this),this.triggerMethod("initialize:after",e),this.triggerMethod("start",e)},addRegions:function(e){return this._regionManager.addRegions(e)},removeRegion:function(e){this._regionManager.removeRegion(e)},module:function(){var e=n(arguments);return e.unshift(this),o.Module.create.apply(o.Module,e)},_initRegionManager:function(){this._regionManager=new o.RegionManager,this.listenTo(this._regionManager,"region:add",function(e,t){this[e]=t}),this.listenTo(this._regionManager,"region:remove",function(e){delete this[e]})}}),o.Application.extend=o.extend,o.Module=function(e,t){this.moduleName=e,this.submodules={},this._setupInitializersAndFinalizers(),this.app=t,this.startWithParent=!0,this.triggerMethod=o.triggerMethod},i.extend(o.Module.prototype,t.Events,{addInitializer:function(e){this._initializerCallbacks.add(e)},addFinalizer:function(e){this._finalizerCallbacks.add(e)},start:function(e){this._isInitialized||(i.each(this.submodules,function(t){t.startWithParent&&t.start(e)}),this.triggerMethod("before:start",e),this._initializerCallbacks.run(e,this),this._isInitialized=!0,this.triggerMethod("start",e))},stop:function(){this._isInitialized&&(this._isInitialized=!1,o.triggerMethod.call(this,"before:stop"),i.each(this.submodules,function(e){e.stop()}),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),o.triggerMethod.call(this,"stop"))},addDefinition:function(e,t){this._runModuleDefinition(e,t)},_runModuleDefinition:function(e,n){if(e){var r=i.flatten([this,this.app,t,o,o.$,i,n]);e.apply(this,r)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new o.Callbacks,this._finalizerCallbacks=new o.Callbacks}}),i.extend(o.Module,{create:function(e,t,r){var o=e,s=n(arguments);s.splice(0,3),t=t.split(".");var h=t.length,a=[];return a[h-1]=r,i.each(t,function(t,i){var n=o;o=this._getModule(n,t,e),this._addModuleDefinition(n,o,a[i],s)},this),o},_getModule:function(e,t,i){var n=e[t];return n||(n=new o.Module(t,i),e[t]=n,e.submodules[t]=n),n},_addModuleDefinition:function(e,t,n,r){var o,s;i.isFunction(n)?(o=n,s=!0):i.isObject(n)?(o=n.define,s=n.startWithParent):s=!0,o&&t.addDefinition(o,r),t.startWithParent=t.startWithParent&&s,t.startWithParent&&!t.startWithParentIsConfigured&&(t.startWithParentIsConfigured=!0,e.addInitializer(function(e){t.startWithParent&&t.start(e)}))}}),o}(this,Backbone,_);
20
+ Backbone.ChildViewContainer=function(e,t){var i=function(e){this._views={},this._indexByModel={},this._indexByCustom={},this._updateLength(),t.each(e,this.add,this)};t.extend(i.prototype,{add:function(e,t){var i=e.cid;this._views[i]=e,e.model&&(this._indexByModel[e.model.cid]=i),t&&(this._indexByCustom[t]=i),this._updateLength()},findByModel:function(e){return this.findByModelCid(e.cid)},findByModelCid:function(e){var t=this._indexByModel[e];return this.findByCid(t)},findByCustom:function(e){var t=this._indexByCustom[e];return this.findByCid(t)},findByIndex:function(e){return t.values(this._views)[e]},findByCid:function(e){return this._views[e]},remove:function(e){var i=e.cid;e.model&&delete this._indexByModel[e.model.cid],t.any(this._indexByCustom,function(e,t){return e===i?(delete this._indexByCustom[t],!0):void 0},this),delete this._views[i],this._updateLength()},call:function(e){this.apply(e,t.tail(arguments))},apply:function(e,i){t.each(this._views,function(n){t.isFunction(n[e])&&n[e].apply(n,i||[])})},_updateLength:function(){this.length=t.size(this._views)}});var n=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];return t.each(n,function(e){i.prototype[e]=function(){var i=t.values(this._views),n=[i].concat(t.toArray(arguments));return t[e].apply(t,n)}}),i}(Backbone,_),Backbone.Wreqr=function(e,t,i){"use strict";var n={};return n.Handlers=function(e,t){var i=function(e){this.options=e,this._wreqrHandlers={},t.isFunction(this.initialize)&&this.initialize(e)};return i.extend=e.Model.extend,t.extend(i.prototype,e.Events,{setHandlers:function(e){t.each(e,function(e,i){var n=null;t.isObject(e)&&!t.isFunction(e)&&(n=e.context,e=e.callback),this.setHandler(i,e,n)},this)},setHandler:function(e,t,i){var n={callback:t,context:i};this._wreqrHandlers[e]=n,this.trigger("handler:add",e,t,i)},hasHandler:function(e){return!!this._wreqrHandlers[e]},getHandler:function(e){var t=this._wreqrHandlers[e];if(!t)throw Error("Handler not found for '"+e+"'");return function(){var e=Array.prototype.slice.apply(arguments);return t.callback.apply(t.context,e)}},removeHandler:function(e){delete this._wreqrHandlers[e]},removeAllHandlers:function(){this._wreqrHandlers={}}}),i}(e,i),n.CommandStorage=function(){var t=function(e){this.options=e,this._commands={},i.isFunction(this.initialize)&&this.initialize(e)};return i.extend(t.prototype,e.Events,{getCommands:function(e){var t=this._commands[e];return t||(t={command:e,instances:[]},this._commands[e]=t),t},addCommand:function(e,t){var i=this.getCommands(e);i.instances.push(t)},clearCommands:function(e){var t=this.getCommands(e);t.instances=[]}}),t}(),n.Commands=function(e){return e.Handlers.extend({storageType:e.CommandStorage,constructor:function(t){this.options=t||{},this._initializeStorage(this.options),this.on("handler:add",this._executeCommands,this);var i=Array.prototype.slice.call(arguments);e.Handlers.prototype.constructor.apply(this,i)},execute:function(e,t){e=arguments[0],t=Array.prototype.slice.call(arguments,1),this.hasHandler(e)?this.getHandler(e).apply(this,t):this.storage.addCommand(e,t)},_executeCommands:function(e,t,n){var r=this.storage.getCommands(e);i.each(r.instances,function(e){t.apply(n,e)}),this.storage.clearCommands(e)},_initializeStorage:function(e){var t,n=e.storageType||this.storageType;t=i.isFunction(n)?new n:n,this.storage=t}})}(n),n.RequestResponse=function(e){return e.Handlers.extend({request:function(){var e=arguments[0],t=Array.prototype.slice.call(arguments,1);return this.getHandler(e).apply(this,t)}})}(n),n.EventAggregator=function(e,t){var i=function(){};return i.extend=e.Model.extend,t.extend(i.prototype,e.Events),i}(e,i),n}(Backbone,Backbone.Marionette,_);var Marionette=function(e,t,i){"use strict";function n(e){return s.call(e)}function r(e,t){var i=Error(e);throw i.name=t||"Error",i}var o={};t.Marionette=o,o.$=t.$;var s=Array.prototype.slice;return o.extend=t.Model.extend,o.getOption=function(e,t){if(e&&t){var i;return i=e.options&&t in e.options&&void 0!==e.options[t]?e.options[t]:e[t]}},o.triggerMethod=function(){function e(e,t,i){return i.toUpperCase()}var t=/(^|:)(\w)/gi,n=function(n){var r="on"+n.replace(t,e),o=this[r];return this.trigger.apply(this,arguments),i.isFunction(o)?o.apply(this,i.tail(arguments)):void 0};return n}(),o.MonitorDOMRefresh=function(){function e(e){e._isShown=!0,n(e)}function t(e){e._isRendered=!0,n(e)}function n(e){e._isShown&&e._isRendered&&i.isFunction(e.triggerMethod)&&e.triggerMethod("dom:refresh")}return function(i){i.listenTo(i,"show",function(){e(i)}),i.listenTo(i,"render",function(){t(i)})}}(),function(e){function t(e,t,n,o){var s=o.split(/\s+/);i.each(s,function(i){var o=e[i];o||r("Method '"+i+"' was configured as an event handler, but does not exist."),e.listenTo(t,n,o,e)})}function n(e,t,i,n){e.listenTo(t,i,n,e)}function o(e,t,n,r){var o=r.split(/\s+/);i.each(o,function(i){var r=e[i];e.stopListening(t,n,r,e)})}function s(e,t,i,n){e.stopListening(t,i,n,e)}function h(e,t,n,r,o){t&&n&&(i.isFunction(n)&&(n=n.call(e)),i.each(n,function(n,s){i.isFunction(n)?r(e,t,s,n):o(e,t,s,n)}))}e.bindEntityEvents=function(e,i,r){h(e,i,r,n,t)},e.unbindEntityEvents=function(e,t,i){h(e,t,i,s,o)}}(o),o.Callbacks=function(){this._deferred=o.$.Deferred(),this._callbacks=[]},i.extend(o.Callbacks.prototype,{add:function(e,t){this._callbacks.push({cb:e,ctx:t}),this._deferred.done(function(i,n){t&&(i=t),e.call(i,n)})},run:function(e,t){this._deferred.resolve(t,e)},reset:function(){var e=this._callbacks;this._deferred=o.$.Deferred(),this._callbacks=[],i.each(e,function(e){this.add(e.cb,e.ctx)},this)}}),o.Controller=function(e){this.triggerMethod=o.triggerMethod,this.options=e||{},i.isFunction(this.initialize)&&this.initialize(this.options)},o.Controller.extend=o.extend,i.extend(o.Controller.prototype,t.Events,{close:function(){this.stopListening(),this.triggerMethod("close"),this.unbind()}}),o.Region=function(e){if(this.options=e||{},this.el=o.getOption(this,"el"),!this.el){var t=Error("An 'el' must be specified for a region.");throw t.name="NoElError",t}if(this.initialize){var i=Array.prototype.slice.apply(arguments);this.initialize.apply(this,i)}},i.extend(o.Region,{buildRegion:function(e,t){var n="string"==typeof e,r="string"==typeof e.selector,o=e.regionType===void 0,s="function"==typeof e;if(!s&&!n&&!r)throw Error("Region must be specified as a Region type, a selector string or an object with selector property");var h,a;n&&(h=e),e.selector&&(h=e.selector),s&&(a=e),!s&&o&&(a=t),e.regionType&&(a=e.regionType);var l=new a({el:h});return e.parentEl&&(l.getEl=function(t){var n=e.parentEl;return i.isFunction(n)&&(n=n()),n.find(t)}),l}}),i.extend(o.Region.prototype,t.Events,{show:function(e){this.ensureEl();var t=e.isClosed||i.isUndefined(e.$el),n=e!==this.currentView;n&&this.close(),e.render(),(n||t)&&this.open(e),this.currentView=e,o.triggerMethod.call(this,"show",e),o.triggerMethod.call(e,"show")},ensureEl:function(){this.$el&&0!==this.$el.length||(this.$el=this.getEl(this.el))},getEl:function(e){return o.$(e)},open:function(e){this.$el.empty().append(e.el)},close:function(){var e=this.currentView;e&&!e.isClosed&&(e.close?e.close():e.remove&&e.remove(),o.triggerMethod.call(this,"close"),delete this.currentView)},attachView:function(e){this.currentView=e},reset:function(){this.close(),delete this.$el}}),o.Region.extend=o.extend,o.RegionManager=function(e){var t=e.Controller.extend({constructor:function(t){this._regions={},e.Controller.prototype.constructor.call(this,t)},addRegions:function(e,t){var n={};return i.each(e,function(e,r){"string"==typeof e&&(e={selector:e}),e.selector&&(e=i.defaults({},e,t));var o=this.addRegion(r,e);n[r]=o},this),n},addRegion:function(t,n){var r,o=i.isObject(n),s=i.isString(n),h=!!n.selector;return r=s||o&&h?e.Region.buildRegion(n,e.Region):i.isFunction(n)?e.Region.buildRegion(n,e.Region):n,this._store(t,r),this.triggerMethod("region:add",t,r),r},get:function(e){return this._regions[e]},removeRegion:function(e){var t=this._regions[e];this._remove(e,t)},removeRegions:function(){i.each(this._regions,function(e,t){this._remove(t,e)},this)},closeRegions:function(){i.each(this._regions,function(e){e.close()},this)},close:function(){this.removeRegions();var t=Array.prototype.slice.call(arguments);e.Controller.prototype.close.apply(this,t)},_store:function(e,t){this._regions[e]=t,this._setLength()},_remove:function(e,t){t.close(),delete this._regions[e],this._setLength(),this.triggerMethod("region:remove",e,t)},_setLength:function(){this.length=i.size(this._regions)}}),n=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];return i.each(n,function(e){t.prototype[e]=function(){var t=i.values(this._regions),n=[t].concat(i.toArray(arguments));return i[e].apply(i,n)}}),t}(o),o.TemplateCache=function(e){this.templateId=e},i.extend(o.TemplateCache,{templateCaches:{},get:function(e){var t=this.templateCaches[e];return t||(t=new o.TemplateCache(e),this.templateCaches[e]=t),t.load()},clear:function(){var e,t=n(arguments),i=t.length;if(i>0)for(e=0;i>e;e++)delete this.templateCaches[t[e]];else this.templateCaches={}}}),i.extend(o.TemplateCache.prototype,{load:function(){if(this.compiledTemplate)return this.compiledTemplate;var e=this.loadTemplate(this.templateId);return this.compiledTemplate=this.compileTemplate(e),this.compiledTemplate},loadTemplate:function(e){var t=o.$(e).html();return t&&0!==t.length||r("Could not find template: '"+e+"'","NoTemplateError"),t},compileTemplate:function(e){return i.template(e)}}),o.Renderer={render:function(e,t){if(!e){var i=Error("Cannot render the template since it's false, null or undefined.");throw i.name="TemplateNotFoundError",i}var n;return n="function"==typeof e?e:o.TemplateCache.get(e),n(t)}},o.View=t.View.extend({constructor:function(){i.bindAll(this,"render");var e=Array.prototype.slice.apply(arguments);t.View.prototype.constructor.apply(this,e),o.MonitorDOMRefresh(this),this.listenTo(this,"show",this.onShowCalled,this)},triggerMethod:o.triggerMethod,getTemplate:function(){return o.getOption(this,"template")},mixinTemplateHelpers:function(e){e=e||{};var t=this.templateHelpers;return i.isFunction(t)&&(t=t.call(this)),i.extend(e,t)},configureTriggers:function(){if(this.triggers){var e={},t=i.result(this,"triggers");return i.each(t,function(t,i){e[i]=function(e){e&&e.preventDefault&&e.preventDefault(),e&&e.stopPropagation&&e.stopPropagation();var i={view:this,model:this.model,collection:this.collection};this.triggerMethod(t,i)}},this),e}},delegateEvents:function(e){this._delegateDOMEvents(e),o.bindEntityEvents(this,this.model,o.getOption(this,"modelEvents")),o.bindEntityEvents(this,this.collection,o.getOption(this,"collectionEvents"))},_delegateDOMEvents:function(e){e=e||this.events,i.isFunction(e)&&(e=e.call(this));var n={},r=this.configureTriggers();i.extend(n,e,r),t.View.prototype.delegateEvents.call(this,n)},undelegateEvents:function(){var e=Array.prototype.slice.call(arguments);t.View.prototype.undelegateEvents.apply(this,e),o.unbindEntityEvents(this,this.model,o.getOption(this,"modelEvents")),o.unbindEntityEvents(this,this.collection,o.getOption(this,"collectionEvents"))},onShowCalled:function(){},close:function(){if(!this.isClosed){var e=this.triggerMethod("before:close");e!==!1&&(this.isClosed=!0,this.triggerMethod("close"),this.unbindUIElements(),this.remove())}},bindUIElements:function(){if(this.ui){this._uiBindings||(this._uiBindings=this.ui);var e=i.result(this,"_uiBindings");this.ui={},i.each(i.keys(e),function(t){var i=e[t];this.ui[t]=this.$(i)},this)}},unbindUIElements:function(){this.ui&&(i.each(this.ui,function(e,t){delete this.ui[t]},this),this.ui=this._uiBindings,delete this._uiBindings)}}),o.ItemView=o.View.extend({constructor:function(){o.View.prototype.constructor.apply(this,n(arguments))},serializeData:function(){var e={};return this.model?e=this.model.toJSON():this.collection&&(e={items:this.collection.toJSON()}),e},render:function(){this.isClosed=!1,this.triggerMethod("before:render",this),this.triggerMethod("item:before:render",this);var e=this.serializeData();e=this.mixinTemplateHelpers(e);var t=this.getTemplate(),i=o.Renderer.render(t,e);return this.$el.html(i),this.bindUIElements(),this.triggerMethod("render",this),this.triggerMethod("item:rendered",this),this},close:function(){this.isClosed||(this.triggerMethod("item:before:close"),o.View.prototype.close.apply(this,n(arguments)),this.triggerMethod("item:closed"))}}),o.CollectionView=o.View.extend({itemViewEventPrefix:"itemview",constructor:function(){this._initChildViewStorage(),o.View.prototype.constructor.apply(this,n(arguments)),this._initialEvents()},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView,this),this.listenTo(this.collection,"remove",this.removeItemView,this),this.listenTo(this.collection,"reset",this.render,this))},addChildView:function(e){this.closeEmptyView();var t=this.getItemView(e),i=this.collection.indexOf(e);this.addItemView(e,t,i)},onShowCalled:function(){this.children.each(function(e){o.triggerMethod.call(e,"show")})},triggerBeforeRender:function(){this.triggerMethod("before:render",this),this.triggerMethod("collection:before:render",this)},triggerRendered:function(){this.triggerMethod("render",this),this.triggerMethod("collection:rendered",this)},render:function(){return this.isClosed=!1,this.triggerBeforeRender(),this._renderChildren(),this.triggerRendered(),this},_renderChildren:function(){this.closeEmptyView(),this.closeChildren(),this.collection&&this.collection.length>0?this.showCollection():this.showEmptyView()},showCollection:function(){var e;this.collection.each(function(t,i){e=this.getItemView(t),this.addItemView(t,e,i)},this)},showEmptyView:function(){var e=o.getOption(this,"emptyView");if(e&&!this._showingEmptyView){this._showingEmptyView=!0;var i=new t.Model;this.addItemView(i,e,0)}},closeEmptyView:function(){this._showingEmptyView&&(this.closeChildren(),delete this._showingEmptyView)},getItemView:function(){var e=o.getOption(this,"itemView");return e||r("An `itemView` must be specified","NoItemViewError"),e},addItemView:function(e,t,n){var r=o.getOption(this,"itemViewOptions");i.isFunction(r)&&(r=r.call(this,e,n));var s=this.buildItemView(e,t,r);this.addChildViewEventForwarding(s),this.triggerMethod("before:item:added",s),this.children.add(s),this.renderItemView(s,n),this._isShown&&o.triggerMethod.call(s,"show"),this.triggerMethod("after:item:added",s)},addChildViewEventForwarding:function(e){var t=o.getOption(this,"itemViewEventPrefix");this.listenTo(e,"all",function(){var i=n(arguments);i[0]=t+":"+i[0],i.splice(1,0,e),o.triggerMethod.apply(this,i)},this)},renderItemView:function(e,t){e.render(),this.appendHtml(this,e,t)},buildItemView:function(e,t,n){var r=i.extend({model:e},n);return new t(r)},removeItemView:function(e){var t=this.children.findByModel(e);this.removeChildView(t),this.checkEmpty()},removeChildView:function(e){e&&(this.stopListening(e),e.close?e.close():e.remove&&e.remove(),this.children.remove(e)),this.triggerMethod("item:removed",e)},checkEmpty:function(){this.collection&&0!==this.collection.length||this.showEmptyView()},appendHtml:function(e,t){e.$el.append(t.el)},_initChildViewStorage:function(){this.children=new t.ChildViewContainer},close:function(){this.isClosed||(this.triggerMethod("collection:before:close"),this.closeChildren(),this.triggerMethod("collection:closed"),o.View.prototype.close.apply(this,n(arguments)))},closeChildren:function(){this.children.each(function(e){this.removeChildView(e)},this),this.checkEmpty()}}),o.CompositeView=o.CollectionView.extend({constructor:function(){o.CollectionView.prototype.constructor.apply(this,n(arguments))},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView,this),this.listenTo(this.collection,"remove",this.removeItemView,this),this.listenTo(this.collection,"reset",this._renderChildren,this))},getItemView:function(){var e=o.getOption(this,"itemView")||this.constructor;return e||r("An `itemView` must be specified","NoItemViewError"),e},serializeData:function(){var e={};return this.model&&(e=this.model.toJSON()),e},render:function(){this.isRendered=!0,this.isClosed=!1,this.resetItemViewContainer(),this.triggerBeforeRender();var e=this.renderModel();return this.$el.html(e),this.bindUIElements(),this.triggerMethod("composite:model:rendered"),this._renderChildren(),this.triggerMethod("composite:rendered"),this.triggerRendered(),this},_renderChildren:function(){this.isRendered&&(o.CollectionView.prototype._renderChildren.call(this),this.triggerMethod("composite:collection:rendered"))},renderModel:function(){var e={};e=this.serializeData(),e=this.mixinTemplateHelpers(e);var t=this.getTemplate();return o.Renderer.render(t,e)},appendHtml:function(e,t){var i=this.getItemViewContainer(e);i.append(t.el)},getItemViewContainer:function(e){if("$itemViewContainer"in e)return e.$itemViewContainer;var t;if(e.itemViewContainer){var n=i.result(e,"itemViewContainer");t=e.$(n),0>=t.length&&r("The specified `itemViewContainer` was not found: "+e.itemViewContainer,"ItemViewContainerMissingError")}else t=e.$el;return e.$itemViewContainer=t,t},resetItemViewContainer:function(){this.$itemViewContainer&&delete this.$itemViewContainer}}),o.Layout=o.ItemView.extend({regionType:o.Region,constructor:function(e){e=e||{},this._firstRender=!0,this._initializeRegions(e),o.ItemView.prototype.constructor.call(this,e)},render:function(){this._firstRender?this._firstRender=!1:this.isClosed?this._initializeRegions():this._reInitializeRegions();var e=Array.prototype.slice.apply(arguments),t=o.ItemView.prototype.render.apply(this,e);return t},close:function(){if(!this.isClosed){this.regionManager.close();var e=Array.prototype.slice.apply(arguments);o.ItemView.prototype.close.apply(this,e)}},addRegion:function(e,t){var i={};return i[e]=t,this.addRegions(i)[e]},addRegions:function(e){return this.regions=i.extend(this.regions||{},e),this._buildRegions(e)},removeRegion:function(e){return this.regionManager.removeRegion(e)},_buildRegions:function(e){var t=this,i={parentEl:function(){return t.$el}};return this.regionManager.addRegions(e,i)},_initializeRegions:function(e){var t;this._initRegionManager(),t=i.isFunction(this.regions)?this.regions(e):this.regions||{},this.addRegions(t)},_reInitializeRegions:function(){this.regionManager.closeRegions(),this.regionManager.each(function(e){e.reset()})},_initRegionManager:function(){this.regionManager=new o.RegionManager,this.listenTo(this.regionManager,"region:add",function(e,t){this[e]=t,this.trigger("region:add",e,t)}),this.listenTo(this.regionManager,"region:remove",function(e,t){delete this[e],this.trigger("region:remove",e,t)})}}),o.AppRouter=t.Router.extend({constructor:function(e){if(t.Router.prototype.constructor.apply(this,n(arguments)),this.options=e,this.appRoutes){var i=o.getOption(this,"controller");this.processAppRoutes(i,this.appRoutes)}},processAppRoutes:function(e,t){var n=i.keys(t).reverse();i.each(n,function(n){var r=t[n],o=e[r];if(!o)throw Error("Method '"+r+"' was not found on the controller");this.route(n,r,i.bind(o,e))},this)}}),o.Application=function(e){this._initRegionManager(),this._initCallbacks=new o.Callbacks,this.vent=new t.Wreqr.EventAggregator,this.commands=new t.Wreqr.Commands,this.reqres=new t.Wreqr.RequestResponse,this.submodules={},i.extend(this,e),this.triggerMethod=o.triggerMethod},i.extend(o.Application.prototype,t.Events,{execute:function(){var e=Array.prototype.slice.apply(arguments);this.commands.execute.apply(this.commands,e)},request:function(){var e=Array.prototype.slice.apply(arguments);return this.reqres.request.apply(this.reqres,e)},addInitializer:function(e){this._initCallbacks.add(e)},start:function(e){this.triggerMethod("initialize:before",e),this._initCallbacks.run(e,this),this.triggerMethod("initialize:after",e),this.triggerMethod("start",e)},addRegions:function(e){return this._regionManager.addRegions(e)},removeRegion:function(e){this._regionManager.removeRegion(e)},module:function(){var e=n(arguments);return e.unshift(this),o.Module.create.apply(o.Module,e)},_initRegionManager:function(){this._regionManager=new o.RegionManager,this.listenTo(this._regionManager,"region:add",function(e,t){this[e]=t}),this.listenTo(this._regionManager,"region:remove",function(e){delete this[e]})}}),o.Application.extend=o.extend,o.Module=function(e,t){this.moduleName=e,this.submodules={},this._setupInitializersAndFinalizers(),this.app=t,this.startWithParent=!0,this.triggerMethod=o.triggerMethod},i.extend(o.Module.prototype,t.Events,{addInitializer:function(e){this._initializerCallbacks.add(e)},addFinalizer:function(e){this._finalizerCallbacks.add(e)},start:function(e){this._isInitialized||(i.each(this.submodules,function(t){t.startWithParent&&t.start(e)}),this.triggerMethod("before:start",e),this._initializerCallbacks.run(e,this),this._isInitialized=!0,this.triggerMethod("start",e))},stop:function(){this._isInitialized&&(this._isInitialized=!1,o.triggerMethod.call(this,"before:stop"),i.each(this.submodules,function(e){e.stop()}),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),o.triggerMethod.call(this,"stop"))},addDefinition:function(e,t){this._runModuleDefinition(e,t)},_runModuleDefinition:function(e,n){if(e){var r=i.flatten([this,this.app,t,o,o.$,i,n]);e.apply(this,r)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new o.Callbacks,this._finalizerCallbacks=new o.Callbacks}}),i.extend(o.Module,{create:function(e,t,r){var o=e,s=n(arguments);s.splice(0,3),t=t.split(".");var h=t.length,a=[];return a[h-1]=r,i.each(t,function(t,i){var n=o;o=this._getModule(n,t,e),this._addModuleDefinition(n,o,a[i],s)},this),o},_getModule:function(e,t,i){var n=e[t];return n||(n=new o.Module(t,i),e[t]=n,e.submodules[t]=n),n},_addModuleDefinition:function(e,t,n,r){var o,s;i.isFunction(n)?(o=n,s=!0):i.isObject(n)?(o=n.define,s=n.startWithParent):s=!0,o&&t.addDefinition(o,r),t.startWithParent=t.startWithParent&&s,t.startWithParent&&!t.startWithParentIsConfigured&&(t.startWithParentIsConfigured=!0,e.addInitializer(function(e){t.startWithParent&&t.start(e)}))}}),o}(this,Backbone,_);
21
21
  //@ sourceMappingURL=backbone.marionette.map
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marionette-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,24 +10,24 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-06-05 00:00:00.000000000 Z
13
+ date: 2013-07-10 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: rails
17
- requirement: !ruby/object:Gem::Requirement
18
- none: false
16
+ version_requirements: !ruby/object:Gem::Requirement
19
17
  requirements:
20
18
  - - ! '>='
21
19
  - !ruby/object:Gem::Version
22
20
  version: 3.1.0
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
21
  none: false
22
+ name: rails
23
+ prerelease: false
24
+ requirement: !ruby/object:Gem::Requirement
27
25
  requirements:
28
26
  - - ! '>='
29
27
  - !ruby/object:Gem::Version
30
28
  version: 3.1.0
29
+ none: false
30
+ type: :runtime
31
31
  description: Vendors Backbone.Marionette for use with the asset pipeline.
32
32
  email:
33
33
  - godfreykfc@gmail.com
@@ -36,8 +36,8 @@ executables: []
36
36
  extensions: []
37
37
  extra_rdoc_files: []
38
38
  files:
39
- - lib/marionette-rails/version.rb
40
39
  - lib/marionette-rails.rb
40
+ - lib/marionette-rails/version.rb
41
41
  - vendor/assets/javascripts/backbone.marionette.js
42
42
  - vendor/assets/javascripts/backbone.marionette.map
43
43
  - vendor/assets/javascripts/backbone.marionette.min.js
@@ -50,22 +50,21 @@ rdoc_options: []
50
50
  require_paths:
51
51
  - lib
52
52
  required_ruby_version: !ruby/object:Gem::Requirement
53
- none: false
54
53
  requirements:
55
54
  - - ! '>='
56
55
  - !ruby/object:Gem::Version
57
56
  version: '0'
58
- required_rubygems_version: !ruby/object:Gem::Requirement
59
57
  none: false
58
+ required_rubygems_version: !ruby/object:Gem::Requirement
60
59
  requirements:
61
60
  - - ! '>='
62
61
  - !ruby/object:Gem::Version
63
62
  version: 1.3.6
63
+ none: false
64
64
  requirements: []
65
65
  rubyforge_project:
66
- rubygems_version: 1.8.23
66
+ rubygems_version: 1.8.25
67
67
  signing_key:
68
68
  specification_version: 3
69
69
  summary: Backbone.Marionette for Rails
70
70
  test_files: []
71
- has_rdoc: