marionette-rails 2.4.3 → 2.4.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 16acef451c43b1b641ebcda8ea27d104da2727fd
4
- data.tar.gz: 1a596080d1d6537e891a013aec6f5ebf1dd13d7e
3
+ metadata.gz: fa508685db77a78037cc6008a5197bdc15f23f06
4
+ data.tar.gz: 119d735d1e65100778047c3eeeecbb1be7ae9774
5
5
  SHA512:
6
- metadata.gz: 854134ac8c0f2309f1d212411ca935ccf0c4bde43e0e328c7517b8ac68e64fb9c9015c660ad519683b1dabddaa153725e4f2617fb1530041406e64ea786c96c5
7
- data.tar.gz: e24147b05ba9ecc8916940263b033c0c71b6acfcf66bca0475aa8ad938be278901442e14bf34385156bd66cc23c369121dae7c76d0dc4474c9acdeeb10e58a95
6
+ metadata.gz: eec102f779a4cc6b2f15b225694c87aecddca7606c31653fefd4654811c938be6dd8a51fd3a63fd8473f48e61054a319ee73c64a3b00237fef4278fc4de0b707
7
+ data.tar.gz: 001f87882dec1215784fcdcaf99d3d7de2906aa61978e4755d4b9bee7e69050e04a361ba49428728bf5e055d7b25a750b9d7a9a3edb4ba38b4964d0914b5da82
@@ -1,5 +1,5 @@
1
1
  module Marionette
2
2
  module Rails
3
- VERSION = '2.4.3'
3
+ VERSION = '2.4.4'
4
4
  end
5
5
  end
@@ -1,6 +1,6 @@
1
1
  // MarionetteJS (Backbone.Marionette)
2
2
  // ----------------------------------
3
- // v2.4.3
3
+ // v2.4.4
4
4
  //
5
5
  // Copyright (c)2015 Derick Bailey, Muted Solutions, LLC.
6
6
  // Distributed under MIT license
@@ -489,7 +489,7 @@
489
489
 
490
490
  var Marionette = Backbone.Marionette = {};
491
491
 
492
- Marionette.VERSION = '2.4.3';
492
+ Marionette.VERSION = '2.4.4';
493
493
 
494
494
  Marionette.noConflict = function() {
495
495
  root.Marionette = previousMarionette;
@@ -1019,9 +1019,11 @@
1019
1019
  //this is a noop method intended to be overridden by classes that extend from this base
1020
1020
  initialize: function() {},
1021
1021
 
1022
- destroy: function() {
1023
- this.triggerMethod('before:destroy');
1024
- this.triggerMethod('destroy');
1022
+ destroy: function(options) {
1023
+ options = options || {};
1024
+
1025
+ this.triggerMethod('before:destroy', options);
1026
+ this.triggerMethod('destroy', options);
1025
1027
  this.stopListening();
1026
1028
 
1027
1029
  return this;
@@ -1135,9 +1137,12 @@
1135
1137
  // we can not reuse it.
1136
1138
  view.once('destroy', this.empty, this);
1137
1139
 
1138
- this._renderView(view);
1139
-
1140
+ // make this region the view's parent,
1141
+ // It's important that this parent binding happens before rendering
1142
+ // so that any events the child may trigger during render can also be
1143
+ // triggered on the child's ancestor views
1140
1144
  view._parent = this;
1145
+ this._renderView(view);
1141
1146
 
1142
1147
  if (isChangingView) {
1143
1148
  this.triggerMethod('before:swap', view, this, options);
@@ -1269,7 +1274,7 @@
1269
1274
  var preventDestroy = !!emptyOptions.preventDestroy;
1270
1275
  // If there is no view in the region
1271
1276
  // we should not remove anything
1272
- if (!view) { return; }
1277
+ if (!view) { return this; }
1273
1278
 
1274
1279
  view.off('destroy', this.empty, this);
1275
1280
  this.triggerMethod('before:empty', view);
@@ -1963,6 +1968,10 @@
1963
1968
 
1964
1969
  // call the parent view's childEvents handler
1965
1970
  var childEvents = Marionette.getOption(layoutView, 'childEvents');
1971
+
1972
+ // since childEvents can be an object or a function use Marionette._getValue
1973
+ // to handle the abstaction for us.
1974
+ childEvents = Marionette._getValue(childEvents, layoutView);
1966
1975
  var normalizedChildEvents = layoutView.normalizeMethods(childEvents);
1967
1976
 
1968
1977
  if (normalizedChildEvents && _.isFunction(normalizedChildEvents[eventName])) {
@@ -1988,26 +1997,17 @@
1988
1997
  }, children);
1989
1998
  },
1990
1999
 
1991
- // Internal utility for building an ancestor
1992
- // view tree list.
1993
- _getAncestors: function() {
1994
- var ancestors = [];
2000
+ // Walk the _parent tree until we find a layout view (if one exists).
2001
+ // Returns the parent layout view hierarchically closest to this view.
2002
+ _parentLayoutView: function() {
1995
2003
  var parent = this._parent;
1996
2004
 
1997
2005
  while (parent) {
1998
- ancestors.push(parent);
2006
+ if (parent instanceof Marionette.LayoutView) {
2007
+ return parent;
2008
+ }
1999
2009
  parent = parent._parent;
2000
2010
  }
2001
-
2002
- return ancestors;
2003
- },
2004
-
2005
- // Returns the containing parent view.
2006
- _parentLayoutView: function() {
2007
- var ancestors = this._getAncestors();
2008
- return _.find(ancestors, function(parent) {
2009
- return parent instanceof Marionette.LayoutView;
2010
- });
2011
2011
  },
2012
2012
 
2013
2013
  // Imports the "normalizeMethods" to transform hashes of
@@ -2306,27 +2306,38 @@
2306
2306
  reorder: function() {
2307
2307
  var children = this.children;
2308
2308
  var models = this._filteredSortedModels();
2309
- var modelsChanged = _.find(models, function(model) {
2309
+ var anyModelsAdded = _.some(models, function(model) {
2310
2310
  return !children.findByModel(model);
2311
2311
  });
2312
2312
 
2313
- // If the models we're displaying have changed due to filtering
2314
- // We need to add and/or remove child views
2313
+ // If there are any new models added due to filtering
2314
+ // We need to add child views
2315
2315
  // So render as normal
2316
- if (modelsChanged) {
2316
+ if (anyModelsAdded) {
2317
2317
  this.render();
2318
2318
  } else {
2319
2319
  // get the DOM nodes in the same order as the models
2320
- var els = _.map(models, function(model, index) {
2320
+ var elsToReorder = _.map(models, function(model, index) {
2321
2321
  var view = children.findByModel(model);
2322
2322
  view._index = index;
2323
2323
  return view.el;
2324
2324
  });
2325
2325
 
2326
+ // find the views that were children before but arent in this new ordering
2327
+ var filteredOutViews = children.filter(function(view) {
2328
+ return !_.contains(elsToReorder, view.el);
2329
+ });
2330
+
2331
+ this.triggerMethod('before:reorder');
2332
+
2326
2333
  // since append moves elements that are already in the DOM,
2327
2334
  // appending the elements will effectively reorder them
2328
- this.triggerMethod('before:reorder');
2329
- this._appendReorderedChildren(els);
2335
+ this._appendReorderedChildren(elsToReorder);
2336
+
2337
+ // remove any views that have been filtered out
2338
+ _.each(filteredOutViews, this.removeChildView, this);
2339
+ this.checkEmpty();
2340
+
2330
2341
  this.triggerMethod('reorder');
2331
2342
  }
2332
2343
  },
@@ -3093,8 +3104,9 @@
3093
3104
  return Marionette.ItemView.prototype.destroy.apply(this, arguments);
3094
3105
  },
3095
3106
 
3096
- showChildView: function(regionName, view) {
3097
- return this.getRegion(regionName).show(view);
3107
+ showChildView: function(regionName, view, options) {
3108
+ var region = this.getRegion(regionName);
3109
+ return region.show.apply(region, _.rest(arguments));
3098
3110
  },
3099
3111
 
3100
3112
  getChildView: function(regionName) {
@@ -1 +1 @@
1
- {"version":3,"sources":["?"],"names":["root","factory","define","amd","Backbone","_","Marionette","Mn","exports","require","module","this","previousChildViewContainer","ChildViewContainer","Container","views","_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","VERSION","noConflict","previousWreqr","Wreqr","Handlers","options","_wreqrHandlers","initialize","Model","Events","setHandlers","handlers","handler","name","context","isObject","callback","setHandler","config","trigger","hasHandler","getHandler","removeHandler","removeAllHandlers","CommandStorage","_commands","getCommands","commandName","commands","command","instances","addCommand","push","clearCommands","Commands","storageType","constructor","_initializeStorage","on","_executeCommands","execute","rest","storage","StorageType","RequestResponse","request","EventAggregator","EA","Channel","channelName","vent","reqres","reset","off","stopListening","connectEvents","hash","_connect","connectCommands","connectRequests","type","fn","eventName","bind","radio","Radio","_channels","_proxyMethods","channel","Error","_getChannel","system","messageSystems","proxyMethod","messageSystem","previousMarionette","previousMn","Deferred","$","isNodeAttached","el","contains","document","documentElement","mergeOptions","keys","pick","getOption","target","optionName","undefined","proxyGetOption","_getValue","value","params","normalizeMethods","reduce","normalizedHash","normalizeUIString","uiString","ui","replace","r","slice","normalizeUIKeys","memo","val","normalizedKey","normalizeUIValues","properties","isString","isArray","property","propertyVal","actAsCollection","object","listProperty","list","result","deprecate","message","test","prev","next","url","_cache","_warn","console","warn","log","_triggerMethod","getEventName","match","prefix","toUpperCase","splitter","event","noEventArg","methodName","drop","triggerMethod","triggerMethodOn","fnc","MonitorDOMRefresh","handleShow","_isShown","triggerDOMRefresh","handleRender","_isRendered","_isDomRefreshMonitored","show","render","bindFromStrings","entity","evt","methodNames","split","listenTo","bindToFunction","unbindFromStrings","unbindToFunction","iterateEvents","bindings","functionCallback","stringCallback","bindEntityEvents","unbindEntityEvents","proxyBindEntityEvents","proxyUnbindEntityEvents","errorProps","urlRoot","error","captureStackTrace","toString","Callbacks","_deferred","_callbacks","contextOverride","promise","cb","ctx","then","run","resolve","callbacks","Controller","destroy","Object","Region","$el","getEl","_ensureElement","_ensureViewIsIntact","showOptions","isDifferentView","currentView","preventDestroy","forceShow","isChangingView","_shouldDestroyView","_shouldShowView","_parent","empty","once","_renderView","attachedRegion","displayedViews","attachOptions","triggerBeforeAttach","triggerAttach","_displayedViews","_triggerAttach","attachHtml","union","supportsRenderLifecycle","selector","isDestroyed","parentEl","contents","detach","appendChild","emptyOptions","_destroyView","supportsDestroyLifecycle","attachView","hasView","buildRegion","regionConfig","DefaultRegionClass","_buildRegionFromSelector","regionClass","_buildRegionFromObject","_buildRegionFromRegionClass","RegionClass","omit","RegionManager","_regions","addRegions","regionDefinitions","defaults","regions","definition","addRegion","region","_store","get","getRegions","clone","removeRegion","_remove","removeRegions","emptyRegions","invoke","TemplateCache","templateId","templateCaches","cachedTemplate","load","clear","i","compiledTemplate","template","loadTemplate","compileTemplate","$template","html","rawTemplate","Renderer","data","templateFunc","View","_behaviors","Behaviors","getTemplate","serializeModel","toJSON","mixinTemplateHelpers","templateHelpers","uiBindings","configureTriggers","triggers","events","_buildViewTrigger","delegateEvents","_delegateDOMEvents","collection","behavior","eventsArg","isUndefined","combinedEvents","behaviorEvents","behaviorTriggers","undelegateEvents","unbindUIElements","isRendered","bindUIElements","_bindUIElements","_uiBindings","_unbindUIElements","triggerDef","preventDefault","stopPropagation","e","setElement","ret","_triggerEventOnBehaviors","_triggerEventOnParentLayout","behaviors","layoutView","_parentLayoutView","eventPrefix","prefixedEventName","callArgs","childEvents","normalizedChildEvents","_getImmediateChildren","_getNestedViews","children","_getAncestors","ancestors","parent","find","LayoutView","ItemView","serializeData","items","serializeCollection","_renderTemplate","attachElContent","CollectionView","childViewEventPrefix","sort","_initialEvents","_initChildViewStorage","before:show","_onBeforeShowCalled","_onShowCalled","before:attach","_onBeforeAttachCalled","attach","_onAttachCalled","initRenderBuffer","_bufferedChildren","startBuffering","isBuffering","endBuffering","nestedViews","canTriggerAttach","_triggerMethodMany","_triggerBeforeAttach","attachBuffer","_createBuffer","targets","source","_onCollectionAdd","_onCollectionRemove","_sortViews","child","opts","at","indexOf","_filteredSortedModels","_shouldAddChild","destroyEmptyView","ChildView","getChildView","addChild","removeChildView","checkEmpty","childView","_renderChildren","reorder","models","modelsChanged","els","map","_index","_appendReorderedChildren","resortView","orderChanged","item","_emptyViewIndex","append","destroyChildren","isEmpty","showEmptyView","showCollection","addedAt","viewComparator","getViewComparator","Math","min","max","addedModel","_sortModelsBy","splice","filter","comparator","sortBy","EmptyView","getEmptyView","_showingEmptyView","addEmptyView","emptyViewOptions","buildChildView","proxyChildEvents","_getViewAndNested","renderChildView","childViewOptions","_updateIndices","_addChildView","increment","laterView","ChildViewClass","collectionView","buffer","elBuffer","createDocumentFragment","b","_insertBefore","_insertAfter","findPosition","before","destroyOptions","shouldCheckEmpty","childViews","identity","rootEvent","CompositeView","partial","_isRendering","resetChildViewContainer","compositeView","$container","getChildViewContainer","containerView","$childViewContainer","container","childViewContainer","charAt","substr","destroyImmediate","_firstRender","_initializeRegions","_reInitializeRegions","regionManager","showChildView","regionName","getRegion","_buildRegions","_initRegionManager","regionOptions","getRegionManager","chain","pluck","compact","Behavior","proxyViewProperties","parseBehaviors","wrap","BehaviorTriggersBuilder","_view","_triggers","getBehaviorsUI","delegateEventSplitter","triggerBuilder","buildBehaviorTriggers","_behaviorsEvents","_events","j","behaviour","join","eventKey","behaviorsLookup","getBehaviorClass","behaviorClass","BehaviorClass","nestedBehaviors","flatten","_buildTriggerHandlersForBehavior","triggersHash","_setHandlerForBehavior","triggerKey","triggerName","AppRouter","Router","appRoutes","controller","_getController","processAppRoutes","_processOnRoute","appRoute","route","_addAppRoute","routeName","routeArgs","onRoute","routePath","invert","routeNames","reverse","Application","_initCallbacks","submodules","_initChannel","addInitializer","initializer","start","_regionManager","moduleNames","moduleDefinition","ModuleClass","Module","getClass","unshift","create","optionRegions","moduleName","app","_setupInitializersAndFinalizers","startWithParent","_initializerCallbacks","addFinalizer","_finalizerCallbacks","_isInitialized","mod","stop","addDefinition","customArgs","_runModuleDefinition","moduleDefinitions","parentModule","_getModule","_addModuleDefinition","def","moduleClass","_getDefine","_getStartWithParent","_addStartWithParent","swp","startWithParentIsConfigured"],"mappings":"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","file":"lib/backbone.marionette.min.js"}
1
+ {"version":3,"sources":["?"],"names":["root","factory","define","amd","Backbone","_","Marionette","Mn","exports","require","module","this","previousChildViewContainer","ChildViewContainer","Container","views","_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","VERSION","noConflict","previousWreqr","Wreqr","Handlers","options","_wreqrHandlers","initialize","Model","Events","setHandlers","handlers","handler","name","context","isObject","callback","setHandler","config","trigger","hasHandler","getHandler","removeHandler","removeAllHandlers","CommandStorage","_commands","getCommands","commandName","commands","command","instances","addCommand","push","clearCommands","Commands","storageType","constructor","_initializeStorage","on","_executeCommands","execute","rest","storage","StorageType","RequestResponse","request","EventAggregator","EA","Channel","channelName","vent","reqres","reset","off","stopListening","connectEvents","hash","_connect","connectCommands","connectRequests","type","fn","eventName","bind","radio","Radio","_channels","_proxyMethods","channel","Error","_getChannel","system","messageSystems","proxyMethod","messageSystem","previousMarionette","previousMn","Deferred","$","isNodeAttached","el","contains","document","documentElement","mergeOptions","keys","pick","getOption","target","optionName","undefined","proxyGetOption","_getValue","value","params","normalizeMethods","reduce","normalizedHash","normalizeUIString","uiString","ui","replace","r","slice","normalizeUIKeys","memo","val","normalizedKey","normalizeUIValues","properties","isString","isArray","property","propertyVal","actAsCollection","object","listProperty","list","result","deprecate","message","test","prev","next","url","_cache","_warn","console","warn","log","_triggerMethod","getEventName","match","prefix","toUpperCase","splitter","event","noEventArg","methodName","drop","triggerMethod","triggerMethodOn","fnc","MonitorDOMRefresh","handleShow","_isShown","triggerDOMRefresh","handleRender","_isRendered","_isDomRefreshMonitored","show","render","bindFromStrings","entity","evt","methodNames","split","listenTo","bindToFunction","unbindFromStrings","unbindToFunction","iterateEvents","bindings","functionCallback","stringCallback","bindEntityEvents","unbindEntityEvents","proxyBindEntityEvents","proxyUnbindEntityEvents","errorProps","urlRoot","error","captureStackTrace","toString","Callbacks","_deferred","_callbacks","contextOverride","promise","cb","ctx","then","run","resolve","callbacks","Controller","destroy","Object","Region","$el","getEl","_ensureElement","_ensureViewIsIntact","showOptions","isDifferentView","currentView","preventDestroy","forceShow","isChangingView","_shouldDestroyView","_shouldShowView","_parent","empty","once","_renderView","attachedRegion","displayedViews","attachOptions","triggerBeforeAttach","triggerAttach","_displayedViews","_triggerAttach","attachHtml","union","supportsRenderLifecycle","selector","isDestroyed","parentEl","contents","detach","appendChild","emptyOptions","_destroyView","supportsDestroyLifecycle","attachView","hasView","buildRegion","regionConfig","DefaultRegionClass","_buildRegionFromSelector","regionClass","_buildRegionFromObject","_buildRegionFromRegionClass","RegionClass","omit","RegionManager","_regions","addRegions","regionDefinitions","defaults","regions","definition","addRegion","region","_store","get","getRegions","clone","removeRegion","_remove","removeRegions","emptyRegions","invoke","TemplateCache","templateId","templateCaches","cachedTemplate","load","clear","i","compiledTemplate","template","loadTemplate","compileTemplate","$template","html","rawTemplate","Renderer","data","templateFunc","View","_behaviors","Behaviors","getTemplate","serializeModel","toJSON","mixinTemplateHelpers","templateHelpers","uiBindings","configureTriggers","triggers","events","_buildViewTrigger","delegateEvents","_delegateDOMEvents","collection","behavior","eventsArg","isUndefined","combinedEvents","behaviorEvents","behaviorTriggers","undelegateEvents","unbindUIElements","isRendered","bindUIElements","_bindUIElements","_uiBindings","_unbindUIElements","triggerDef","preventDefault","stopPropagation","e","setElement","ret","_triggerEventOnBehaviors","_triggerEventOnParentLayout","behaviors","layoutView","_parentLayoutView","eventPrefix","prefixedEventName","callArgs","childEvents","normalizedChildEvents","_getImmediateChildren","_getNestedViews","children","parent","LayoutView","ItemView","serializeData","items","serializeCollection","_renderTemplate","attachElContent","CollectionView","childViewEventPrefix","sort","_initialEvents","_initChildViewStorage","before:show","_onBeforeShowCalled","_onShowCalled","before:attach","_onBeforeAttachCalled","attach","_onAttachCalled","initRenderBuffer","_bufferedChildren","startBuffering","isBuffering","endBuffering","nestedViews","canTriggerAttach","_triggerMethodMany","_triggerBeforeAttach","attachBuffer","_createBuffer","targets","source","_onCollectionAdd","_onCollectionRemove","_sortViews","child","opts","at","indexOf","_filteredSortedModels","_shouldAddChild","destroyEmptyView","ChildView","getChildView","addChild","removeChildView","checkEmpty","childView","_renderChildren","reorder","models","anyModelsAdded","some","elsToReorder","map","_index","filteredOutViews","filter","_appendReorderedChildren","resortView","orderChanged","find","item","_emptyViewIndex","append","destroyChildren","isEmpty","showEmptyView","showCollection","addedAt","viewComparator","getViewComparator","Math","min","max","addedModel","_sortModelsBy","splice","comparator","sortBy","EmptyView","getEmptyView","_showingEmptyView","addEmptyView","emptyViewOptions","buildChildView","proxyChildEvents","_getViewAndNested","renderChildView","childViewOptions","_updateIndices","_addChildView","increment","laterView","ChildViewClass","collectionView","buffer","elBuffer","createDocumentFragment","b","_insertBefore","_insertAfter","findPosition","before","destroyOptions","shouldCheckEmpty","childViews","identity","rootEvent","CompositeView","partial","_isRendering","resetChildViewContainer","compositeView","$container","getChildViewContainer","containerView","$childViewContainer","container","childViewContainer","charAt","substr","destroyImmediate","_firstRender","_initializeRegions","_reInitializeRegions","regionManager","showChildView","regionName","getRegion","_buildRegions","_initRegionManager","regionOptions","getRegionManager","chain","pluck","compact","Behavior","proxyViewProperties","parseBehaviors","wrap","BehaviorTriggersBuilder","_view","_triggers","getBehaviorsUI","delegateEventSplitter","triggerBuilder","buildBehaviorTriggers","_behaviorsEvents","_events","j","behaviour","join","eventKey","behaviorsLookup","getBehaviorClass","behaviorClass","BehaviorClass","nestedBehaviors","flatten","_buildTriggerHandlersForBehavior","triggersHash","_setHandlerForBehavior","triggerKey","triggerName","AppRouter","Router","appRoutes","controller","_getController","processAppRoutes","_processOnRoute","appRoute","route","_addAppRoute","routeName","routeArgs","onRoute","routePath","invert","routeNames","reverse","Application","_initCallbacks","submodules","_initChannel","addInitializer","initializer","start","_regionManager","moduleNames","moduleDefinition","ModuleClass","Module","getClass","unshift","create","optionRegions","moduleName","app","_setupInitializersAndFinalizers","startWithParent","_initializerCallbacks","addFinalizer","_finalizerCallbacks","_isInitialized","mod","stop","addDefinition","customArgs","_runModuleDefinition","moduleDefinitions","parentModule","_getModule","_addModuleDefinition","def","moduleClass","_getDefine","_getStartWithParent","_addStartWithParent","swp","startWithParentIsConfigured"],"mappings":"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","file":"lib/backbone.marionette.min.js"}
@@ -1,6 +1,6 @@
1
1
  // MarionetteJS (Backbone.Marionette)
2
2
  // ----------------------------------
3
- // v2.4.3
3
+ // v2.4.4
4
4
  //
5
5
  // Copyright (c)2015 Derick Bailey, Muted Solutions, LLC.
6
6
  // Distributed under MIT license
@@ -17,6 +17,6 @@
17
17
  */
18
18
 
19
19
 
20
- (function(e,t){if("function"==typeof define&&define.amd)define(["backbone","underscore"],function(i,n){return e.Marionette=e.Mn=t(e,i,n)});else if("undefined"!=typeof exports){var i=require("backbone"),n=require("underscore");module.exports=t(e,i,n)}else e.Marionette=e.Mn=t(e,e.Backbone,e._)})(this,function(e,t,i){"use strict";(function(e,t){var i=e.ChildViewContainer;return e.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;return this._views[i]=e,e.model&&(this._indexByModel[e.model.cid]=i),t&&(this._indexByCustom[t]=i),this._updateLength(),this},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;return 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(),this},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","reduce"];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}(e,t),e.ChildViewContainer.VERSION="0.1.10",e.ChildViewContainer.noConflict=function(){return e.ChildViewContainer=i,this},e.ChildViewContainer})(t,i),function(e,t){var i=e.Wreqr,n=e.Wreqr={};return e.Wreqr.VERSION="1.3.5",e.Wreqr.noConflict=function(){return e.Wreqr=i,this},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)return function(){return t.callback.apply(t.context,arguments)}},removeHandler:function(e){delete this._wreqrHandlers[e]},removeAllHandlers:function(){this._wreqrHandlers={}}}),i}(e,t),n.CommandStorage=function(){var i=function(e){this.options=e,this._commands={},t.isFunction(this.initialize)&&this.initialize(e)};return t.extend(i.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=[]}}),i}(),n.Commands=function(e,t){return e.Handlers.extend({storageType:e.CommandStorage,constructor:function(t){this.options=t||{},this._initializeStorage(this.options),this.on("handler:add",this._executeCommands,this),e.Handlers.prototype.constructor.apply(this,arguments)},execute:function(e){e=arguments[0];var i=t.rest(arguments);this.hasHandler(e)?this.getHandler(e).apply(this,i):this.storage.addCommand(e,i)},_executeCommands:function(e,i,n){var r=this.storage.getCommands(e);t.each(r.instances,function(e){i.apply(n,e)}),this.storage.clearCommands(e)},_initializeStorage:function(e){var i,n=e.storageType||this.storageType;i=t.isFunction(n)?new n:n,this.storage=i}})}(n,t),n.RequestResponse=function(e,t){return e.Handlers.extend({request:function(e){return this.hasHandler(e)?this.getHandler(e).apply(this,t.rest(arguments)):void 0}})}(n,t),n.EventAggregator=function(e,t){var i=function(){};return i.extend=e.Model.extend,t.extend(i.prototype,e.Events),i}(e,t),n.Channel=function(){var i=function(t){this.vent=new e.Wreqr.EventAggregator,this.reqres=new e.Wreqr.RequestResponse,this.commands=new e.Wreqr.Commands,this.channelName=t};return t.extend(i.prototype,{reset:function(){return this.vent.off(),this.vent.stopListening(),this.reqres.removeAllHandlers(),this.commands.removeAllHandlers(),this},connectEvents:function(e,t){return this._connect("vent",e,t),this},connectCommands:function(e,t){return this._connect("commands",e,t),this},connectRequests:function(e,t){return this._connect("reqres",e,t),this},_connect:function(e,i,n){if(i){n=n||this;var r="vent"===e?"on":"setHandler";t.each(i,function(i,s){this[e][r](s,t.bind(i,n))},this)}}}),i}(n),n.radio=function(e,t){var i=function(){this._channels={},this.vent={},this.commands={},this.reqres={},this._proxyMethods()};t.extend(i.prototype,{channel:function(e){if(!e)throw Error("Channel must receive a name");return this._getChannel(e)},_getChannel:function(t){var i=this._channels[t];return i||(i=new e.Channel(t),this._channels[t]=i),i},_proxyMethods:function(){t.each(["vent","commands","reqres"],function(e){t.each(n[e],function(t){this[e][t]=r(this,e,t)},this)},this)}});var n={vent:["on","off","trigger","once","stopListening","listenTo","listenToOnce"],commands:["execute","setHandler","setHandlers","removeHandler","removeAllHandlers"],reqres:["request","setHandler","setHandlers","removeHandler","removeAllHandlers"]},r=function(e,i,n){return function(r){var s=e._getChannel(r)[i];return s[n].apply(s,t.rest(arguments))}};return new i}(n,t),e.Wreqr}(t,i);var n=e.Marionette,r=e.Mn,s=t.Marionette={};s.VERSION="2.4.3",s.noConflict=function(){return e.Marionette=n,e.Mn=r,this},t.Marionette=s,s.Deferred=t.$.Deferred,s.extend=t.Model.extend,s.isNodeAttached=function(e){return t.$.contains(document.documentElement,e)},s.mergeOptions=function(e,t){e&&i.extend(this,i.pick(e,t))},s.getOption=function(e,t){return e&&t?e.options&&void 0!==e.options[t]?e.options[t]:e[t]:void 0},s.proxyGetOption=function(e){return s.getOption(this,e)},s._getValue=function(e,t,n){return i.isFunction(e)&&(e=n?e.apply(t,n):e.call(t)),e},s.normalizeMethods=function(e){return i.reduce(e,function(e,t,n){return i.isFunction(t)||(t=this[t]),t&&(e[n]=t),e},{},this)},s.normalizeUIString=function(e,t){return e.replace(/@ui\.[a-zA-Z_$0-9]*/g,function(e){return t[e.slice(4)]})},s.normalizeUIKeys=function(e,t){return i.reduce(e,function(e,i,n){var r=s.normalizeUIString(n,t);return e[r]=i,e},{})},s.normalizeUIValues=function(e,t,n){return i.each(e,function(r,o){i.isString(r)?e[o]=s.normalizeUIString(r,t):i.isObject(r)&&i.isArray(n)&&(i.extend(r,s.normalizeUIValues(i.pick(r,n),t)),i.each(n,function(e){var n=r[e];i.isString(n)&&(r[e]=s.normalizeUIString(n,t))}))}),e},s.actAsCollection=function(e,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"];i.each(n,function(n){e[n]=function(){var e=i.values(i.result(this,t)),r=[e].concat(i.toArray(arguments));return i[n].apply(i,r)}})};var o=s.deprecate=function(e,t){i.isObject(e)&&(e=e.prev+" is going to be removed in the future. "+"Please use "+e.next+" instead."+(e.url?" See: "+e.url:"")),void 0!==t&&t||o._cache[e]||(o._warn("Deprecation warning: "+e),o._cache[e]=!0)};o._warn="undefined"!=typeof console&&(console.warn||console.log)||function(){},o._cache={},s._triggerMethod=function(){function e(e,t,i){return i.toUpperCase()}var t=/(^|:)(\w)/gi;return function(n,r,s){var o=3>arguments.length;o&&(s=r,r=s[0]);var h,a="on"+r.replace(t,e),d=n[a];return i.isFunction(d)&&(h=d.apply(n,o?i.rest(s):s)),i.isFunction(n.trigger)&&(o+s.length>1?n.trigger.apply(n,o?s:[r].concat(i.drop(s,0))):n.trigger(r)),h}}(),s.triggerMethod=function(){return s._triggerMethod(this,arguments)},s.triggerMethodOn=function(e){var t=i.isFunction(e.triggerMethod)?e.triggerMethod:s.triggerMethod;return t.apply(e,i.rest(arguments))},s.MonitorDOMRefresh=function(e){function t(){e._isShown=!0,n()}function i(){e._isRendered=!0,n()}function n(){e._isShown&&e._isRendered&&s.isNodeAttached(e.el)&&s.triggerMethodOn(e,"dom:refresh",e)}e._isDomRefreshMonitored||(e._isDomRefreshMonitored=!0,e.on({show:t,render:i}))},function(e){function t(t,n,r,s){var o=s.split(/\s+/);i.each(o,function(i){var s=t[i];if(!s)throw new e.Error('Method "'+i+'" was configured as an event handler, but does not exist.');t.listenTo(n,r,s)})}function n(e,t,i,n){e.listenTo(t,i,n)}function r(e,t,n,r){var s=r.split(/\s+/);i.each(s,function(i){var r=e[i];e.stopListening(t,n,r)})}function s(e,t,i,n){e.stopListening(t,i,n)}function o(t,n,r,s,o){if(n&&r){if(!i.isObject(r))throw new e.Error({message:"Bindings must be an object or function.",url:"marionette.functions.html#marionettebindentityevents"});r=e._getValue(r,t),i.each(r,function(e,r){i.isFunction(e)?s(t,n,r,e):o(t,n,r,e)})}}e.bindEntityEvents=function(e,i,r){o(e,i,r,n,t)},e.unbindEntityEvents=function(e,t,i){o(e,t,i,s,r)},e.proxyBindEntityEvents=function(t,i){return e.bindEntityEvents(this,t,i)},e.proxyUnbindEntityEvents=function(t,i){return e.unbindEntityEvents(this,t,i)}}(s);var h=["description","fileName","lineNumber","name","message","number"];return s.Error=s.extend.call(Error,{urlRoot:"http://marionettejs.com/docs/v"+s.VERSION+"/",constructor:function(e,t){i.isObject(e)?(t=e,e=t.message):t||(t={});var n=Error.call(this,e);i.extend(this,i.pick(n,h),i.pick(t,h)),this.captureStackTrace(),t.url&&(this.url=this.urlRoot+t.url)},captureStackTrace:function(){Error.captureStackTrace&&Error.captureStackTrace(this,s.Error)},toString:function(){return this.name+": "+this.message+(this.url?" See: "+this.url:"")}}),s.Error.extend=s.extend,s.Callbacks=function(){this._deferred=s.Deferred(),this._callbacks=[]},i.extend(s.Callbacks.prototype,{add:function(e,t){var n=i.result(this._deferred,"promise");this._callbacks.push({cb:e,ctx:t}),n.then(function(i){t&&(i.context=t),e.call(i.context,i.options)})},run:function(e,t){this._deferred.resolve({options:e,context:t})},reset:function(){var e=this._callbacks;this._deferred=s.Deferred(),this._callbacks=[],i.each(e,function(e){this.add(e.cb,e.ctx)},this)}}),s.Controller=function(e){this.options=e||{},i.isFunction(this.initialize)&&this.initialize(this.options)},s.Controller.extend=s.extend,i.extend(s.Controller.prototype,t.Events,{destroy:function(){return s._triggerMethod(this,"before:destroy",arguments),s._triggerMethod(this,"destroy",arguments),this.stopListening(),this.off(),this},triggerMethod:s.triggerMethod,mergeOptions:s.mergeOptions,getOption:s.proxyGetOption}),s.Object=function(e){this.options=i.extend({},i.result(this,"options"),e),this.initialize.apply(this,arguments)},s.Object.extend=s.extend,i.extend(s.Object.prototype,t.Events,{initialize:function(){},destroy:function(){return this.triggerMethod("before:destroy"),this.triggerMethod("destroy"),this.stopListening(),this},triggerMethod:s.triggerMethod,mergeOptions:s.mergeOptions,getOption:s.proxyGetOption,bindEntityEvents:s.proxyBindEntityEvents,unbindEntityEvents:s.proxyUnbindEntityEvents}),s.Region=s.Object.extend({constructor:function(e){if(this.options=e||{},this.el=this.getOption("el"),this.el=this.el instanceof t.$?this.el[0]:this.el,!this.el)throw new s.Error({name:"NoElError",message:'An "el" must be specified for a region.'});this.$el=this.getEl(this.el),s.Object.call(this,e)},show:function(e,t){if(this._ensureElement()){this._ensureViewIsIntact(e),s.MonitorDOMRefresh(e);var n=t||{},r=e!==this.currentView,o=!!n.preventDestroy,h=!!n.forceShow,a=!!this.currentView,d=r&&!o,l=r||h;if(a&&this.triggerMethod("before:swapOut",this.currentView,this,t),this.currentView&&delete this.currentView._parent,d?this.empty():a&&l&&this.currentView.off("destroy",this.empty,this),l){e.once("destroy",this.empty,this),this._renderView(e),e._parent=this,a&&this.triggerMethod("before:swap",e,this,t),this.triggerMethod("before:show",e,this,t),s.triggerMethodOn(e,"before:show",e,this,t),a&&this.triggerMethod("swapOut",this.currentView,this,t);var c=s.isNodeAttached(this.el),u=[],g=i.extend({triggerBeforeAttach:this.triggerBeforeAttach,triggerAttach:this.triggerAttach},n);return c&&g.triggerBeforeAttach&&(u=this._displayedViews(e),this._triggerAttach(u,"before:")),this.attachHtml(e),this.currentView=e,c&&g.triggerAttach&&(u=this._displayedViews(e),this._triggerAttach(u)),a&&this.triggerMethod("swap",e,this,t),this.triggerMethod("show",e,this,t),s.triggerMethodOn(e,"show",e,this,t),this}return this}},triggerBeforeAttach:!0,triggerAttach:!0,_triggerAttach:function(e,t){var n=(t||"")+"attach";i.each(e,function(e){s.triggerMethodOn(e,n,e,this)},this)},_displayedViews:function(e){return i.union([e],i.result(e,"_getNestedViews")||[])},_renderView:function(e){e.supportsRenderLifecycle||s.triggerMethodOn(e,"before:render",e),e.render(),e.supportsRenderLifecycle||s.triggerMethodOn(e,"render",e)},_ensureElement:function(){if(i.isObject(this.el)||(this.$el=this.getEl(this.el),this.el=this.$el[0]),!this.$el||0===this.$el.length){if(this.getOption("allowMissingEl"))return!1;throw new s.Error('An "el" '+this.$el.selector+" must exist in DOM")}return!0},_ensureViewIsIntact:function(e){if(!e)throw new s.Error({name:"ViewNotValid",message:"The view passed is undefined and therefore invalid. You must pass a view instance to show."});if(e.isDestroyed)throw new s.Error({name:"ViewDestroyedError",message:'View (cid: "'+e.cid+'") has already been destroyed and cannot be used.'})},getEl:function(e){return t.$(e,s._getValue(this.options.parentEl,this))},attachHtml:function(e){this.$el.contents().detach(),this.el.appendChild(e.el)},empty:function(e){var t=this.currentView,i=e||{},n=!!i.preventDestroy;return t?(t.off("destroy",this.empty,this),this.triggerMethod("before:empty",t),n||this._destroyView(),this.triggerMethod("empty",t),delete this.currentView,n&&this.$el.contents().detach(),this):void 0},_destroyView:function(){var e=this.currentView;e.isDestroyed||(e.supportsDestroyLifecycle||s.triggerMethodOn(e,"before:destroy",e),e.destroy?e.destroy():(e.remove(),e.isDestroyed=!0),e.supportsDestroyLifecycle||s.triggerMethodOn(e,"destroy",e))},attachView:function(e){return this.currentView&&delete this.currentView._parent,e._parent=this,this.currentView=e,this},hasView:function(){return!!this.currentView},reset:function(){return this.empty(),this.$el&&(this.el=this.$el.selector),delete this.$el,this}},{buildRegion:function(e,t){if(i.isString(e))return this._buildRegionFromSelector(e,t);if(e.selector||e.el||e.regionClass)return this._buildRegionFromObject(e,t);if(i.isFunction(e))return this._buildRegionFromRegionClass(e);throw new s.Error({message:"Improper region configuration type.",url:"marionette.region.html#region-configuration-types"})},_buildRegionFromSelector:function(e,t){return new t({el:e})},_buildRegionFromObject:function(e,t){var n=e.regionClass||t,r=i.omit(e,"selector","regionClass");return e.selector&&!r.el&&(r.el=e.selector),new n(r)},_buildRegionFromRegionClass:function(e){return new e}}),s.RegionManager=s.Controller.extend({constructor:function(e){this._regions={},this.length=0,s.Controller.call(this,e),this.addRegions(this.getOption("regions"))},addRegions:function(e,t){return e=s._getValue(e,this,arguments),i.reduce(e,function(e,n,r){return i.isString(n)&&(n={selector:n}),n.selector&&(n=i.defaults({},n,t)),e[r]=this.addRegion(r,n),e},{},this)},addRegion:function(e,t){var i;return i=t instanceof s.Region?t:s.Region.buildRegion(t,s.Region),this.triggerMethod("before:add:region",e,i),i._parent=this,this._store(e,i),this.triggerMethod("add:region",e,i),i},get:function(e){return this._regions[e]},getRegions:function(){return i.clone(this._regions)},removeRegion:function(e){var t=this._regions[e];return this._remove(e,t),t},removeRegions:function(){var e=this.getRegions();return i.each(this._regions,function(e,t){this._remove(t,e)},this),e},emptyRegions:function(){var e=this.getRegions();return i.invoke(e,"empty"),e},destroy:function(){return this.removeRegions(),s.Controller.prototype.destroy.apply(this,arguments)},_store:function(e,t){this._regions[e]||this.length++,this._regions[e]=t},_remove:function(e,t){this.triggerMethod("before:remove:region",e,t),t.empty(),t.stopListening(),delete t._parent,delete this._regions[e],this.length--,this.triggerMethod("remove:region",e,t)}}),s.actAsCollection(s.RegionManager.prototype,"_regions"),s.TemplateCache=function(e){this.templateId=e},i.extend(s.TemplateCache,{templateCaches:{},get:function(e,t){var i=this.templateCaches[e];return i||(i=new s.TemplateCache(e),this.templateCaches[e]=i),i.load(t)},clear:function(){var e,t=i.toArray(arguments),n=t.length;if(n>0)for(e=0;n>e;e++)delete this.templateCaches[t[e]];else this.templateCaches={}}}),i.extend(s.TemplateCache.prototype,{load:function(e){if(this.compiledTemplate)return this.compiledTemplate;var t=this.loadTemplate(this.templateId,e);return this.compiledTemplate=this.compileTemplate(t,e),this.compiledTemplate},loadTemplate:function(e){var i=t.$(e);if(!i.length)throw new s.Error({name:"NoTemplateError",message:'Could not find template: "'+e+'"'});return i.html()},compileTemplate:function(e,t){return i.template(e,t)}}),s.Renderer={render:function(e,t){if(!e)throw new s.Error({name:"TemplateNotFoundError",message:"Cannot render the template since its false, null or undefined."});var n=i.isFunction(e)?e:s.TemplateCache.get(e);return n(t)}},s.View=t.View.extend({isDestroyed:!1,supportsRenderLifecycle:!0,supportsDestroyLifecycle:!0,constructor:function(e){this.render=i.bind(this.render,this),e=s._getValue(e,this),this.options=i.extend({},i.result(this,"options"),e),this._behaviors=s.Behaviors(this),t.View.call(this,this.options),s.MonitorDOMRefresh(this)},getTemplate:function(){return this.getOption("template")},serializeModel:function(e){return e.toJSON.apply(e,i.rest(arguments))},mixinTemplateHelpers:function(e){e=e||{};var t=this.getOption("templateHelpers");return t=s._getValue(t,this),i.extend(e,t)},normalizeUIKeys:function(e){var t=i.result(this,"_uiBindings");return s.normalizeUIKeys(e,t||i.result(this,"ui"))},normalizeUIValues:function(e,t){var n=i.result(this,"ui"),r=i.result(this,"_uiBindings");return s.normalizeUIValues(e,r||n,t)},configureTriggers:function(){if(this.triggers){var e=this.normalizeUIKeys(i.result(this,"triggers"));return i.reduce(e,function(e,t,i){return e[i]=this._buildViewTrigger(t),e},{},this)}},delegateEvents:function(e){return this._delegateDOMEvents(e),this.bindEntityEvents(this.model,this.getOption("modelEvents")),this.bindEntityEvents(this.collection,this.getOption("collectionEvents")),i.each(this._behaviors,function(e){e.bindEntityEvents(this.model,e.getOption("modelEvents")),e.bindEntityEvents(this.collection,e.getOption("collectionEvents"))},this),this},_delegateDOMEvents:function(e){var n=s._getValue(e||this.events,this);n=this.normalizeUIKeys(n),i.isUndefined(e)&&(this.events=n);var r={},o=i.result(this,"behaviorEvents")||{},h=this.configureTriggers(),a=i.result(this,"behaviorTriggers")||{};i.extend(r,o,n,h,a),t.View.prototype.delegateEvents.call(this,r)},undelegateEvents:function(){return t.View.prototype.undelegateEvents.apply(this,arguments),this.unbindEntityEvents(this.model,this.getOption("modelEvents")),this.unbindEntityEvents(this.collection,this.getOption("collectionEvents")),i.each(this._behaviors,function(e){e.unbindEntityEvents(this.model,e.getOption("modelEvents")),e.unbindEntityEvents(this.collection,e.getOption("collectionEvents"))},this),this},_ensureViewIsIntact:function(){if(this.isDestroyed)throw new s.Error({name:"ViewDestroyedError",message:'View (cid: "'+this.cid+'") has already been destroyed and cannot be used.'})},destroy:function(){if(this.isDestroyed)return this;var e=i.toArray(arguments);return this.triggerMethod.apply(this,["before:destroy"].concat(e)),this.isDestroyed=!0,this.triggerMethod.apply(this,["destroy"].concat(e)),this.unbindUIElements(),this.isRendered=!1,this.remove(),i.invoke(this._behaviors,"destroy",e),this},bindUIElements:function(){this._bindUIElements(),i.invoke(this._behaviors,this._bindUIElements)},_bindUIElements:function(){if(this.ui){this._uiBindings||(this._uiBindings=this.ui);var e=i.result(this,"_uiBindings");this.ui={},i.each(e,function(e,t){this.ui[t]=this.$(e)},this)}},unbindUIElements:function(){this._unbindUIElements(),i.invoke(this._behaviors,this._unbindUIElements)},_unbindUIElements:function(){this.ui&&this._uiBindings&&(i.each(this.ui,function(e,t){delete this.ui[t]},this),this.ui=this._uiBindings,delete this._uiBindings)},_buildViewTrigger:function(e){var t=i.defaults({},e,{preventDefault:!0,stopPropagation:!0}),n=i.isObject(e)?t.event:e;return function(e){e&&(e.preventDefault&&t.preventDefault&&e.preventDefault(),e.stopPropagation&&t.stopPropagation&&e.stopPropagation());var i={view:this,model:this.model,collection:this.collection};this.triggerMethod(n,i)}},setElement:function(){var e=t.View.prototype.setElement.apply(this,arguments);return i.invoke(this._behaviors,"proxyViewProperties",this),e},triggerMethod:function(){var e=s._triggerMethod(this,arguments);return this._triggerEventOnBehaviors(arguments),this._triggerEventOnParentLayout(arguments[0],i.rest(arguments)),e},_triggerEventOnBehaviors:function(e){for(var t=s._triggerMethod,i=this._behaviors,n=0,r=i&&i.length;r>n;n++)t(i[n],e)},_triggerEventOnParentLayout:function(e,t){var n=this._parentLayoutView();if(n){var r=s.getOption(n,"childViewEventPrefix"),o=r+":"+e,h=[this].concat(t);s._triggerMethod(n,o,h);var a=s.getOption(n,"childEvents"),d=n.normalizeMethods(a);d&&i.isFunction(d[e])&&d[e].apply(n,h)}},_getImmediateChildren:function(){return[]},_getNestedViews:function(){var e=this._getImmediateChildren();return e.length?i.reduce(e,function(e,t){return t._getNestedViews?e.concat(t._getNestedViews()):e},e):e},_getAncestors:function(){for(var e=[],t=this._parent;t;)e.push(t),t=t._parent;return e},_parentLayoutView:function(){var e=this._getAncestors();return i.find(e,function(e){return e instanceof s.LayoutView})},normalizeMethods:s.normalizeMethods,mergeOptions:s.mergeOptions,getOption:s.proxyGetOption,bindEntityEvents:s.proxyBindEntityEvents,unbindEntityEvents:s.proxyUnbindEntityEvents}),s.ItemView=s.View.extend({constructor:function(){s.View.apply(this,arguments)},serializeData:function(){if(!this.model&&!this.collection)return{};var e=[this.model||this.collection];return arguments.length&&e.push.apply(e,arguments),this.model?this.serializeModel.apply(this,e):{items:this.serializeCollection.apply(this,e)}},serializeCollection:function(e){return e.toJSON.apply(e,i.rest(arguments))},render:function(){return this._ensureViewIsIntact(),this.triggerMethod("before:render",this),this._renderTemplate(),this.isRendered=!0,this.bindUIElements(),this.triggerMethod("render",this),this},_renderTemplate:function(){var e=this.getTemplate();if(e!==!1){if(!e)throw new s.Error({name:"UndefinedTemplateError",message:"Cannot render the template since it is null or undefined."});var t=this.mixinTemplateHelpers(this.serializeData()),i=s.Renderer.render(e,t,this);return this.attachElContent(i),this}},attachElContent:function(e){return this.$el.html(e),this}}),s.CollectionView=s.View.extend({childViewEventPrefix:"childview",sort:!0,constructor:function(){this.once("render",this._initialEvents),this._initChildViewStorage(),s.View.apply(this,arguments),this.on({"before:show":this._onBeforeShowCalled,show:this._onShowCalled,"before:attach":this._onBeforeAttachCalled,attach:this._onAttachCalled}),this.initRenderBuffer()},initRenderBuffer:function(){this._bufferedChildren=[]},startBuffering:function(){this.initRenderBuffer(),this.isBuffering=!0},endBuffering:function(){var e,t=this._isShown&&s.isNodeAttached(this.el);this.isBuffering=!1,this._isShown&&this._triggerMethodMany(this._bufferedChildren,this,"before:show"),t&&this._triggerBeforeAttach&&(e=this._getNestedViews(),this._triggerMethodMany(e,this,"before:attach")),this.attachBuffer(this,this._createBuffer()),t&&this._triggerAttach&&(e=this._getNestedViews(),this._triggerMethodMany(e,this,"attach")),this._isShown&&this._triggerMethodMany(this._bufferedChildren,this,"show"),this.initRenderBuffer()},_triggerMethodMany:function(e,t,n){var r=i.drop(arguments,3);i.each(e,function(e){s.triggerMethodOn.apply(e,[e,n,e,t].concat(r))})},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this._onCollectionAdd),this.listenTo(this.collection,"remove",this._onCollectionRemove),this.listenTo(this.collection,"reset",this.render),this.getOption("sort")&&this.listenTo(this.collection,"sort",this._sortViews))},_onCollectionAdd:function(e,t,n){var r=void 0!==n.at&&(n.index||t.indexOf(e));if((this.getOption("filter")||r===!1)&&(r=i.indexOf(this._filteredSortedModels(r),e)),this._shouldAddChild(e,r)){this.destroyEmptyView();var s=this.getChildView(e);this.addChild(e,s,r)}},_onCollectionRemove:function(e){var t=this.children.findByModel(e);this.removeChildView(t),this.checkEmpty()},_onBeforeShowCalled:function(){this._triggerBeforeAttach=this._triggerAttach=!1,this.children.each(function(e){s.triggerMethodOn(e,"before:show",e)})},_onShowCalled:function(){this.children.each(function(e){s.triggerMethodOn(e,"show",e)})},_onBeforeAttachCalled:function(){this._triggerBeforeAttach=!0},_onAttachCalled:function(){this._triggerAttach=!0},render:function(){return this._ensureViewIsIntact(),this.triggerMethod("before:render",this),this._renderChildren(),this.isRendered=!0,this.triggerMethod("render",this),this},reorder:function(){var e=this.children,t=this._filteredSortedModels(),n=i.find(t,function(t){return!e.findByModel(t)});if(n)this.render();else{var r=i.map(t,function(t,i){var n=e.findByModel(t);return n._index=i,n.el});this.triggerMethod("before:reorder"),this._appendReorderedChildren(r),this.triggerMethod("reorder")}},resortView:function(){s.getOption(this,"reorderOnSort")?this.reorder():this.render()},_sortViews:function(){var e=this._filteredSortedModels(),t=i.find(e,function(e,t){var i=this.children.findByModel(e);return!i||i._index!==t},this);t&&this.resortView()},_emptyViewIndex:-1,_appendReorderedChildren:function(e){this.$el.append(e)},_renderChildren:function(){this.destroyEmptyView(),this.destroyChildren({checkEmpty:!1}),this.isEmpty(this.collection)?this.showEmptyView():(this.triggerMethod("before:render:collection",this),this.startBuffering(),this.showCollection(),this.endBuffering(),this.triggerMethod("render:collection",this),this.children.isEmpty()&&this.getOption("filter")&&this.showEmptyView())},showCollection:function(){var e,t=this._filteredSortedModels();i.each(t,function(t,i){e=this.getChildView(t),this.addChild(t,e,i)},this)},_filteredSortedModels:function(e){var t=this.getViewComparator(),n=this.collection.models;if(e=Math.min(Math.max(e,0),n.length-1),t){var r;e&&(r=n[e],n=n.slice(0,e).concat(n.slice(e+1))),n=this._sortModelsBy(n,t),r&&n.splice(e,0,r)}return this.getOption("filter")&&(n=i.filter(n,function(e,t){return this._shouldAddChild(e,t)},this)),n},_sortModelsBy:function(e,t){return"string"==typeof t?i.sortBy(e,function(e){return e.get(t)},this):1===t.length?i.sortBy(e,t,this):e.sort(i.bind(t,this))},showEmptyView:function(){var e=this.getEmptyView();if(e&&!this._showingEmptyView){this.triggerMethod("before:render:empty"),this._showingEmptyView=!0;var i=new t.Model;this.addEmptyView(i,e),this.triggerMethod("render:empty")}},destroyEmptyView:function(){this._showingEmptyView&&(this.triggerMethod("before:remove:empty"),this.destroyChildren(),delete this._showingEmptyView,this.triggerMethod("remove:empty"))},getEmptyView:function(){return this.getOption("emptyView")},addEmptyView:function(e,t){var n,r=this._isShown&&!this.isBuffering&&s.isNodeAttached(this.el),o=this.getOption("emptyViewOptions")||this.getOption("childViewOptions");i.isFunction(o)&&(o=o.call(this,e,this._emptyViewIndex));var h=this.buildChildView(e,t,o);h._parent=this,this.proxyChildEvents(h),h.once("render",function(){this._isShown&&s.triggerMethodOn(h,"before:show",h),r&&this._triggerBeforeAttach&&(n=this._getViewAndNested(h),this._triggerMethodMany(n,this,"before:attach"))},this),this.children.add(h),this.renderChildView(h,this._emptyViewIndex),r&&this._triggerAttach&&(n=this._getViewAndNested(h),this._triggerMethodMany(n,this,"attach")),this._isShown&&s.triggerMethodOn(h,"show",h)},getChildView:function(){var e=this.getOption("childView");if(!e)throw new s.Error({name:"NoChildViewError",message:'A "childView" must be specified'});return e},addChild:function(e,t,i){var n=this.getOption("childViewOptions");n=s._getValue(n,this,[e,i]);var r=this.buildChildView(e,t,n);return this._updateIndices(r,!0,i),this.triggerMethod("before:add:child",r),this._addChildView(r,i),this.triggerMethod("add:child",r),r._parent=this,r},_updateIndices:function(e,t,i){this.getOption("sort")&&(t&&(e._index=i),this.children.each(function(i){i._index>=e._index&&(i._index+=t?1:-1)}))},_addChildView:function(e,t){var i,n=this._isShown&&!this.isBuffering&&s.isNodeAttached(this.el);this.proxyChildEvents(e),e.once("render",function(){this._isShown&&!this.isBuffering&&s.triggerMethodOn(e,"before:show",e),n&&this._triggerBeforeAttach&&(i=this._getViewAndNested(e),this._triggerMethodMany(i,this,"before:attach"))},this),this.children.add(e),this.renderChildView(e,t),n&&this._triggerAttach&&(i=this._getViewAndNested(e),this._triggerMethodMany(i,this,"attach")),this._isShown&&!this.isBuffering&&s.triggerMethodOn(e,"show",e)},renderChildView:function(e,t){return e.supportsRenderLifecycle||s.triggerMethodOn(e,"before:render",e),e.render(),e.supportsRenderLifecycle||s.triggerMethodOn(e,"render",e),this.attachHtml(this,e,t),e},buildChildView:function(e,t,n){var r=i.extend({model:e},n),o=new t(r);return s.MonitorDOMRefresh(o),o},removeChildView:function(e){return e?(this.triggerMethod("before:remove:child",e),e.supportsDestroyLifecycle||s.triggerMethodOn(e,"before:destroy",e),e.destroy?e.destroy():e.remove(),e.supportsDestroyLifecycle||s.triggerMethodOn(e,"destroy",e),delete e._parent,this.stopListening(e),this.children.remove(e),this.triggerMethod("remove:child",e),this._updateIndices(e,!1),e):e},isEmpty:function(){return!this.collection||0===this.collection.length},checkEmpty:function(){this.isEmpty(this.collection)&&this.showEmptyView()},attachBuffer:function(e,t){e.$el.append(t)},_createBuffer:function(){var e=document.createDocumentFragment();return i.each(this._bufferedChildren,function(t){e.appendChild(t.el)}),e},attachHtml:function(e,t,i){e.isBuffering?e._bufferedChildren.splice(i,0,t):e._insertBefore(t,i)||e._insertAfter(t)},_insertBefore:function(e,t){var i,n=this.getOption("sort")&&this.children.length-1>t;return n&&(i=this.children.find(function(e){return e._index===t+1})),i?(i.$el.before(e.el),!0):!1},_insertAfter:function(e){this.$el.append(e.el)},_initChildViewStorage:function(){this.children=new t.ChildViewContainer},destroy:function(){return this.isDestroyed?this:(this.triggerMethod("before:destroy:collection"),this.destroyChildren({checkEmpty:!1}),this.triggerMethod("destroy:collection"),s.View.prototype.destroy.apply(this,arguments))},destroyChildren:function(e){var t=e||{},n=!0,r=this.children.map(i.identity);return i.isUndefined(t.checkEmpty)||(n=t.checkEmpty),this.children.each(this.removeChildView,this),n&&this.checkEmpty(),r},_shouldAddChild:function(e,t){var n=this.getOption("filter");return!i.isFunction(n)||n.call(this,e,t,this.collection)},proxyChildEvents:function(e){var t=this.getOption("childViewEventPrefix");this.listenTo(e,"all",function(){var n=i.toArray(arguments),r=n[0],s=this.normalizeMethods(i.result(this,"childEvents"));n[0]=t+":"+r,n.splice(1,0,e),s!==void 0&&i.isFunction(s[r])&&s[r].apply(this,n.slice(1)),this.triggerMethod.apply(this,n)
21
- })},_getImmediateChildren:function(){return i.values(this.children._views)},_getViewAndNested:function(e){return[e].concat(i.result(e,"_getNestedViews")||[])},getViewComparator:function(){return this.getOption("viewComparator")}}),s.CompositeView=s.CollectionView.extend({constructor:function(){s.CollectionView.apply(this,arguments)},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this._onCollectionAdd),this.listenTo(this.collection,"remove",this._onCollectionRemove),this.listenTo(this.collection,"reset",this._renderChildren),this.getOption("sort")&&this.listenTo(this.collection,"sort",this._sortViews))},getChildView:function(){var e=this.getOption("childView")||this.constructor;return e},serializeData:function(){var e={};return this.model&&(e=i.partial(this.serializeModel,this.model).apply(this,arguments)),e},render:function(){return this._ensureViewIsIntact(),this._isRendering=!0,this.resetChildViewContainer(),this.triggerMethod("before:render",this),this._renderTemplate(),this._renderChildren(),this._isRendering=!1,this.isRendered=!0,this.triggerMethod("render",this),this},_renderChildren:function(){(this.isRendered||this._isRendering)&&s.CollectionView.prototype._renderChildren.call(this)},_renderTemplate:function(){var e={};e=this.serializeData(),e=this.mixinTemplateHelpers(e),this.triggerMethod("before:render:template");var t=this.getTemplate(),i=s.Renderer.render(t,e,this);this.attachElContent(i),this.bindUIElements(),this.triggerMethod("render:template")},attachElContent:function(e){return this.$el.html(e),this},attachBuffer:function(e,t){var i=this.getChildViewContainer(e);i.append(t)},_insertAfter:function(e){var t=this.getChildViewContainer(this,e);t.append(e.el)},_appendReorderedChildren:function(e){var t=this.getChildViewContainer(this);t.append(e)},getChildViewContainer:function(e){if(e.$childViewContainer)return e.$childViewContainer;var t,i=s.getOption(e,"childViewContainer");if(i){var n=s._getValue(i,e);if(t="@"===n.charAt(0)&&e.ui?e.ui[n.substr(4)]:e.$(n),0>=t.length)throw new s.Error({name:"ChildViewContainerMissingError",message:'The specified "childViewContainer" was not found: '+e.childViewContainer})}else t=e.$el;return e.$childViewContainer=t,t},resetChildViewContainer:function(){this.$childViewContainer&&(this.$childViewContainer=void 0)}}),s.LayoutView=s.ItemView.extend({regionClass:s.Region,options:{destroyImmediate:!1},childViewEventPrefix:"childview",constructor:function(e){e=e||{},this._firstRender=!0,this._initializeRegions(e),s.ItemView.call(this,e)},render:function(){return this._ensureViewIsIntact(),this._firstRender?this._firstRender=!1:this._reInitializeRegions(),s.ItemView.prototype.render.apply(this,arguments)},destroy:function(){return this.isDestroyed?this:(this.getOption("destroyImmediate")===!0&&this.$el.remove(),this.regionManager.destroy(),s.ItemView.prototype.destroy.apply(this,arguments))},showChildView:function(e,t){return this.getRegion(e).show(t)},getChildView:function(e){return this.getRegion(e).currentView},addRegion:function(e,t){var i={};return i[e]=t,this._buildRegions(i)[e]},addRegions:function(e){return this.regions=i.extend({},this.regions,e),this._buildRegions(e)},removeRegion:function(e){return delete this.regions[e],this.regionManager.removeRegion(e)},getRegion:function(e){return this.regionManager.get(e)},getRegions:function(){return this.regionManager.getRegions()},_buildRegions:function(e){var t={regionClass:this.getOption("regionClass"),parentEl:i.partial(i.result,this,"el")};return this.regionManager.addRegions(e,t)},_initializeRegions:function(e){var t;this._initRegionManager(),t=s._getValue(this.regions,this,[e])||{};var n=this.getOption.call(e,"regions");n=s._getValue(n,this,[e]),i.extend(t,n),t=this.normalizeUIValues(t,["selector","el"]),this.addRegions(t)},_reInitializeRegions:function(){this.regionManager.invoke("reset")},getRegionManager:function(){return new s.RegionManager},_initRegionManager:function(){this.regionManager=this.getRegionManager(),this.regionManager._parent=this,this.listenTo(this.regionManager,"before:add:region",function(e){this.triggerMethod("before:add:region",e)}),this.listenTo(this.regionManager,"add:region",function(e,t){this[e]=t,this.triggerMethod("add:region",e,t)}),this.listenTo(this.regionManager,"before:remove:region",function(e){this.triggerMethod("before:remove:region",e)}),this.listenTo(this.regionManager,"remove:region",function(e,t){delete this[e],this.triggerMethod("remove:region",e,t)})},_getImmediateChildren:function(){return i.chain(this.regionManager.getRegions()).pluck("currentView").compact().value()}}),s.Behavior=s.Object.extend({constructor:function(e,t){this.view=t,this.defaults=i.result(this,"defaults")||{},this.options=i.extend({},this.defaults,e),this.ui=i.extend({},i.result(t,"ui"),i.result(this,"ui")),s.Object.apply(this,arguments)},$:function(){return this.view.$.apply(this.view,arguments)},destroy:function(){return this.stopListening(),this},proxyViewProperties:function(e){this.$el=e.$el,this.el=e.el}}),s.Behaviors=function(e,t){function i(e,n){return t.isObject(e.behaviors)?(n=i.parseBehaviors(e,n||t.result(e,"behaviors")),i.wrap(e,n,t.keys(o)),n):{}}function n(e,t){this._view=e,this._behaviors=t,this._triggers={}}function r(e){return e._uiBindings||e.ui}var s=/^(\S+)\s*(.*)$/,o={behaviorTriggers:function(e,t){var i=new n(this,t);return i.buildBehaviorTriggers()},behaviorEvents:function(i,n){var o={};return t.each(n,function(i,n){var h={},a=t.clone(t.result(i,"events"))||{};a=e.normalizeUIKeys(a,r(i));var d=0;t.each(a,function(e,r){var o=r.match(s),a=o[1]+"."+[this.cid,n,d++," "].join(""),l=o[2],c=a+l,u=t.isFunction(e)?e:i[e];h[c]=t.bind(u,i)},this),o=t.extend(o,h)},this),o}};return t.extend(i,{behaviorsLookup:function(){throw new e.Error({message:"You must define where your behaviors are stored.",url:"marionette.behaviors.html#behaviorslookup"})},getBehaviorClass:function(t,n){return t.behaviorClass?t.behaviorClass:e._getValue(i.behaviorsLookup,this,[t,n])[n]},parseBehaviors:function(e,n){return t.chain(n).map(function(n,r){var s=i.getBehaviorClass(n,r),o=new s(n,e),h=i.parseBehaviors(e,t.result(o,"behaviors"));return[o].concat(h)}).flatten().value()},wrap:function(e,i,n){t.each(n,function(n){e[n]=t.partial(o[n],e[n],i)})}}),t.extend(n.prototype,{buildBehaviorTriggers:function(){return t.each(this._behaviors,this._buildTriggerHandlersForBehavior,this),this._triggers},_buildTriggerHandlersForBehavior:function(i,n){var s=t.clone(t.result(i,"triggers"))||{};s=e.normalizeUIKeys(s,r(i)),t.each(s,t.bind(this._setHandlerForBehavior,this,i,n))},_setHandlerForBehavior:function(e,t,i,n){var r=n.replace(/^\S+/,function(e){return e+"."+"behaviortriggers"+t});this._triggers[r]=this._view._buildViewTrigger(i)}}),i}(s,i),s.AppRouter=t.Router.extend({constructor:function(e){this.options=e||{},t.Router.apply(this,arguments);var i=this.getOption("appRoutes"),n=this._getController();this.processAppRoutes(n,i),this.on("route",this._processOnRoute,this)},appRoute:function(e,t){var i=this._getController();this._addAppRoute(i,e,t)},_processOnRoute:function(e,t){if(i.isFunction(this.onRoute)){var n=i.invert(this.getOption("appRoutes"))[e];this.onRoute(e,n,t)}},processAppRoutes:function(e,t){if(t){var n=i.keys(t).reverse();i.each(n,function(i){this._addAppRoute(e,i,t[i])},this)}},_getController:function(){return this.getOption("controller")},_addAppRoute:function(e,t,n){var r=e[n];if(!r)throw new s.Error('Method "'+n+'" was not found on the controller');this.route(t,n,i.bind(r,e))},mergeOptions:s.mergeOptions,getOption:s.proxyGetOption,triggerMethod:s.triggerMethod,bindEntityEvents:s.proxyBindEntityEvents,unbindEntityEvents:s.proxyUnbindEntityEvents}),s.Application=s.Object.extend({constructor:function(e){this._initializeRegions(e),this._initCallbacks=new s.Callbacks,this.submodules={},i.extend(this,e),this._initChannel(),s.Object.apply(this,arguments)},execute:function(){this.commands.execute.apply(this.commands,arguments)},request:function(){return this.reqres.request.apply(this.reqres,arguments)},addInitializer:function(e){this._initCallbacks.add(e)},start:function(e){this.triggerMethod("before:start",e),this._initCallbacks.run(e,this),this.triggerMethod("start",e)},addRegions:function(e){return this._regionManager.addRegions(e)},emptyRegions:function(){return this._regionManager.emptyRegions()},removeRegion:function(e){return this._regionManager.removeRegion(e)},getRegion:function(e){return this._regionManager.get(e)},getRegions:function(){return this._regionManager.getRegions()},module:function(e,t){var n=s.Module.getClass(t),r=i.toArray(arguments);return r.unshift(this),n.create.apply(n,r)},getRegionManager:function(){return new s.RegionManager},_initializeRegions:function(e){var t=i.isFunction(this.regions)?this.regions(e):this.regions||{};this._initRegionManager();var n=s.getOption(e,"regions");return i.isFunction(n)&&(n=n.call(this,e)),i.extend(t,n),this.addRegions(t),this},_initRegionManager:function(){this._regionManager=this.getRegionManager(),this._regionManager._parent=this,this.listenTo(this._regionManager,"before:add:region",function(){s._triggerMethod(this,"before:add:region",arguments)}),this.listenTo(this._regionManager,"add:region",function(e,t){this[e]=t,s._triggerMethod(this,"add:region",arguments)}),this.listenTo(this._regionManager,"before:remove:region",function(){s._triggerMethod(this,"before:remove:region",arguments)}),this.listenTo(this._regionManager,"remove:region",function(e){delete this[e],s._triggerMethod(this,"remove:region",arguments)})},_initChannel:function(){this.channelName=i.result(this,"channelName")||"global",this.channel=i.result(this,"channel")||t.Wreqr.radio.channel(this.channelName),this.vent=i.result(this,"vent")||this.channel.vent,this.commands=i.result(this,"commands")||this.channel.commands,this.reqres=i.result(this,"reqres")||this.channel.reqres}}),s.Module=function(e,t,n){this.moduleName=e,this.options=i.extend({},this.options,n),this.initialize=n.initialize||this.initialize,this.submodules={},this._setupInitializersAndFinalizers(),this.app=t,i.isFunction(this.initialize)&&this.initialize(e,t,this.options)},s.Module.extend=s.extend,i.extend(s.Module.prototype,t.Events,{startWithParent:!0,initialize:function(){},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,this.triggerMethod("before:stop"),i.invoke(this.submodules,"stop"),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),this.triggerMethod("stop"))},addDefinition:function(e,t){this._runModuleDefinition(e,t)},_runModuleDefinition:function(e,n){if(e){var r=i.flatten([this,this.app,t,s,t.$,i,n]);e.apply(this,r)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new s.Callbacks,this._finalizerCallbacks=new s.Callbacks},triggerMethod:s.triggerMethod}),i.extend(s.Module,{create:function(e,t,n){var r=e,s=i.drop(arguments,3);t=t.split(".");var o=t.length,h=[];return h[o-1]=n,i.each(t,function(t,i){var o=r;r=this._getModule(o,t,e,n),this._addModuleDefinition(o,r,h[i],s)},this),r},_getModule:function(e,t,n,r){var s=i.extend({},r),o=this.getClass(r),h=e[t];return h||(h=new o(t,n,s),e[t]=h,e.submodules[t]=h),h},getClass:function(e){var t=s.Module;return e?e.prototype instanceof t?e:e.moduleClass||t:t},_addModuleDefinition:function(e,t,i,n){var r=this._getDefine(i),s=this._getStartWithParent(i,t);r&&t.addDefinition(r,n),this._addStartWithParent(e,t,s)},_getStartWithParent:function(e,t){var n;return i.isFunction(e)&&e.prototype instanceof s.Module?(n=t.constructor.prototype.startWithParent,i.isUndefined(n)?!0:n):i.isObject(e)?(n=e.startWithParent,i.isUndefined(n)?!0:n):!0},_getDefine:function(e){return!i.isFunction(e)||e.prototype instanceof s.Module?i.isObject(e)?e.define:null:e},_addStartWithParent:function(e,t,i){t.startWithParent=t.startWithParent&&i,t.startWithParent&&!t.startWithParentIsConfigured&&(t.startWithParentIsConfigured=!0,e.addInitializer(function(e){t.startWithParent&&t.start(e)}))}}),s});
20
+ (function(e,t){if("function"==typeof define&&define.amd)define(["backbone","underscore"],function(i,n){return e.Marionette=e.Mn=t(e,i,n)});else if("undefined"!=typeof exports){var i=require("backbone"),n=require("underscore");module.exports=t(e,i,n)}else e.Marionette=e.Mn=t(e,e.Backbone,e._)})(this,function(e,t,i){"use strict";(function(e,t){var i=e.ChildViewContainer;return e.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;return this._views[i]=e,e.model&&(this._indexByModel[e.model.cid]=i),t&&(this._indexByCustom[t]=i),this._updateLength(),this},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;return 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(),this},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","reduce"];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}(e,t),e.ChildViewContainer.VERSION="0.1.10",e.ChildViewContainer.noConflict=function(){return e.ChildViewContainer=i,this},e.ChildViewContainer})(t,i),function(e,t){var i=e.Wreqr,n=e.Wreqr={};return e.Wreqr.VERSION="1.3.5",e.Wreqr.noConflict=function(){return e.Wreqr=i,this},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)return function(){return t.callback.apply(t.context,arguments)}},removeHandler:function(e){delete this._wreqrHandlers[e]},removeAllHandlers:function(){this._wreqrHandlers={}}}),i}(e,t),n.CommandStorage=function(){var i=function(e){this.options=e,this._commands={},t.isFunction(this.initialize)&&this.initialize(e)};return t.extend(i.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=[]}}),i}(),n.Commands=function(e,t){return e.Handlers.extend({storageType:e.CommandStorage,constructor:function(t){this.options=t||{},this._initializeStorage(this.options),this.on("handler:add",this._executeCommands,this),e.Handlers.prototype.constructor.apply(this,arguments)},execute:function(e){e=arguments[0];var i=t.rest(arguments);this.hasHandler(e)?this.getHandler(e).apply(this,i):this.storage.addCommand(e,i)},_executeCommands:function(e,i,n){var r=this.storage.getCommands(e);t.each(r.instances,function(e){i.apply(n,e)}),this.storage.clearCommands(e)},_initializeStorage:function(e){var i,n=e.storageType||this.storageType;i=t.isFunction(n)?new n:n,this.storage=i}})}(n,t),n.RequestResponse=function(e,t){return e.Handlers.extend({request:function(e){return this.hasHandler(e)?this.getHandler(e).apply(this,t.rest(arguments)):void 0}})}(n,t),n.EventAggregator=function(e,t){var i=function(){};return i.extend=e.Model.extend,t.extend(i.prototype,e.Events),i}(e,t),n.Channel=function(){var i=function(t){this.vent=new e.Wreqr.EventAggregator,this.reqres=new e.Wreqr.RequestResponse,this.commands=new e.Wreqr.Commands,this.channelName=t};return t.extend(i.prototype,{reset:function(){return this.vent.off(),this.vent.stopListening(),this.reqres.removeAllHandlers(),this.commands.removeAllHandlers(),this},connectEvents:function(e,t){return this._connect("vent",e,t),this},connectCommands:function(e,t){return this._connect("commands",e,t),this},connectRequests:function(e,t){return this._connect("reqres",e,t),this},_connect:function(e,i,n){if(i){n=n||this;var r="vent"===e?"on":"setHandler";t.each(i,function(i,s){this[e][r](s,t.bind(i,n))},this)}}}),i}(n),n.radio=function(e,t){var i=function(){this._channels={},this.vent={},this.commands={},this.reqres={},this._proxyMethods()};t.extend(i.prototype,{channel:function(e){if(!e)throw Error("Channel must receive a name");return this._getChannel(e)},_getChannel:function(t){var i=this._channels[t];return i||(i=new e.Channel(t),this._channels[t]=i),i},_proxyMethods:function(){t.each(["vent","commands","reqres"],function(e){t.each(n[e],function(t){this[e][t]=r(this,e,t)},this)},this)}});var n={vent:["on","off","trigger","once","stopListening","listenTo","listenToOnce"],commands:["execute","setHandler","setHandlers","removeHandler","removeAllHandlers"],reqres:["request","setHandler","setHandlers","removeHandler","removeAllHandlers"]},r=function(e,i,n){return function(r){var s=e._getChannel(r)[i];return s[n].apply(s,t.rest(arguments))}};return new i}(n,t),e.Wreqr}(t,i);var n=e.Marionette,r=e.Mn,s=t.Marionette={};s.VERSION="2.4.4",s.noConflict=function(){return e.Marionette=n,e.Mn=r,this},t.Marionette=s,s.Deferred=t.$.Deferred,s.extend=t.Model.extend,s.isNodeAttached=function(e){return t.$.contains(document.documentElement,e)},s.mergeOptions=function(e,t){e&&i.extend(this,i.pick(e,t))},s.getOption=function(e,t){return e&&t?e.options&&void 0!==e.options[t]?e.options[t]:e[t]:void 0},s.proxyGetOption=function(e){return s.getOption(this,e)},s._getValue=function(e,t,n){return i.isFunction(e)&&(e=n?e.apply(t,n):e.call(t)),e},s.normalizeMethods=function(e){return i.reduce(e,function(e,t,n){return i.isFunction(t)||(t=this[t]),t&&(e[n]=t),e},{},this)},s.normalizeUIString=function(e,t){return e.replace(/@ui\.[a-zA-Z_$0-9]*/g,function(e){return t[e.slice(4)]})},s.normalizeUIKeys=function(e,t){return i.reduce(e,function(e,i,n){var r=s.normalizeUIString(n,t);return e[r]=i,e},{})},s.normalizeUIValues=function(e,t,n){return i.each(e,function(r,o){i.isString(r)?e[o]=s.normalizeUIString(r,t):i.isObject(r)&&i.isArray(n)&&(i.extend(r,s.normalizeUIValues(i.pick(r,n),t)),i.each(n,function(e){var n=r[e];i.isString(n)&&(r[e]=s.normalizeUIString(n,t))}))}),e},s.actAsCollection=function(e,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"];i.each(n,function(n){e[n]=function(){var e=i.values(i.result(this,t)),r=[e].concat(i.toArray(arguments));return i[n].apply(i,r)}})};var o=s.deprecate=function(e,t){i.isObject(e)&&(e=e.prev+" is going to be removed in the future. "+"Please use "+e.next+" instead."+(e.url?" See: "+e.url:"")),void 0!==t&&t||o._cache[e]||(o._warn("Deprecation warning: "+e),o._cache[e]=!0)};o._warn="undefined"!=typeof console&&(console.warn||console.log)||function(){},o._cache={},s._triggerMethod=function(){function e(e,t,i){return i.toUpperCase()}var t=/(^|:)(\w)/gi;return function(n,r,s){var o=3>arguments.length;o&&(s=r,r=s[0]);var h,a="on"+r.replace(t,e),d=n[a];return i.isFunction(d)&&(h=d.apply(n,o?i.rest(s):s)),i.isFunction(n.trigger)&&(o+s.length>1?n.trigger.apply(n,o?s:[r].concat(i.drop(s,0))):n.trigger(r)),h}}(),s.triggerMethod=function(){return s._triggerMethod(this,arguments)},s.triggerMethodOn=function(e){var t=i.isFunction(e.triggerMethod)?e.triggerMethod:s.triggerMethod;return t.apply(e,i.rest(arguments))},s.MonitorDOMRefresh=function(e){function t(){e._isShown=!0,n()}function i(){e._isRendered=!0,n()}function n(){e._isShown&&e._isRendered&&s.isNodeAttached(e.el)&&s.triggerMethodOn(e,"dom:refresh",e)}e._isDomRefreshMonitored||(e._isDomRefreshMonitored=!0,e.on({show:t,render:i}))},function(e){function t(t,n,r,s){var o=s.split(/\s+/);i.each(o,function(i){var s=t[i];if(!s)throw new e.Error('Method "'+i+'" was configured as an event handler, but does not exist.');t.listenTo(n,r,s)})}function n(e,t,i,n){e.listenTo(t,i,n)}function r(e,t,n,r){var s=r.split(/\s+/);i.each(s,function(i){var r=e[i];e.stopListening(t,n,r)})}function s(e,t,i,n){e.stopListening(t,i,n)}function o(t,n,r,s,o){if(n&&r){if(!i.isObject(r))throw new e.Error({message:"Bindings must be an object or function.",url:"marionette.functions.html#marionettebindentityevents"});r=e._getValue(r,t),i.each(r,function(e,r){i.isFunction(e)?s(t,n,r,e):o(t,n,r,e)})}}e.bindEntityEvents=function(e,i,r){o(e,i,r,n,t)},e.unbindEntityEvents=function(e,t,i){o(e,t,i,s,r)},e.proxyBindEntityEvents=function(t,i){return e.bindEntityEvents(this,t,i)},e.proxyUnbindEntityEvents=function(t,i){return e.unbindEntityEvents(this,t,i)}}(s);var h=["description","fileName","lineNumber","name","message","number"];return s.Error=s.extend.call(Error,{urlRoot:"http://marionettejs.com/docs/v"+s.VERSION+"/",constructor:function(e,t){i.isObject(e)?(t=e,e=t.message):t||(t={});var n=Error.call(this,e);i.extend(this,i.pick(n,h),i.pick(t,h)),this.captureStackTrace(),t.url&&(this.url=this.urlRoot+t.url)},captureStackTrace:function(){Error.captureStackTrace&&Error.captureStackTrace(this,s.Error)},toString:function(){return this.name+": "+this.message+(this.url?" See: "+this.url:"")}}),s.Error.extend=s.extend,s.Callbacks=function(){this._deferred=s.Deferred(),this._callbacks=[]},i.extend(s.Callbacks.prototype,{add:function(e,t){var n=i.result(this._deferred,"promise");this._callbacks.push({cb:e,ctx:t}),n.then(function(i){t&&(i.context=t),e.call(i.context,i.options)})},run:function(e,t){this._deferred.resolve({options:e,context:t})},reset:function(){var e=this._callbacks;this._deferred=s.Deferred(),this._callbacks=[],i.each(e,function(e){this.add(e.cb,e.ctx)},this)}}),s.Controller=function(e){this.options=e||{},i.isFunction(this.initialize)&&this.initialize(this.options)},s.Controller.extend=s.extend,i.extend(s.Controller.prototype,t.Events,{destroy:function(){return s._triggerMethod(this,"before:destroy",arguments),s._triggerMethod(this,"destroy",arguments),this.stopListening(),this.off(),this},triggerMethod:s.triggerMethod,mergeOptions:s.mergeOptions,getOption:s.proxyGetOption}),s.Object=function(e){this.options=i.extend({},i.result(this,"options"),e),this.initialize.apply(this,arguments)},s.Object.extend=s.extend,i.extend(s.Object.prototype,t.Events,{initialize:function(){},destroy:function(e){return e=e||{},this.triggerMethod("before:destroy",e),this.triggerMethod("destroy",e),this.stopListening(),this},triggerMethod:s.triggerMethod,mergeOptions:s.mergeOptions,getOption:s.proxyGetOption,bindEntityEvents:s.proxyBindEntityEvents,unbindEntityEvents:s.proxyUnbindEntityEvents}),s.Region=s.Object.extend({constructor:function(e){if(this.options=e||{},this.el=this.getOption("el"),this.el=this.el instanceof t.$?this.el[0]:this.el,!this.el)throw new s.Error({name:"NoElError",message:'An "el" must be specified for a region.'});this.$el=this.getEl(this.el),s.Object.call(this,e)},show:function(e,t){if(this._ensureElement()){this._ensureViewIsIntact(e),s.MonitorDOMRefresh(e);var n=t||{},r=e!==this.currentView,o=!!n.preventDestroy,h=!!n.forceShow,a=!!this.currentView,d=r&&!o,l=r||h;if(a&&this.triggerMethod("before:swapOut",this.currentView,this,t),this.currentView&&delete this.currentView._parent,d?this.empty():a&&l&&this.currentView.off("destroy",this.empty,this),l){e.once("destroy",this.empty,this),e._parent=this,this._renderView(e),a&&this.triggerMethod("before:swap",e,this,t),this.triggerMethod("before:show",e,this,t),s.triggerMethodOn(e,"before:show",e,this,t),a&&this.triggerMethod("swapOut",this.currentView,this,t);var c=s.isNodeAttached(this.el),u=[],g=i.extend({triggerBeforeAttach:this.triggerBeforeAttach,triggerAttach:this.triggerAttach},n);return c&&g.triggerBeforeAttach&&(u=this._displayedViews(e),this._triggerAttach(u,"before:")),this.attachHtml(e),this.currentView=e,c&&g.triggerAttach&&(u=this._displayedViews(e),this._triggerAttach(u)),a&&this.triggerMethod("swap",e,this,t),this.triggerMethod("show",e,this,t),s.triggerMethodOn(e,"show",e,this,t),this}return this}},triggerBeforeAttach:!0,triggerAttach:!0,_triggerAttach:function(e,t){var n=(t||"")+"attach";i.each(e,function(e){s.triggerMethodOn(e,n,e,this)},this)},_displayedViews:function(e){return i.union([e],i.result(e,"_getNestedViews")||[])},_renderView:function(e){e.supportsRenderLifecycle||s.triggerMethodOn(e,"before:render",e),e.render(),e.supportsRenderLifecycle||s.triggerMethodOn(e,"render",e)},_ensureElement:function(){if(i.isObject(this.el)||(this.$el=this.getEl(this.el),this.el=this.$el[0]),!this.$el||0===this.$el.length){if(this.getOption("allowMissingEl"))return!1;throw new s.Error('An "el" '+this.$el.selector+" must exist in DOM")}return!0},_ensureViewIsIntact:function(e){if(!e)throw new s.Error({name:"ViewNotValid",message:"The view passed is undefined and therefore invalid. You must pass a view instance to show."});if(e.isDestroyed)throw new s.Error({name:"ViewDestroyedError",message:'View (cid: "'+e.cid+'") has already been destroyed and cannot be used.'})},getEl:function(e){return t.$(e,s._getValue(this.options.parentEl,this))},attachHtml:function(e){this.$el.contents().detach(),this.el.appendChild(e.el)},empty:function(e){var t=this.currentView,i=e||{},n=!!i.preventDestroy;return t?(t.off("destroy",this.empty,this),this.triggerMethod("before:empty",t),n||this._destroyView(),this.triggerMethod("empty",t),delete this.currentView,n&&this.$el.contents().detach(),this):this},_destroyView:function(){var e=this.currentView;e.isDestroyed||(e.supportsDestroyLifecycle||s.triggerMethodOn(e,"before:destroy",e),e.destroy?e.destroy():(e.remove(),e.isDestroyed=!0),e.supportsDestroyLifecycle||s.triggerMethodOn(e,"destroy",e))},attachView:function(e){return this.currentView&&delete this.currentView._parent,e._parent=this,this.currentView=e,this},hasView:function(){return!!this.currentView},reset:function(){return this.empty(),this.$el&&(this.el=this.$el.selector),delete this.$el,this}},{buildRegion:function(e,t){if(i.isString(e))return this._buildRegionFromSelector(e,t);if(e.selector||e.el||e.regionClass)return this._buildRegionFromObject(e,t);if(i.isFunction(e))return this._buildRegionFromRegionClass(e);throw new s.Error({message:"Improper region configuration type.",url:"marionette.region.html#region-configuration-types"})},_buildRegionFromSelector:function(e,t){return new t({el:e})},_buildRegionFromObject:function(e,t){var n=e.regionClass||t,r=i.omit(e,"selector","regionClass");return e.selector&&!r.el&&(r.el=e.selector),new n(r)},_buildRegionFromRegionClass:function(e){return new e}}),s.RegionManager=s.Controller.extend({constructor:function(e){this._regions={},this.length=0,s.Controller.call(this,e),this.addRegions(this.getOption("regions"))},addRegions:function(e,t){return e=s._getValue(e,this,arguments),i.reduce(e,function(e,n,r){return i.isString(n)&&(n={selector:n}),n.selector&&(n=i.defaults({},n,t)),e[r]=this.addRegion(r,n),e},{},this)},addRegion:function(e,t){var i;return i=t instanceof s.Region?t:s.Region.buildRegion(t,s.Region),this.triggerMethod("before:add:region",e,i),i._parent=this,this._store(e,i),this.triggerMethod("add:region",e,i),i},get:function(e){return this._regions[e]},getRegions:function(){return i.clone(this._regions)},removeRegion:function(e){var t=this._regions[e];return this._remove(e,t),t},removeRegions:function(){var e=this.getRegions();return i.each(this._regions,function(e,t){this._remove(t,e)},this),e},emptyRegions:function(){var e=this.getRegions();return i.invoke(e,"empty"),e},destroy:function(){return this.removeRegions(),s.Controller.prototype.destroy.apply(this,arguments)},_store:function(e,t){this._regions[e]||this.length++,this._regions[e]=t},_remove:function(e,t){this.triggerMethod("before:remove:region",e,t),t.empty(),t.stopListening(),delete t._parent,delete this._regions[e],this.length--,this.triggerMethod("remove:region",e,t)}}),s.actAsCollection(s.RegionManager.prototype,"_regions"),s.TemplateCache=function(e){this.templateId=e},i.extend(s.TemplateCache,{templateCaches:{},get:function(e,t){var i=this.templateCaches[e];return i||(i=new s.TemplateCache(e),this.templateCaches[e]=i),i.load(t)},clear:function(){var e,t=i.toArray(arguments),n=t.length;if(n>0)for(e=0;n>e;e++)delete this.templateCaches[t[e]];else this.templateCaches={}}}),i.extend(s.TemplateCache.prototype,{load:function(e){if(this.compiledTemplate)return this.compiledTemplate;var t=this.loadTemplate(this.templateId,e);return this.compiledTemplate=this.compileTemplate(t,e),this.compiledTemplate},loadTemplate:function(e){var i=t.$(e);if(!i.length)throw new s.Error({name:"NoTemplateError",message:'Could not find template: "'+e+'"'});return i.html()},compileTemplate:function(e,t){return i.template(e,t)}}),s.Renderer={render:function(e,t){if(!e)throw new s.Error({name:"TemplateNotFoundError",message:"Cannot render the template since its false, null or undefined."});var n=i.isFunction(e)?e:s.TemplateCache.get(e);return n(t)}},s.View=t.View.extend({isDestroyed:!1,supportsRenderLifecycle:!0,supportsDestroyLifecycle:!0,constructor:function(e){this.render=i.bind(this.render,this),e=s._getValue(e,this),this.options=i.extend({},i.result(this,"options"),e),this._behaviors=s.Behaviors(this),t.View.call(this,this.options),s.MonitorDOMRefresh(this)},getTemplate:function(){return this.getOption("template")},serializeModel:function(e){return e.toJSON.apply(e,i.rest(arguments))},mixinTemplateHelpers:function(e){e=e||{};var t=this.getOption("templateHelpers");return t=s._getValue(t,this),i.extend(e,t)},normalizeUIKeys:function(e){var t=i.result(this,"_uiBindings");return s.normalizeUIKeys(e,t||i.result(this,"ui"))},normalizeUIValues:function(e,t){var n=i.result(this,"ui"),r=i.result(this,"_uiBindings");return s.normalizeUIValues(e,r||n,t)},configureTriggers:function(){if(this.triggers){var e=this.normalizeUIKeys(i.result(this,"triggers"));return i.reduce(e,function(e,t,i){return e[i]=this._buildViewTrigger(t),e},{},this)}},delegateEvents:function(e){return this._delegateDOMEvents(e),this.bindEntityEvents(this.model,this.getOption("modelEvents")),this.bindEntityEvents(this.collection,this.getOption("collectionEvents")),i.each(this._behaviors,function(e){e.bindEntityEvents(this.model,e.getOption("modelEvents")),e.bindEntityEvents(this.collection,e.getOption("collectionEvents"))},this),this},_delegateDOMEvents:function(e){var n=s._getValue(e||this.events,this);n=this.normalizeUIKeys(n),i.isUndefined(e)&&(this.events=n);var r={},o=i.result(this,"behaviorEvents")||{},h=this.configureTriggers(),a=i.result(this,"behaviorTriggers")||{};i.extend(r,o,n,h,a),t.View.prototype.delegateEvents.call(this,r)},undelegateEvents:function(){return t.View.prototype.undelegateEvents.apply(this,arguments),this.unbindEntityEvents(this.model,this.getOption("modelEvents")),this.unbindEntityEvents(this.collection,this.getOption("collectionEvents")),i.each(this._behaviors,function(e){e.unbindEntityEvents(this.model,e.getOption("modelEvents")),e.unbindEntityEvents(this.collection,e.getOption("collectionEvents"))},this),this},_ensureViewIsIntact:function(){if(this.isDestroyed)throw new s.Error({name:"ViewDestroyedError",message:'View (cid: "'+this.cid+'") has already been destroyed and cannot be used.'})},destroy:function(){if(this.isDestroyed)return this;var e=i.toArray(arguments);return this.triggerMethod.apply(this,["before:destroy"].concat(e)),this.isDestroyed=!0,this.triggerMethod.apply(this,["destroy"].concat(e)),this.unbindUIElements(),this.isRendered=!1,this.remove(),i.invoke(this._behaviors,"destroy",e),this},bindUIElements:function(){this._bindUIElements(),i.invoke(this._behaviors,this._bindUIElements)},_bindUIElements:function(){if(this.ui){this._uiBindings||(this._uiBindings=this.ui);var e=i.result(this,"_uiBindings");this.ui={},i.each(e,function(e,t){this.ui[t]=this.$(e)},this)}},unbindUIElements:function(){this._unbindUIElements(),i.invoke(this._behaviors,this._unbindUIElements)},_unbindUIElements:function(){this.ui&&this._uiBindings&&(i.each(this.ui,function(e,t){delete this.ui[t]},this),this.ui=this._uiBindings,delete this._uiBindings)},_buildViewTrigger:function(e){var t=i.defaults({},e,{preventDefault:!0,stopPropagation:!0}),n=i.isObject(e)?t.event:e;return function(e){e&&(e.preventDefault&&t.preventDefault&&e.preventDefault(),e.stopPropagation&&t.stopPropagation&&e.stopPropagation());var i={view:this,model:this.model,collection:this.collection};this.triggerMethod(n,i)}},setElement:function(){var e=t.View.prototype.setElement.apply(this,arguments);return i.invoke(this._behaviors,"proxyViewProperties",this),e},triggerMethod:function(){var e=s._triggerMethod(this,arguments);return this._triggerEventOnBehaviors(arguments),this._triggerEventOnParentLayout(arguments[0],i.rest(arguments)),e},_triggerEventOnBehaviors:function(e){for(var t=s._triggerMethod,i=this._behaviors,n=0,r=i&&i.length;r>n;n++)t(i[n],e)},_triggerEventOnParentLayout:function(e,t){var n=this._parentLayoutView();if(n){var r=s.getOption(n,"childViewEventPrefix"),o=r+":"+e,h=[this].concat(t);s._triggerMethod(n,o,h);var a=s.getOption(n,"childEvents");a=s._getValue(a,n);var d=n.normalizeMethods(a);d&&i.isFunction(d[e])&&d[e].apply(n,h)}},_getImmediateChildren:function(){return[]},_getNestedViews:function(){var e=this._getImmediateChildren();return e.length?i.reduce(e,function(e,t){return t._getNestedViews?e.concat(t._getNestedViews()):e},e):e},_parentLayoutView:function(){for(var e=this._parent;e;){if(e instanceof s.LayoutView)return e;e=e._parent}},normalizeMethods:s.normalizeMethods,mergeOptions:s.mergeOptions,getOption:s.proxyGetOption,bindEntityEvents:s.proxyBindEntityEvents,unbindEntityEvents:s.proxyUnbindEntityEvents}),s.ItemView=s.View.extend({constructor:function(){s.View.apply(this,arguments)},serializeData:function(){if(!this.model&&!this.collection)return{};var e=[this.model||this.collection];return arguments.length&&e.push.apply(e,arguments),this.model?this.serializeModel.apply(this,e):{items:this.serializeCollection.apply(this,e)}},serializeCollection:function(e){return e.toJSON.apply(e,i.rest(arguments))},render:function(){return this._ensureViewIsIntact(),this.triggerMethod("before:render",this),this._renderTemplate(),this.isRendered=!0,this.bindUIElements(),this.triggerMethod("render",this),this},_renderTemplate:function(){var e=this.getTemplate();if(e!==!1){if(!e)throw new s.Error({name:"UndefinedTemplateError",message:"Cannot render the template since it is null or undefined."});var t=this.mixinTemplateHelpers(this.serializeData()),i=s.Renderer.render(e,t,this);return this.attachElContent(i),this}},attachElContent:function(e){return this.$el.html(e),this}}),s.CollectionView=s.View.extend({childViewEventPrefix:"childview",sort:!0,constructor:function(){this.once("render",this._initialEvents),this._initChildViewStorage(),s.View.apply(this,arguments),this.on({"before:show":this._onBeforeShowCalled,show:this._onShowCalled,"before:attach":this._onBeforeAttachCalled,attach:this._onAttachCalled}),this.initRenderBuffer()},initRenderBuffer:function(){this._bufferedChildren=[]},startBuffering:function(){this.initRenderBuffer(),this.isBuffering=!0},endBuffering:function(){var e,t=this._isShown&&s.isNodeAttached(this.el);this.isBuffering=!1,this._isShown&&this._triggerMethodMany(this._bufferedChildren,this,"before:show"),t&&this._triggerBeforeAttach&&(e=this._getNestedViews(),this._triggerMethodMany(e,this,"before:attach")),this.attachBuffer(this,this._createBuffer()),t&&this._triggerAttach&&(e=this._getNestedViews(),this._triggerMethodMany(e,this,"attach")),this._isShown&&this._triggerMethodMany(this._bufferedChildren,this,"show"),this.initRenderBuffer()},_triggerMethodMany:function(e,t,n){var r=i.drop(arguments,3);i.each(e,function(e){s.triggerMethodOn.apply(e,[e,n,e,t].concat(r))})},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this._onCollectionAdd),this.listenTo(this.collection,"remove",this._onCollectionRemove),this.listenTo(this.collection,"reset",this.render),this.getOption("sort")&&this.listenTo(this.collection,"sort",this._sortViews))},_onCollectionAdd:function(e,t,n){var r=void 0!==n.at&&(n.index||t.indexOf(e));if((this.getOption("filter")||r===!1)&&(r=i.indexOf(this._filteredSortedModels(r),e)),this._shouldAddChild(e,r)){this.destroyEmptyView();var s=this.getChildView(e);this.addChild(e,s,r)}},_onCollectionRemove:function(e){var t=this.children.findByModel(e);this.removeChildView(t),this.checkEmpty()},_onBeforeShowCalled:function(){this._triggerBeforeAttach=this._triggerAttach=!1,this.children.each(function(e){s.triggerMethodOn(e,"before:show",e)})},_onShowCalled:function(){this.children.each(function(e){s.triggerMethodOn(e,"show",e)})},_onBeforeAttachCalled:function(){this._triggerBeforeAttach=!0},_onAttachCalled:function(){this._triggerAttach=!0},render:function(){return this._ensureViewIsIntact(),this.triggerMethod("before:render",this),this._renderChildren(),this.isRendered=!0,this.triggerMethod("render",this),this},reorder:function(){var e=this.children,t=this._filteredSortedModels(),n=i.some(t,function(t){return!e.findByModel(t)});if(n)this.render();else{var r=i.map(t,function(t,i){var n=e.findByModel(t);return n._index=i,n.el}),s=e.filter(function(e){return!i.contains(r,e.el)});this.triggerMethod("before:reorder"),this._appendReorderedChildren(r),i.each(s,this.removeChildView,this),this.checkEmpty(),this.triggerMethod("reorder")}},resortView:function(){s.getOption(this,"reorderOnSort")?this.reorder():this.render()},_sortViews:function(){var e=this._filteredSortedModels(),t=i.find(e,function(e,t){var i=this.children.findByModel(e);return!i||i._index!==t},this);t&&this.resortView()},_emptyViewIndex:-1,_appendReorderedChildren:function(e){this.$el.append(e)},_renderChildren:function(){this.destroyEmptyView(),this.destroyChildren({checkEmpty:!1}),this.isEmpty(this.collection)?this.showEmptyView():(this.triggerMethod("before:render:collection",this),this.startBuffering(),this.showCollection(),this.endBuffering(),this.triggerMethod("render:collection",this),this.children.isEmpty()&&this.getOption("filter")&&this.showEmptyView())},showCollection:function(){var e,t=this._filteredSortedModels();i.each(t,function(t,i){e=this.getChildView(t),this.addChild(t,e,i)},this)},_filteredSortedModels:function(e){var t=this.getViewComparator(),n=this.collection.models;if(e=Math.min(Math.max(e,0),n.length-1),t){var r;e&&(r=n[e],n=n.slice(0,e).concat(n.slice(e+1))),n=this._sortModelsBy(n,t),r&&n.splice(e,0,r)}return this.getOption("filter")&&(n=i.filter(n,function(e,t){return this._shouldAddChild(e,t)},this)),n},_sortModelsBy:function(e,t){return"string"==typeof t?i.sortBy(e,function(e){return e.get(t)},this):1===t.length?i.sortBy(e,t,this):e.sort(i.bind(t,this))},showEmptyView:function(){var e=this.getEmptyView();if(e&&!this._showingEmptyView){this.triggerMethod("before:render:empty"),this._showingEmptyView=!0;var i=new t.Model;this.addEmptyView(i,e),this.triggerMethod("render:empty")}},destroyEmptyView:function(){this._showingEmptyView&&(this.triggerMethod("before:remove:empty"),this.destroyChildren(),delete this._showingEmptyView,this.triggerMethod("remove:empty"))},getEmptyView:function(){return this.getOption("emptyView")},addEmptyView:function(e,t){var n,r=this._isShown&&!this.isBuffering&&s.isNodeAttached(this.el),o=this.getOption("emptyViewOptions")||this.getOption("childViewOptions");i.isFunction(o)&&(o=o.call(this,e,this._emptyViewIndex));var h=this.buildChildView(e,t,o);h._parent=this,this.proxyChildEvents(h),h.once("render",function(){this._isShown&&s.triggerMethodOn(h,"before:show",h),r&&this._triggerBeforeAttach&&(n=this._getViewAndNested(h),this._triggerMethodMany(n,this,"before:attach"))},this),this.children.add(h),this.renderChildView(h,this._emptyViewIndex),r&&this._triggerAttach&&(n=this._getViewAndNested(h),this._triggerMethodMany(n,this,"attach")),this._isShown&&s.triggerMethodOn(h,"show",h)},getChildView:function(){var e=this.getOption("childView");if(!e)throw new s.Error({name:"NoChildViewError",message:'A "childView" must be specified'});return e},addChild:function(e,t,i){var n=this.getOption("childViewOptions");n=s._getValue(n,this,[e,i]);var r=this.buildChildView(e,t,n);return this._updateIndices(r,!0,i),this.triggerMethod("before:add:child",r),this._addChildView(r,i),this.triggerMethod("add:child",r),r._parent=this,r},_updateIndices:function(e,t,i){this.getOption("sort")&&(t&&(e._index=i),this.children.each(function(i){i._index>=e._index&&(i._index+=t?1:-1)}))},_addChildView:function(e,t){var i,n=this._isShown&&!this.isBuffering&&s.isNodeAttached(this.el);this.proxyChildEvents(e),e.once("render",function(){this._isShown&&!this.isBuffering&&s.triggerMethodOn(e,"before:show",e),n&&this._triggerBeforeAttach&&(i=this._getViewAndNested(e),this._triggerMethodMany(i,this,"before:attach"))},this),this.children.add(e),this.renderChildView(e,t),n&&this._triggerAttach&&(i=this._getViewAndNested(e),this._triggerMethodMany(i,this,"attach")),this._isShown&&!this.isBuffering&&s.triggerMethodOn(e,"show",e)},renderChildView:function(e,t){return e.supportsRenderLifecycle||s.triggerMethodOn(e,"before:render",e),e.render(),e.supportsRenderLifecycle||s.triggerMethodOn(e,"render",e),this.attachHtml(this,e,t),e},buildChildView:function(e,t,n){var r=i.extend({model:e},n),o=new t(r);return s.MonitorDOMRefresh(o),o},removeChildView:function(e){return e?(this.triggerMethod("before:remove:child",e),e.supportsDestroyLifecycle||s.triggerMethodOn(e,"before:destroy",e),e.destroy?e.destroy():e.remove(),e.supportsDestroyLifecycle||s.triggerMethodOn(e,"destroy",e),delete e._parent,this.stopListening(e),this.children.remove(e),this.triggerMethod("remove:child",e),this._updateIndices(e,!1),e):e},isEmpty:function(){return!this.collection||0===this.collection.length},checkEmpty:function(){this.isEmpty(this.collection)&&this.showEmptyView()},attachBuffer:function(e,t){e.$el.append(t)},_createBuffer:function(){var e=document.createDocumentFragment();return i.each(this._bufferedChildren,function(t){e.appendChild(t.el)}),e},attachHtml:function(e,t,i){e.isBuffering?e._bufferedChildren.splice(i,0,t):e._insertBefore(t,i)||e._insertAfter(t)},_insertBefore:function(e,t){var i,n=this.getOption("sort")&&this.children.length-1>t;return n&&(i=this.children.find(function(e){return e._index===t+1})),i?(i.$el.before(e.el),!0):!1},_insertAfter:function(e){this.$el.append(e.el)},_initChildViewStorage:function(){this.children=new t.ChildViewContainer},destroy:function(){return this.isDestroyed?this:(this.triggerMethod("before:destroy:collection"),this.destroyChildren({checkEmpty:!1}),this.triggerMethod("destroy:collection"),s.View.prototype.destroy.apply(this,arguments))},destroyChildren:function(e){var t=e||{},n=!0,r=this.children.map(i.identity);return i.isUndefined(t.checkEmpty)||(n=t.checkEmpty),this.children.each(this.removeChildView,this),n&&this.checkEmpty(),r},_shouldAddChild:function(e,t){var n=this.getOption("filter");return!i.isFunction(n)||n.call(this,e,t,this.collection)},proxyChildEvents:function(e){var t=this.getOption("childViewEventPrefix");this.listenTo(e,"all",function(){var n=i.toArray(arguments),r=n[0],s=this.normalizeMethods(i.result(this,"childEvents"));n[0]=t+":"+r,n.splice(1,0,e),s!==void 0&&i.isFunction(s[r])&&s[r].apply(this,n.slice(1)),this.triggerMethod.apply(this,n)
21
+ })},_getImmediateChildren:function(){return i.values(this.children._views)},_getViewAndNested:function(e){return[e].concat(i.result(e,"_getNestedViews")||[])},getViewComparator:function(){return this.getOption("viewComparator")}}),s.CompositeView=s.CollectionView.extend({constructor:function(){s.CollectionView.apply(this,arguments)},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this._onCollectionAdd),this.listenTo(this.collection,"remove",this._onCollectionRemove),this.listenTo(this.collection,"reset",this._renderChildren),this.getOption("sort")&&this.listenTo(this.collection,"sort",this._sortViews))},getChildView:function(){var e=this.getOption("childView")||this.constructor;return e},serializeData:function(){var e={};return this.model&&(e=i.partial(this.serializeModel,this.model).apply(this,arguments)),e},render:function(){return this._ensureViewIsIntact(),this._isRendering=!0,this.resetChildViewContainer(),this.triggerMethod("before:render",this),this._renderTemplate(),this._renderChildren(),this._isRendering=!1,this.isRendered=!0,this.triggerMethod("render",this),this},_renderChildren:function(){(this.isRendered||this._isRendering)&&s.CollectionView.prototype._renderChildren.call(this)},_renderTemplate:function(){var e={};e=this.serializeData(),e=this.mixinTemplateHelpers(e),this.triggerMethod("before:render:template");var t=this.getTemplate(),i=s.Renderer.render(t,e,this);this.attachElContent(i),this.bindUIElements(),this.triggerMethod("render:template")},attachElContent:function(e){return this.$el.html(e),this},attachBuffer:function(e,t){var i=this.getChildViewContainer(e);i.append(t)},_insertAfter:function(e){var t=this.getChildViewContainer(this,e);t.append(e.el)},_appendReorderedChildren:function(e){var t=this.getChildViewContainer(this);t.append(e)},getChildViewContainer:function(e){if(e.$childViewContainer)return e.$childViewContainer;var t,i=s.getOption(e,"childViewContainer");if(i){var n=s._getValue(i,e);if(t="@"===n.charAt(0)&&e.ui?e.ui[n.substr(4)]:e.$(n),0>=t.length)throw new s.Error({name:"ChildViewContainerMissingError",message:'The specified "childViewContainer" was not found: '+e.childViewContainer})}else t=e.$el;return e.$childViewContainer=t,t},resetChildViewContainer:function(){this.$childViewContainer&&(this.$childViewContainer=void 0)}}),s.LayoutView=s.ItemView.extend({regionClass:s.Region,options:{destroyImmediate:!1},childViewEventPrefix:"childview",constructor:function(e){e=e||{},this._firstRender=!0,this._initializeRegions(e),s.ItemView.call(this,e)},render:function(){return this._ensureViewIsIntact(),this._firstRender?this._firstRender=!1:this._reInitializeRegions(),s.ItemView.prototype.render.apply(this,arguments)},destroy:function(){return this.isDestroyed?this:(this.getOption("destroyImmediate")===!0&&this.$el.remove(),this.regionManager.destroy(),s.ItemView.prototype.destroy.apply(this,arguments))},showChildView:function(e){var t=this.getRegion(e);return t.show.apply(t,i.rest(arguments))},getChildView:function(e){return this.getRegion(e).currentView},addRegion:function(e,t){var i={};return i[e]=t,this._buildRegions(i)[e]},addRegions:function(e){return this.regions=i.extend({},this.regions,e),this._buildRegions(e)},removeRegion:function(e){return delete this.regions[e],this.regionManager.removeRegion(e)},getRegion:function(e){return this.regionManager.get(e)},getRegions:function(){return this.regionManager.getRegions()},_buildRegions:function(e){var t={regionClass:this.getOption("regionClass"),parentEl:i.partial(i.result,this,"el")};return this.regionManager.addRegions(e,t)},_initializeRegions:function(e){var t;this._initRegionManager(),t=s._getValue(this.regions,this,[e])||{};var n=this.getOption.call(e,"regions");n=s._getValue(n,this,[e]),i.extend(t,n),t=this.normalizeUIValues(t,["selector","el"]),this.addRegions(t)},_reInitializeRegions:function(){this.regionManager.invoke("reset")},getRegionManager:function(){return new s.RegionManager},_initRegionManager:function(){this.regionManager=this.getRegionManager(),this.regionManager._parent=this,this.listenTo(this.regionManager,"before:add:region",function(e){this.triggerMethod("before:add:region",e)}),this.listenTo(this.regionManager,"add:region",function(e,t){this[e]=t,this.triggerMethod("add:region",e,t)}),this.listenTo(this.regionManager,"before:remove:region",function(e){this.triggerMethod("before:remove:region",e)}),this.listenTo(this.regionManager,"remove:region",function(e,t){delete this[e],this.triggerMethod("remove:region",e,t)})},_getImmediateChildren:function(){return i.chain(this.regionManager.getRegions()).pluck("currentView").compact().value()}}),s.Behavior=s.Object.extend({constructor:function(e,t){this.view=t,this.defaults=i.result(this,"defaults")||{},this.options=i.extend({},this.defaults,e),this.ui=i.extend({},i.result(t,"ui"),i.result(this,"ui")),s.Object.apply(this,arguments)},$:function(){return this.view.$.apply(this.view,arguments)},destroy:function(){return this.stopListening(),this},proxyViewProperties:function(e){this.$el=e.$el,this.el=e.el}}),s.Behaviors=function(e,t){function i(e,n){return t.isObject(e.behaviors)?(n=i.parseBehaviors(e,n||t.result(e,"behaviors")),i.wrap(e,n,t.keys(o)),n):{}}function n(e,t){this._view=e,this._behaviors=t,this._triggers={}}function r(e){return e._uiBindings||e.ui}var s=/^(\S+)\s*(.*)$/,o={behaviorTriggers:function(e,t){var i=new n(this,t);return i.buildBehaviorTriggers()},behaviorEvents:function(i,n){var o={};return t.each(n,function(i,n){var h={},a=t.clone(t.result(i,"events"))||{};a=e.normalizeUIKeys(a,r(i));var d=0;t.each(a,function(e,r){var o=r.match(s),a=o[1]+"."+[this.cid,n,d++," "].join(""),l=o[2],c=a+l,u=t.isFunction(e)?e:i[e];h[c]=t.bind(u,i)},this),o=t.extend(o,h)},this),o}};return t.extend(i,{behaviorsLookup:function(){throw new e.Error({message:"You must define where your behaviors are stored.",url:"marionette.behaviors.html#behaviorslookup"})},getBehaviorClass:function(t,n){return t.behaviorClass?t.behaviorClass:e._getValue(i.behaviorsLookup,this,[t,n])[n]},parseBehaviors:function(e,n){return t.chain(n).map(function(n,r){var s=i.getBehaviorClass(n,r),o=new s(n,e),h=i.parseBehaviors(e,t.result(o,"behaviors"));return[o].concat(h)}).flatten().value()},wrap:function(e,i,n){t.each(n,function(n){e[n]=t.partial(o[n],e[n],i)})}}),t.extend(n.prototype,{buildBehaviorTriggers:function(){return t.each(this._behaviors,this._buildTriggerHandlersForBehavior,this),this._triggers},_buildTriggerHandlersForBehavior:function(i,n){var s=t.clone(t.result(i,"triggers"))||{};s=e.normalizeUIKeys(s,r(i)),t.each(s,t.bind(this._setHandlerForBehavior,this,i,n))},_setHandlerForBehavior:function(e,t,i,n){var r=n.replace(/^\S+/,function(e){return e+"."+"behaviortriggers"+t});this._triggers[r]=this._view._buildViewTrigger(i)}}),i}(s,i),s.AppRouter=t.Router.extend({constructor:function(e){this.options=e||{},t.Router.apply(this,arguments);var i=this.getOption("appRoutes"),n=this._getController();this.processAppRoutes(n,i),this.on("route",this._processOnRoute,this)},appRoute:function(e,t){var i=this._getController();this._addAppRoute(i,e,t)},_processOnRoute:function(e,t){if(i.isFunction(this.onRoute)){var n=i.invert(this.getOption("appRoutes"))[e];this.onRoute(e,n,t)}},processAppRoutes:function(e,t){if(t){var n=i.keys(t).reverse();i.each(n,function(i){this._addAppRoute(e,i,t[i])},this)}},_getController:function(){return this.getOption("controller")},_addAppRoute:function(e,t,n){var r=e[n];if(!r)throw new s.Error('Method "'+n+'" was not found on the controller');this.route(t,n,i.bind(r,e))},mergeOptions:s.mergeOptions,getOption:s.proxyGetOption,triggerMethod:s.triggerMethod,bindEntityEvents:s.proxyBindEntityEvents,unbindEntityEvents:s.proxyUnbindEntityEvents}),s.Application=s.Object.extend({constructor:function(e){this._initializeRegions(e),this._initCallbacks=new s.Callbacks,this.submodules={},i.extend(this,e),this._initChannel(),s.Object.apply(this,arguments)},execute:function(){this.commands.execute.apply(this.commands,arguments)},request:function(){return this.reqres.request.apply(this.reqres,arguments)},addInitializer:function(e){this._initCallbacks.add(e)},start:function(e){this.triggerMethod("before:start",e),this._initCallbacks.run(e,this),this.triggerMethod("start",e)},addRegions:function(e){return this._regionManager.addRegions(e)},emptyRegions:function(){return this._regionManager.emptyRegions()},removeRegion:function(e){return this._regionManager.removeRegion(e)},getRegion:function(e){return this._regionManager.get(e)},getRegions:function(){return this._regionManager.getRegions()},module:function(e,t){var n=s.Module.getClass(t),r=i.toArray(arguments);return r.unshift(this),n.create.apply(n,r)},getRegionManager:function(){return new s.RegionManager},_initializeRegions:function(e){var t=i.isFunction(this.regions)?this.regions(e):this.regions||{};this._initRegionManager();var n=s.getOption(e,"regions");return i.isFunction(n)&&(n=n.call(this,e)),i.extend(t,n),this.addRegions(t),this},_initRegionManager:function(){this._regionManager=this.getRegionManager(),this._regionManager._parent=this,this.listenTo(this._regionManager,"before:add:region",function(){s._triggerMethod(this,"before:add:region",arguments)}),this.listenTo(this._regionManager,"add:region",function(e,t){this[e]=t,s._triggerMethod(this,"add:region",arguments)}),this.listenTo(this._regionManager,"before:remove:region",function(){s._triggerMethod(this,"before:remove:region",arguments)}),this.listenTo(this._regionManager,"remove:region",function(e){delete this[e],s._triggerMethod(this,"remove:region",arguments)})},_initChannel:function(){this.channelName=i.result(this,"channelName")||"global",this.channel=i.result(this,"channel")||t.Wreqr.radio.channel(this.channelName),this.vent=i.result(this,"vent")||this.channel.vent,this.commands=i.result(this,"commands")||this.channel.commands,this.reqres=i.result(this,"reqres")||this.channel.reqres}}),s.Module=function(e,t,n){this.moduleName=e,this.options=i.extend({},this.options,n),this.initialize=n.initialize||this.initialize,this.submodules={},this._setupInitializersAndFinalizers(),this.app=t,i.isFunction(this.initialize)&&this.initialize(e,t,this.options)},s.Module.extend=s.extend,i.extend(s.Module.prototype,t.Events,{startWithParent:!0,initialize:function(){},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,this.triggerMethod("before:stop"),i.invoke(this.submodules,"stop"),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),this.triggerMethod("stop"))},addDefinition:function(e,t){this._runModuleDefinition(e,t)},_runModuleDefinition:function(e,n){if(e){var r=i.flatten([this,this.app,t,s,t.$,i,n]);e.apply(this,r)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new s.Callbacks,this._finalizerCallbacks=new s.Callbacks},triggerMethod:s.triggerMethod}),i.extend(s.Module,{create:function(e,t,n){var r=e,s=i.drop(arguments,3);t=t.split(".");var o=t.length,h=[];return h[o-1]=n,i.each(t,function(t,i){var o=r;r=this._getModule(o,t,e,n),this._addModuleDefinition(o,r,h[i],s)},this),r},_getModule:function(e,t,n,r){var s=i.extend({},r),o=this.getClass(r),h=e[t];return h||(h=new o(t,n,s),e[t]=h,e.submodules[t]=h),h},getClass:function(e){var t=s.Module;return e?e.prototype instanceof t?e:e.moduleClass||t:t},_addModuleDefinition:function(e,t,i,n){var r=this._getDefine(i),s=this._getStartWithParent(i,t);r&&t.addDefinition(r,n),this._addStartWithParent(e,t,s)},_getStartWithParent:function(e,t){var n;return i.isFunction(e)&&e.prototype instanceof s.Module?(n=t.constructor.prototype.startWithParent,i.isUndefined(n)?!0:n):i.isObject(e)?(n=e.startWithParent,i.isUndefined(n)?!0:n):!0},_getDefine:function(e){return!i.isFunction(e)||e.prototype instanceof s.Module?i.isObject(e)?e.define:null:e},_addStartWithParent:function(e,t,i){t.startWithParent=t.startWithParent&&i,t.startWithParent&&!t.startWithParentIsConfigured&&(t.startWithParentIsConfigured=!0,e.addInitializer(function(e){t.startWithParent&&t.start(e)}))}}),s});
22
22
  //@ 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: 2.4.3
4
+ version: 2.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Godfrey Chan