diff --git a/bower.json b/bower.json index 71919c9c6b..8f2d67f6ae 100644 --- a/bower.json +++ b/bower.json @@ -6,7 +6,7 @@ "./lib/backbone.marionette.js", "./lib/core/amd/backbone.marionette.js" ], - "version": "1.8.6", + "version": "1.8.7", "keywords": [ "backbone", "framework", diff --git a/changelog.md b/changelog.md index 19f152aa75..7e22bd25f4 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,11 @@ +### v1.8.6 [view commit logs](https://github.com/marionettejs/backbone.marionette/compare/v1.8.6...v1.8.7) + + * Fixes + * Fixed nasty ui interpolation bug with behaviors. + + * General + * Minor Doc cleanup + ### v1.8.6 [view commit logs](https://github.com/marionettejs/backbone.marionette/compare/v1.8.5...v1.8.6) * Regions diff --git a/component.json b/component.json index 866766c741..8fdae549f6 100644 --- a/component.json +++ b/component.json @@ -1,7 +1,7 @@ { "name": "backbone.marionette", "description": "Make your Backbone.js apps dance!", - "version": "1.8.6", + "version": "1.8.7", "repo": "marionettejs/backbone.marionette", "main": "lib/core/amd/backbone.marionette.js", "keywords": [ diff --git a/lib/backbone.marionette.js b/lib/backbone.marionette.js index 93d7dfc096..1bd95e9bdd 100644 --- a/lib/backbone.marionette.js +++ b/lib/backbone.marionette.js @@ -1,6 +1,6 @@ // MarionetteJS (Backbone.Marionette) // ---------------------------------- -// v1.8.6 +// v1.8.7 // // Copyright (c)2014 Derick Bailey, Muted Solutions, LLC. // Distributed under MIT license @@ -2357,7 +2357,7 @@ Marionette.Behaviors = (function(Marionette, _) { _.each(behaviors, function(b, i) { var _events = {}; - var behaviorEvents = _.result(b, 'events') || {}; + var behaviorEvents = _.clone(_.result(b, 'events')) || {}; var behaviorUI = _.result(b, 'ui'); // Construct an internal UI hash first using diff --git a/lib/backbone.marionette.map b/lib/backbone.marionette.map index 7a6c255e8d..517c952d0b 100644 --- a/lib/backbone.marionette.map +++ b/lib/backbone.marionette.map @@ -1 +1 @@ -{"version":3,"file":"lib/backbone.marionette.min.js","sources":["?"],"names":["Marionette","global","Backbone","_","throwError","message","name","error","Error","previousChildViewContainer","ChildViewContainer","Container","views","this","_views","_indexByModel","_indexByCustom","_updateLength","each","add","extend","prototype","view","customIndex","viewCid","cid","model","findByModel","findByModelCid","modelCid","findByCid","findByCustom","index","findByIndex","values","remove","any","key","call","method","apply","tail","arguments","args","isFunction","length","size","methods","concat","toArray","VERSION","noConflict","previousWreqr","Wreqr","Handlers","options","_wreqrHandlers","initialize","Model","Events","setHandlers","handlers","handler","context","isObject","callback","setHandler","config","trigger","hasHandler","getHandler","Array","slice","removeHandler","removeAllHandlers","CommandStorage","_commands","getCommands","commandName","commands","command","instances","addCommand","push","clearCommands","Commands","storageType","constructor","_initializeStorage","on","_executeCommands","execute","storage","StorageType","RequestResponse","request","EventAggregator","EA","Channel","channelName","vent","reqres","reset","off","stopListening","connectEvents","hash","_connect","connectCommands","connectRequests","type","fn","eventName","bind","radio","Radio","_channels","_proxyMethods","channel","_getChannel","system","messageSystems","proxyMethod","messageSystem","$","getOption","target","optionName","value","undefined","normalizeMethods","normalizedHash","normalizeUIKeys","ui","keys","v","pattern","match","replace","r","actAsCollection","object","listProperty","list","result","triggerMethod","getEventName","prefix","toUpperCase","splitter","event","methodName","MonitorDOMRefresh","documentElement","handleShow","_isShown","triggerDOMRefresh","handleRender","_isRendered","isInDOM","contains","el","listenTo","document","bindFromStrings","entity","evt","methodNames","split","bindToFunction","unbindFromStrings","unbindToFunction","iterateEvents","bindings","functionCallback","stringCallback","bindEntityEvents","unbindEntityEvents","Callbacks","_deferred","Deferred","_callbacks","contextOverride","cb","ctx","done","run","resolve","callbacks","Controller","close","Region","buildRegion","regionConfig","defaultRegionType","regionIsString","isString","regionSelectorIsString","selector","regionTypeIsUndefined","isUndefined","regionType","regionIsType","RegionType","region","parentEl","getEl","find","show","ensureEl","showOptions","isViewClosed","isClosed","$el","isDifferentView","currentView","preventClose","_shouldCloseView","render","open","empty","append","attachView","RegionManager","_regions","addRegions","regionDefinitions","defaults","regions","definition","addRegion","hasSelector","_store","get","removeRegion","_remove","removeRegions","closeRegions","_setLength","TemplateCache","templateId","templateCaches","cachedTemplate","load","clear","i","compiledTemplate","template","loadTemplate","compileTemplate","html","rawTemplate","Renderer","data","templateFunc","View","bindAll","events","behaviors","Behaviors","onShowCalled","getTemplate","mixinTemplateHelpers","templateHelpers","configureTriggers","triggers","triggerEvents","hasOptions","e","prevent","preventDefault","stop","stopPropagation","shouldPrevent","shouldStop","collection","delegateEvents","_delegateDOMEvents","combinedEvents","behaviorEvents","undelegateEvents","shouldClose","unbindUIElements","bindUIElements","_uiBindings","ItemView","serializeData","toJSON","items","CollectionView","itemViewEventPrefix","_initChildViewStorage","_initialEvents","initRenderBuffer","elBuffer","createDocumentFragment","_bufferedChildren","startBuffering","isBuffering","endBuffering","appendBuffer","_triggerShowBufferedChildren","child","addChildView","removeItemView","item","closeEmptyView","getItemView","indexOf","addItemView","children","triggerBeforeRender","triggerRendered","_renderChildren","closeChildren","isEmpty","showEmptyView","showCollection","EmptyView","getEmptyView","_showingEmptyView","itemView","itemViewOptions","buildItemView","addChildViewEventForwarding","renderItemView","rootEvent","itemEvents","getItemEvents","splice","appendHtml","ItemViewType","removeChildView","checkEmpty","collectionView","buffer","appendChild","CompositeView","once","isRendered","resetItemViewContainer","renderModel","compositeView","$container","getItemViewContainer","containerView","$itemViewContainer","container","itemViewContainer","charAt","substr","Layout","_firstRender","_initializeRegions","_reInitializeRegions","regionManager","_buildRegions","getRegion","that","_initRegionManager","Behavior","parseBehaviors","wrap","setElement","b","invoke","_behaviorsEvents","viewUI","_events","behaviorUI","whitespace","join","eventKey","behaviorsLookup","getBehaviorClass","behaviorClass","map","BehaviorClass","partial","AppRouter","Router","appRoutes","controller","_getController","processAppRoutes","_processOnRoute","appRoute","route","_addAppRoute","routeName","routeArgs","routePath","invert","onRoute","routeNames","reverse","Application","_initCallbacks","submodules","addInitializer","initializer","start","_regionManager","module","moduleNames","moduleDefinition","ModuleClass","Module","getClass","unshift","create","moduleName","app","_setupInitializersAndFinalizers","startWithParent","_initializerCallbacks","addFinalizer","_finalizerCallbacks","_isInitialized","mod","addDefinition","customArgs","_runModuleDefinition","flatten","moduleDefinitions","parentModule","_getModule","_addModuleDefinition","def","moduleClass","_getDefine","_getStartWithParent","_addStartWithParent","swp","define","startWithParentIsConfigured"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"lib/backbone.marionette.min.js","sources":["?"],"names":["Marionette","global","Backbone","_","throwError","message","name","error","Error","previousChildViewContainer","ChildViewContainer","Container","views","this","_views","_indexByModel","_indexByCustom","_updateLength","each","add","extend","prototype","view","customIndex","viewCid","cid","model","findByModel","findByModelCid","modelCid","findByCid","findByCustom","index","findByIndex","values","remove","any","key","call","method","apply","tail","arguments","args","isFunction","length","size","methods","concat","toArray","VERSION","noConflict","previousWreqr","Wreqr","Handlers","options","_wreqrHandlers","initialize","Model","Events","setHandlers","handlers","handler","context","isObject","callback","setHandler","config","trigger","hasHandler","getHandler","Array","slice","removeHandler","removeAllHandlers","CommandStorage","_commands","getCommands","commandName","commands","command","instances","addCommand","push","clearCommands","Commands","storageType","constructor","_initializeStorage","on","_executeCommands","execute","storage","StorageType","RequestResponse","request","EventAggregator","EA","Channel","channelName","vent","reqres","reset","off","stopListening","connectEvents","hash","_connect","connectCommands","connectRequests","type","fn","eventName","bind","radio","Radio","_channels","_proxyMethods","channel","_getChannel","system","messageSystems","proxyMethod","messageSystem","$","getOption","target","optionName","value","undefined","normalizeMethods","normalizedHash","normalizeUIKeys","ui","keys","v","pattern","match","replace","r","actAsCollection","object","listProperty","list","result","triggerMethod","getEventName","prefix","toUpperCase","splitter","event","methodName","MonitorDOMRefresh","documentElement","handleShow","_isShown","triggerDOMRefresh","handleRender","_isRendered","isInDOM","contains","el","listenTo","document","bindFromStrings","entity","evt","methodNames","split","bindToFunction","unbindFromStrings","unbindToFunction","iterateEvents","bindings","functionCallback","stringCallback","bindEntityEvents","unbindEntityEvents","Callbacks","_deferred","Deferred","_callbacks","contextOverride","cb","ctx","done","run","resolve","callbacks","Controller","close","Region","buildRegion","regionConfig","defaultRegionType","regionIsString","isString","regionSelectorIsString","selector","regionTypeIsUndefined","isUndefined","regionType","regionIsType","RegionType","region","parentEl","getEl","find","show","ensureEl","showOptions","isViewClosed","isClosed","$el","isDifferentView","currentView","preventClose","_shouldCloseView","render","open","empty","append","attachView","RegionManager","_regions","addRegions","regionDefinitions","defaults","regions","definition","addRegion","hasSelector","_store","get","removeRegion","_remove","removeRegions","closeRegions","_setLength","TemplateCache","templateId","templateCaches","cachedTemplate","load","clear","i","compiledTemplate","template","loadTemplate","compileTemplate","html","rawTemplate","Renderer","data","templateFunc","View","bindAll","events","behaviors","Behaviors","onShowCalled","getTemplate","mixinTemplateHelpers","templateHelpers","configureTriggers","triggers","triggerEvents","hasOptions","e","prevent","preventDefault","stop","stopPropagation","shouldPrevent","shouldStop","collection","delegateEvents","_delegateDOMEvents","combinedEvents","behaviorEvents","undelegateEvents","shouldClose","unbindUIElements","bindUIElements","_uiBindings","ItemView","serializeData","toJSON","items","CollectionView","itemViewEventPrefix","_initChildViewStorage","_initialEvents","initRenderBuffer","elBuffer","createDocumentFragment","_bufferedChildren","startBuffering","isBuffering","endBuffering","appendBuffer","_triggerShowBufferedChildren","child","addChildView","removeItemView","item","closeEmptyView","getItemView","indexOf","addItemView","children","triggerBeforeRender","triggerRendered","_renderChildren","closeChildren","isEmpty","showEmptyView","showCollection","EmptyView","getEmptyView","_showingEmptyView","itemView","itemViewOptions","buildItemView","addChildViewEventForwarding","renderItemView","rootEvent","itemEvents","getItemEvents","splice","appendHtml","ItemViewType","removeChildView","checkEmpty","collectionView","buffer","appendChild","CompositeView","once","isRendered","resetItemViewContainer","renderModel","compositeView","$container","getItemViewContainer","containerView","$itemViewContainer","container","itemViewContainer","charAt","substr","Layout","_firstRender","_initializeRegions","_reInitializeRegions","regionManager","_buildRegions","getRegion","that","_initRegionManager","Behavior","parseBehaviors","wrap","setElement","b","invoke","_behaviorsEvents","viewUI","_events","clone","behaviorUI","whitespace","join","eventKey","behaviorsLookup","getBehaviorClass","behaviorClass","map","BehaviorClass","partial","AppRouter","Router","appRoutes","controller","_getController","processAppRoutes","_processOnRoute","appRoute","route","_addAppRoute","routeName","routeArgs","routePath","invert","onRoute","routeNames","reverse","Application","_initCallbacks","submodules","addInitializer","initializer","start","_regionManager","module","moduleNames","moduleDefinition","ModuleClass","Module","getClass","unshift","create","moduleName","app","_setupInitializersAndFinalizers","startWithParent","_initializerCallbacks","addFinalizer","_finalizerCallbacks","_isInitialized","mod","addDefinition","customArgs","_runModuleDefinition","flatten","moduleDefinitions","parentModule","_getModule","_addModuleDefinition","def","moduleClass","_getDefine","_getStartWithParent","_addStartWithParent","swp","define","startWithParentIsConfigured"],"mappings":"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"} \ No newline at end of file diff --git a/lib/backbone.marionette.min.js b/lib/backbone.marionette.min.js index 45a3443aee..cf7d7c7c4c 100644 --- a/lib/backbone.marionette.min.js +++ b/lib/backbone.marionette.min.js @@ -1,6 +1,6 @@ // MarionetteJS (Backbone.Marionette) // ---------------------------------- -// v1.8.6 +// v1.8.7 // // Copyright (c)2014 Derick Bailey, Muted Solutions, LLC. // Distributed under MIT license @@ -18,5 +18,5 @@ -var Marionette=function(a,b,c){"use strict";function d(a,b){var c=new Error(a);throw c.name=b||"Error",c}!function(a,b){var c=a.ChildViewContainer;return a.ChildViewContainer=function(a,b){var c=function(a){this._views={},this._indexByModel={},this._indexByCustom={},this._updateLength(),b.each(a,this.add,this)};b.extend(c.prototype,{add:function(a,b){var c=a.cid;return this._views[c]=a,a.model&&(this._indexByModel[a.model.cid]=c),b&&(this._indexByCustom[b]=c),this._updateLength(),this},findByModel:function(a){return this.findByModelCid(a.cid)},findByModelCid:function(a){var b=this._indexByModel[a];return this.findByCid(b)},findByCustom:function(a){var b=this._indexByCustom[a];return this.findByCid(b)},findByIndex:function(a){return b.values(this._views)[a]},findByCid:function(a){return this._views[a]},remove:function(a){var c=a.cid;return a.model&&delete this._indexByModel[a.model.cid],b.any(this._indexByCustom,function(a,b){return a===c?(delete this._indexByCustom[b],!0):void 0},this),delete this._views[c],this._updateLength(),this},call:function(a){this.apply(a,b.tail(arguments))},apply:function(a,c){b.each(this._views,function(d){b.isFunction(d[a])&&d[a].apply(d,c||[])})},_updateLength:function(){this.length=b.size(this._views)}});var d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];return b.each(d,function(a){c.prototype[a]=function(){var c=b.values(this._views),d=[c].concat(b.toArray(arguments));return b[a].apply(b,d)}}),c}(a,b),a.ChildViewContainer.VERSION="0.1.4",a.ChildViewContainer.noConflict=function(){return a.ChildViewContainer=c,this},a.ChildViewContainer}(b,c),function(a,b){var c=a.Wreqr,d=a.Wreqr={};return a.Wreqr.VERSION="1.3.1",a.Wreqr.noConflict=function(){return a.Wreqr=c,this},d.Handlers=function(a,b){var c=function(a){this.options=a,this._wreqrHandlers={},b.isFunction(this.initialize)&&this.initialize(a)};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events,{setHandlers:function(a){b.each(a,function(a,c){var d=null;b.isObject(a)&&!b.isFunction(a)&&(d=a.context,a=a.callback),this.setHandler(c,a,d)},this)},setHandler:function(a,b,c){var d={callback:b,context:c};this._wreqrHandlers[a]=d,this.trigger("handler:add",a,b,c)},hasHandler:function(a){return!!this._wreqrHandlers[a]},getHandler:function(a){var b=this._wreqrHandlers[a];if(b)return function(){var a=Array.prototype.slice.apply(arguments);return b.callback.apply(b.context,a)}},removeHandler:function(a){delete this._wreqrHandlers[a]},removeAllHandlers:function(){this._wreqrHandlers={}}}),c}(a,b),d.CommandStorage=function(){var c=function(a){this.options=a,this._commands={},b.isFunction(this.initialize)&&this.initialize(a)};return b.extend(c.prototype,a.Events,{getCommands:function(a){var b=this._commands[a];return b||(b={command:a,instances:[]},this._commands[a]=b),b},addCommand:function(a,b){var c=this.getCommands(a);c.instances.push(b)},clearCommands:function(a){var b=this.getCommands(a);b.instances=[]}}),c}(),d.Commands=function(a){return a.Handlers.extend({storageType:a.CommandStorage,constructor:function(b){this.options=b||{},this._initializeStorage(this.options),this.on("handler:add",this._executeCommands,this);var c=Array.prototype.slice.call(arguments);a.Handlers.prototype.constructor.apply(this,c)},execute:function(a,b){a=arguments[0],b=Array.prototype.slice.call(arguments,1),this.hasHandler(a)?this.getHandler(a).apply(this,b):this.storage.addCommand(a,b)},_executeCommands:function(a,c,d){var e=this.storage.getCommands(a);b.each(e.instances,function(a){c.apply(d,a)}),this.storage.clearCommands(a)},_initializeStorage:function(a){var c,d=a.storageType||this.storageType;c=b.isFunction(d)?new d:d,this.storage=c}})}(d),d.RequestResponse=function(a){return a.Handlers.extend({request:function(){var a=arguments[0],b=Array.prototype.slice.call(arguments,1);return this.hasHandler(a)?this.getHandler(a).apply(this,b):void 0}})}(d),d.EventAggregator=function(a,b){var c=function(){};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events),c}(a,b),d.Channel=function(){var c=function(b){this.vent=new a.Wreqr.EventAggregator,this.reqres=new a.Wreqr.RequestResponse,this.commands=new a.Wreqr.Commands,this.channelName=b};return b.extend(c.prototype,{reset:function(){return this.vent.off(),this.vent.stopListening(),this.reqres.removeAllHandlers(),this.commands.removeAllHandlers(),this},connectEvents:function(a,b){return this._connect("vent",a,b),this},connectCommands:function(a,b){return this._connect("commands",a,b),this},connectRequests:function(a,b){return this._connect("reqres",a,b),this},_connect:function(a,c,d){if(c){d=d||this;var e="vent"===a?"on":"setHandler";b.each(c,function(c,f){this[a][e](f,b.bind(c,d))},this)}}}),c}(d),d.radio=function(a){var c=function(){this._channels={},this.vent={},this.commands={},this.reqres={},this._proxyMethods()};b.extend(c.prototype,{channel:function(a){if(!a)throw new Error("Channel must receive a name");return this._getChannel(a)},_getChannel:function(b){var c=this._channels[b];return c||(c=new a.Channel(b),this._channels[b]=c),c},_proxyMethods:function(){b.each(["vent","commands","reqres"],function(a){b.each(d[a],function(b){this[a][b]=e(this,a,b)},this)},this)}});var d={vent:["on","off","trigger","once","stopListening","listenTo","listenToOnce"],commands:["execute","setHandler","setHandlers","removeHandler","removeAllHandlers"],reqres:["request","setHandler","setHandlers","removeHandler","removeAllHandlers"]},e=function(a,b,c){return function(d){var e=a._getChannel(d)[b],f=Array.prototype.slice.call(arguments,1);return e[c].apply(e,f)}};return new c}(d),a.Wreqr}(b,c);var e={};b.Marionette=e,e.$=b.$;var f=Array.prototype.slice;return e.extend=b.Model.extend,e.getOption=function(a,b){if(a&&b){var c;return c=a.options&&b in a.options&&void 0!==a.options[b]?a.options[b]:a[b]}},e.normalizeMethods=function(a){var b,d={};return c.each(a,function(a,e){b=a,c.isFunction(b)||(b=this[b]),b&&(d[e]=b)},this),d},e.normalizeUIKeys=function(a,b){return"undefined"!=typeof a?(c.each(c.keys(a),function(c){var d=/@ui.[a-zA-Z_$0-9]*/g;c.match(d)&&(a[c.replace(d,function(a){return b[a.slice(4)]})]=a[c],delete a[c])}),a):void 0},e.actAsCollection=function(a,b){var d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];c.each(d,function(d){a[d]=function(){var a=c.values(c.result(this,b)),e=[a].concat(c.toArray(arguments));return c[d].apply(c,e)}})},e.triggerMethod=function(){function a(a,b,c){return c.toUpperCase()}var b=/(^|:)(\w)/gi,d=function(d){var e="on"+d.replace(b,a),f=this[e];return c.isFunction(this.trigger)&&this.trigger.apply(this,arguments),c.isFunction(f)?f.apply(this,c.tail(arguments)):void 0};return d}(),e.MonitorDOMRefresh=function(a){function b(a){a._isShown=!0,e(a)}function d(a){a._isRendered=!0,e(a)}function e(a){a._isShown&&a._isRendered&&f(a)&&c.isFunction(a.triggerMethod)&&a.triggerMethod("dom:refresh")}function f(b){return a.contains(b.el)}return function(a){a.listenTo(a,"show",function(){b(a)}),a.listenTo(a,"render",function(){d(a)})}}(document.documentElement),function(a){function b(a,b,e,f){var g=f.split(/\s+/);c.each(g,function(c){var f=a[c];f||d("Method '"+c+"' was configured as an event handler, but does not exist."),a.listenTo(b,e,f)})}function e(a,b,c,d){a.listenTo(b,c,d)}function f(a,b,d,e){var f=e.split(/\s+/);c.each(f,function(c){var e=a[c];a.stopListening(b,d,e)})}function g(a,b,c,d){a.stopListening(b,c,d)}function h(a,b,d,e,f){b&&d&&(c.isFunction(d)&&(d=d.call(a)),c.each(d,function(d,g){c.isFunction(d)?e(a,b,g,d):f(a,b,g,d)}))}a.bindEntityEvents=function(a,c,d){h(a,c,d,e,b)},a.unbindEntityEvents=function(a,b,c){h(a,b,c,g,f)}}(e),e.Callbacks=function(){this._deferred=e.$.Deferred(),this._callbacks=[]},c.extend(e.Callbacks.prototype,{add:function(a,b){this._callbacks.push({cb:a,ctx:b}),this._deferred.done(function(c,d){b&&(c=b),a.call(c,d)})},run:function(a,b){this._deferred.resolve(b,a)},reset:function(){var a=this._callbacks;this._deferred=e.$.Deferred(),this._callbacks=[],c.each(a,function(a){this.add(a.cb,a.ctx)},this)}}),e.Controller=function(a){this.triggerMethod=e.triggerMethod,this.options=a||{},c.isFunction(this.initialize)&&this.initialize(this.options)},e.Controller.extend=e.extend,c.extend(e.Controller.prototype,b.Events,{close:function(){this.stopListening();var a=Array.prototype.slice.call(arguments);this.triggerMethod.apply(this,["close"].concat(a)),this.off()}}),e.Region=function(a){if(this.options=a||{},this.el=e.getOption(this,"el"),this.el||d("An 'el' must be specified for a region.","NoElError"),this.initialize){var b=Array.prototype.slice.apply(arguments);this.initialize.apply(this,b)}},c.extend(e.Region,{buildRegion:function(a,b){var e=c.isString(a),f=c.isString(a.selector),g=c.isUndefined(a.regionType),h=c.isFunction(a);h||e||f||d("Region must be specified as a Region type, a selector string or an object with selector property");var i,j;e&&(i=a),a.selector&&(i=a.selector,delete a.selector),h&&(j=a),!h&&g&&(j=b),a.regionType&&(j=a.regionType,delete a.regionType),(e||h)&&(a={}),a.el=i;var k=new j(a);return a.parentEl&&(k.getEl=function(b){var d=a.parentEl;return c.isFunction(d)&&(d=d()),d.find(b)}),k}}),c.extend(e.Region.prototype,b.Events,{show:function(a,b){this.ensureEl();var d=b||{},f=a.isClosed||c.isUndefined(a.$el),g=a!==this.currentView,h=!!d.preventClose,i=!h&&g;return i&&this.close(),a.render(),e.triggerMethod.call(this,"before:show",a),c.isFunction(a.triggerMethod)?a.triggerMethod("before:show"):e.triggerMethod.call(a,"before:show"),(g||f)&&this.open(a),this.currentView=a,e.triggerMethod.call(this,"show",a),c.isFunction(a.triggerMethod)?a.triggerMethod("show"):e.triggerMethod.call(a,"show"),this},ensureEl:function(){this.$el&&0!==this.$el.length||(this.$el=this.getEl(this.el))},getEl:function(a){return e.$(a)},open:function(a){this.$el.empty().append(a.el)},close:function(){var a=this.currentView;a&&!a.isClosed&&(a.close?a.close():a.remove&&a.remove(),e.triggerMethod.call(this,"close",a),delete this.currentView)},attachView:function(a){this.currentView=a},reset:function(){this.close(),delete this.$el}}),e.Region.extend=e.extend,e.RegionManager=function(a){var b=a.Controller.extend({constructor:function(b){this._regions={},a.Controller.prototype.constructor.call(this,b)},addRegions:function(a,b){var d={};return c.each(a,function(a,e){c.isString(a)&&(a={selector:a}),a.selector&&(a=c.defaults({},a,b));var f=this.addRegion(e,a);d[e]=f},this),d},addRegion:function(b,d){var e,f=c.isObject(d),g=c.isString(d),h=!!d.selector;return e=g||f&&h?a.Region.buildRegion(d,a.Region):c.isFunction(d)?a.Region.buildRegion(d,a.Region):d,this._store(b,e),this.triggerMethod("region:add",b,e),e},get:function(a){return this._regions[a]},removeRegion:function(a){var b=this._regions[a];this._remove(a,b)},removeRegions:function(){c.each(this._regions,function(a,b){this._remove(b,a)},this)},closeRegions:function(){c.each(this._regions,function(a){a.close()},this)},close:function(){this.removeRegions(),a.Controller.prototype.close.apply(this,arguments)},_store:function(a,b){this._regions[a]=b,this._setLength()},_remove:function(a,b){b.close(),b.stopListening(),delete this._regions[a],this._setLength(),this.triggerMethod("region:remove",a,b)},_setLength:function(){this.length=c.size(this._regions)}});return a.actAsCollection(b.prototype,"_regions"),b}(e),e.TemplateCache=function(a){this.templateId=a},c.extend(e.TemplateCache,{templateCaches:{},get:function(a){var b=this.templateCaches[a];return b||(b=new e.TemplateCache(a),this.templateCaches[a]=b),b.load()},clear:function(){var a,b=f.call(arguments),c=b.length;if(c>0)for(a=0;c>a;a++)delete this.templateCaches[b[a]];else this.templateCaches={}}}),c.extend(e.TemplateCache.prototype,{load:function(){if(this.compiledTemplate)return this.compiledTemplate;var a=this.loadTemplate(this.templateId);return this.compiledTemplate=this.compileTemplate(a),this.compiledTemplate},loadTemplate:function(a){var b=e.$(a).html();return b&&0!==b.length||d("Could not find template: '"+a+"'","NoTemplateError"),b},compileTemplate:function(a){return c.template(a)}}),e.Renderer={render:function(a,b){a||d("Cannot render the template since it's false, null or undefined.","TemplateNotFoundError");var c;return(c="function"==typeof a?a:e.TemplateCache.get(a))(b)}},e.View=b.View.extend({constructor:function(a){c.bindAll(this,"render"),this.options=c.extend({},c.result(this,"options"),c.isFunction(a)?a.call(this):a),this.events=this.normalizeUIKeys(c.result(this,"events")),c.isObject(this.behaviors)&&new e.Behaviors(this),b.View.prototype.constructor.apply(this,arguments),e.MonitorDOMRefresh(this),this.listenTo(this,"show",this.onShowCalled)},triggerMethod:e.triggerMethod,normalizeMethods:e.normalizeMethods,getTemplate:function(){return e.getOption(this,"template")},mixinTemplateHelpers:function(a){a=a||{};var b=e.getOption(this,"templateHelpers");return c.isFunction(b)&&(b=b.call(this)),c.extend(a,b)},normalizeUIKeys:function(a){var b=c.result(this,"ui");return e.normalizeUIKeys(a,b)},configureTriggers:function(){if(this.triggers){var a={},b=this.normalizeUIKeys(c.result(this,"triggers"));return c.each(b,function(b,d){var e=c.isObject(b),f=e?b.event:b;a[d]=function(a){if(a){var c=a.preventDefault,d=a.stopPropagation,g=e?b.preventDefault:c,h=e?b.stopPropagation:d;g&&c&&c.apply(a),h&&d&&d.apply(a)}var i={view:this,model:this.model,collection:this.collection};this.triggerMethod(f,i)}},this),a}},delegateEvents:function(a){this._delegateDOMEvents(a),e.bindEntityEvents(this,this.model,e.getOption(this,"modelEvents")),e.bindEntityEvents(this,this.collection,e.getOption(this,"collectionEvents"))},_delegateDOMEvents:function(a){a=a||this.events,c.isFunction(a)&&(a=a.call(this));var d={},e=c.result(this,"behaviorEvents")||{},f=this.configureTriggers();c.extend(d,e,a,f),b.View.prototype.delegateEvents.call(this,d)},undelegateEvents:function(){var a=Array.prototype.slice.call(arguments);b.View.prototype.undelegateEvents.apply(this,a),e.unbindEntityEvents(this,this.model,e.getOption(this,"modelEvents")),e.unbindEntityEvents(this,this.collection,e.getOption(this,"collectionEvents"))},onShowCalled:function(){},close:function(){if(!this.isClosed){var a=Array.prototype.slice.call(arguments),b=this.triggerMethod.apply(this,["before:close"].concat(a));b!==!1&&(this.isClosed=!0,this.triggerMethod.apply(this,["close"].concat(a)),this.unbindUIElements(),this.remove())}},bindUIElements:function(){if(this.ui){this._uiBindings||(this._uiBindings=this.ui);var a=c.result(this,"_uiBindings");this.ui={},c.each(c.keys(a),function(b){var c=a[b];this.ui[b]=this.$(c)},this)}},unbindUIElements:function(){this.ui&&this._uiBindings&&(c.each(this.ui,function(a,b){delete this.ui[b]},this),this.ui=this._uiBindings,delete this._uiBindings)}}),e.ItemView=e.View.extend({constructor:function(){e.View.prototype.constructor.apply(this,arguments)},serializeData:function(){var a={};return this.model?a=this.model.toJSON():this.collection&&(a={items:this.collection.toJSON()}),a},render:function(){this.isClosed=!1,this.triggerMethod("before:render",this),this.triggerMethod("item:before:render",this);var a=this.serializeData();a=this.mixinTemplateHelpers(a);var b=this.getTemplate(),c=e.Renderer.render(b,a);return this.$el.html(c),this.bindUIElements(),this.triggerMethod("render",this),this.triggerMethod("item:rendered",this),this},close:function(){this.isClosed||(this.triggerMethod("item:before:close"),e.View.prototype.close.apply(this,arguments),this.triggerMethod("item:closed"))}}),e.CollectionView=e.View.extend({itemViewEventPrefix:"itemview",constructor:function(){this._initChildViewStorage(),e.View.prototype.constructor.apply(this,arguments),this._initialEvents(),this.initRenderBuffer()},initRenderBuffer:function(){this.elBuffer=document.createDocumentFragment(),this._bufferedChildren=[]},startBuffering:function(){this.initRenderBuffer(),this.isBuffering=!0},endBuffering:function(){this.isBuffering=!1,this.appendBuffer(this,this.elBuffer),this._triggerShowBufferedChildren(),this.initRenderBuffer()},_triggerShowBufferedChildren:function(){this._isShown&&(c.each(this._bufferedChildren,function(a){e.triggerMethod.call(a,"show")}),this._bufferedChildren=[])},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView),this.listenTo(this.collection,"remove",this.removeItemView),this.listenTo(this.collection,"reset",this.render))},addChildView:function(a){this.closeEmptyView();var b=this.getItemView(a),c=this.collection.indexOf(a);this.addItemView(a,b,c)},onShowCalled:function(){this.children.each(function(a){e.triggerMethod.call(a,"show")})},triggerBeforeRender:function(){this.triggerMethod("before:render",this),this.triggerMethod("collection:before:render",this)},triggerRendered:function(){this.triggerMethod("render",this),this.triggerMethod("collection:rendered",this)},render:function(){return this.isClosed=!1,this.triggerBeforeRender(),this._renderChildren(),this.triggerRendered(),this},_renderChildren:function(){this.startBuffering(),this.closeEmptyView(),this.closeChildren(),this.isEmpty(this.collection)?this.showEmptyView():this.showCollection(),this.endBuffering()},showCollection:function(){var a;this.collection.each(function(b,c){a=this.getItemView(b),this.addItemView(b,a,c)},this)},showEmptyView:function(){var a=this.getEmptyView();if(a&&!this._showingEmptyView){this._showingEmptyView=!0;var c=new b.Model;this.addItemView(c,a,0)}},closeEmptyView:function(){this._showingEmptyView&&(this.closeChildren(),delete this._showingEmptyView)},getEmptyView:function(){return e.getOption(this,"emptyView")},getItemView:function(){var a=e.getOption(this,"itemView");return a||d("An `itemView` must be specified","NoItemViewError"),a},addItemView:function(a,b,d){var f=e.getOption(this,"itemViewOptions");c.isFunction(f)&&(f=f.call(this,a,d));var g=this.buildItemView(a,b,f);return this.addChildViewEventForwarding(g),this.triggerMethod("before:item:added",g),this.children.add(g),this.renderItemView(g,d),this._isShown&&!this.isBuffering&&e.triggerMethod.call(g,"show"),this.triggerMethod("after:item:added",g),g},addChildViewEventForwarding:function(a){var b=e.getOption(this,"itemViewEventPrefix");this.listenTo(a,"all",function(){var d=f.call(arguments),g=d[0],h=this.normalizeMethods(this.getItemEvents());d[0]=b+":"+g,d.splice(1,0,a),"undefined"!=typeof h&&c.isFunction(h[g])&&h[g].apply(this,d),e.triggerMethod.apply(this,d)},this)},getItemEvents:function(){return c.isFunction(this.itemEvents)?this.itemEvents.call(this):this.itemEvents},renderItemView:function(a,b){a.render(),this.appendHtml(this,a,b)},buildItemView:function(a,b,d){var e=c.extend({model:a},d);return new b(e)},removeItemView:function(a){var b=this.children.findByModel(a);this.removeChildView(b),this.checkEmpty()},removeChildView:function(a){a&&(a.close?a.close():a.remove&&a.remove(),this.stopListening(a),this.children.remove(a)),this.triggerMethod("item:removed",a)},isEmpty:function(){return!this.collection||0===this.collection.length},checkEmpty:function(){this.isEmpty(this.collection)&&this.showEmptyView()},appendBuffer:function(a,b){a.$el.append(b)},appendHtml:function(a,b){a.isBuffering?(a.elBuffer.appendChild(b.el),a._bufferedChildren.push(b)):a.$el.append(b.el)},_initChildViewStorage:function(){this.children=new b.ChildViewContainer},close:function(){this.isClosed||(this.triggerMethod("collection:before:close"),this.closeChildren(),this.triggerMethod("collection:closed"),e.View.prototype.close.apply(this,arguments))},closeChildren:function(){this.children.each(function(a){this.removeChildView(a)},this),this.checkEmpty()}}),e.CompositeView=e.CollectionView.extend({constructor:function(){e.CollectionView.prototype.constructor.apply(this,arguments)},_initialEvents:function(){this.once("render",function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView),this.listenTo(this.collection,"remove",this.removeItemView),this.listenTo(this.collection,"reset",this._renderChildren))})},getItemView:function(){var a=e.getOption(this,"itemView")||this.constructor;return a||d("An `itemView` must be specified","NoItemViewError"),a},serializeData:function(){var a={};return this.model&&(a=this.model.toJSON()),a},render:function(){this.isRendered=!0,this.isClosed=!1,this.resetItemViewContainer(),this.triggerBeforeRender();var a=this.renderModel();return this.$el.html(a),this.bindUIElements(),this.triggerMethod("composite:model:rendered"),this._renderChildren(),this.triggerMethod("composite:rendered"),this.triggerRendered(),this},_renderChildren:function(){this.isRendered&&(this.triggerMethod("composite:collection:before:render"),e.CollectionView.prototype._renderChildren.call(this),this.triggerMethod("composite:collection:rendered"))},renderModel:function(){var a={};a=this.serializeData(),a=this.mixinTemplateHelpers(a);var b=this.getTemplate();return e.Renderer.render(b,a)},appendBuffer:function(a,b){var c=this.getItemViewContainer(a);c.append(b)},appendHtml:function(a,b){if(a.isBuffering)a.elBuffer.appendChild(b.el),a._bufferedChildren.push(b);else{var c=this.getItemViewContainer(a);c.append(b.el)}},getItemViewContainer:function(a){if("$itemViewContainer"in a)return a.$itemViewContainer;var b,f=e.getOption(a,"itemViewContainer");if(f){var g=c.isFunction(f)?f.call(a):f;b="@"===g.charAt(0)&&a.ui?a.ui[g.substr(4)]:a.$(g),b.length<=0&&d("The specified `itemViewContainer` was not found: "+a.itemViewContainer,"ItemViewContainerMissingError")}else b=a.$el;return a.$itemViewContainer=b,b},resetItemViewContainer:function(){this.$itemViewContainer&&delete this.$itemViewContainer}}),e.Layout=e.ItemView.extend({regionType:e.Region,constructor:function(a){a=a||{},this._firstRender=!0,this._initializeRegions(a),e.ItemView.prototype.constructor.call(this,a)},render:function(){return this.isClosed&&this._initializeRegions(),this._firstRender?this._firstRender=!1:this.isClosed||this._reInitializeRegions(),e.ItemView.prototype.render.apply(this,arguments)},close:function(){this.isClosed||(this.regionManager.close(),e.ItemView.prototype.close.apply(this,arguments))},addRegion:function(a,b){var c={};return c[a]=b,this._buildRegions(c)[a]},addRegions:function(a){return this.regions=c.extend({},this.regions,a),this._buildRegions(a)},removeRegion:function(a){return delete this.regions[a],this.regionManager.removeRegion(a)},getRegion:function(a){return this.regionManager.get(a)},_buildRegions:function(a){var b=this,c={regionType:e.getOption(this,"regionType"),parentEl:function(){return b.$el}};return this.regionManager.addRegions(a,c)},_initializeRegions:function(a){var b;this._initRegionManager(),b=c.isFunction(this.regions)?this.regions(a):this.regions||{},this.addRegions(b)},_reInitializeRegions:function(){this.regionManager.closeRegions(),this.regionManager.each(function(a){a.reset()})},_initRegionManager:function(){this.regionManager=new e.RegionManager,this.listenTo(this.regionManager,"region:add",function(a,b){this[a]=b,this.trigger("region:add",a,b)}),this.listenTo(this.regionManager,"region:remove",function(a,b){delete this[a],this.trigger("region:remove",a,b)})}}),e.Behavior=function(a,b){function c(b,c){this.view=c,this.defaults=a.result(this,"defaults")||{},this.options=a.extend({},this.defaults,b),this.$=function(){return this.view.$.apply(this.view,arguments)},this.initialize.apply(this,arguments)}return a.extend(c.prototype,b.Events,{initialize:function(){},close:function(){this.stopListening()},triggerMethod:e.triggerMethod}),c.extend=e.extend,c}(c,b),e.Behaviors=function(a,b){function c(a){this.behaviors=c.parseBehaviors(a,b.result(a,"behaviors")),c.wrap(a,this.behaviors,["bindUIElements","unbindUIElements","delegateEvents","undelegateEvents","behaviorEvents","triggerMethod","setElement","close"])}var d={setElement:function(a,c){a.apply(this,b.tail(arguments,2)),b.each(c,function(a){a.$el=this.$el},this)},close:function(a,c){var d=b.tail(arguments,2);a.apply(this,d),b.invoke(c,"close",d)},bindUIElements:function(a,c){a.apply(this),b.invoke(c,a)},unbindUIElements:function(a,c){a.apply(this),b.invoke(c,a)},triggerMethod:function(a,c){var d=b.tail(arguments,2);a.apply(this,d),b.each(c,function(b){a.apply(b,d)})},delegateEvents:function(c,d){var e=b.tail(arguments,2);c.apply(this,e),b.each(d,function(b){a.bindEntityEvents(b,this.model,a.getOption(b,"modelEvents")),a.bindEntityEvents(b,this.collection,a.getOption(b,"collectionEvents"))},this)},undelegateEvents:function(c,d){var e=b.tail(arguments,2);c.apply(this,e),b.each(d,function(b){a.unbindEntityEvents(b,this.model,a.getOption(b,"modelEvents")),a.unbindEntityEvents(b,this.collection,a.getOption(b,"collectionEvents"))},this)},behaviorEvents:function(c,d){var e={},f=b.result(this,"ui");return b.each(d,function(c,d){var g={},h=b.result(c,"events")||{},i=b.result(c,"ui"),j=b.extend({},f,i);h=a.normalizeUIKeys(h,j),b.each(b.keys(h),function(a){var e=new Array(d+2).join(" "),f=a+e,i=b.isFunction(h[a])?h[a]:c[h[a]];g[f]=b.bind(i,c)}),e=b.extend(e,g)}),e}};return b.extend(c,{behaviorsLookup:function(){throw new Error("You must define where your behaviors are stored. See https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.behaviors.md#behaviorslookup")},getBehaviorClass:function(a,d){return a.behaviorClass?a.behaviorClass:b.isFunction(c.behaviorsLookup)?c.behaviorsLookup.apply(this,arguments)[d]:c.behaviorsLookup[d]},parseBehaviors:function(a,d){return b.map(d,function(b,d){var e=c.getBehaviorClass(b,d);return new e(b,a)})},wrap:function(a,c,e){b.each(e,function(e){a[e]=b.partial(d[e],a[e],c)})}}),c}(e,c),e.AppRouter=b.Router.extend({constructor:function(a){b.Router.prototype.constructor.apply(this,arguments),this.options=a||{};var c=e.getOption(this,"appRoutes"),d=this._getController();this.processAppRoutes(d,c),this.on("route",this._processOnRoute,this)},appRoute:function(a,b){var c=this._getController();this._addAppRoute(c,a,b)},_processOnRoute:function(a,b){var d=c.invert(this.appRoutes)[a];c.isFunction(this.onRoute)&&this.onRoute(a,d,b)},processAppRoutes:function(a,b){if(b){var d=c.keys(b).reverse();c.each(d,function(c){this._addAppRoute(a,c,b[c])},this)}},_getController:function(){return e.getOption(this,"controller")},_addAppRoute:function(a,b,e){var f=a[e];f||d("Method '"+e+"' was not found on the controller"),this.route(b,e,c.bind(f,a))}}),e.Application=function(a){this._initRegionManager(),this._initCallbacks=new e.Callbacks,this.vent=new b.Wreqr.EventAggregator,this.commands=new b.Wreqr.Commands,this.reqres=new b.Wreqr.RequestResponse,this.submodules={},c.extend(this,a),this.triggerMethod=e.triggerMethod},c.extend(e.Application.prototype,b.Events,{execute:function(){this.commands.execute.apply(this.commands,arguments)},request:function(){return this.reqres.request.apply(this.reqres,arguments)},addInitializer:function(a){this._initCallbacks.add(a)},start:function(a){this.triggerMethod("initialize:before",a),this._initCallbacks.run(a,this),this.triggerMethod("initialize:after",a),this.triggerMethod("start",a)},addRegions:function(a){return this._regionManager.addRegions(a)},closeRegions:function(){this._regionManager.closeRegions()},removeRegion:function(a){this._regionManager.removeRegion(a)},getRegion:function(a){return this._regionManager.get(a)},module:function(a,b){var c=e.Module.getClass(b),d=f.call(arguments);return d.unshift(this),c.create.apply(c,d)},_initRegionManager:function(){this._regionManager=new e.RegionManager,this.listenTo(this._regionManager,"region:add",function(a,b){this[a]=b}),this.listenTo(this._regionManager,"region:remove",function(a){delete this[a]})}}),e.Application.extend=e.extend,e.Module=function(a,b,d){this.moduleName=a,this.options=c.extend({},this.options,d),this.initialize=d.initialize||this.initialize,this.submodules={},this._setupInitializersAndFinalizers(),this.app=b,this.startWithParent=!0,this.triggerMethod=e.triggerMethod,c.isFunction(this.initialize)&&this.initialize(this.options,a,b)},e.Module.extend=e.extend,c.extend(e.Module.prototype,b.Events,{initialize:function(){},addInitializer:function(a){this._initializerCallbacks.add(a)},addFinalizer:function(a){this._finalizerCallbacks.add(a)},start:function(a){this._isInitialized||(c.each(this.submodules,function(b){b.startWithParent&&b.start(a)}),this.triggerMethod("before:start",a),this._initializerCallbacks.run(a,this),this._isInitialized=!0,this.triggerMethod("start",a))},stop:function(){this._isInitialized&&(this._isInitialized=!1,e.triggerMethod.call(this,"before:stop"),c.each(this.submodules,function(a){a.stop()}),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),e.triggerMethod.call(this,"stop"))},addDefinition:function(a,b){this._runModuleDefinition(a,b)},_runModuleDefinition:function(a,d){if(a){var f=c.flatten([this,this.app,b,e,e.$,c,d]);a.apply(this,f)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new e.Callbacks,this._finalizerCallbacks=new e.Callbacks}}),c.extend(e.Module,{create:function(a,b,d){var e=a,g=f.call(arguments);g.splice(0,3),b=b.split(".");var h=b.length,i=[];return i[h-1]=d,c.each(b,function(b,c){var f=e;e=this._getModule(f,b,a,d),this._addModuleDefinition(f,e,i[c],g)},this),e},_getModule:function(a,b,d,e){var f=c.extend({},e),g=this.getClass(e),h=a[b];return h||(h=new g(b,d,f),a[b]=h,a.submodules[b]=h),h},getClass:function(a){var b=e.Module;return a?a.prototype instanceof b?a:a.moduleClass||b:b},_addModuleDefinition:function(a,b,c,d){var e=this._getDefine(c),f=this._getStartWithParent(c,b);e&&b.addDefinition(e,d),this._addStartWithParent(a,b,f)},_getStartWithParent:function(a,b){var d;return c.isFunction(a)&&a.prototype instanceof e.Module?(d=b.constructor.prototype.startWithParent,c.isUndefined(d)?!0:d):c.isObject(a)?(d=a.startWithParent,c.isUndefined(d)?!0:d):!0},_getDefine:function(a){return!c.isFunction(a)||a.prototype instanceof e.Module?c.isObject(a)?a.define:null:a},_addStartWithParent:function(a,b,c){b.startWithParent=b.startWithParent&&c,b.startWithParent&&!b.startWithParentIsConfigured&&(b.startWithParentIsConfigured=!0,a.addInitializer(function(a){b.startWithParent&&b.start(a)}))}}),e}(this,Backbone,_); +var Marionette=function(a,b,c){"use strict";function d(a,b){var c=new Error(a);throw c.name=b||"Error",c}!function(a,b){var c=a.ChildViewContainer;return a.ChildViewContainer=function(a,b){var c=function(a){this._views={},this._indexByModel={},this._indexByCustom={},this._updateLength(),b.each(a,this.add,this)};b.extend(c.prototype,{add:function(a,b){var c=a.cid;return this._views[c]=a,a.model&&(this._indexByModel[a.model.cid]=c),b&&(this._indexByCustom[b]=c),this._updateLength(),this},findByModel:function(a){return this.findByModelCid(a.cid)},findByModelCid:function(a){var b=this._indexByModel[a];return this.findByCid(b)},findByCustom:function(a){var b=this._indexByCustom[a];return this.findByCid(b)},findByIndex:function(a){return b.values(this._views)[a]},findByCid:function(a){return this._views[a]},remove:function(a){var c=a.cid;return a.model&&delete this._indexByModel[a.model.cid],b.any(this._indexByCustom,function(a,b){return a===c?(delete this._indexByCustom[b],!0):void 0},this),delete this._views[c],this._updateLength(),this},call:function(a){this.apply(a,b.tail(arguments))},apply:function(a,c){b.each(this._views,function(d){b.isFunction(d[a])&&d[a].apply(d,c||[])})},_updateLength:function(){this.length=b.size(this._views)}});var d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];return b.each(d,function(a){c.prototype[a]=function(){var c=b.values(this._views),d=[c].concat(b.toArray(arguments));return b[a].apply(b,d)}}),c}(a,b),a.ChildViewContainer.VERSION="0.1.4",a.ChildViewContainer.noConflict=function(){return a.ChildViewContainer=c,this},a.ChildViewContainer}(b,c),function(a,b){var c=a.Wreqr,d=a.Wreqr={};return a.Wreqr.VERSION="1.3.1",a.Wreqr.noConflict=function(){return a.Wreqr=c,this},d.Handlers=function(a,b){var c=function(a){this.options=a,this._wreqrHandlers={},b.isFunction(this.initialize)&&this.initialize(a)};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events,{setHandlers:function(a){b.each(a,function(a,c){var d=null;b.isObject(a)&&!b.isFunction(a)&&(d=a.context,a=a.callback),this.setHandler(c,a,d)},this)},setHandler:function(a,b,c){var d={callback:b,context:c};this._wreqrHandlers[a]=d,this.trigger("handler:add",a,b,c)},hasHandler:function(a){return!!this._wreqrHandlers[a]},getHandler:function(a){var b=this._wreqrHandlers[a];if(b)return function(){var a=Array.prototype.slice.apply(arguments);return b.callback.apply(b.context,a)}},removeHandler:function(a){delete this._wreqrHandlers[a]},removeAllHandlers:function(){this._wreqrHandlers={}}}),c}(a,b),d.CommandStorage=function(){var c=function(a){this.options=a,this._commands={},b.isFunction(this.initialize)&&this.initialize(a)};return b.extend(c.prototype,a.Events,{getCommands:function(a){var b=this._commands[a];return b||(b={command:a,instances:[]},this._commands[a]=b),b},addCommand:function(a,b){var c=this.getCommands(a);c.instances.push(b)},clearCommands:function(a){var b=this.getCommands(a);b.instances=[]}}),c}(),d.Commands=function(a){return a.Handlers.extend({storageType:a.CommandStorage,constructor:function(b){this.options=b||{},this._initializeStorage(this.options),this.on("handler:add",this._executeCommands,this);var c=Array.prototype.slice.call(arguments);a.Handlers.prototype.constructor.apply(this,c)},execute:function(a,b){a=arguments[0],b=Array.prototype.slice.call(arguments,1),this.hasHandler(a)?this.getHandler(a).apply(this,b):this.storage.addCommand(a,b)},_executeCommands:function(a,c,d){var e=this.storage.getCommands(a);b.each(e.instances,function(a){c.apply(d,a)}),this.storage.clearCommands(a)},_initializeStorage:function(a){var c,d=a.storageType||this.storageType;c=b.isFunction(d)?new d:d,this.storage=c}})}(d),d.RequestResponse=function(a){return a.Handlers.extend({request:function(){var a=arguments[0],b=Array.prototype.slice.call(arguments,1);return this.hasHandler(a)?this.getHandler(a).apply(this,b):void 0}})}(d),d.EventAggregator=function(a,b){var c=function(){};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events),c}(a,b),d.Channel=function(){var c=function(b){this.vent=new a.Wreqr.EventAggregator,this.reqres=new a.Wreqr.RequestResponse,this.commands=new a.Wreqr.Commands,this.channelName=b};return b.extend(c.prototype,{reset:function(){return this.vent.off(),this.vent.stopListening(),this.reqres.removeAllHandlers(),this.commands.removeAllHandlers(),this},connectEvents:function(a,b){return this._connect("vent",a,b),this},connectCommands:function(a,b){return this._connect("commands",a,b),this},connectRequests:function(a,b){return this._connect("reqres",a,b),this},_connect:function(a,c,d){if(c){d=d||this;var e="vent"===a?"on":"setHandler";b.each(c,function(c,f){this[a][e](f,b.bind(c,d))},this)}}}),c}(d),d.radio=function(a){var c=function(){this._channels={},this.vent={},this.commands={},this.reqres={},this._proxyMethods()};b.extend(c.prototype,{channel:function(a){if(!a)throw new Error("Channel must receive a name");return this._getChannel(a)},_getChannel:function(b){var c=this._channels[b];return c||(c=new a.Channel(b),this._channels[b]=c),c},_proxyMethods:function(){b.each(["vent","commands","reqres"],function(a){b.each(d[a],function(b){this[a][b]=e(this,a,b)},this)},this)}});var d={vent:["on","off","trigger","once","stopListening","listenTo","listenToOnce"],commands:["execute","setHandler","setHandlers","removeHandler","removeAllHandlers"],reqres:["request","setHandler","setHandlers","removeHandler","removeAllHandlers"]},e=function(a,b,c){return function(d){var e=a._getChannel(d)[b],f=Array.prototype.slice.call(arguments,1);return e[c].apply(e,f)}};return new c}(d),a.Wreqr}(b,c);var e={};b.Marionette=e,e.$=b.$;var f=Array.prototype.slice;return e.extend=b.Model.extend,e.getOption=function(a,b){if(a&&b){var c;return c=a.options&&b in a.options&&void 0!==a.options[b]?a.options[b]:a[b]}},e.normalizeMethods=function(a){var b,d={};return c.each(a,function(a,e){b=a,c.isFunction(b)||(b=this[b]),b&&(d[e]=b)},this),d},e.normalizeUIKeys=function(a,b){return"undefined"!=typeof a?(c.each(c.keys(a),function(c){var d=/@ui.[a-zA-Z_$0-9]*/g;c.match(d)&&(a[c.replace(d,function(a){return b[a.slice(4)]})]=a[c],delete a[c])}),a):void 0},e.actAsCollection=function(a,b){var d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];c.each(d,function(d){a[d]=function(){var a=c.values(c.result(this,b)),e=[a].concat(c.toArray(arguments));return c[d].apply(c,e)}})},e.triggerMethod=function(){function a(a,b,c){return c.toUpperCase()}var b=/(^|:)(\w)/gi,d=function(d){var e="on"+d.replace(b,a),f=this[e];return c.isFunction(this.trigger)&&this.trigger.apply(this,arguments),c.isFunction(f)?f.apply(this,c.tail(arguments)):void 0};return d}(),e.MonitorDOMRefresh=function(a){function b(a){a._isShown=!0,e(a)}function d(a){a._isRendered=!0,e(a)}function e(a){a._isShown&&a._isRendered&&f(a)&&c.isFunction(a.triggerMethod)&&a.triggerMethod("dom:refresh")}function f(b){return a.contains(b.el)}return function(a){a.listenTo(a,"show",function(){b(a)}),a.listenTo(a,"render",function(){d(a)})}}(document.documentElement),function(a){function b(a,b,e,f){var g=f.split(/\s+/);c.each(g,function(c){var f=a[c];f||d("Method '"+c+"' was configured as an event handler, but does not exist."),a.listenTo(b,e,f)})}function e(a,b,c,d){a.listenTo(b,c,d)}function f(a,b,d,e){var f=e.split(/\s+/);c.each(f,function(c){var e=a[c];a.stopListening(b,d,e)})}function g(a,b,c,d){a.stopListening(b,c,d)}function h(a,b,d,e,f){b&&d&&(c.isFunction(d)&&(d=d.call(a)),c.each(d,function(d,g){c.isFunction(d)?e(a,b,g,d):f(a,b,g,d)}))}a.bindEntityEvents=function(a,c,d){h(a,c,d,e,b)},a.unbindEntityEvents=function(a,b,c){h(a,b,c,g,f)}}(e),e.Callbacks=function(){this._deferred=e.$.Deferred(),this._callbacks=[]},c.extend(e.Callbacks.prototype,{add:function(a,b){this._callbacks.push({cb:a,ctx:b}),this._deferred.done(function(c,d){b&&(c=b),a.call(c,d)})},run:function(a,b){this._deferred.resolve(b,a)},reset:function(){var a=this._callbacks;this._deferred=e.$.Deferred(),this._callbacks=[],c.each(a,function(a){this.add(a.cb,a.ctx)},this)}}),e.Controller=function(a){this.triggerMethod=e.triggerMethod,this.options=a||{},c.isFunction(this.initialize)&&this.initialize(this.options)},e.Controller.extend=e.extend,c.extend(e.Controller.prototype,b.Events,{close:function(){this.stopListening();var a=Array.prototype.slice.call(arguments);this.triggerMethod.apply(this,["close"].concat(a)),this.off()}}),e.Region=function(a){if(this.options=a||{},this.el=e.getOption(this,"el"),this.el||d("An 'el' must be specified for a region.","NoElError"),this.initialize){var b=Array.prototype.slice.apply(arguments);this.initialize.apply(this,b)}},c.extend(e.Region,{buildRegion:function(a,b){var e=c.isString(a),f=c.isString(a.selector),g=c.isUndefined(a.regionType),h=c.isFunction(a);h||e||f||d("Region must be specified as a Region type, a selector string or an object with selector property");var i,j;e&&(i=a),a.selector&&(i=a.selector,delete a.selector),h&&(j=a),!h&&g&&(j=b),a.regionType&&(j=a.regionType,delete a.regionType),(e||h)&&(a={}),a.el=i;var k=new j(a);return a.parentEl&&(k.getEl=function(b){var d=a.parentEl;return c.isFunction(d)&&(d=d()),d.find(b)}),k}}),c.extend(e.Region.prototype,b.Events,{show:function(a,b){this.ensureEl();var d=b||{},f=a.isClosed||c.isUndefined(a.$el),g=a!==this.currentView,h=!!d.preventClose,i=!h&&g;return i&&this.close(),a.render(),e.triggerMethod.call(this,"before:show",a),c.isFunction(a.triggerMethod)?a.triggerMethod("before:show"):e.triggerMethod.call(a,"before:show"),(g||f)&&this.open(a),this.currentView=a,e.triggerMethod.call(this,"show",a),c.isFunction(a.triggerMethod)?a.triggerMethod("show"):e.triggerMethod.call(a,"show"),this},ensureEl:function(){this.$el&&0!==this.$el.length||(this.$el=this.getEl(this.el))},getEl:function(a){return e.$(a)},open:function(a){this.$el.empty().append(a.el)},close:function(){var a=this.currentView;a&&!a.isClosed&&(a.close?a.close():a.remove&&a.remove(),e.triggerMethod.call(this,"close",a),delete this.currentView)},attachView:function(a){this.currentView=a},reset:function(){this.close(),delete this.$el}}),e.Region.extend=e.extend,e.RegionManager=function(a){var b=a.Controller.extend({constructor:function(b){this._regions={},a.Controller.prototype.constructor.call(this,b)},addRegions:function(a,b){var d={};return c.each(a,function(a,e){c.isString(a)&&(a={selector:a}),a.selector&&(a=c.defaults({},a,b));var f=this.addRegion(e,a);d[e]=f},this),d},addRegion:function(b,d){var e,f=c.isObject(d),g=c.isString(d),h=!!d.selector;return e=g||f&&h?a.Region.buildRegion(d,a.Region):c.isFunction(d)?a.Region.buildRegion(d,a.Region):d,this._store(b,e),this.triggerMethod("region:add",b,e),e},get:function(a){return this._regions[a]},removeRegion:function(a){var b=this._regions[a];this._remove(a,b)},removeRegions:function(){c.each(this._regions,function(a,b){this._remove(b,a)},this)},closeRegions:function(){c.each(this._regions,function(a){a.close()},this)},close:function(){this.removeRegions(),a.Controller.prototype.close.apply(this,arguments)},_store:function(a,b){this._regions[a]=b,this._setLength()},_remove:function(a,b){b.close(),b.stopListening(),delete this._regions[a],this._setLength(),this.triggerMethod("region:remove",a,b)},_setLength:function(){this.length=c.size(this._regions)}});return a.actAsCollection(b.prototype,"_regions"),b}(e),e.TemplateCache=function(a){this.templateId=a},c.extend(e.TemplateCache,{templateCaches:{},get:function(a){var b=this.templateCaches[a];return b||(b=new e.TemplateCache(a),this.templateCaches[a]=b),b.load()},clear:function(){var a,b=f.call(arguments),c=b.length;if(c>0)for(a=0;c>a;a++)delete this.templateCaches[b[a]];else this.templateCaches={}}}),c.extend(e.TemplateCache.prototype,{load:function(){if(this.compiledTemplate)return this.compiledTemplate;var a=this.loadTemplate(this.templateId);return this.compiledTemplate=this.compileTemplate(a),this.compiledTemplate},loadTemplate:function(a){var b=e.$(a).html();return b&&0!==b.length||d("Could not find template: '"+a+"'","NoTemplateError"),b},compileTemplate:function(a){return c.template(a)}}),e.Renderer={render:function(a,b){a||d("Cannot render the template since it's false, null or undefined.","TemplateNotFoundError");var c;return(c="function"==typeof a?a:e.TemplateCache.get(a))(b)}},e.View=b.View.extend({constructor:function(a){c.bindAll(this,"render"),this.options=c.extend({},c.result(this,"options"),c.isFunction(a)?a.call(this):a),this.events=this.normalizeUIKeys(c.result(this,"events")),c.isObject(this.behaviors)&&new e.Behaviors(this),b.View.prototype.constructor.apply(this,arguments),e.MonitorDOMRefresh(this),this.listenTo(this,"show",this.onShowCalled)},triggerMethod:e.triggerMethod,normalizeMethods:e.normalizeMethods,getTemplate:function(){return e.getOption(this,"template")},mixinTemplateHelpers:function(a){a=a||{};var b=e.getOption(this,"templateHelpers");return c.isFunction(b)&&(b=b.call(this)),c.extend(a,b)},normalizeUIKeys:function(a){var b=c.result(this,"ui");return e.normalizeUIKeys(a,b)},configureTriggers:function(){if(this.triggers){var a={},b=this.normalizeUIKeys(c.result(this,"triggers"));return c.each(b,function(b,d){var e=c.isObject(b),f=e?b.event:b;a[d]=function(a){if(a){var c=a.preventDefault,d=a.stopPropagation,g=e?b.preventDefault:c,h=e?b.stopPropagation:d;g&&c&&c.apply(a),h&&d&&d.apply(a)}var i={view:this,model:this.model,collection:this.collection};this.triggerMethod(f,i)}},this),a}},delegateEvents:function(a){this._delegateDOMEvents(a),e.bindEntityEvents(this,this.model,e.getOption(this,"modelEvents")),e.bindEntityEvents(this,this.collection,e.getOption(this,"collectionEvents"))},_delegateDOMEvents:function(a){a=a||this.events,c.isFunction(a)&&(a=a.call(this));var d={},e=c.result(this,"behaviorEvents")||{},f=this.configureTriggers();c.extend(d,e,a,f),b.View.prototype.delegateEvents.call(this,d)},undelegateEvents:function(){var a=Array.prototype.slice.call(arguments);b.View.prototype.undelegateEvents.apply(this,a),e.unbindEntityEvents(this,this.model,e.getOption(this,"modelEvents")),e.unbindEntityEvents(this,this.collection,e.getOption(this,"collectionEvents"))},onShowCalled:function(){},close:function(){if(!this.isClosed){var a=Array.prototype.slice.call(arguments),b=this.triggerMethod.apply(this,["before:close"].concat(a));b!==!1&&(this.isClosed=!0,this.triggerMethod.apply(this,["close"].concat(a)),this.unbindUIElements(),this.remove())}},bindUIElements:function(){if(this.ui){this._uiBindings||(this._uiBindings=this.ui);var a=c.result(this,"_uiBindings");this.ui={},c.each(c.keys(a),function(b){var c=a[b];this.ui[b]=this.$(c)},this)}},unbindUIElements:function(){this.ui&&this._uiBindings&&(c.each(this.ui,function(a,b){delete this.ui[b]},this),this.ui=this._uiBindings,delete this._uiBindings)}}),e.ItemView=e.View.extend({constructor:function(){e.View.prototype.constructor.apply(this,arguments)},serializeData:function(){var a={};return this.model?a=this.model.toJSON():this.collection&&(a={items:this.collection.toJSON()}),a},render:function(){this.isClosed=!1,this.triggerMethod("before:render",this),this.triggerMethod("item:before:render",this);var a=this.serializeData();a=this.mixinTemplateHelpers(a);var b=this.getTemplate(),c=e.Renderer.render(b,a);return this.$el.html(c),this.bindUIElements(),this.triggerMethod("render",this),this.triggerMethod("item:rendered",this),this},close:function(){this.isClosed||(this.triggerMethod("item:before:close"),e.View.prototype.close.apply(this,arguments),this.triggerMethod("item:closed"))}}),e.CollectionView=e.View.extend({itemViewEventPrefix:"itemview",constructor:function(){this._initChildViewStorage(),e.View.prototype.constructor.apply(this,arguments),this._initialEvents(),this.initRenderBuffer()},initRenderBuffer:function(){this.elBuffer=document.createDocumentFragment(),this._bufferedChildren=[]},startBuffering:function(){this.initRenderBuffer(),this.isBuffering=!0},endBuffering:function(){this.isBuffering=!1,this.appendBuffer(this,this.elBuffer),this._triggerShowBufferedChildren(),this.initRenderBuffer()},_triggerShowBufferedChildren:function(){this._isShown&&(c.each(this._bufferedChildren,function(a){e.triggerMethod.call(a,"show")}),this._bufferedChildren=[])},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView),this.listenTo(this.collection,"remove",this.removeItemView),this.listenTo(this.collection,"reset",this.render))},addChildView:function(a){this.closeEmptyView();var b=this.getItemView(a),c=this.collection.indexOf(a);this.addItemView(a,b,c)},onShowCalled:function(){this.children.each(function(a){e.triggerMethod.call(a,"show")})},triggerBeforeRender:function(){this.triggerMethod("before:render",this),this.triggerMethod("collection:before:render",this)},triggerRendered:function(){this.triggerMethod("render",this),this.triggerMethod("collection:rendered",this)},render:function(){return this.isClosed=!1,this.triggerBeforeRender(),this._renderChildren(),this.triggerRendered(),this},_renderChildren:function(){this.startBuffering(),this.closeEmptyView(),this.closeChildren(),this.isEmpty(this.collection)?this.showEmptyView():this.showCollection(),this.endBuffering()},showCollection:function(){var a;this.collection.each(function(b,c){a=this.getItemView(b),this.addItemView(b,a,c)},this)},showEmptyView:function(){var a=this.getEmptyView();if(a&&!this._showingEmptyView){this._showingEmptyView=!0;var c=new b.Model;this.addItemView(c,a,0)}},closeEmptyView:function(){this._showingEmptyView&&(this.closeChildren(),delete this._showingEmptyView)},getEmptyView:function(){return e.getOption(this,"emptyView")},getItemView:function(){var a=e.getOption(this,"itemView");return a||d("An `itemView` must be specified","NoItemViewError"),a},addItemView:function(a,b,d){var f=e.getOption(this,"itemViewOptions");c.isFunction(f)&&(f=f.call(this,a,d));var g=this.buildItemView(a,b,f);return this.addChildViewEventForwarding(g),this.triggerMethod("before:item:added",g),this.children.add(g),this.renderItemView(g,d),this._isShown&&!this.isBuffering&&e.triggerMethod.call(g,"show"),this.triggerMethod("after:item:added",g),g},addChildViewEventForwarding:function(a){var b=e.getOption(this,"itemViewEventPrefix");this.listenTo(a,"all",function(){var d=f.call(arguments),g=d[0],h=this.normalizeMethods(this.getItemEvents());d[0]=b+":"+g,d.splice(1,0,a),"undefined"!=typeof h&&c.isFunction(h[g])&&h[g].apply(this,d),e.triggerMethod.apply(this,d)},this)},getItemEvents:function(){return c.isFunction(this.itemEvents)?this.itemEvents.call(this):this.itemEvents},renderItemView:function(a,b){a.render(),this.appendHtml(this,a,b)},buildItemView:function(a,b,d){var e=c.extend({model:a},d);return new b(e)},removeItemView:function(a){var b=this.children.findByModel(a);this.removeChildView(b),this.checkEmpty()},removeChildView:function(a){a&&(a.close?a.close():a.remove&&a.remove(),this.stopListening(a),this.children.remove(a)),this.triggerMethod("item:removed",a)},isEmpty:function(){return!this.collection||0===this.collection.length},checkEmpty:function(){this.isEmpty(this.collection)&&this.showEmptyView()},appendBuffer:function(a,b){a.$el.append(b)},appendHtml:function(a,b){a.isBuffering?(a.elBuffer.appendChild(b.el),a._bufferedChildren.push(b)):a.$el.append(b.el)},_initChildViewStorage:function(){this.children=new b.ChildViewContainer},close:function(){this.isClosed||(this.triggerMethod("collection:before:close"),this.closeChildren(),this.triggerMethod("collection:closed"),e.View.prototype.close.apply(this,arguments))},closeChildren:function(){this.children.each(function(a){this.removeChildView(a)},this),this.checkEmpty()}}),e.CompositeView=e.CollectionView.extend({constructor:function(){e.CollectionView.prototype.constructor.apply(this,arguments)},_initialEvents:function(){this.once("render",function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView),this.listenTo(this.collection,"remove",this.removeItemView),this.listenTo(this.collection,"reset",this._renderChildren))})},getItemView:function(){var a=e.getOption(this,"itemView")||this.constructor;return a||d("An `itemView` must be specified","NoItemViewError"),a},serializeData:function(){var a={};return this.model&&(a=this.model.toJSON()),a},render:function(){this.isRendered=!0,this.isClosed=!1,this.resetItemViewContainer(),this.triggerBeforeRender();var a=this.renderModel();return this.$el.html(a),this.bindUIElements(),this.triggerMethod("composite:model:rendered"),this._renderChildren(),this.triggerMethod("composite:rendered"),this.triggerRendered(),this},_renderChildren:function(){this.isRendered&&(this.triggerMethod("composite:collection:before:render"),e.CollectionView.prototype._renderChildren.call(this),this.triggerMethod("composite:collection:rendered"))},renderModel:function(){var a={};a=this.serializeData(),a=this.mixinTemplateHelpers(a);var b=this.getTemplate();return e.Renderer.render(b,a)},appendBuffer:function(a,b){var c=this.getItemViewContainer(a);c.append(b)},appendHtml:function(a,b){if(a.isBuffering)a.elBuffer.appendChild(b.el),a._bufferedChildren.push(b);else{var c=this.getItemViewContainer(a);c.append(b.el)}},getItemViewContainer:function(a){if("$itemViewContainer"in a)return a.$itemViewContainer;var b,f=e.getOption(a,"itemViewContainer");if(f){var g=c.isFunction(f)?f.call(a):f;b="@"===g.charAt(0)&&a.ui?a.ui[g.substr(4)]:a.$(g),b.length<=0&&d("The specified `itemViewContainer` was not found: "+a.itemViewContainer,"ItemViewContainerMissingError")}else b=a.$el;return a.$itemViewContainer=b,b},resetItemViewContainer:function(){this.$itemViewContainer&&delete this.$itemViewContainer}}),e.Layout=e.ItemView.extend({regionType:e.Region,constructor:function(a){a=a||{},this._firstRender=!0,this._initializeRegions(a),e.ItemView.prototype.constructor.call(this,a)},render:function(){return this.isClosed&&this._initializeRegions(),this._firstRender?this._firstRender=!1:this.isClosed||this._reInitializeRegions(),e.ItemView.prototype.render.apply(this,arguments)},close:function(){this.isClosed||(this.regionManager.close(),e.ItemView.prototype.close.apply(this,arguments))},addRegion:function(a,b){var c={};return c[a]=b,this._buildRegions(c)[a]},addRegions:function(a){return this.regions=c.extend({},this.regions,a),this._buildRegions(a)},removeRegion:function(a){return delete this.regions[a],this.regionManager.removeRegion(a)},getRegion:function(a){return this.regionManager.get(a)},_buildRegions:function(a){var b=this,c={regionType:e.getOption(this,"regionType"),parentEl:function(){return b.$el}};return this.regionManager.addRegions(a,c)},_initializeRegions:function(a){var b;this._initRegionManager(),b=c.isFunction(this.regions)?this.regions(a):this.regions||{},this.addRegions(b)},_reInitializeRegions:function(){this.regionManager.closeRegions(),this.regionManager.each(function(a){a.reset()})},_initRegionManager:function(){this.regionManager=new e.RegionManager,this.listenTo(this.regionManager,"region:add",function(a,b){this[a]=b,this.trigger("region:add",a,b)}),this.listenTo(this.regionManager,"region:remove",function(a,b){delete this[a],this.trigger("region:remove",a,b)})}}),e.Behavior=function(a,b){function c(b,c){this.view=c,this.defaults=a.result(this,"defaults")||{},this.options=a.extend({},this.defaults,b),this.$=function(){return this.view.$.apply(this.view,arguments)},this.initialize.apply(this,arguments)}return a.extend(c.prototype,b.Events,{initialize:function(){},close:function(){this.stopListening()},triggerMethod:e.triggerMethod}),c.extend=e.extend,c}(c,b),e.Behaviors=function(a,b){function c(a){this.behaviors=c.parseBehaviors(a,b.result(a,"behaviors")),c.wrap(a,this.behaviors,["bindUIElements","unbindUIElements","delegateEvents","undelegateEvents","behaviorEvents","triggerMethod","setElement","close"])}var d={setElement:function(a,c){a.apply(this,b.tail(arguments,2)),b.each(c,function(a){a.$el=this.$el},this)},close:function(a,c){var d=b.tail(arguments,2);a.apply(this,d),b.invoke(c,"close",d)},bindUIElements:function(a,c){a.apply(this),b.invoke(c,a)},unbindUIElements:function(a,c){a.apply(this),b.invoke(c,a)},triggerMethod:function(a,c){var d=b.tail(arguments,2);a.apply(this,d),b.each(c,function(b){a.apply(b,d)})},delegateEvents:function(c,d){var e=b.tail(arguments,2);c.apply(this,e),b.each(d,function(b){a.bindEntityEvents(b,this.model,a.getOption(b,"modelEvents")),a.bindEntityEvents(b,this.collection,a.getOption(b,"collectionEvents"))},this)},undelegateEvents:function(c,d){var e=b.tail(arguments,2);c.apply(this,e),b.each(d,function(b){a.unbindEntityEvents(b,this.model,a.getOption(b,"modelEvents")),a.unbindEntityEvents(b,this.collection,a.getOption(b,"collectionEvents"))},this)},behaviorEvents:function(c,d){var e={},f=b.result(this,"ui");return b.each(d,function(c,d){var g={},h=b.clone(b.result(c,"events"))||{},i=b.result(c,"ui"),j=b.extend({},f,i);h=a.normalizeUIKeys(h,j),b.each(b.keys(h),function(a){var e=new Array(d+2).join(" "),f=a+e,i=b.isFunction(h[a])?h[a]:c[h[a]];g[f]=b.bind(i,c)}),e=b.extend(e,g)}),e}};return b.extend(c,{behaviorsLookup:function(){throw new Error("You must define where your behaviors are stored. See https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.behaviors.md#behaviorslookup")},getBehaviorClass:function(a,d){return a.behaviorClass?a.behaviorClass:b.isFunction(c.behaviorsLookup)?c.behaviorsLookup.apply(this,arguments)[d]:c.behaviorsLookup[d]},parseBehaviors:function(a,d){return b.map(d,function(b,d){var e=c.getBehaviorClass(b,d);return new e(b,a)})},wrap:function(a,c,e){b.each(e,function(e){a[e]=b.partial(d[e],a[e],c)})}}),c}(e,c),e.AppRouter=b.Router.extend({constructor:function(a){b.Router.prototype.constructor.apply(this,arguments),this.options=a||{};var c=e.getOption(this,"appRoutes"),d=this._getController();this.processAppRoutes(d,c),this.on("route",this._processOnRoute,this)},appRoute:function(a,b){var c=this._getController();this._addAppRoute(c,a,b)},_processOnRoute:function(a,b){var d=c.invert(this.appRoutes)[a];c.isFunction(this.onRoute)&&this.onRoute(a,d,b)},processAppRoutes:function(a,b){if(b){var d=c.keys(b).reverse();c.each(d,function(c){this._addAppRoute(a,c,b[c])},this)}},_getController:function(){return e.getOption(this,"controller")},_addAppRoute:function(a,b,e){var f=a[e];f||d("Method '"+e+"' was not found on the controller"),this.route(b,e,c.bind(f,a))}}),e.Application=function(a){this._initRegionManager(),this._initCallbacks=new e.Callbacks,this.vent=new b.Wreqr.EventAggregator,this.commands=new b.Wreqr.Commands,this.reqres=new b.Wreqr.RequestResponse,this.submodules={},c.extend(this,a),this.triggerMethod=e.triggerMethod},c.extend(e.Application.prototype,b.Events,{execute:function(){this.commands.execute.apply(this.commands,arguments)},request:function(){return this.reqres.request.apply(this.reqres,arguments)},addInitializer:function(a){this._initCallbacks.add(a)},start:function(a){this.triggerMethod("initialize:before",a),this._initCallbacks.run(a,this),this.triggerMethod("initialize:after",a),this.triggerMethod("start",a)},addRegions:function(a){return this._regionManager.addRegions(a)},closeRegions:function(){this._regionManager.closeRegions()},removeRegion:function(a){this._regionManager.removeRegion(a)},getRegion:function(a){return this._regionManager.get(a)},module:function(a,b){var c=e.Module.getClass(b),d=f.call(arguments);return d.unshift(this),c.create.apply(c,d)},_initRegionManager:function(){this._regionManager=new e.RegionManager,this.listenTo(this._regionManager,"region:add",function(a,b){this[a]=b}),this.listenTo(this._regionManager,"region:remove",function(a){delete this[a]})}}),e.Application.extend=e.extend,e.Module=function(a,b,d){this.moduleName=a,this.options=c.extend({},this.options,d),this.initialize=d.initialize||this.initialize,this.submodules={},this._setupInitializersAndFinalizers(),this.app=b,this.startWithParent=!0,this.triggerMethod=e.triggerMethod,c.isFunction(this.initialize)&&this.initialize(this.options,a,b)},e.Module.extend=e.extend,c.extend(e.Module.prototype,b.Events,{initialize:function(){},addInitializer:function(a){this._initializerCallbacks.add(a)},addFinalizer:function(a){this._finalizerCallbacks.add(a)},start:function(a){this._isInitialized||(c.each(this.submodules,function(b){b.startWithParent&&b.start(a)}),this.triggerMethod("before:start",a),this._initializerCallbacks.run(a,this),this._isInitialized=!0,this.triggerMethod("start",a))},stop:function(){this._isInitialized&&(this._isInitialized=!1,e.triggerMethod.call(this,"before:stop"),c.each(this.submodules,function(a){a.stop()}),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),e.triggerMethod.call(this,"stop"))},addDefinition:function(a,b){this._runModuleDefinition(a,b)},_runModuleDefinition:function(a,d){if(a){var f=c.flatten([this,this.app,b,e,e.$,c,d]);a.apply(this,f)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new e.Callbacks,this._finalizerCallbacks=new e.Callbacks}}),c.extend(e.Module,{create:function(a,b,d){var e=a,g=f.call(arguments);g.splice(0,3),b=b.split(".");var h=b.length,i=[];return i[h-1]=d,c.each(b,function(b,c){var f=e;e=this._getModule(f,b,a,d),this._addModuleDefinition(f,e,i[c],g)},this),e},_getModule:function(a,b,d,e){var f=c.extend({},e),g=this.getClass(e),h=a[b];return h||(h=new g(b,d,f),a[b]=h,a.submodules[b]=h),h},getClass:function(a){var b=e.Module;return a?a.prototype instanceof b?a:a.moduleClass||b:b},_addModuleDefinition:function(a,b,c,d){var e=this._getDefine(c),f=this._getStartWithParent(c,b);e&&b.addDefinition(e,d),this._addStartWithParent(a,b,f)},_getStartWithParent:function(a,b){var d;return c.isFunction(a)&&a.prototype instanceof e.Module?(d=b.constructor.prototype.startWithParent,c.isUndefined(d)?!0:d):c.isObject(a)?(d=a.startWithParent,c.isUndefined(d)?!0:d):!0},_getDefine:function(a){return!c.isFunction(a)||a.prototype instanceof e.Module?c.isObject(a)?a.define:null:a},_addStartWithParent:function(a,b,c){b.startWithParent=b.startWithParent&&c,b.startWithParent&&!b.startWithParentIsConfigured&&(b.startWithParentIsConfigured=!0,a.addInitializer(function(a){b.startWithParent&&b.start(a)}))}}),e}(this,Backbone,_); //# sourceMappingURL=backbone.marionette.map \ No newline at end of file diff --git a/lib/core/amd/backbone.marionette.js b/lib/core/amd/backbone.marionette.js index 5ea2e55a6d..b7f361b71f 100644 --- a/lib/core/amd/backbone.marionette.js +++ b/lib/core/amd/backbone.marionette.js @@ -1,6 +1,6 @@ // MarionetteJS (Backbone.Marionette) // ---------------------------------- -// v1.8.6 +// v1.8.7 // // Copyright (c)2014 Derick Bailey, Muted Solutions, LLC. // Distributed under MIT license @@ -1913,7 +1913,7 @@ _.each(behaviors, function(b, i) { var _events = {}; - var behaviorEvents = _.result(b, 'events') || {}; + var behaviorEvents = _.clone(_.result(b, 'events')) || {}; var behaviorUI = _.result(b, 'ui'); // Construct an internal UI hash first using diff --git a/lib/core/amd/backbone.marionette.min.js b/lib/core/amd/backbone.marionette.min.js index 2e7621e81f..79a786c4b8 100644 --- a/lib/core/amd/backbone.marionette.min.js +++ b/lib/core/amd/backbone.marionette.min.js @@ -1,6 +1,6 @@ // MarionetteJS (Backbone.Marionette) // ---------------------------------- -// v1.8.6 +// v1.8.7 // // Copyright (c)2014 Derick Bailey, Muted Solutions, LLC. // Distributed under MIT license @@ -17,4 +17,4 @@ */ -!function(a,b){if("object"==typeof exports){var c=require("underscore"),d=require("backbone"),e=require("backbone.wreqr"),f=require("backbone.babysitter");module.exports=b(c,d,e,f)}else"function"==typeof define&&define.amd&&define(["underscore","backbone","backbone.wreqr","backbone.babysitter"],b)}(this,function(a,b){!function(a,b,c){"use strict";function d(a,b){var c=new Error(a);throw c.name=b||"Error",c}var e={};b.Marionette=e,e.$=b.$;var f=Array.prototype.slice;return e.extend=b.Model.extend,e.getOption=function(a,b){if(a&&b){var c;return c=a.options&&b in a.options&&void 0!==a.options[b]?a.options[b]:a[b]}},e.normalizeMethods=function(a){var b,d={};return c.each(a,function(a,e){b=a,c.isFunction(b)||(b=this[b]),b&&(d[e]=b)},this),d},e.normalizeUIKeys=function(a,b){return"undefined"!=typeof a?(c.each(c.keys(a),function(c){var d=/@ui.[a-zA-Z_$0-9]*/g;c.match(d)&&(a[c.replace(d,function(a){return b[a.slice(4)]})]=a[c],delete a[c])}),a):void 0},e.actAsCollection=function(a,b){var d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];c.each(d,function(d){a[d]=function(){var a=c.values(c.result(this,b)),e=[a].concat(c.toArray(arguments));return c[d].apply(c,e)}})},e.triggerMethod=function(){function a(a,b,c){return c.toUpperCase()}var b=/(^|:)(\w)/gi,d=function(d){var e="on"+d.replace(b,a),f=this[e];return c.isFunction(this.trigger)&&this.trigger.apply(this,arguments),c.isFunction(f)?f.apply(this,c.tail(arguments)):void 0};return d}(),e.MonitorDOMRefresh=function(a){function b(a){a._isShown=!0,e(a)}function d(a){a._isRendered=!0,e(a)}function e(a){a._isShown&&a._isRendered&&f(a)&&c.isFunction(a.triggerMethod)&&a.triggerMethod("dom:refresh")}function f(b){return a.contains(b.el)}return function(a){a.listenTo(a,"show",function(){b(a)}),a.listenTo(a,"render",function(){d(a)})}}(document.documentElement),function(a){function b(a,b,e,f){var g=f.split(/\s+/);c.each(g,function(c){var f=a[c];f||d("Method '"+c+"' was configured as an event handler, but does not exist."),a.listenTo(b,e,f)})}function e(a,b,c,d){a.listenTo(b,c,d)}function f(a,b,d,e){var f=e.split(/\s+/);c.each(f,function(c){var e=a[c];a.stopListening(b,d,e)})}function g(a,b,c,d){a.stopListening(b,c,d)}function h(a,b,d,e,f){b&&d&&(c.isFunction(d)&&(d=d.call(a)),c.each(d,function(d,g){c.isFunction(d)?e(a,b,g,d):f(a,b,g,d)}))}a.bindEntityEvents=function(a,c,d){h(a,c,d,e,b)},a.unbindEntityEvents=function(a,b,c){h(a,b,c,g,f)}}(e),e.Callbacks=function(){this._deferred=e.$.Deferred(),this._callbacks=[]},c.extend(e.Callbacks.prototype,{add:function(a,b){this._callbacks.push({cb:a,ctx:b}),this._deferred.done(function(c,d){b&&(c=b),a.call(c,d)})},run:function(a,b){this._deferred.resolve(b,a)},reset:function(){var a=this._callbacks;this._deferred=e.$.Deferred(),this._callbacks=[],c.each(a,function(a){this.add(a.cb,a.ctx)},this)}}),e.Controller=function(a){this.triggerMethod=e.triggerMethod,this.options=a||{},c.isFunction(this.initialize)&&this.initialize(this.options)},e.Controller.extend=e.extend,c.extend(e.Controller.prototype,b.Events,{close:function(){this.stopListening();var a=Array.prototype.slice.call(arguments);this.triggerMethod.apply(this,["close"].concat(a)),this.off()}}),e.Region=function(a){if(this.options=a||{},this.el=e.getOption(this,"el"),this.el||d("An 'el' must be specified for a region.","NoElError"),this.initialize){var b=Array.prototype.slice.apply(arguments);this.initialize.apply(this,b)}},c.extend(e.Region,{buildRegion:function(a,b){var e=c.isString(a),f=c.isString(a.selector),g=c.isUndefined(a.regionType),h=c.isFunction(a);h||e||f||d("Region must be specified as a Region type, a selector string or an object with selector property");var i,j;e&&(i=a),a.selector&&(i=a.selector,delete a.selector),h&&(j=a),!h&&g&&(j=b),a.regionType&&(j=a.regionType,delete a.regionType),(e||h)&&(a={}),a.el=i;var k=new j(a);return a.parentEl&&(k.getEl=function(b){var d=a.parentEl;return c.isFunction(d)&&(d=d()),d.find(b)}),k}}),c.extend(e.Region.prototype,b.Events,{show:function(a,b){this.ensureEl();var d=b||{},f=a.isClosed||c.isUndefined(a.$el),g=a!==this.currentView,h=!!d.preventClose,i=!h&&g;return i&&this.close(),a.render(),e.triggerMethod.call(this,"before:show",a),c.isFunction(a.triggerMethod)?a.triggerMethod("before:show"):e.triggerMethod.call(a,"before:show"),(g||f)&&this.open(a),this.currentView=a,e.triggerMethod.call(this,"show",a),c.isFunction(a.triggerMethod)?a.triggerMethod("show"):e.triggerMethod.call(a,"show"),this},ensureEl:function(){this.$el&&0!==this.$el.length||(this.$el=this.getEl(this.el))},getEl:function(a){return e.$(a)},open:function(a){this.$el.empty().append(a.el)},close:function(){var a=this.currentView;a&&!a.isClosed&&(a.close?a.close():a.remove&&a.remove(),e.triggerMethod.call(this,"close",a),delete this.currentView)},attachView:function(a){this.currentView=a},reset:function(){this.close(),delete this.$el}}),e.Region.extend=e.extend,e.RegionManager=function(a){var b=a.Controller.extend({constructor:function(b){this._regions={},a.Controller.prototype.constructor.call(this,b)},addRegions:function(a,b){var d={};return c.each(a,function(a,e){c.isString(a)&&(a={selector:a}),a.selector&&(a=c.defaults({},a,b));var f=this.addRegion(e,a);d[e]=f},this),d},addRegion:function(b,d){var e,f=c.isObject(d),g=c.isString(d),h=!!d.selector;return e=g||f&&h?a.Region.buildRegion(d,a.Region):c.isFunction(d)?a.Region.buildRegion(d,a.Region):d,this._store(b,e),this.triggerMethod("region:add",b,e),e},get:function(a){return this._regions[a]},removeRegion:function(a){var b=this._regions[a];this._remove(a,b)},removeRegions:function(){c.each(this._regions,function(a,b){this._remove(b,a)},this)},closeRegions:function(){c.each(this._regions,function(a){a.close()},this)},close:function(){this.removeRegions(),a.Controller.prototype.close.apply(this,arguments)},_store:function(a,b){this._regions[a]=b,this._setLength()},_remove:function(a,b){b.close(),b.stopListening(),delete this._regions[a],this._setLength(),this.triggerMethod("region:remove",a,b)},_setLength:function(){this.length=c.size(this._regions)}});return a.actAsCollection(b.prototype,"_regions"),b}(e),e.TemplateCache=function(a){this.templateId=a},c.extend(e.TemplateCache,{templateCaches:{},get:function(a){var b=this.templateCaches[a];return b||(b=new e.TemplateCache(a),this.templateCaches[a]=b),b.load()},clear:function(){var a,b=f.call(arguments),c=b.length;if(c>0)for(a=0;c>a;a++)delete this.templateCaches[b[a]];else this.templateCaches={}}}),c.extend(e.TemplateCache.prototype,{load:function(){if(this.compiledTemplate)return this.compiledTemplate;var a=this.loadTemplate(this.templateId);return this.compiledTemplate=this.compileTemplate(a),this.compiledTemplate},loadTemplate:function(a){var b=e.$(a).html();return b&&0!==b.length||d("Could not find template: '"+a+"'","NoTemplateError"),b},compileTemplate:function(a){return c.template(a)}}),e.Renderer={render:function(a,b){a||d("Cannot render the template since it's false, null or undefined.","TemplateNotFoundError");var c;return(c="function"==typeof a?a:e.TemplateCache.get(a))(b)}},e.View=b.View.extend({constructor:function(a){c.bindAll(this,"render"),this.options=c.extend({},c.result(this,"options"),c.isFunction(a)?a.call(this):a),this.events=this.normalizeUIKeys(c.result(this,"events")),c.isObject(this.behaviors)&&new e.Behaviors(this),b.View.prototype.constructor.apply(this,arguments),e.MonitorDOMRefresh(this),this.listenTo(this,"show",this.onShowCalled)},triggerMethod:e.triggerMethod,normalizeMethods:e.normalizeMethods,getTemplate:function(){return e.getOption(this,"template")},mixinTemplateHelpers:function(a){a=a||{};var b=e.getOption(this,"templateHelpers");return c.isFunction(b)&&(b=b.call(this)),c.extend(a,b)},normalizeUIKeys:function(a){var b=c.result(this,"ui");return e.normalizeUIKeys(a,b)},configureTriggers:function(){if(this.triggers){var a={},b=this.normalizeUIKeys(c.result(this,"triggers"));return c.each(b,function(b,d){var e=c.isObject(b),f=e?b.event:b;a[d]=function(a){if(a){var c=a.preventDefault,d=a.stopPropagation,g=e?b.preventDefault:c,h=e?b.stopPropagation:d;g&&c&&c.apply(a),h&&d&&d.apply(a)}var i={view:this,model:this.model,collection:this.collection};this.triggerMethod(f,i)}},this),a}},delegateEvents:function(a){this._delegateDOMEvents(a),e.bindEntityEvents(this,this.model,e.getOption(this,"modelEvents")),e.bindEntityEvents(this,this.collection,e.getOption(this,"collectionEvents"))},_delegateDOMEvents:function(a){a=a||this.events,c.isFunction(a)&&(a=a.call(this));var d={},e=c.result(this,"behaviorEvents")||{},f=this.configureTriggers();c.extend(d,e,a,f),b.View.prototype.delegateEvents.call(this,d)},undelegateEvents:function(){var a=Array.prototype.slice.call(arguments);b.View.prototype.undelegateEvents.apply(this,a),e.unbindEntityEvents(this,this.model,e.getOption(this,"modelEvents")),e.unbindEntityEvents(this,this.collection,e.getOption(this,"collectionEvents"))},onShowCalled:function(){},close:function(){if(!this.isClosed){var a=Array.prototype.slice.call(arguments),b=this.triggerMethod.apply(this,["before:close"].concat(a));b!==!1&&(this.isClosed=!0,this.triggerMethod.apply(this,["close"].concat(a)),this.unbindUIElements(),this.remove())}},bindUIElements:function(){if(this.ui){this._uiBindings||(this._uiBindings=this.ui);var a=c.result(this,"_uiBindings");this.ui={},c.each(c.keys(a),function(b){var c=a[b];this.ui[b]=this.$(c)},this)}},unbindUIElements:function(){this.ui&&this._uiBindings&&(c.each(this.ui,function(a,b){delete this.ui[b]},this),this.ui=this._uiBindings,delete this._uiBindings)}}),e.ItemView=e.View.extend({constructor:function(){e.View.prototype.constructor.apply(this,arguments)},serializeData:function(){var a={};return this.model?a=this.model.toJSON():this.collection&&(a={items:this.collection.toJSON()}),a},render:function(){this.isClosed=!1,this.triggerMethod("before:render",this),this.triggerMethod("item:before:render",this);var a=this.serializeData();a=this.mixinTemplateHelpers(a);var b=this.getTemplate(),c=e.Renderer.render(b,a);return this.$el.html(c),this.bindUIElements(),this.triggerMethod("render",this),this.triggerMethod("item:rendered",this),this},close:function(){this.isClosed||(this.triggerMethod("item:before:close"),e.View.prototype.close.apply(this,arguments),this.triggerMethod("item:closed"))}}),e.CollectionView=e.View.extend({itemViewEventPrefix:"itemview",constructor:function(){this._initChildViewStorage(),e.View.prototype.constructor.apply(this,arguments),this._initialEvents(),this.initRenderBuffer()},initRenderBuffer:function(){this.elBuffer=document.createDocumentFragment(),this._bufferedChildren=[]},startBuffering:function(){this.initRenderBuffer(),this.isBuffering=!0},endBuffering:function(){this.isBuffering=!1,this.appendBuffer(this,this.elBuffer),this._triggerShowBufferedChildren(),this.initRenderBuffer()},_triggerShowBufferedChildren:function(){this._isShown&&(c.each(this._bufferedChildren,function(a){e.triggerMethod.call(a,"show")}),this._bufferedChildren=[])},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView),this.listenTo(this.collection,"remove",this.removeItemView),this.listenTo(this.collection,"reset",this.render))},addChildView:function(a){this.closeEmptyView();var b=this.getItemView(a),c=this.collection.indexOf(a);this.addItemView(a,b,c)},onShowCalled:function(){this.children.each(function(a){e.triggerMethod.call(a,"show")})},triggerBeforeRender:function(){this.triggerMethod("before:render",this),this.triggerMethod("collection:before:render",this)},triggerRendered:function(){this.triggerMethod("render",this),this.triggerMethod("collection:rendered",this)},render:function(){return this.isClosed=!1,this.triggerBeforeRender(),this._renderChildren(),this.triggerRendered(),this},_renderChildren:function(){this.startBuffering(),this.closeEmptyView(),this.closeChildren(),this.isEmpty(this.collection)?this.showEmptyView():this.showCollection(),this.endBuffering()},showCollection:function(){var a;this.collection.each(function(b,c){a=this.getItemView(b),this.addItemView(b,a,c)},this)},showEmptyView:function(){var a=this.getEmptyView();if(a&&!this._showingEmptyView){this._showingEmptyView=!0;var c=new b.Model;this.addItemView(c,a,0)}},closeEmptyView:function(){this._showingEmptyView&&(this.closeChildren(),delete this._showingEmptyView)},getEmptyView:function(){return e.getOption(this,"emptyView")},getItemView:function(){var a=e.getOption(this,"itemView");return a||d("An `itemView` must be specified","NoItemViewError"),a},addItemView:function(a,b,d){var f=e.getOption(this,"itemViewOptions");c.isFunction(f)&&(f=f.call(this,a,d));var g=this.buildItemView(a,b,f);return this.addChildViewEventForwarding(g),this.triggerMethod("before:item:added",g),this.children.add(g),this.renderItemView(g,d),this._isShown&&!this.isBuffering&&e.triggerMethod.call(g,"show"),this.triggerMethod("after:item:added",g),g},addChildViewEventForwarding:function(a){var b=e.getOption(this,"itemViewEventPrefix");this.listenTo(a,"all",function(){var d=f.call(arguments),g=d[0],h=this.normalizeMethods(this.getItemEvents());d[0]=b+":"+g,d.splice(1,0,a),"undefined"!=typeof h&&c.isFunction(h[g])&&h[g].apply(this,d),e.triggerMethod.apply(this,d)},this)},getItemEvents:function(){return c.isFunction(this.itemEvents)?this.itemEvents.call(this):this.itemEvents},renderItemView:function(a,b){a.render(),this.appendHtml(this,a,b)},buildItemView:function(a,b,d){var e=c.extend({model:a},d);return new b(e)},removeItemView:function(a){var b=this.children.findByModel(a);this.removeChildView(b),this.checkEmpty()},removeChildView:function(a){a&&(a.close?a.close():a.remove&&a.remove(),this.stopListening(a),this.children.remove(a)),this.triggerMethod("item:removed",a)},isEmpty:function(){return!this.collection||0===this.collection.length},checkEmpty:function(){this.isEmpty(this.collection)&&this.showEmptyView()},appendBuffer:function(a,b){a.$el.append(b)},appendHtml:function(a,b){a.isBuffering?(a.elBuffer.appendChild(b.el),a._bufferedChildren.push(b)):a.$el.append(b.el)},_initChildViewStorage:function(){this.children=new b.ChildViewContainer},close:function(){this.isClosed||(this.triggerMethod("collection:before:close"),this.closeChildren(),this.triggerMethod("collection:closed"),e.View.prototype.close.apply(this,arguments))},closeChildren:function(){this.children.each(function(a){this.removeChildView(a)},this),this.checkEmpty()}}),e.CompositeView=e.CollectionView.extend({constructor:function(){e.CollectionView.prototype.constructor.apply(this,arguments)},_initialEvents:function(){this.once("render",function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView),this.listenTo(this.collection,"remove",this.removeItemView),this.listenTo(this.collection,"reset",this._renderChildren))})},getItemView:function(){var a=e.getOption(this,"itemView")||this.constructor;return a||d("An `itemView` must be specified","NoItemViewError"),a},serializeData:function(){var a={};return this.model&&(a=this.model.toJSON()),a},render:function(){this.isRendered=!0,this.isClosed=!1,this.resetItemViewContainer(),this.triggerBeforeRender();var a=this.renderModel();return this.$el.html(a),this.bindUIElements(),this.triggerMethod("composite:model:rendered"),this._renderChildren(),this.triggerMethod("composite:rendered"),this.triggerRendered(),this},_renderChildren:function(){this.isRendered&&(this.triggerMethod("composite:collection:before:render"),e.CollectionView.prototype._renderChildren.call(this),this.triggerMethod("composite:collection:rendered"))},renderModel:function(){var a={};a=this.serializeData(),a=this.mixinTemplateHelpers(a);var b=this.getTemplate();return e.Renderer.render(b,a)},appendBuffer:function(a,b){var c=this.getItemViewContainer(a);c.append(b)},appendHtml:function(a,b){if(a.isBuffering)a.elBuffer.appendChild(b.el),a._bufferedChildren.push(b);else{var c=this.getItemViewContainer(a);c.append(b.el)}},getItemViewContainer:function(a){if("$itemViewContainer"in a)return a.$itemViewContainer;var b,f=e.getOption(a,"itemViewContainer");if(f){var g=c.isFunction(f)?f.call(a):f;b="@"===g.charAt(0)&&a.ui?a.ui[g.substr(4)]:a.$(g),b.length<=0&&d("The specified `itemViewContainer` was not found: "+a.itemViewContainer,"ItemViewContainerMissingError")}else b=a.$el;return a.$itemViewContainer=b,b},resetItemViewContainer:function(){this.$itemViewContainer&&delete this.$itemViewContainer}}),e.Layout=e.ItemView.extend({regionType:e.Region,constructor:function(a){a=a||{},this._firstRender=!0,this._initializeRegions(a),e.ItemView.prototype.constructor.call(this,a)},render:function(){return this.isClosed&&this._initializeRegions(),this._firstRender?this._firstRender=!1:this.isClosed||this._reInitializeRegions(),e.ItemView.prototype.render.apply(this,arguments)},close:function(){this.isClosed||(this.regionManager.close(),e.ItemView.prototype.close.apply(this,arguments))},addRegion:function(a,b){var c={};return c[a]=b,this._buildRegions(c)[a]},addRegions:function(a){return this.regions=c.extend({},this.regions,a),this._buildRegions(a)},removeRegion:function(a){return delete this.regions[a],this.regionManager.removeRegion(a)},getRegion:function(a){return this.regionManager.get(a)},_buildRegions:function(a){var b=this,c={regionType:e.getOption(this,"regionType"),parentEl:function(){return b.$el}};return this.regionManager.addRegions(a,c)},_initializeRegions:function(a){var b;this._initRegionManager(),b=c.isFunction(this.regions)?this.regions(a):this.regions||{},this.addRegions(b)},_reInitializeRegions:function(){this.regionManager.closeRegions(),this.regionManager.each(function(a){a.reset()})},_initRegionManager:function(){this.regionManager=new e.RegionManager,this.listenTo(this.regionManager,"region:add",function(a,b){this[a]=b,this.trigger("region:add",a,b)}),this.listenTo(this.regionManager,"region:remove",function(a,b){delete this[a],this.trigger("region:remove",a,b)})}}),e.Behavior=function(a,b){function c(b,c){this.view=c,this.defaults=a.result(this,"defaults")||{},this.options=a.extend({},this.defaults,b),this.$=function(){return this.view.$.apply(this.view,arguments)},this.initialize.apply(this,arguments)}return a.extend(c.prototype,b.Events,{initialize:function(){},close:function(){this.stopListening()},triggerMethod:e.triggerMethod}),c.extend=e.extend,c}(c,b),e.Behaviors=function(a,b){function c(a){this.behaviors=c.parseBehaviors(a,b.result(a,"behaviors")),c.wrap(a,this.behaviors,["bindUIElements","unbindUIElements","delegateEvents","undelegateEvents","behaviorEvents","triggerMethod","setElement","close"])}var d={setElement:function(a,c){a.apply(this,b.tail(arguments,2)),b.each(c,function(a){a.$el=this.$el},this)},close:function(a,c){var d=b.tail(arguments,2);a.apply(this,d),b.invoke(c,"close",d)},bindUIElements:function(a,c){a.apply(this),b.invoke(c,a)},unbindUIElements:function(a,c){a.apply(this),b.invoke(c,a)},triggerMethod:function(a,c){var d=b.tail(arguments,2);a.apply(this,d),b.each(c,function(b){a.apply(b,d)})},delegateEvents:function(c,d){var e=b.tail(arguments,2);c.apply(this,e),b.each(d,function(b){a.bindEntityEvents(b,this.model,a.getOption(b,"modelEvents")),a.bindEntityEvents(b,this.collection,a.getOption(b,"collectionEvents"))},this)},undelegateEvents:function(c,d){var e=b.tail(arguments,2);c.apply(this,e),b.each(d,function(b){a.unbindEntityEvents(b,this.model,a.getOption(b,"modelEvents")),a.unbindEntityEvents(b,this.collection,a.getOption(b,"collectionEvents"))},this)},behaviorEvents:function(c,d){var e={},f=b.result(this,"ui");return b.each(d,function(c,d){var g={},h=b.result(c,"events")||{},i=b.result(c,"ui"),j=b.extend({},f,i);h=a.normalizeUIKeys(h,j),b.each(b.keys(h),function(a){var e=new Array(d+2).join(" "),f=a+e,i=b.isFunction(h[a])?h[a]:c[h[a]];g[f]=b.bind(i,c)}),e=b.extend(e,g)}),e}};return b.extend(c,{behaviorsLookup:function(){throw new Error("You must define where your behaviors are stored. See https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.behaviors.md#behaviorslookup")},getBehaviorClass:function(a,d){return a.behaviorClass?a.behaviorClass:b.isFunction(c.behaviorsLookup)?c.behaviorsLookup.apply(this,arguments)[d]:c.behaviorsLookup[d]},parseBehaviors:function(a,d){return b.map(d,function(b,d){var e=c.getBehaviorClass(b,d);return new e(b,a)})},wrap:function(a,c,e){b.each(e,function(e){a[e]=b.partial(d[e],a[e],c)})}}),c}(e,c),e.AppRouter=b.Router.extend({constructor:function(a){b.Router.prototype.constructor.apply(this,arguments),this.options=a||{};var c=e.getOption(this,"appRoutes"),d=this._getController();this.processAppRoutes(d,c),this.on("route",this._processOnRoute,this)},appRoute:function(a,b){var c=this._getController();this._addAppRoute(c,a,b)},_processOnRoute:function(a,b){var d=c.invert(this.appRoutes)[a];c.isFunction(this.onRoute)&&this.onRoute(a,d,b)},processAppRoutes:function(a,b){if(b){var d=c.keys(b).reverse();c.each(d,function(c){this._addAppRoute(a,c,b[c])},this)}},_getController:function(){return e.getOption(this,"controller")},_addAppRoute:function(a,b,e){var f=a[e];f||d("Method '"+e+"' was not found on the controller"),this.route(b,e,c.bind(f,a))}}),e.Application=function(a){this._initRegionManager(),this._initCallbacks=new e.Callbacks,this.vent=new b.Wreqr.EventAggregator,this.commands=new b.Wreqr.Commands,this.reqres=new b.Wreqr.RequestResponse,this.submodules={},c.extend(this,a),this.triggerMethod=e.triggerMethod},c.extend(e.Application.prototype,b.Events,{execute:function(){this.commands.execute.apply(this.commands,arguments)},request:function(){return this.reqres.request.apply(this.reqres,arguments)},addInitializer:function(a){this._initCallbacks.add(a)},start:function(a){this.triggerMethod("initialize:before",a),this._initCallbacks.run(a,this),this.triggerMethod("initialize:after",a),this.triggerMethod("start",a)},addRegions:function(a){return this._regionManager.addRegions(a)},closeRegions:function(){this._regionManager.closeRegions()},removeRegion:function(a){this._regionManager.removeRegion(a)},getRegion:function(a){return this._regionManager.get(a)},module:function(a,b){var c=e.Module.getClass(b),d=f.call(arguments);return d.unshift(this),c.create.apply(c,d)},_initRegionManager:function(){this._regionManager=new e.RegionManager,this.listenTo(this._regionManager,"region:add",function(a,b){this[a]=b}),this.listenTo(this._regionManager,"region:remove",function(a){delete this[a]})}}),e.Application.extend=e.extend,e.Module=function(a,b,d){this.moduleName=a,this.options=c.extend({},this.options,d),this.initialize=d.initialize||this.initialize,this.submodules={},this._setupInitializersAndFinalizers(),this.app=b,this.startWithParent=!0,this.triggerMethod=e.triggerMethod,c.isFunction(this.initialize)&&this.initialize(this.options,a,b)},e.Module.extend=e.extend,c.extend(e.Module.prototype,b.Events,{initialize:function(){},addInitializer:function(a){this._initializerCallbacks.add(a)},addFinalizer:function(a){this._finalizerCallbacks.add(a)},start:function(a){this._isInitialized||(c.each(this.submodules,function(b){b.startWithParent&&b.start(a)}),this.triggerMethod("before:start",a),this._initializerCallbacks.run(a,this),this._isInitialized=!0,this.triggerMethod("start",a))},stop:function(){this._isInitialized&&(this._isInitialized=!1,e.triggerMethod.call(this,"before:stop"),c.each(this.submodules,function(a){a.stop()}),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),e.triggerMethod.call(this,"stop"))},addDefinition:function(a,b){this._runModuleDefinition(a,b)},_runModuleDefinition:function(a,d){if(a){var f=c.flatten([this,this.app,b,e,e.$,c,d]);a.apply(this,f)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new e.Callbacks,this._finalizerCallbacks=new e.Callbacks}}),c.extend(e.Module,{create:function(a,b,d){var e=a,g=f.call(arguments);g.splice(0,3),b=b.split(".");var h=b.length,i=[];return i[h-1]=d,c.each(b,function(b,c){var f=e;e=this._getModule(f,b,a,d),this._addModuleDefinition(f,e,i[c],g)},this),e},_getModule:function(a,b,d,e){var f=c.extend({},e),g=this.getClass(e),h=a[b];return h||(h=new g(b,d,f),a[b]=h,a.submodules[b]=h),h},getClass:function(a){var b=e.Module;return a?a.prototype instanceof b?a:a.moduleClass||b:b},_addModuleDefinition:function(a,b,c,d){var e=this._getDefine(c),f=this._getStartWithParent(c,b);e&&b.addDefinition(e,d),this._addStartWithParent(a,b,f)},_getStartWithParent:function(a,b){var d;return c.isFunction(a)&&a.prototype instanceof e.Module?(d=b.constructor.prototype.startWithParent,c.isUndefined(d)?!0:d):c.isObject(a)?(d=a.startWithParent,c.isUndefined(d)?!0:d):!0},_getDefine:function(a){return!c.isFunction(a)||a.prototype instanceof e.Module?c.isObject(a)?a.define:null:a},_addStartWithParent:function(a,b,c){b.startWithParent=b.startWithParent&&c,b.startWithParent&&!b.startWithParentIsConfigured&&(b.startWithParentIsConfigured=!0,a.addInitializer(function(a){b.startWithParent&&b.start(a)}))}}),e}(this,b,a);return b.Marionette}); \ No newline at end of file +!function(a,b){if("object"==typeof exports){var c=require("underscore"),d=require("backbone"),e=require("backbone.wreqr"),f=require("backbone.babysitter");module.exports=b(c,d,e,f)}else"function"==typeof define&&define.amd&&define(["underscore","backbone","backbone.wreqr","backbone.babysitter"],b)}(this,function(a,b){!function(a,b,c){"use strict";function d(a,b){var c=new Error(a);throw c.name=b||"Error",c}var e={};b.Marionette=e,e.$=b.$;var f=Array.prototype.slice;return e.extend=b.Model.extend,e.getOption=function(a,b){if(a&&b){var c;return c=a.options&&b in a.options&&void 0!==a.options[b]?a.options[b]:a[b]}},e.normalizeMethods=function(a){var b,d={};return c.each(a,function(a,e){b=a,c.isFunction(b)||(b=this[b]),b&&(d[e]=b)},this),d},e.normalizeUIKeys=function(a,b){return"undefined"!=typeof a?(c.each(c.keys(a),function(c){var d=/@ui.[a-zA-Z_$0-9]*/g;c.match(d)&&(a[c.replace(d,function(a){return b[a.slice(4)]})]=a[c],delete a[c])}),a):void 0},e.actAsCollection=function(a,b){var d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];c.each(d,function(d){a[d]=function(){var a=c.values(c.result(this,b)),e=[a].concat(c.toArray(arguments));return c[d].apply(c,e)}})},e.triggerMethod=function(){function a(a,b,c){return c.toUpperCase()}var b=/(^|:)(\w)/gi,d=function(d){var e="on"+d.replace(b,a),f=this[e];return c.isFunction(this.trigger)&&this.trigger.apply(this,arguments),c.isFunction(f)?f.apply(this,c.tail(arguments)):void 0};return d}(),e.MonitorDOMRefresh=function(a){function b(a){a._isShown=!0,e(a)}function d(a){a._isRendered=!0,e(a)}function e(a){a._isShown&&a._isRendered&&f(a)&&c.isFunction(a.triggerMethod)&&a.triggerMethod("dom:refresh")}function f(b){return a.contains(b.el)}return function(a){a.listenTo(a,"show",function(){b(a)}),a.listenTo(a,"render",function(){d(a)})}}(document.documentElement),function(a){function b(a,b,e,f){var g=f.split(/\s+/);c.each(g,function(c){var f=a[c];f||d("Method '"+c+"' was configured as an event handler, but does not exist."),a.listenTo(b,e,f)})}function e(a,b,c,d){a.listenTo(b,c,d)}function f(a,b,d,e){var f=e.split(/\s+/);c.each(f,function(c){var e=a[c];a.stopListening(b,d,e)})}function g(a,b,c,d){a.stopListening(b,c,d)}function h(a,b,d,e,f){b&&d&&(c.isFunction(d)&&(d=d.call(a)),c.each(d,function(d,g){c.isFunction(d)?e(a,b,g,d):f(a,b,g,d)}))}a.bindEntityEvents=function(a,c,d){h(a,c,d,e,b)},a.unbindEntityEvents=function(a,b,c){h(a,b,c,g,f)}}(e),e.Callbacks=function(){this._deferred=e.$.Deferred(),this._callbacks=[]},c.extend(e.Callbacks.prototype,{add:function(a,b){this._callbacks.push({cb:a,ctx:b}),this._deferred.done(function(c,d){b&&(c=b),a.call(c,d)})},run:function(a,b){this._deferred.resolve(b,a)},reset:function(){var a=this._callbacks;this._deferred=e.$.Deferred(),this._callbacks=[],c.each(a,function(a){this.add(a.cb,a.ctx)},this)}}),e.Controller=function(a){this.triggerMethod=e.triggerMethod,this.options=a||{},c.isFunction(this.initialize)&&this.initialize(this.options)},e.Controller.extend=e.extend,c.extend(e.Controller.prototype,b.Events,{close:function(){this.stopListening();var a=Array.prototype.slice.call(arguments);this.triggerMethod.apply(this,["close"].concat(a)),this.off()}}),e.Region=function(a){if(this.options=a||{},this.el=e.getOption(this,"el"),this.el||d("An 'el' must be specified for a region.","NoElError"),this.initialize){var b=Array.prototype.slice.apply(arguments);this.initialize.apply(this,b)}},c.extend(e.Region,{buildRegion:function(a,b){var e=c.isString(a),f=c.isString(a.selector),g=c.isUndefined(a.regionType),h=c.isFunction(a);h||e||f||d("Region must be specified as a Region type, a selector string or an object with selector property");var i,j;e&&(i=a),a.selector&&(i=a.selector,delete a.selector),h&&(j=a),!h&&g&&(j=b),a.regionType&&(j=a.regionType,delete a.regionType),(e||h)&&(a={}),a.el=i;var k=new j(a);return a.parentEl&&(k.getEl=function(b){var d=a.parentEl;return c.isFunction(d)&&(d=d()),d.find(b)}),k}}),c.extend(e.Region.prototype,b.Events,{show:function(a,b){this.ensureEl();var d=b||{},f=a.isClosed||c.isUndefined(a.$el),g=a!==this.currentView,h=!!d.preventClose,i=!h&&g;return i&&this.close(),a.render(),e.triggerMethod.call(this,"before:show",a),c.isFunction(a.triggerMethod)?a.triggerMethod("before:show"):e.triggerMethod.call(a,"before:show"),(g||f)&&this.open(a),this.currentView=a,e.triggerMethod.call(this,"show",a),c.isFunction(a.triggerMethod)?a.triggerMethod("show"):e.triggerMethod.call(a,"show"),this},ensureEl:function(){this.$el&&0!==this.$el.length||(this.$el=this.getEl(this.el))},getEl:function(a){return e.$(a)},open:function(a){this.$el.empty().append(a.el)},close:function(){var a=this.currentView;a&&!a.isClosed&&(a.close?a.close():a.remove&&a.remove(),e.triggerMethod.call(this,"close",a),delete this.currentView)},attachView:function(a){this.currentView=a},reset:function(){this.close(),delete this.$el}}),e.Region.extend=e.extend,e.RegionManager=function(a){var b=a.Controller.extend({constructor:function(b){this._regions={},a.Controller.prototype.constructor.call(this,b)},addRegions:function(a,b){var d={};return c.each(a,function(a,e){c.isString(a)&&(a={selector:a}),a.selector&&(a=c.defaults({},a,b));var f=this.addRegion(e,a);d[e]=f},this),d},addRegion:function(b,d){var e,f=c.isObject(d),g=c.isString(d),h=!!d.selector;return e=g||f&&h?a.Region.buildRegion(d,a.Region):c.isFunction(d)?a.Region.buildRegion(d,a.Region):d,this._store(b,e),this.triggerMethod("region:add",b,e),e},get:function(a){return this._regions[a]},removeRegion:function(a){var b=this._regions[a];this._remove(a,b)},removeRegions:function(){c.each(this._regions,function(a,b){this._remove(b,a)},this)},closeRegions:function(){c.each(this._regions,function(a){a.close()},this)},close:function(){this.removeRegions(),a.Controller.prototype.close.apply(this,arguments)},_store:function(a,b){this._regions[a]=b,this._setLength()},_remove:function(a,b){b.close(),b.stopListening(),delete this._regions[a],this._setLength(),this.triggerMethod("region:remove",a,b)},_setLength:function(){this.length=c.size(this._regions)}});return a.actAsCollection(b.prototype,"_regions"),b}(e),e.TemplateCache=function(a){this.templateId=a},c.extend(e.TemplateCache,{templateCaches:{},get:function(a){var b=this.templateCaches[a];return b||(b=new e.TemplateCache(a),this.templateCaches[a]=b),b.load()},clear:function(){var a,b=f.call(arguments),c=b.length;if(c>0)for(a=0;c>a;a++)delete this.templateCaches[b[a]];else this.templateCaches={}}}),c.extend(e.TemplateCache.prototype,{load:function(){if(this.compiledTemplate)return this.compiledTemplate;var a=this.loadTemplate(this.templateId);return this.compiledTemplate=this.compileTemplate(a),this.compiledTemplate},loadTemplate:function(a){var b=e.$(a).html();return b&&0!==b.length||d("Could not find template: '"+a+"'","NoTemplateError"),b},compileTemplate:function(a){return c.template(a)}}),e.Renderer={render:function(a,b){a||d("Cannot render the template since it's false, null or undefined.","TemplateNotFoundError");var c;return(c="function"==typeof a?a:e.TemplateCache.get(a))(b)}},e.View=b.View.extend({constructor:function(a){c.bindAll(this,"render"),this.options=c.extend({},c.result(this,"options"),c.isFunction(a)?a.call(this):a),this.events=this.normalizeUIKeys(c.result(this,"events")),c.isObject(this.behaviors)&&new e.Behaviors(this),b.View.prototype.constructor.apply(this,arguments),e.MonitorDOMRefresh(this),this.listenTo(this,"show",this.onShowCalled)},triggerMethod:e.triggerMethod,normalizeMethods:e.normalizeMethods,getTemplate:function(){return e.getOption(this,"template")},mixinTemplateHelpers:function(a){a=a||{};var b=e.getOption(this,"templateHelpers");return c.isFunction(b)&&(b=b.call(this)),c.extend(a,b)},normalizeUIKeys:function(a){var b=c.result(this,"ui");return e.normalizeUIKeys(a,b)},configureTriggers:function(){if(this.triggers){var a={},b=this.normalizeUIKeys(c.result(this,"triggers"));return c.each(b,function(b,d){var e=c.isObject(b),f=e?b.event:b;a[d]=function(a){if(a){var c=a.preventDefault,d=a.stopPropagation,g=e?b.preventDefault:c,h=e?b.stopPropagation:d;g&&c&&c.apply(a),h&&d&&d.apply(a)}var i={view:this,model:this.model,collection:this.collection};this.triggerMethod(f,i)}},this),a}},delegateEvents:function(a){this._delegateDOMEvents(a),e.bindEntityEvents(this,this.model,e.getOption(this,"modelEvents")),e.bindEntityEvents(this,this.collection,e.getOption(this,"collectionEvents"))},_delegateDOMEvents:function(a){a=a||this.events,c.isFunction(a)&&(a=a.call(this));var d={},e=c.result(this,"behaviorEvents")||{},f=this.configureTriggers();c.extend(d,e,a,f),b.View.prototype.delegateEvents.call(this,d)},undelegateEvents:function(){var a=Array.prototype.slice.call(arguments);b.View.prototype.undelegateEvents.apply(this,a),e.unbindEntityEvents(this,this.model,e.getOption(this,"modelEvents")),e.unbindEntityEvents(this,this.collection,e.getOption(this,"collectionEvents"))},onShowCalled:function(){},close:function(){if(!this.isClosed){var a=Array.prototype.slice.call(arguments),b=this.triggerMethod.apply(this,["before:close"].concat(a));b!==!1&&(this.isClosed=!0,this.triggerMethod.apply(this,["close"].concat(a)),this.unbindUIElements(),this.remove())}},bindUIElements:function(){if(this.ui){this._uiBindings||(this._uiBindings=this.ui);var a=c.result(this,"_uiBindings");this.ui={},c.each(c.keys(a),function(b){var c=a[b];this.ui[b]=this.$(c)},this)}},unbindUIElements:function(){this.ui&&this._uiBindings&&(c.each(this.ui,function(a,b){delete this.ui[b]},this),this.ui=this._uiBindings,delete this._uiBindings)}}),e.ItemView=e.View.extend({constructor:function(){e.View.prototype.constructor.apply(this,arguments)},serializeData:function(){var a={};return this.model?a=this.model.toJSON():this.collection&&(a={items:this.collection.toJSON()}),a},render:function(){this.isClosed=!1,this.triggerMethod("before:render",this),this.triggerMethod("item:before:render",this);var a=this.serializeData();a=this.mixinTemplateHelpers(a);var b=this.getTemplate(),c=e.Renderer.render(b,a);return this.$el.html(c),this.bindUIElements(),this.triggerMethod("render",this),this.triggerMethod("item:rendered",this),this},close:function(){this.isClosed||(this.triggerMethod("item:before:close"),e.View.prototype.close.apply(this,arguments),this.triggerMethod("item:closed"))}}),e.CollectionView=e.View.extend({itemViewEventPrefix:"itemview",constructor:function(){this._initChildViewStorage(),e.View.prototype.constructor.apply(this,arguments),this._initialEvents(),this.initRenderBuffer()},initRenderBuffer:function(){this.elBuffer=document.createDocumentFragment(),this._bufferedChildren=[]},startBuffering:function(){this.initRenderBuffer(),this.isBuffering=!0},endBuffering:function(){this.isBuffering=!1,this.appendBuffer(this,this.elBuffer),this._triggerShowBufferedChildren(),this.initRenderBuffer()},_triggerShowBufferedChildren:function(){this._isShown&&(c.each(this._bufferedChildren,function(a){e.triggerMethod.call(a,"show")}),this._bufferedChildren=[])},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView),this.listenTo(this.collection,"remove",this.removeItemView),this.listenTo(this.collection,"reset",this.render))},addChildView:function(a){this.closeEmptyView();var b=this.getItemView(a),c=this.collection.indexOf(a);this.addItemView(a,b,c)},onShowCalled:function(){this.children.each(function(a){e.triggerMethod.call(a,"show")})},triggerBeforeRender:function(){this.triggerMethod("before:render",this),this.triggerMethod("collection:before:render",this)},triggerRendered:function(){this.triggerMethod("render",this),this.triggerMethod("collection:rendered",this)},render:function(){return this.isClosed=!1,this.triggerBeforeRender(),this._renderChildren(),this.triggerRendered(),this},_renderChildren:function(){this.startBuffering(),this.closeEmptyView(),this.closeChildren(),this.isEmpty(this.collection)?this.showEmptyView():this.showCollection(),this.endBuffering()},showCollection:function(){var a;this.collection.each(function(b,c){a=this.getItemView(b),this.addItemView(b,a,c)},this)},showEmptyView:function(){var a=this.getEmptyView();if(a&&!this._showingEmptyView){this._showingEmptyView=!0;var c=new b.Model;this.addItemView(c,a,0)}},closeEmptyView:function(){this._showingEmptyView&&(this.closeChildren(),delete this._showingEmptyView)},getEmptyView:function(){return e.getOption(this,"emptyView")},getItemView:function(){var a=e.getOption(this,"itemView");return a||d("An `itemView` must be specified","NoItemViewError"),a},addItemView:function(a,b,d){var f=e.getOption(this,"itemViewOptions");c.isFunction(f)&&(f=f.call(this,a,d));var g=this.buildItemView(a,b,f);return this.addChildViewEventForwarding(g),this.triggerMethod("before:item:added",g),this.children.add(g),this.renderItemView(g,d),this._isShown&&!this.isBuffering&&e.triggerMethod.call(g,"show"),this.triggerMethod("after:item:added",g),g},addChildViewEventForwarding:function(a){var b=e.getOption(this,"itemViewEventPrefix");this.listenTo(a,"all",function(){var d=f.call(arguments),g=d[0],h=this.normalizeMethods(this.getItemEvents());d[0]=b+":"+g,d.splice(1,0,a),"undefined"!=typeof h&&c.isFunction(h[g])&&h[g].apply(this,d),e.triggerMethod.apply(this,d)},this)},getItemEvents:function(){return c.isFunction(this.itemEvents)?this.itemEvents.call(this):this.itemEvents},renderItemView:function(a,b){a.render(),this.appendHtml(this,a,b)},buildItemView:function(a,b,d){var e=c.extend({model:a},d);return new b(e)},removeItemView:function(a){var b=this.children.findByModel(a);this.removeChildView(b),this.checkEmpty()},removeChildView:function(a){a&&(a.close?a.close():a.remove&&a.remove(),this.stopListening(a),this.children.remove(a)),this.triggerMethod("item:removed",a)},isEmpty:function(){return!this.collection||0===this.collection.length},checkEmpty:function(){this.isEmpty(this.collection)&&this.showEmptyView()},appendBuffer:function(a,b){a.$el.append(b)},appendHtml:function(a,b){a.isBuffering?(a.elBuffer.appendChild(b.el),a._bufferedChildren.push(b)):a.$el.append(b.el)},_initChildViewStorage:function(){this.children=new b.ChildViewContainer},close:function(){this.isClosed||(this.triggerMethod("collection:before:close"),this.closeChildren(),this.triggerMethod("collection:closed"),e.View.prototype.close.apply(this,arguments))},closeChildren:function(){this.children.each(function(a){this.removeChildView(a)},this),this.checkEmpty()}}),e.CompositeView=e.CollectionView.extend({constructor:function(){e.CollectionView.prototype.constructor.apply(this,arguments)},_initialEvents:function(){this.once("render",function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView),this.listenTo(this.collection,"remove",this.removeItemView),this.listenTo(this.collection,"reset",this._renderChildren))})},getItemView:function(){var a=e.getOption(this,"itemView")||this.constructor;return a||d("An `itemView` must be specified","NoItemViewError"),a},serializeData:function(){var a={};return this.model&&(a=this.model.toJSON()),a},render:function(){this.isRendered=!0,this.isClosed=!1,this.resetItemViewContainer(),this.triggerBeforeRender();var a=this.renderModel();return this.$el.html(a),this.bindUIElements(),this.triggerMethod("composite:model:rendered"),this._renderChildren(),this.triggerMethod("composite:rendered"),this.triggerRendered(),this},_renderChildren:function(){this.isRendered&&(this.triggerMethod("composite:collection:before:render"),e.CollectionView.prototype._renderChildren.call(this),this.triggerMethod("composite:collection:rendered"))},renderModel:function(){var a={};a=this.serializeData(),a=this.mixinTemplateHelpers(a);var b=this.getTemplate();return e.Renderer.render(b,a)},appendBuffer:function(a,b){var c=this.getItemViewContainer(a);c.append(b)},appendHtml:function(a,b){if(a.isBuffering)a.elBuffer.appendChild(b.el),a._bufferedChildren.push(b);else{var c=this.getItemViewContainer(a);c.append(b.el)}},getItemViewContainer:function(a){if("$itemViewContainer"in a)return a.$itemViewContainer;var b,f=e.getOption(a,"itemViewContainer");if(f){var g=c.isFunction(f)?f.call(a):f;b="@"===g.charAt(0)&&a.ui?a.ui[g.substr(4)]:a.$(g),b.length<=0&&d("The specified `itemViewContainer` was not found: "+a.itemViewContainer,"ItemViewContainerMissingError")}else b=a.$el;return a.$itemViewContainer=b,b},resetItemViewContainer:function(){this.$itemViewContainer&&delete this.$itemViewContainer}}),e.Layout=e.ItemView.extend({regionType:e.Region,constructor:function(a){a=a||{},this._firstRender=!0,this._initializeRegions(a),e.ItemView.prototype.constructor.call(this,a)},render:function(){return this.isClosed&&this._initializeRegions(),this._firstRender?this._firstRender=!1:this.isClosed||this._reInitializeRegions(),e.ItemView.prototype.render.apply(this,arguments)},close:function(){this.isClosed||(this.regionManager.close(),e.ItemView.prototype.close.apply(this,arguments))},addRegion:function(a,b){var c={};return c[a]=b,this._buildRegions(c)[a]},addRegions:function(a){return this.regions=c.extend({},this.regions,a),this._buildRegions(a)},removeRegion:function(a){return delete this.regions[a],this.regionManager.removeRegion(a)},getRegion:function(a){return this.regionManager.get(a)},_buildRegions:function(a){var b=this,c={regionType:e.getOption(this,"regionType"),parentEl:function(){return b.$el}};return this.regionManager.addRegions(a,c)},_initializeRegions:function(a){var b;this._initRegionManager(),b=c.isFunction(this.regions)?this.regions(a):this.regions||{},this.addRegions(b)},_reInitializeRegions:function(){this.regionManager.closeRegions(),this.regionManager.each(function(a){a.reset()})},_initRegionManager:function(){this.regionManager=new e.RegionManager,this.listenTo(this.regionManager,"region:add",function(a,b){this[a]=b,this.trigger("region:add",a,b)}),this.listenTo(this.regionManager,"region:remove",function(a,b){delete this[a],this.trigger("region:remove",a,b)})}}),e.Behavior=function(a,b){function c(b,c){this.view=c,this.defaults=a.result(this,"defaults")||{},this.options=a.extend({},this.defaults,b),this.$=function(){return this.view.$.apply(this.view,arguments)},this.initialize.apply(this,arguments)}return a.extend(c.prototype,b.Events,{initialize:function(){},close:function(){this.stopListening()},triggerMethod:e.triggerMethod}),c.extend=e.extend,c}(c,b),e.Behaviors=function(a,b){function c(a){this.behaviors=c.parseBehaviors(a,b.result(a,"behaviors")),c.wrap(a,this.behaviors,["bindUIElements","unbindUIElements","delegateEvents","undelegateEvents","behaviorEvents","triggerMethod","setElement","close"])}var d={setElement:function(a,c){a.apply(this,b.tail(arguments,2)),b.each(c,function(a){a.$el=this.$el},this)},close:function(a,c){var d=b.tail(arguments,2);a.apply(this,d),b.invoke(c,"close",d)},bindUIElements:function(a,c){a.apply(this),b.invoke(c,a)},unbindUIElements:function(a,c){a.apply(this),b.invoke(c,a)},triggerMethod:function(a,c){var d=b.tail(arguments,2);a.apply(this,d),b.each(c,function(b){a.apply(b,d)})},delegateEvents:function(c,d){var e=b.tail(arguments,2);c.apply(this,e),b.each(d,function(b){a.bindEntityEvents(b,this.model,a.getOption(b,"modelEvents")),a.bindEntityEvents(b,this.collection,a.getOption(b,"collectionEvents"))},this)},undelegateEvents:function(c,d){var e=b.tail(arguments,2);c.apply(this,e),b.each(d,function(b){a.unbindEntityEvents(b,this.model,a.getOption(b,"modelEvents")),a.unbindEntityEvents(b,this.collection,a.getOption(b,"collectionEvents"))},this)},behaviorEvents:function(c,d){var e={},f=b.result(this,"ui");return b.each(d,function(c,d){var g={},h=b.clone(b.result(c,"events"))||{},i=b.result(c,"ui"),j=b.extend({},f,i);h=a.normalizeUIKeys(h,j),b.each(b.keys(h),function(a){var e=new Array(d+2).join(" "),f=a+e,i=b.isFunction(h[a])?h[a]:c[h[a]];g[f]=b.bind(i,c)}),e=b.extend(e,g)}),e}};return b.extend(c,{behaviorsLookup:function(){throw new Error("You must define where your behaviors are stored. See https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.behaviors.md#behaviorslookup")},getBehaviorClass:function(a,d){return a.behaviorClass?a.behaviorClass:b.isFunction(c.behaviorsLookup)?c.behaviorsLookup.apply(this,arguments)[d]:c.behaviorsLookup[d]},parseBehaviors:function(a,d){return b.map(d,function(b,d){var e=c.getBehaviorClass(b,d);return new e(b,a)})},wrap:function(a,c,e){b.each(e,function(e){a[e]=b.partial(d[e],a[e],c)})}}),c}(e,c),e.AppRouter=b.Router.extend({constructor:function(a){b.Router.prototype.constructor.apply(this,arguments),this.options=a||{};var c=e.getOption(this,"appRoutes"),d=this._getController();this.processAppRoutes(d,c),this.on("route",this._processOnRoute,this)},appRoute:function(a,b){var c=this._getController();this._addAppRoute(c,a,b)},_processOnRoute:function(a,b){var d=c.invert(this.appRoutes)[a];c.isFunction(this.onRoute)&&this.onRoute(a,d,b)},processAppRoutes:function(a,b){if(b){var d=c.keys(b).reverse();c.each(d,function(c){this._addAppRoute(a,c,b[c])},this)}},_getController:function(){return e.getOption(this,"controller")},_addAppRoute:function(a,b,e){var f=a[e];f||d("Method '"+e+"' was not found on the controller"),this.route(b,e,c.bind(f,a))}}),e.Application=function(a){this._initRegionManager(),this._initCallbacks=new e.Callbacks,this.vent=new b.Wreqr.EventAggregator,this.commands=new b.Wreqr.Commands,this.reqres=new b.Wreqr.RequestResponse,this.submodules={},c.extend(this,a),this.triggerMethod=e.triggerMethod},c.extend(e.Application.prototype,b.Events,{execute:function(){this.commands.execute.apply(this.commands,arguments)},request:function(){return this.reqres.request.apply(this.reqres,arguments)},addInitializer:function(a){this._initCallbacks.add(a)},start:function(a){this.triggerMethod("initialize:before",a),this._initCallbacks.run(a,this),this.triggerMethod("initialize:after",a),this.triggerMethod("start",a)},addRegions:function(a){return this._regionManager.addRegions(a)},closeRegions:function(){this._regionManager.closeRegions()},removeRegion:function(a){this._regionManager.removeRegion(a)},getRegion:function(a){return this._regionManager.get(a)},module:function(a,b){var c=e.Module.getClass(b),d=f.call(arguments);return d.unshift(this),c.create.apply(c,d)},_initRegionManager:function(){this._regionManager=new e.RegionManager,this.listenTo(this._regionManager,"region:add",function(a,b){this[a]=b}),this.listenTo(this._regionManager,"region:remove",function(a){delete this[a]})}}),e.Application.extend=e.extend,e.Module=function(a,b,d){this.moduleName=a,this.options=c.extend({},this.options,d),this.initialize=d.initialize||this.initialize,this.submodules={},this._setupInitializersAndFinalizers(),this.app=b,this.startWithParent=!0,this.triggerMethod=e.triggerMethod,c.isFunction(this.initialize)&&this.initialize(this.options,a,b)},e.Module.extend=e.extend,c.extend(e.Module.prototype,b.Events,{initialize:function(){},addInitializer:function(a){this._initializerCallbacks.add(a)},addFinalizer:function(a){this._finalizerCallbacks.add(a)},start:function(a){this._isInitialized||(c.each(this.submodules,function(b){b.startWithParent&&b.start(a)}),this.triggerMethod("before:start",a),this._initializerCallbacks.run(a,this),this._isInitialized=!0,this.triggerMethod("start",a))},stop:function(){this._isInitialized&&(this._isInitialized=!1,e.triggerMethod.call(this,"before:stop"),c.each(this.submodules,function(a){a.stop()}),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),e.triggerMethod.call(this,"stop"))},addDefinition:function(a,b){this._runModuleDefinition(a,b)},_runModuleDefinition:function(a,d){if(a){var f=c.flatten([this,this.app,b,e,e.$,c,d]);a.apply(this,f)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new e.Callbacks,this._finalizerCallbacks=new e.Callbacks}}),c.extend(e.Module,{create:function(a,b,d){var e=a,g=f.call(arguments);g.splice(0,3),b=b.split(".");var h=b.length,i=[];return i[h-1]=d,c.each(b,function(b,c){var f=e;e=this._getModule(f,b,a,d),this._addModuleDefinition(f,e,i[c],g)},this),e},_getModule:function(a,b,d,e){var f=c.extend({},e),g=this.getClass(e),h=a[b];return h||(h=new g(b,d,f),a[b]=h,a.submodules[b]=h),h},getClass:function(a){var b=e.Module;return a?a.prototype instanceof b?a:a.moduleClass||b:b},_addModuleDefinition:function(a,b,c,d){var e=this._getDefine(c),f=this._getStartWithParent(c,b);e&&b.addDefinition(e,d),this._addStartWithParent(a,b,f)},_getStartWithParent:function(a,b){var d;return c.isFunction(a)&&a.prototype instanceof e.Module?(d=b.constructor.prototype.startWithParent,c.isUndefined(d)?!0:d):c.isObject(a)?(d=a.startWithParent,c.isUndefined(d)?!0:d):!0},_getDefine:function(a){return!c.isFunction(a)||a.prototype instanceof e.Module?c.isObject(a)?a.define:null:a},_addStartWithParent:function(a,b,c){b.startWithParent=b.startWithParent&&c,b.startWithParent&&!b.startWithParentIsConfigured&&(b.startWithParentIsConfigured=!0,a.addInitializer(function(a){b.startWithParent&&b.start(a)}))}}),e}(this,b,a);return b.Marionette}); \ No newline at end of file diff --git a/lib/core/backbone.marionette.js b/lib/core/backbone.marionette.js index dcf1b70ec5..9ed6ed3850 100644 --- a/lib/core/backbone.marionette.js +++ b/lib/core/backbone.marionette.js @@ -1,6 +1,6 @@ // MarionetteJS (Backbone.Marionette) // ---------------------------------- -// v1.8.6 +// v1.8.7 // // Copyright (c)2014 Derick Bailey, Muted Solutions, LLC. // Distributed under MIT license @@ -2347,7 +2347,7 @@ Marionette.Behaviors = (function(Marionette, _) { _.each(behaviors, function(b, i) { var _events = {}; - var behaviorEvents = _.result(b, 'events') || {}; + var behaviorEvents = _.clone(_.result(b, 'events')) || {}; var behaviorUI = _.result(b, 'ui'); // Construct an internal UI hash first using diff --git a/lib/core/backbone.marionette.map b/lib/core/backbone.marionette.map index f0c930eca8..480cb715ce 100644 --- a/lib/core/backbone.marionette.map +++ b/lib/core/backbone.marionette.map @@ -1 +1 @@ -{"version":3,"file":"lib/core/backbone.marionette.min.js","sources":["core/backbone.marionette.js"],"names":["Marionette","global","Backbone","_","throwError","message","name","error","Error","previousChildViewContainer","ChildViewContainer","Container","views","this","_views","_indexByModel","_indexByCustom","_updateLength","each","add","extend","prototype","view","customIndex","viewCid","cid","model","findByModel","findByModelCid","modelCid","findByCid","findByCustom","index","findByIndex","values","remove","any","key","call","method","apply","tail","arguments","args","isFunction","length","size","methods","concat","toArray","VERSION","noConflict","previousWreqr","Wreqr","Handlers","options","_wreqrHandlers","initialize","Model","Events","setHandlers","handlers","handler","context","isObject","callback","setHandler","config","trigger","hasHandler","getHandler","Array","slice","removeHandler","removeAllHandlers","CommandStorage","_commands","getCommands","commandName","commands","command","instances","addCommand","push","clearCommands","Commands","storageType","constructor","_initializeStorage","on","_executeCommands","execute","storage","StorageType","RequestResponse","request","EventAggregator","EA","Channel","channelName","vent","reqres","reset","off","stopListening","connectEvents","hash","_connect","connectCommands","connectRequests","type","fn","eventName","bind","radio","Radio","_channels","_proxyMethods","channel","_getChannel","system","messageSystems","proxyMethod","messageSystem","$","getOption","target","optionName","value","undefined","normalizeMethods","normalizedHash","normalizeUIKeys","ui","keys","v","pattern","match","replace","r","actAsCollection","object","listProperty","list","result","triggerMethod","getEventName","prefix","toUpperCase","splitter","event","methodName","MonitorDOMRefresh","documentElement","handleShow","_isShown","triggerDOMRefresh","handleRender","_isRendered","isInDOM","contains","el","listenTo","document","bindFromStrings","entity","evt","methodNames","split","bindToFunction","unbindFromStrings","unbindToFunction","iterateEvents","bindings","functionCallback","stringCallback","bindEntityEvents","unbindEntityEvents","Callbacks","_deferred","Deferred","_callbacks","contextOverride","cb","ctx","done","run","resolve","callbacks","Controller","close","Region","buildRegion","regionConfig","defaultRegionType","regionIsString","isString","regionSelectorIsString","selector","regionTypeIsUndefined","isUndefined","regionType","regionIsType","RegionType","region","parentEl","getEl","find","show","ensureEl","showOptions","isViewClosed","isClosed","$el","isDifferentView","currentView","preventClose","_shouldCloseView","render","open","empty","append","attachView","RegionManager","_regions","addRegions","regionDefinitions","defaults","regions","definition","addRegion","hasSelector","_store","get","removeRegion","_remove","removeRegions","closeRegions","_setLength","TemplateCache","templateId","templateCaches","cachedTemplate","load","clear","i","compiledTemplate","template","loadTemplate","compileTemplate","html","rawTemplate","Renderer","data","templateFunc","View","bindAll","events","behaviors","Behaviors","onShowCalled","getTemplate","mixinTemplateHelpers","templateHelpers","configureTriggers","triggers","triggerEvents","hasOptions","e","prevent","preventDefault","stop","stopPropagation","shouldPrevent","shouldStop","collection","delegateEvents","_delegateDOMEvents","combinedEvents","behaviorEvents","undelegateEvents","shouldClose","unbindUIElements","bindUIElements","_uiBindings","ItemView","serializeData","toJSON","items","CollectionView","itemViewEventPrefix","_initChildViewStorage","_initialEvents","initRenderBuffer","elBuffer","createDocumentFragment","_bufferedChildren","startBuffering","isBuffering","endBuffering","appendBuffer","_triggerShowBufferedChildren","child","addChildView","removeItemView","item","closeEmptyView","getItemView","indexOf","addItemView","children","triggerBeforeRender","triggerRendered","_renderChildren","closeChildren","isEmpty","showEmptyView","showCollection","EmptyView","getEmptyView","_showingEmptyView","itemView","itemViewOptions","buildItemView","addChildViewEventForwarding","renderItemView","rootEvent","itemEvents","getItemEvents","splice","appendHtml","ItemViewType","removeChildView","checkEmpty","collectionView","buffer","appendChild","CompositeView","once","isRendered","resetItemViewContainer","renderModel","compositeView","$container","getItemViewContainer","containerView","$itemViewContainer","container","itemViewContainer","charAt","substr","Layout","_firstRender","_initializeRegions","_reInitializeRegions","regionManager","_buildRegions","getRegion","that","_initRegionManager","Behavior","parseBehaviors","wrap","setElement","b","invoke","_behaviorsEvents","viewUI","_events","behaviorUI","whitespace","join","eventKey","behaviorsLookup","getBehaviorClass","behaviorClass","map","BehaviorClass","partial","AppRouter","Router","appRoutes","controller","_getController","processAppRoutes","_processOnRoute","appRoute","route","_addAppRoute","routeName","routeArgs","routePath","invert","onRoute","routeNames","reverse","Application","_initCallbacks","submodules","addInitializer","initializer","start","_regionManager","module","moduleNames","moduleDefinition","ModuleClass","Module","getClass","unshift","create","moduleName","app","_setupInitializersAndFinalizers","startWithParent","_initializerCallbacks","addFinalizer","_finalizerCallbacks","_isInitialized","mod","addDefinition","customArgs","_runModuleDefinition","flatten","moduleDefinitions","parentModule","_getModule","_addModuleDefinition","def","moduleClass","_getDefine","_getStartWithParent","_addStartWithParent","swp","define","startWithParentIsConfigured"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"lib/core/backbone.marionette.min.js","sources":["core/backbone.marionette.js"],"names":["Marionette","global","Backbone","_","throwError","message","name","error","Error","previousChildViewContainer","ChildViewContainer","Container","views","this","_views","_indexByModel","_indexByCustom","_updateLength","each","add","extend","prototype","view","customIndex","viewCid","cid","model","findByModel","findByModelCid","modelCid","findByCid","findByCustom","index","findByIndex","values","remove","any","key","call","method","apply","tail","arguments","args","isFunction","length","size","methods","concat","toArray","VERSION","noConflict","previousWreqr","Wreqr","Handlers","options","_wreqrHandlers","initialize","Model","Events","setHandlers","handlers","handler","context","isObject","callback","setHandler","config","trigger","hasHandler","getHandler","Array","slice","removeHandler","removeAllHandlers","CommandStorage","_commands","getCommands","commandName","commands","command","instances","addCommand","push","clearCommands","Commands","storageType","constructor","_initializeStorage","on","_executeCommands","execute","storage","StorageType","RequestResponse","request","EventAggregator","EA","Channel","channelName","vent","reqres","reset","off","stopListening","connectEvents","hash","_connect","connectCommands","connectRequests","type","fn","eventName","bind","radio","Radio","_channels","_proxyMethods","channel","_getChannel","system","messageSystems","proxyMethod","messageSystem","$","getOption","target","optionName","value","undefined","normalizeMethods","normalizedHash","normalizeUIKeys","ui","keys","v","pattern","match","replace","r","actAsCollection","object","listProperty","list","result","triggerMethod","getEventName","prefix","toUpperCase","splitter","event","methodName","MonitorDOMRefresh","documentElement","handleShow","_isShown","triggerDOMRefresh","handleRender","_isRendered","isInDOM","contains","el","listenTo","document","bindFromStrings","entity","evt","methodNames","split","bindToFunction","unbindFromStrings","unbindToFunction","iterateEvents","bindings","functionCallback","stringCallback","bindEntityEvents","unbindEntityEvents","Callbacks","_deferred","Deferred","_callbacks","contextOverride","cb","ctx","done","run","resolve","callbacks","Controller","close","Region","buildRegion","regionConfig","defaultRegionType","regionIsString","isString","regionSelectorIsString","selector","regionTypeIsUndefined","isUndefined","regionType","regionIsType","RegionType","region","parentEl","getEl","find","show","ensureEl","showOptions","isViewClosed","isClosed","$el","isDifferentView","currentView","preventClose","_shouldCloseView","render","open","empty","append","attachView","RegionManager","_regions","addRegions","regionDefinitions","defaults","regions","definition","addRegion","hasSelector","_store","get","removeRegion","_remove","removeRegions","closeRegions","_setLength","TemplateCache","templateId","templateCaches","cachedTemplate","load","clear","i","compiledTemplate","template","loadTemplate","compileTemplate","html","rawTemplate","Renderer","data","templateFunc","View","bindAll","events","behaviors","Behaviors","onShowCalled","getTemplate","mixinTemplateHelpers","templateHelpers","configureTriggers","triggers","triggerEvents","hasOptions","e","prevent","preventDefault","stop","stopPropagation","shouldPrevent","shouldStop","collection","delegateEvents","_delegateDOMEvents","combinedEvents","behaviorEvents","undelegateEvents","shouldClose","unbindUIElements","bindUIElements","_uiBindings","ItemView","serializeData","toJSON","items","CollectionView","itemViewEventPrefix","_initChildViewStorage","_initialEvents","initRenderBuffer","elBuffer","createDocumentFragment","_bufferedChildren","startBuffering","isBuffering","endBuffering","appendBuffer","_triggerShowBufferedChildren","child","addChildView","removeItemView","item","closeEmptyView","getItemView","indexOf","addItemView","children","triggerBeforeRender","triggerRendered","_renderChildren","closeChildren","isEmpty","showEmptyView","showCollection","EmptyView","getEmptyView","_showingEmptyView","itemView","itemViewOptions","buildItemView","addChildViewEventForwarding","renderItemView","rootEvent","itemEvents","getItemEvents","splice","appendHtml","ItemViewType","removeChildView","checkEmpty","collectionView","buffer","appendChild","CompositeView","once","isRendered","resetItemViewContainer","renderModel","compositeView","$container","getItemViewContainer","containerView","$itemViewContainer","container","itemViewContainer","charAt","substr","Layout","_firstRender","_initializeRegions","_reInitializeRegions","regionManager","_buildRegions","getRegion","that","_initRegionManager","Behavior","parseBehaviors","wrap","setElement","b","invoke","_behaviorsEvents","viewUI","_events","clone","behaviorUI","whitespace","join","eventKey","behaviorsLookup","getBehaviorClass","behaviorClass","map","BehaviorClass","partial","AppRouter","Router","appRoutes","controller","_getController","processAppRoutes","_processOnRoute","appRoute","route","_addAppRoute","routeName","routeArgs","routePath","invert","onRoute","routeNames","reverse","Application","_initCallbacks","submodules","addInitializer","initializer","start","_regionManager","module","moduleNames","moduleDefinition","ModuleClass","Module","getClass","unshift","create","moduleName","app","_setupInitializersAndFinalizers","startWithParent","_initializerCallbacks","addFinalizer","_finalizerCallbacks","_isInitialized","mod","addDefinition","customArgs","_runModuleDefinition","flatten","moduleDefinitions","parentModule","_getModule","_addModuleDefinition","def","moduleClass","_getDefine","_getStartWithParent","_addStartWithParent","swp","define","startWithParentIsConfigured"],"mappings":"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"} \ No newline at end of file diff --git a/lib/core/backbone.marionette.min.js b/lib/core/backbone.marionette.min.js index 6e6f04c834..9277d8877a 100644 --- a/lib/core/backbone.marionette.min.js +++ b/lib/core/backbone.marionette.min.js @@ -1,2 +1,2 @@ -var Marionette=function(a,b,c){"use strict";function d(a,b){var c=new Error(a);throw c.name=b||"Error",c}!function(a,b){var c=a.ChildViewContainer;return a.ChildViewContainer=function(a,b){var c=function(a){this._views={},this._indexByModel={},this._indexByCustom={},this._updateLength(),b.each(a,this.add,this)};b.extend(c.prototype,{add:function(a,b){var c=a.cid;return this._views[c]=a,a.model&&(this._indexByModel[a.model.cid]=c),b&&(this._indexByCustom[b]=c),this._updateLength(),this},findByModel:function(a){return this.findByModelCid(a.cid)},findByModelCid:function(a){var b=this._indexByModel[a];return this.findByCid(b)},findByCustom:function(a){var b=this._indexByCustom[a];return this.findByCid(b)},findByIndex:function(a){return b.values(this._views)[a]},findByCid:function(a){return this._views[a]},remove:function(a){var c=a.cid;return a.model&&delete this._indexByModel[a.model.cid],b.any(this._indexByCustom,function(a,b){return a===c?(delete this._indexByCustom[b],!0):void 0},this),delete this._views[c],this._updateLength(),this},call:function(a){this.apply(a,b.tail(arguments))},apply:function(a,c){b.each(this._views,function(d){b.isFunction(d[a])&&d[a].apply(d,c||[])})},_updateLength:function(){this.length=b.size(this._views)}});var d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];return b.each(d,function(a){c.prototype[a]=function(){var c=b.values(this._views),d=[c].concat(b.toArray(arguments));return b[a].apply(b,d)}}),c}(a,b),a.ChildViewContainer.VERSION="0.1.4",a.ChildViewContainer.noConflict=function(){return a.ChildViewContainer=c,this},a.ChildViewContainer}(b,c),function(a,b){var c=a.Wreqr,d=a.Wreqr={};return a.Wreqr.VERSION="1.3.1",a.Wreqr.noConflict=function(){return a.Wreqr=c,this},d.Handlers=function(a,b){var c=function(a){this.options=a,this._wreqrHandlers={},b.isFunction(this.initialize)&&this.initialize(a)};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events,{setHandlers:function(a){b.each(a,function(a,c){var d=null;b.isObject(a)&&!b.isFunction(a)&&(d=a.context,a=a.callback),this.setHandler(c,a,d)},this)},setHandler:function(a,b,c){var d={callback:b,context:c};this._wreqrHandlers[a]=d,this.trigger("handler:add",a,b,c)},hasHandler:function(a){return!!this._wreqrHandlers[a]},getHandler:function(a){var b=this._wreqrHandlers[a];if(b)return function(){var a=Array.prototype.slice.apply(arguments);return b.callback.apply(b.context,a)}},removeHandler:function(a){delete this._wreqrHandlers[a]},removeAllHandlers:function(){this._wreqrHandlers={}}}),c}(a,b),d.CommandStorage=function(){var c=function(a){this.options=a,this._commands={},b.isFunction(this.initialize)&&this.initialize(a)};return b.extend(c.prototype,a.Events,{getCommands:function(a){var b=this._commands[a];return b||(b={command:a,instances:[]},this._commands[a]=b),b},addCommand:function(a,b){var c=this.getCommands(a);c.instances.push(b)},clearCommands:function(a){var b=this.getCommands(a);b.instances=[]}}),c}(),d.Commands=function(a){return a.Handlers.extend({storageType:a.CommandStorage,constructor:function(b){this.options=b||{},this._initializeStorage(this.options),this.on("handler:add",this._executeCommands,this);var c=Array.prototype.slice.call(arguments);a.Handlers.prototype.constructor.apply(this,c)},execute:function(a,b){a=arguments[0],b=Array.prototype.slice.call(arguments,1),this.hasHandler(a)?this.getHandler(a).apply(this,b):this.storage.addCommand(a,b)},_executeCommands:function(a,c,d){var e=this.storage.getCommands(a);b.each(e.instances,function(a){c.apply(d,a)}),this.storage.clearCommands(a)},_initializeStorage:function(a){var c,d=a.storageType||this.storageType;c=b.isFunction(d)?new d:d,this.storage=c}})}(d),d.RequestResponse=function(a){return a.Handlers.extend({request:function(){var a=arguments[0],b=Array.prototype.slice.call(arguments,1);return this.hasHandler(a)?this.getHandler(a).apply(this,b):void 0}})}(d),d.EventAggregator=function(a,b){var c=function(){};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events),c}(a,b),d.Channel=function(){var c=function(b){this.vent=new a.Wreqr.EventAggregator,this.reqres=new a.Wreqr.RequestResponse,this.commands=new a.Wreqr.Commands,this.channelName=b};return b.extend(c.prototype,{reset:function(){return this.vent.off(),this.vent.stopListening(),this.reqres.removeAllHandlers(),this.commands.removeAllHandlers(),this},connectEvents:function(a,b){return this._connect("vent",a,b),this},connectCommands:function(a,b){return this._connect("commands",a,b),this},connectRequests:function(a,b){return this._connect("reqres",a,b),this},_connect:function(a,c,d){if(c){d=d||this;var e="vent"===a?"on":"setHandler";b.each(c,function(c,f){this[a][e](f,b.bind(c,d))},this)}}}),c}(d),d.radio=function(a){var c=function(){this._channels={},this.vent={},this.commands={},this.reqres={},this._proxyMethods()};b.extend(c.prototype,{channel:function(a){if(!a)throw new Error("Channel must receive a name");return this._getChannel(a)},_getChannel:function(b){var c=this._channels[b];return c||(c=new a.Channel(b),this._channels[b]=c),c},_proxyMethods:function(){b.each(["vent","commands","reqres"],function(a){b.each(d[a],function(b){this[a][b]=e(this,a,b)},this)},this)}});var d={vent:["on","off","trigger","once","stopListening","listenTo","listenToOnce"],commands:["execute","setHandler","setHandlers","removeHandler","removeAllHandlers"],reqres:["request","setHandler","setHandlers","removeHandler","removeAllHandlers"]},e=function(a,b,c){return function(d){var e=a._getChannel(d)[b],f=Array.prototype.slice.call(arguments,1);return e[c].apply(e,f)}};return new c}(d),a.Wreqr}(b,c);var e={};b.Marionette=e,e.$=b.$;var f=Array.prototype.slice;return e.extend=b.Model.extend,e.getOption=function(a,b){if(a&&b){var c;return c=a.options&&b in a.options&&void 0!==a.options[b]?a.options[b]:a[b]}},e.normalizeMethods=function(a){var b,d={};return c.each(a,function(a,e){b=a,c.isFunction(b)||(b=this[b]),b&&(d[e]=b)},this),d},e.normalizeUIKeys=function(a,b){return"undefined"!=typeof a?(c.each(c.keys(a),function(c){var d=/@ui.[a-zA-Z_$0-9]*/g;c.match(d)&&(a[c.replace(d,function(a){return b[a.slice(4)]})]=a[c],delete a[c])}),a):void 0},e.actAsCollection=function(a,b){var d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];c.each(d,function(d){a[d]=function(){var a=c.values(c.result(this,b)),e=[a].concat(c.toArray(arguments));return c[d].apply(c,e)}})},e.triggerMethod=function(){function a(a,b,c){return c.toUpperCase()}var b=/(^|:)(\w)/gi,d=function(d){var e="on"+d.replace(b,a),f=this[e];return c.isFunction(this.trigger)&&this.trigger.apply(this,arguments),c.isFunction(f)?f.apply(this,c.tail(arguments)):void 0};return d}(),e.MonitorDOMRefresh=function(a){function b(a){a._isShown=!0,e(a)}function d(a){a._isRendered=!0,e(a)}function e(a){a._isShown&&a._isRendered&&f(a)&&c.isFunction(a.triggerMethod)&&a.triggerMethod("dom:refresh")}function f(b){return a.contains(b.el)}return function(a){a.listenTo(a,"show",function(){b(a)}),a.listenTo(a,"render",function(){d(a)})}}(document.documentElement),function(a){function b(a,b,e,f){var g=f.split(/\s+/);c.each(g,function(c){var f=a[c];f||d("Method '"+c+"' was configured as an event handler, but does not exist."),a.listenTo(b,e,f)})}function e(a,b,c,d){a.listenTo(b,c,d)}function f(a,b,d,e){var f=e.split(/\s+/);c.each(f,function(c){var e=a[c];a.stopListening(b,d,e)})}function g(a,b,c,d){a.stopListening(b,c,d)}function h(a,b,d,e,f){b&&d&&(c.isFunction(d)&&(d=d.call(a)),c.each(d,function(d,g){c.isFunction(d)?e(a,b,g,d):f(a,b,g,d)}))}a.bindEntityEvents=function(a,c,d){h(a,c,d,e,b)},a.unbindEntityEvents=function(a,b,c){h(a,b,c,g,f)}}(e),e.Callbacks=function(){this._deferred=e.$.Deferred(),this._callbacks=[]},c.extend(e.Callbacks.prototype,{add:function(a,b){this._callbacks.push({cb:a,ctx:b}),this._deferred.done(function(c,d){b&&(c=b),a.call(c,d)})},run:function(a,b){this._deferred.resolve(b,a)},reset:function(){var a=this._callbacks;this._deferred=e.$.Deferred(),this._callbacks=[],c.each(a,function(a){this.add(a.cb,a.ctx)},this)}}),e.Controller=function(a){this.triggerMethod=e.triggerMethod,this.options=a||{},c.isFunction(this.initialize)&&this.initialize(this.options)},e.Controller.extend=e.extend,c.extend(e.Controller.prototype,b.Events,{close:function(){this.stopListening();var a=Array.prototype.slice.call(arguments);this.triggerMethod.apply(this,["close"].concat(a)),this.off()}}),e.Region=function(a){if(this.options=a||{},this.el=e.getOption(this,"el"),this.el||d("An 'el' must be specified for a region.","NoElError"),this.initialize){var b=Array.prototype.slice.apply(arguments);this.initialize.apply(this,b)}},c.extend(e.Region,{buildRegion:function(a,b){var e=c.isString(a),f=c.isString(a.selector),g=c.isUndefined(a.regionType),h=c.isFunction(a);h||e||f||d("Region must be specified as a Region type, a selector string or an object with selector property");var i,j;e&&(i=a),a.selector&&(i=a.selector,delete a.selector),h&&(j=a),!h&&g&&(j=b),a.regionType&&(j=a.regionType,delete a.regionType),(e||h)&&(a={}),a.el=i;var k=new j(a);return a.parentEl&&(k.getEl=function(b){var d=a.parentEl;return c.isFunction(d)&&(d=d()),d.find(b)}),k}}),c.extend(e.Region.prototype,b.Events,{show:function(a,b){this.ensureEl();var d=b||{},f=a.isClosed||c.isUndefined(a.$el),g=a!==this.currentView,h=!!d.preventClose,i=!h&&g;return i&&this.close(),a.render(),e.triggerMethod.call(this,"before:show",a),c.isFunction(a.triggerMethod)?a.triggerMethod("before:show"):e.triggerMethod.call(a,"before:show"),(g||f)&&this.open(a),this.currentView=a,e.triggerMethod.call(this,"show",a),c.isFunction(a.triggerMethod)?a.triggerMethod("show"):e.triggerMethod.call(a,"show"),this},ensureEl:function(){this.$el&&0!==this.$el.length||(this.$el=this.getEl(this.el))},getEl:function(a){return e.$(a)},open:function(a){this.$el.empty().append(a.el)},close:function(){var a=this.currentView;a&&!a.isClosed&&(a.close?a.close():a.remove&&a.remove(),e.triggerMethod.call(this,"close",a),delete this.currentView)},attachView:function(a){this.currentView=a},reset:function(){this.close(),delete this.$el}}),e.Region.extend=e.extend,e.RegionManager=function(a){var b=a.Controller.extend({constructor:function(b){this._regions={},a.Controller.prototype.constructor.call(this,b)},addRegions:function(a,b){var d={};return c.each(a,function(a,e){c.isString(a)&&(a={selector:a}),a.selector&&(a=c.defaults({},a,b));var f=this.addRegion(e,a);d[e]=f},this),d},addRegion:function(b,d){var e,f=c.isObject(d),g=c.isString(d),h=!!d.selector;return e=g||f&&h?a.Region.buildRegion(d,a.Region):c.isFunction(d)?a.Region.buildRegion(d,a.Region):d,this._store(b,e),this.triggerMethod("region:add",b,e),e},get:function(a){return this._regions[a]},removeRegion:function(a){var b=this._regions[a];this._remove(a,b)},removeRegions:function(){c.each(this._regions,function(a,b){this._remove(b,a)},this)},closeRegions:function(){c.each(this._regions,function(a){a.close()},this)},close:function(){this.removeRegions(),a.Controller.prototype.close.apply(this,arguments)},_store:function(a,b){this._regions[a]=b,this._setLength()},_remove:function(a,b){b.close(),b.stopListening(),delete this._regions[a],this._setLength(),this.triggerMethod("region:remove",a,b)},_setLength:function(){this.length=c.size(this._regions)}});return a.actAsCollection(b.prototype,"_regions"),b}(e),e.TemplateCache=function(a){this.templateId=a},c.extend(e.TemplateCache,{templateCaches:{},get:function(a){var b=this.templateCaches[a];return b||(b=new e.TemplateCache(a),this.templateCaches[a]=b),b.load()},clear:function(){var a,b=f.call(arguments),c=b.length;if(c>0)for(a=0;c>a;a++)delete this.templateCaches[b[a]];else this.templateCaches={}}}),c.extend(e.TemplateCache.prototype,{load:function(){if(this.compiledTemplate)return this.compiledTemplate;var a=this.loadTemplate(this.templateId);return this.compiledTemplate=this.compileTemplate(a),this.compiledTemplate},loadTemplate:function(a){var b=e.$(a).html();return b&&0!==b.length||d("Could not find template: '"+a+"'","NoTemplateError"),b},compileTemplate:function(a){return c.template(a)}}),e.Renderer={render:function(a,b){a||d("Cannot render the template since it's false, null or undefined.","TemplateNotFoundError");var c;return(c="function"==typeof a?a:e.TemplateCache.get(a))(b)}},e.View=b.View.extend({constructor:function(a){c.bindAll(this,"render"),this.options=c.extend({},c.result(this,"options"),c.isFunction(a)?a.call(this):a),this.events=this.normalizeUIKeys(c.result(this,"events")),c.isObject(this.behaviors)&&new e.Behaviors(this),b.View.prototype.constructor.apply(this,arguments),e.MonitorDOMRefresh(this),this.listenTo(this,"show",this.onShowCalled)},triggerMethod:e.triggerMethod,normalizeMethods:e.normalizeMethods,getTemplate:function(){return e.getOption(this,"template")},mixinTemplateHelpers:function(a){a=a||{};var b=e.getOption(this,"templateHelpers");return c.isFunction(b)&&(b=b.call(this)),c.extend(a,b)},normalizeUIKeys:function(a){var b=c.result(this,"ui");return e.normalizeUIKeys(a,b)},configureTriggers:function(){if(this.triggers){var a={},b=this.normalizeUIKeys(c.result(this,"triggers"));return c.each(b,function(b,d){var e=c.isObject(b),f=e?b.event:b;a[d]=function(a){if(a){var c=a.preventDefault,d=a.stopPropagation,g=e?b.preventDefault:c,h=e?b.stopPropagation:d;g&&c&&c.apply(a),h&&d&&d.apply(a)}var i={view:this,model:this.model,collection:this.collection};this.triggerMethod(f,i)}},this),a}},delegateEvents:function(a){this._delegateDOMEvents(a),e.bindEntityEvents(this,this.model,e.getOption(this,"modelEvents")),e.bindEntityEvents(this,this.collection,e.getOption(this,"collectionEvents"))},_delegateDOMEvents:function(a){a=a||this.events,c.isFunction(a)&&(a=a.call(this));var d={},e=c.result(this,"behaviorEvents")||{},f=this.configureTriggers();c.extend(d,e,a,f),b.View.prototype.delegateEvents.call(this,d)},undelegateEvents:function(){var a=Array.prototype.slice.call(arguments);b.View.prototype.undelegateEvents.apply(this,a),e.unbindEntityEvents(this,this.model,e.getOption(this,"modelEvents")),e.unbindEntityEvents(this,this.collection,e.getOption(this,"collectionEvents"))},onShowCalled:function(){},close:function(){if(!this.isClosed){var a=Array.prototype.slice.call(arguments),b=this.triggerMethod.apply(this,["before:close"].concat(a));b!==!1&&(this.isClosed=!0,this.triggerMethod.apply(this,["close"].concat(a)),this.unbindUIElements(),this.remove())}},bindUIElements:function(){if(this.ui){this._uiBindings||(this._uiBindings=this.ui);var a=c.result(this,"_uiBindings");this.ui={},c.each(c.keys(a),function(b){var c=a[b];this.ui[b]=this.$(c)},this)}},unbindUIElements:function(){this.ui&&this._uiBindings&&(c.each(this.ui,function(a,b){delete this.ui[b]},this),this.ui=this._uiBindings,delete this._uiBindings)}}),e.ItemView=e.View.extend({constructor:function(){e.View.prototype.constructor.apply(this,arguments)},serializeData:function(){var a={};return this.model?a=this.model.toJSON():this.collection&&(a={items:this.collection.toJSON()}),a},render:function(){this.isClosed=!1,this.triggerMethod("before:render",this),this.triggerMethod("item:before:render",this);var a=this.serializeData();a=this.mixinTemplateHelpers(a);var b=this.getTemplate(),c=e.Renderer.render(b,a);return this.$el.html(c),this.bindUIElements(),this.triggerMethod("render",this),this.triggerMethod("item:rendered",this),this},close:function(){this.isClosed||(this.triggerMethod("item:before:close"),e.View.prototype.close.apply(this,arguments),this.triggerMethod("item:closed"))}}),e.CollectionView=e.View.extend({itemViewEventPrefix:"itemview",constructor:function(){this._initChildViewStorage(),e.View.prototype.constructor.apply(this,arguments),this._initialEvents(),this.initRenderBuffer()},initRenderBuffer:function(){this.elBuffer=document.createDocumentFragment(),this._bufferedChildren=[]},startBuffering:function(){this.initRenderBuffer(),this.isBuffering=!0},endBuffering:function(){this.isBuffering=!1,this.appendBuffer(this,this.elBuffer),this._triggerShowBufferedChildren(),this.initRenderBuffer()},_triggerShowBufferedChildren:function(){this._isShown&&(c.each(this._bufferedChildren,function(a){e.triggerMethod.call(a,"show")}),this._bufferedChildren=[])},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView),this.listenTo(this.collection,"remove",this.removeItemView),this.listenTo(this.collection,"reset",this.render))},addChildView:function(a){this.closeEmptyView();var b=this.getItemView(a),c=this.collection.indexOf(a);this.addItemView(a,b,c)},onShowCalled:function(){this.children.each(function(a){e.triggerMethod.call(a,"show")})},triggerBeforeRender:function(){this.triggerMethod("before:render",this),this.triggerMethod("collection:before:render",this)},triggerRendered:function(){this.triggerMethod("render",this),this.triggerMethod("collection:rendered",this)},render:function(){return this.isClosed=!1,this.triggerBeforeRender(),this._renderChildren(),this.triggerRendered(),this},_renderChildren:function(){this.startBuffering(),this.closeEmptyView(),this.closeChildren(),this.isEmpty(this.collection)?this.showEmptyView():this.showCollection(),this.endBuffering()},showCollection:function(){var a;this.collection.each(function(b,c){a=this.getItemView(b),this.addItemView(b,a,c)},this)},showEmptyView:function(){var a=this.getEmptyView();if(a&&!this._showingEmptyView){this._showingEmptyView=!0;var c=new b.Model;this.addItemView(c,a,0)}},closeEmptyView:function(){this._showingEmptyView&&(this.closeChildren(),delete this._showingEmptyView)},getEmptyView:function(){return e.getOption(this,"emptyView")},getItemView:function(){var a=e.getOption(this,"itemView");return a||d("An `itemView` must be specified","NoItemViewError"),a},addItemView:function(a,b,d){var f=e.getOption(this,"itemViewOptions");c.isFunction(f)&&(f=f.call(this,a,d));var g=this.buildItemView(a,b,f);return this.addChildViewEventForwarding(g),this.triggerMethod("before:item:added",g),this.children.add(g),this.renderItemView(g,d),this._isShown&&!this.isBuffering&&e.triggerMethod.call(g,"show"),this.triggerMethod("after:item:added",g),g},addChildViewEventForwarding:function(a){var b=e.getOption(this,"itemViewEventPrefix");this.listenTo(a,"all",function(){var d=f.call(arguments),g=d[0],h=this.normalizeMethods(this.getItemEvents());d[0]=b+":"+g,d.splice(1,0,a),"undefined"!=typeof h&&c.isFunction(h[g])&&h[g].apply(this,d),e.triggerMethod.apply(this,d)},this)},getItemEvents:function(){return c.isFunction(this.itemEvents)?this.itemEvents.call(this):this.itemEvents},renderItemView:function(a,b){a.render(),this.appendHtml(this,a,b)},buildItemView:function(a,b,d){var e=c.extend({model:a},d);return new b(e)},removeItemView:function(a){var b=this.children.findByModel(a);this.removeChildView(b),this.checkEmpty()},removeChildView:function(a){a&&(a.close?a.close():a.remove&&a.remove(),this.stopListening(a),this.children.remove(a)),this.triggerMethod("item:removed",a)},isEmpty:function(){return!this.collection||0===this.collection.length},checkEmpty:function(){this.isEmpty(this.collection)&&this.showEmptyView()},appendBuffer:function(a,b){a.$el.append(b)},appendHtml:function(a,b){a.isBuffering?(a.elBuffer.appendChild(b.el),a._bufferedChildren.push(b)):a.$el.append(b.el)},_initChildViewStorage:function(){this.children=new b.ChildViewContainer},close:function(){this.isClosed||(this.triggerMethod("collection:before:close"),this.closeChildren(),this.triggerMethod("collection:closed"),e.View.prototype.close.apply(this,arguments))},closeChildren:function(){this.children.each(function(a){this.removeChildView(a)},this),this.checkEmpty()}}),e.CompositeView=e.CollectionView.extend({constructor:function(){e.CollectionView.prototype.constructor.apply(this,arguments)},_initialEvents:function(){this.once("render",function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView),this.listenTo(this.collection,"remove",this.removeItemView),this.listenTo(this.collection,"reset",this._renderChildren))})},getItemView:function(){var a=e.getOption(this,"itemView")||this.constructor;return a||d("An `itemView` must be specified","NoItemViewError"),a},serializeData:function(){var a={};return this.model&&(a=this.model.toJSON()),a},render:function(){this.isRendered=!0,this.isClosed=!1,this.resetItemViewContainer(),this.triggerBeforeRender();var a=this.renderModel();return this.$el.html(a),this.bindUIElements(),this.triggerMethod("composite:model:rendered"),this._renderChildren(),this.triggerMethod("composite:rendered"),this.triggerRendered(),this},_renderChildren:function(){this.isRendered&&(this.triggerMethod("composite:collection:before:render"),e.CollectionView.prototype._renderChildren.call(this),this.triggerMethod("composite:collection:rendered"))},renderModel:function(){var a={};a=this.serializeData(),a=this.mixinTemplateHelpers(a);var b=this.getTemplate();return e.Renderer.render(b,a)},appendBuffer:function(a,b){var c=this.getItemViewContainer(a);c.append(b)},appendHtml:function(a,b){if(a.isBuffering)a.elBuffer.appendChild(b.el),a._bufferedChildren.push(b);else{var c=this.getItemViewContainer(a);c.append(b.el)}},getItemViewContainer:function(a){if("$itemViewContainer"in a)return a.$itemViewContainer;var b,f=e.getOption(a,"itemViewContainer");if(f){var g=c.isFunction(f)?f.call(a):f;b="@"===g.charAt(0)&&a.ui?a.ui[g.substr(4)]:a.$(g),b.length<=0&&d("The specified `itemViewContainer` was not found: "+a.itemViewContainer,"ItemViewContainerMissingError")}else b=a.$el;return a.$itemViewContainer=b,b},resetItemViewContainer:function(){this.$itemViewContainer&&delete this.$itemViewContainer}}),e.Layout=e.ItemView.extend({regionType:e.Region,constructor:function(a){a=a||{},this._firstRender=!0,this._initializeRegions(a),e.ItemView.prototype.constructor.call(this,a)},render:function(){return this.isClosed&&this._initializeRegions(),this._firstRender?this._firstRender=!1:this.isClosed||this._reInitializeRegions(),e.ItemView.prototype.render.apply(this,arguments)},close:function(){this.isClosed||(this.regionManager.close(),e.ItemView.prototype.close.apply(this,arguments))},addRegion:function(a,b){var c={};return c[a]=b,this._buildRegions(c)[a]},addRegions:function(a){return this.regions=c.extend({},this.regions,a),this._buildRegions(a)},removeRegion:function(a){return delete this.regions[a],this.regionManager.removeRegion(a)},getRegion:function(a){return this.regionManager.get(a)},_buildRegions:function(a){var b=this,c={regionType:e.getOption(this,"regionType"),parentEl:function(){return b.$el}};return this.regionManager.addRegions(a,c)},_initializeRegions:function(a){var b;this._initRegionManager(),b=c.isFunction(this.regions)?this.regions(a):this.regions||{},this.addRegions(b)},_reInitializeRegions:function(){this.regionManager.closeRegions(),this.regionManager.each(function(a){a.reset()})},_initRegionManager:function(){this.regionManager=new e.RegionManager,this.listenTo(this.regionManager,"region:add",function(a,b){this[a]=b,this.trigger("region:add",a,b)}),this.listenTo(this.regionManager,"region:remove",function(a,b){delete this[a],this.trigger("region:remove",a,b)})}}),e.Behavior=function(a,b){function c(b,c){this.view=c,this.defaults=a.result(this,"defaults")||{},this.options=a.extend({},this.defaults,b),this.$=function(){return this.view.$.apply(this.view,arguments)},this.initialize.apply(this,arguments)}return a.extend(c.prototype,b.Events,{initialize:function(){},close:function(){this.stopListening()},triggerMethod:e.triggerMethod}),c.extend=e.extend,c}(c,b),e.Behaviors=function(a,b){function c(a){this.behaviors=c.parseBehaviors(a,b.result(a,"behaviors")),c.wrap(a,this.behaviors,["bindUIElements","unbindUIElements","delegateEvents","undelegateEvents","behaviorEvents","triggerMethod","setElement","close"])}var d={setElement:function(a,c){a.apply(this,b.tail(arguments,2)),b.each(c,function(a){a.$el=this.$el},this)},close:function(a,c){var d=b.tail(arguments,2);a.apply(this,d),b.invoke(c,"close",d)},bindUIElements:function(a,c){a.apply(this),b.invoke(c,a)},unbindUIElements:function(a,c){a.apply(this),b.invoke(c,a)},triggerMethod:function(a,c){var d=b.tail(arguments,2);a.apply(this,d),b.each(c,function(b){a.apply(b,d)})},delegateEvents:function(c,d){var e=b.tail(arguments,2);c.apply(this,e),b.each(d,function(b){a.bindEntityEvents(b,this.model,a.getOption(b,"modelEvents")),a.bindEntityEvents(b,this.collection,a.getOption(b,"collectionEvents"))},this)},undelegateEvents:function(c,d){var e=b.tail(arguments,2);c.apply(this,e),b.each(d,function(b){a.unbindEntityEvents(b,this.model,a.getOption(b,"modelEvents")),a.unbindEntityEvents(b,this.collection,a.getOption(b,"collectionEvents"))},this)},behaviorEvents:function(c,d){var e={},f=b.result(this,"ui");return b.each(d,function(c,d){var g={},h=b.result(c,"events")||{},i=b.result(c,"ui"),j=b.extend({},f,i);h=a.normalizeUIKeys(h,j),b.each(b.keys(h),function(a){var e=new Array(d+2).join(" "),f=a+e,i=b.isFunction(h[a])?h[a]:c[h[a]];g[f]=b.bind(i,c)}),e=b.extend(e,g)}),e}};return b.extend(c,{behaviorsLookup:function(){throw new Error("You must define where your behaviors are stored. See https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.behaviors.md#behaviorslookup")},getBehaviorClass:function(a,d){return a.behaviorClass?a.behaviorClass:b.isFunction(c.behaviorsLookup)?c.behaviorsLookup.apply(this,arguments)[d]:c.behaviorsLookup[d]},parseBehaviors:function(a,d){return b.map(d,function(b,d){var e=c.getBehaviorClass(b,d);return new e(b,a)})},wrap:function(a,c,e){b.each(e,function(e){a[e]=b.partial(d[e],a[e],c)})}}),c}(e,c),e.AppRouter=b.Router.extend({constructor:function(a){b.Router.prototype.constructor.apply(this,arguments),this.options=a||{};var c=e.getOption(this,"appRoutes"),d=this._getController();this.processAppRoutes(d,c),this.on("route",this._processOnRoute,this)},appRoute:function(a,b){var c=this._getController();this._addAppRoute(c,a,b)},_processOnRoute:function(a,b){var d=c.invert(this.appRoutes)[a];c.isFunction(this.onRoute)&&this.onRoute(a,d,b)},processAppRoutes:function(a,b){if(b){var d=c.keys(b).reverse();c.each(d,function(c){this._addAppRoute(a,c,b[c])},this)}},_getController:function(){return e.getOption(this,"controller")},_addAppRoute:function(a,b,e){var f=a[e];f||d("Method '"+e+"' was not found on the controller"),this.route(b,e,c.bind(f,a))}}),e.Application=function(a){this._initRegionManager(),this._initCallbacks=new e.Callbacks,this.vent=new b.Wreqr.EventAggregator,this.commands=new b.Wreqr.Commands,this.reqres=new b.Wreqr.RequestResponse,this.submodules={},c.extend(this,a),this.triggerMethod=e.triggerMethod},c.extend(e.Application.prototype,b.Events,{execute:function(){this.commands.execute.apply(this.commands,arguments)},request:function(){return this.reqres.request.apply(this.reqres,arguments)},addInitializer:function(a){this._initCallbacks.add(a)},start:function(a){this.triggerMethod("initialize:before",a),this._initCallbacks.run(a,this),this.triggerMethod("initialize:after",a),this.triggerMethod("start",a)},addRegions:function(a){return this._regionManager.addRegions(a)},closeRegions:function(){this._regionManager.closeRegions()},removeRegion:function(a){this._regionManager.removeRegion(a)},getRegion:function(a){return this._regionManager.get(a)},module:function(a,b){var c=e.Module.getClass(b),d=f.call(arguments);return d.unshift(this),c.create.apply(c,d)},_initRegionManager:function(){this._regionManager=new e.RegionManager,this.listenTo(this._regionManager,"region:add",function(a,b){this[a]=b}),this.listenTo(this._regionManager,"region:remove",function(a){delete this[a]})}}),e.Application.extend=e.extend,e.Module=function(a,b,d){this.moduleName=a,this.options=c.extend({},this.options,d),this.initialize=d.initialize||this.initialize,this.submodules={},this._setupInitializersAndFinalizers(),this.app=b,this.startWithParent=!0,this.triggerMethod=e.triggerMethod,c.isFunction(this.initialize)&&this.initialize(this.options,a,b)},e.Module.extend=e.extend,c.extend(e.Module.prototype,b.Events,{initialize:function(){},addInitializer:function(a){this._initializerCallbacks.add(a)},addFinalizer:function(a){this._finalizerCallbacks.add(a)},start:function(a){this._isInitialized||(c.each(this.submodules,function(b){b.startWithParent&&b.start(a)}),this.triggerMethod("before:start",a),this._initializerCallbacks.run(a,this),this._isInitialized=!0,this.triggerMethod("start",a))},stop:function(){this._isInitialized&&(this._isInitialized=!1,e.triggerMethod.call(this,"before:stop"),c.each(this.submodules,function(a){a.stop()}),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),e.triggerMethod.call(this,"stop"))},addDefinition:function(a,b){this._runModuleDefinition(a,b)},_runModuleDefinition:function(a,d){if(a){var f=c.flatten([this,this.app,b,e,e.$,c,d]);a.apply(this,f)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new e.Callbacks,this._finalizerCallbacks=new e.Callbacks}}),c.extend(e.Module,{create:function(a,b,d){var e=a,g=f.call(arguments);g.splice(0,3),b=b.split(".");var h=b.length,i=[];return i[h-1]=d,c.each(b,function(b,c){var f=e;e=this._getModule(f,b,a,d),this._addModuleDefinition(f,e,i[c],g)},this),e},_getModule:function(a,b,d,e){var f=c.extend({},e),g=this.getClass(e),h=a[b];return h||(h=new g(b,d,f),a[b]=h,a.submodules[b]=h),h},getClass:function(a){var b=e.Module;return a?a.prototype instanceof b?a:a.moduleClass||b:b},_addModuleDefinition:function(a,b,c,d){var e=this._getDefine(c),f=this._getStartWithParent(c,b);e&&b.addDefinition(e,d),this._addStartWithParent(a,b,f)},_getStartWithParent:function(a,b){var d;return c.isFunction(a)&&a.prototype instanceof e.Module?(d=b.constructor.prototype.startWithParent,c.isUndefined(d)?!0:d):c.isObject(a)?(d=a.startWithParent,c.isUndefined(d)?!0:d):!0},_getDefine:function(a){return!c.isFunction(a)||a.prototype instanceof e.Module?c.isObject(a)?a.define:null:a},_addStartWithParent:function(a,b,c){b.startWithParent=b.startWithParent&&c,b.startWithParent&&!b.startWithParentIsConfigured&&(b.startWithParentIsConfigured=!0,a.addInitializer(function(a){b.startWithParent&&b.start(a)}))}}),e}(this,Backbone,_); +var Marionette=function(a,b,c){"use strict";function d(a,b){var c=new Error(a);throw c.name=b||"Error",c}!function(a,b){var c=a.ChildViewContainer;return a.ChildViewContainer=function(a,b){var c=function(a){this._views={},this._indexByModel={},this._indexByCustom={},this._updateLength(),b.each(a,this.add,this)};b.extend(c.prototype,{add:function(a,b){var c=a.cid;return this._views[c]=a,a.model&&(this._indexByModel[a.model.cid]=c),b&&(this._indexByCustom[b]=c),this._updateLength(),this},findByModel:function(a){return this.findByModelCid(a.cid)},findByModelCid:function(a){var b=this._indexByModel[a];return this.findByCid(b)},findByCustom:function(a){var b=this._indexByCustom[a];return this.findByCid(b)},findByIndex:function(a){return b.values(this._views)[a]},findByCid:function(a){return this._views[a]},remove:function(a){var c=a.cid;return a.model&&delete this._indexByModel[a.model.cid],b.any(this._indexByCustom,function(a,b){return a===c?(delete this._indexByCustom[b],!0):void 0},this),delete this._views[c],this._updateLength(),this},call:function(a){this.apply(a,b.tail(arguments))},apply:function(a,c){b.each(this._views,function(d){b.isFunction(d[a])&&d[a].apply(d,c||[])})},_updateLength:function(){this.length=b.size(this._views)}});var d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];return b.each(d,function(a){c.prototype[a]=function(){var c=b.values(this._views),d=[c].concat(b.toArray(arguments));return b[a].apply(b,d)}}),c}(a,b),a.ChildViewContainer.VERSION="0.1.4",a.ChildViewContainer.noConflict=function(){return a.ChildViewContainer=c,this},a.ChildViewContainer}(b,c),function(a,b){var c=a.Wreqr,d=a.Wreqr={};return a.Wreqr.VERSION="1.3.1",a.Wreqr.noConflict=function(){return a.Wreqr=c,this},d.Handlers=function(a,b){var c=function(a){this.options=a,this._wreqrHandlers={},b.isFunction(this.initialize)&&this.initialize(a)};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events,{setHandlers:function(a){b.each(a,function(a,c){var d=null;b.isObject(a)&&!b.isFunction(a)&&(d=a.context,a=a.callback),this.setHandler(c,a,d)},this)},setHandler:function(a,b,c){var d={callback:b,context:c};this._wreqrHandlers[a]=d,this.trigger("handler:add",a,b,c)},hasHandler:function(a){return!!this._wreqrHandlers[a]},getHandler:function(a){var b=this._wreqrHandlers[a];if(b)return function(){var a=Array.prototype.slice.apply(arguments);return b.callback.apply(b.context,a)}},removeHandler:function(a){delete this._wreqrHandlers[a]},removeAllHandlers:function(){this._wreqrHandlers={}}}),c}(a,b),d.CommandStorage=function(){var c=function(a){this.options=a,this._commands={},b.isFunction(this.initialize)&&this.initialize(a)};return b.extend(c.prototype,a.Events,{getCommands:function(a){var b=this._commands[a];return b||(b={command:a,instances:[]},this._commands[a]=b),b},addCommand:function(a,b){var c=this.getCommands(a);c.instances.push(b)},clearCommands:function(a){var b=this.getCommands(a);b.instances=[]}}),c}(),d.Commands=function(a){return a.Handlers.extend({storageType:a.CommandStorage,constructor:function(b){this.options=b||{},this._initializeStorage(this.options),this.on("handler:add",this._executeCommands,this);var c=Array.prototype.slice.call(arguments);a.Handlers.prototype.constructor.apply(this,c)},execute:function(a,b){a=arguments[0],b=Array.prototype.slice.call(arguments,1),this.hasHandler(a)?this.getHandler(a).apply(this,b):this.storage.addCommand(a,b)},_executeCommands:function(a,c,d){var e=this.storage.getCommands(a);b.each(e.instances,function(a){c.apply(d,a)}),this.storage.clearCommands(a)},_initializeStorage:function(a){var c,d=a.storageType||this.storageType;c=b.isFunction(d)?new d:d,this.storage=c}})}(d),d.RequestResponse=function(a){return a.Handlers.extend({request:function(){var a=arguments[0],b=Array.prototype.slice.call(arguments,1);return this.hasHandler(a)?this.getHandler(a).apply(this,b):void 0}})}(d),d.EventAggregator=function(a,b){var c=function(){};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events),c}(a,b),d.Channel=function(){var c=function(b){this.vent=new a.Wreqr.EventAggregator,this.reqres=new a.Wreqr.RequestResponse,this.commands=new a.Wreqr.Commands,this.channelName=b};return b.extend(c.prototype,{reset:function(){return this.vent.off(),this.vent.stopListening(),this.reqres.removeAllHandlers(),this.commands.removeAllHandlers(),this},connectEvents:function(a,b){return this._connect("vent",a,b),this},connectCommands:function(a,b){return this._connect("commands",a,b),this},connectRequests:function(a,b){return this._connect("reqres",a,b),this},_connect:function(a,c,d){if(c){d=d||this;var e="vent"===a?"on":"setHandler";b.each(c,function(c,f){this[a][e](f,b.bind(c,d))},this)}}}),c}(d),d.radio=function(a){var c=function(){this._channels={},this.vent={},this.commands={},this.reqres={},this._proxyMethods()};b.extend(c.prototype,{channel:function(a){if(!a)throw new Error("Channel must receive a name");return this._getChannel(a)},_getChannel:function(b){var c=this._channels[b];return c||(c=new a.Channel(b),this._channels[b]=c),c},_proxyMethods:function(){b.each(["vent","commands","reqres"],function(a){b.each(d[a],function(b){this[a][b]=e(this,a,b)},this)},this)}});var d={vent:["on","off","trigger","once","stopListening","listenTo","listenToOnce"],commands:["execute","setHandler","setHandlers","removeHandler","removeAllHandlers"],reqres:["request","setHandler","setHandlers","removeHandler","removeAllHandlers"]},e=function(a,b,c){return function(d){var e=a._getChannel(d)[b],f=Array.prototype.slice.call(arguments,1);return e[c].apply(e,f)}};return new c}(d),a.Wreqr}(b,c);var e={};b.Marionette=e,e.$=b.$;var f=Array.prototype.slice;return e.extend=b.Model.extend,e.getOption=function(a,b){if(a&&b){var c;return c=a.options&&b in a.options&&void 0!==a.options[b]?a.options[b]:a[b]}},e.normalizeMethods=function(a){var b,d={};return c.each(a,function(a,e){b=a,c.isFunction(b)||(b=this[b]),b&&(d[e]=b)},this),d},e.normalizeUIKeys=function(a,b){return"undefined"!=typeof a?(c.each(c.keys(a),function(c){var d=/@ui.[a-zA-Z_$0-9]*/g;c.match(d)&&(a[c.replace(d,function(a){return b[a.slice(4)]})]=a[c],delete a[c])}),a):void 0},e.actAsCollection=function(a,b){var d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];c.each(d,function(d){a[d]=function(){var a=c.values(c.result(this,b)),e=[a].concat(c.toArray(arguments));return c[d].apply(c,e)}})},e.triggerMethod=function(){function a(a,b,c){return c.toUpperCase()}var b=/(^|:)(\w)/gi,d=function(d){var e="on"+d.replace(b,a),f=this[e];return c.isFunction(this.trigger)&&this.trigger.apply(this,arguments),c.isFunction(f)?f.apply(this,c.tail(arguments)):void 0};return d}(),e.MonitorDOMRefresh=function(a){function b(a){a._isShown=!0,e(a)}function d(a){a._isRendered=!0,e(a)}function e(a){a._isShown&&a._isRendered&&f(a)&&c.isFunction(a.triggerMethod)&&a.triggerMethod("dom:refresh")}function f(b){return a.contains(b.el)}return function(a){a.listenTo(a,"show",function(){b(a)}),a.listenTo(a,"render",function(){d(a)})}}(document.documentElement),function(a){function b(a,b,e,f){var g=f.split(/\s+/);c.each(g,function(c){var f=a[c];f||d("Method '"+c+"' was configured as an event handler, but does not exist."),a.listenTo(b,e,f)})}function e(a,b,c,d){a.listenTo(b,c,d)}function f(a,b,d,e){var f=e.split(/\s+/);c.each(f,function(c){var e=a[c];a.stopListening(b,d,e)})}function g(a,b,c,d){a.stopListening(b,c,d)}function h(a,b,d,e,f){b&&d&&(c.isFunction(d)&&(d=d.call(a)),c.each(d,function(d,g){c.isFunction(d)?e(a,b,g,d):f(a,b,g,d)}))}a.bindEntityEvents=function(a,c,d){h(a,c,d,e,b)},a.unbindEntityEvents=function(a,b,c){h(a,b,c,g,f)}}(e),e.Callbacks=function(){this._deferred=e.$.Deferred(),this._callbacks=[]},c.extend(e.Callbacks.prototype,{add:function(a,b){this._callbacks.push({cb:a,ctx:b}),this._deferred.done(function(c,d){b&&(c=b),a.call(c,d)})},run:function(a,b){this._deferred.resolve(b,a)},reset:function(){var a=this._callbacks;this._deferred=e.$.Deferred(),this._callbacks=[],c.each(a,function(a){this.add(a.cb,a.ctx)},this)}}),e.Controller=function(a){this.triggerMethod=e.triggerMethod,this.options=a||{},c.isFunction(this.initialize)&&this.initialize(this.options)},e.Controller.extend=e.extend,c.extend(e.Controller.prototype,b.Events,{close:function(){this.stopListening();var a=Array.prototype.slice.call(arguments);this.triggerMethod.apply(this,["close"].concat(a)),this.off()}}),e.Region=function(a){if(this.options=a||{},this.el=e.getOption(this,"el"),this.el||d("An 'el' must be specified for a region.","NoElError"),this.initialize){var b=Array.prototype.slice.apply(arguments);this.initialize.apply(this,b)}},c.extend(e.Region,{buildRegion:function(a,b){var e=c.isString(a),f=c.isString(a.selector),g=c.isUndefined(a.regionType),h=c.isFunction(a);h||e||f||d("Region must be specified as a Region type, a selector string or an object with selector property");var i,j;e&&(i=a),a.selector&&(i=a.selector,delete a.selector),h&&(j=a),!h&&g&&(j=b),a.regionType&&(j=a.regionType,delete a.regionType),(e||h)&&(a={}),a.el=i;var k=new j(a);return a.parentEl&&(k.getEl=function(b){var d=a.parentEl;return c.isFunction(d)&&(d=d()),d.find(b)}),k}}),c.extend(e.Region.prototype,b.Events,{show:function(a,b){this.ensureEl();var d=b||{},f=a.isClosed||c.isUndefined(a.$el),g=a!==this.currentView,h=!!d.preventClose,i=!h&&g;return i&&this.close(),a.render(),e.triggerMethod.call(this,"before:show",a),c.isFunction(a.triggerMethod)?a.triggerMethod("before:show"):e.triggerMethod.call(a,"before:show"),(g||f)&&this.open(a),this.currentView=a,e.triggerMethod.call(this,"show",a),c.isFunction(a.triggerMethod)?a.triggerMethod("show"):e.triggerMethod.call(a,"show"),this},ensureEl:function(){this.$el&&0!==this.$el.length||(this.$el=this.getEl(this.el))},getEl:function(a){return e.$(a)},open:function(a){this.$el.empty().append(a.el)},close:function(){var a=this.currentView;a&&!a.isClosed&&(a.close?a.close():a.remove&&a.remove(),e.triggerMethod.call(this,"close",a),delete this.currentView)},attachView:function(a){this.currentView=a},reset:function(){this.close(),delete this.$el}}),e.Region.extend=e.extend,e.RegionManager=function(a){var b=a.Controller.extend({constructor:function(b){this._regions={},a.Controller.prototype.constructor.call(this,b)},addRegions:function(a,b){var d={};return c.each(a,function(a,e){c.isString(a)&&(a={selector:a}),a.selector&&(a=c.defaults({},a,b));var f=this.addRegion(e,a);d[e]=f},this),d},addRegion:function(b,d){var e,f=c.isObject(d),g=c.isString(d),h=!!d.selector;return e=g||f&&h?a.Region.buildRegion(d,a.Region):c.isFunction(d)?a.Region.buildRegion(d,a.Region):d,this._store(b,e),this.triggerMethod("region:add",b,e),e},get:function(a){return this._regions[a]},removeRegion:function(a){var b=this._regions[a];this._remove(a,b)},removeRegions:function(){c.each(this._regions,function(a,b){this._remove(b,a)},this)},closeRegions:function(){c.each(this._regions,function(a){a.close()},this)},close:function(){this.removeRegions(),a.Controller.prototype.close.apply(this,arguments)},_store:function(a,b){this._regions[a]=b,this._setLength()},_remove:function(a,b){b.close(),b.stopListening(),delete this._regions[a],this._setLength(),this.triggerMethod("region:remove",a,b)},_setLength:function(){this.length=c.size(this._regions)}});return a.actAsCollection(b.prototype,"_regions"),b}(e),e.TemplateCache=function(a){this.templateId=a},c.extend(e.TemplateCache,{templateCaches:{},get:function(a){var b=this.templateCaches[a];return b||(b=new e.TemplateCache(a),this.templateCaches[a]=b),b.load()},clear:function(){var a,b=f.call(arguments),c=b.length;if(c>0)for(a=0;c>a;a++)delete this.templateCaches[b[a]];else this.templateCaches={}}}),c.extend(e.TemplateCache.prototype,{load:function(){if(this.compiledTemplate)return this.compiledTemplate;var a=this.loadTemplate(this.templateId);return this.compiledTemplate=this.compileTemplate(a),this.compiledTemplate},loadTemplate:function(a){var b=e.$(a).html();return b&&0!==b.length||d("Could not find template: '"+a+"'","NoTemplateError"),b},compileTemplate:function(a){return c.template(a)}}),e.Renderer={render:function(a,b){a||d("Cannot render the template since it's false, null or undefined.","TemplateNotFoundError");var c;return(c="function"==typeof a?a:e.TemplateCache.get(a))(b)}},e.View=b.View.extend({constructor:function(a){c.bindAll(this,"render"),this.options=c.extend({},c.result(this,"options"),c.isFunction(a)?a.call(this):a),this.events=this.normalizeUIKeys(c.result(this,"events")),c.isObject(this.behaviors)&&new e.Behaviors(this),b.View.prototype.constructor.apply(this,arguments),e.MonitorDOMRefresh(this),this.listenTo(this,"show",this.onShowCalled)},triggerMethod:e.triggerMethod,normalizeMethods:e.normalizeMethods,getTemplate:function(){return e.getOption(this,"template")},mixinTemplateHelpers:function(a){a=a||{};var b=e.getOption(this,"templateHelpers");return c.isFunction(b)&&(b=b.call(this)),c.extend(a,b)},normalizeUIKeys:function(a){var b=c.result(this,"ui");return e.normalizeUIKeys(a,b)},configureTriggers:function(){if(this.triggers){var a={},b=this.normalizeUIKeys(c.result(this,"triggers"));return c.each(b,function(b,d){var e=c.isObject(b),f=e?b.event:b;a[d]=function(a){if(a){var c=a.preventDefault,d=a.stopPropagation,g=e?b.preventDefault:c,h=e?b.stopPropagation:d;g&&c&&c.apply(a),h&&d&&d.apply(a)}var i={view:this,model:this.model,collection:this.collection};this.triggerMethod(f,i)}},this),a}},delegateEvents:function(a){this._delegateDOMEvents(a),e.bindEntityEvents(this,this.model,e.getOption(this,"modelEvents")),e.bindEntityEvents(this,this.collection,e.getOption(this,"collectionEvents"))},_delegateDOMEvents:function(a){a=a||this.events,c.isFunction(a)&&(a=a.call(this));var d={},e=c.result(this,"behaviorEvents")||{},f=this.configureTriggers();c.extend(d,e,a,f),b.View.prototype.delegateEvents.call(this,d)},undelegateEvents:function(){var a=Array.prototype.slice.call(arguments);b.View.prototype.undelegateEvents.apply(this,a),e.unbindEntityEvents(this,this.model,e.getOption(this,"modelEvents")),e.unbindEntityEvents(this,this.collection,e.getOption(this,"collectionEvents"))},onShowCalled:function(){},close:function(){if(!this.isClosed){var a=Array.prototype.slice.call(arguments),b=this.triggerMethod.apply(this,["before:close"].concat(a));b!==!1&&(this.isClosed=!0,this.triggerMethod.apply(this,["close"].concat(a)),this.unbindUIElements(),this.remove())}},bindUIElements:function(){if(this.ui){this._uiBindings||(this._uiBindings=this.ui);var a=c.result(this,"_uiBindings");this.ui={},c.each(c.keys(a),function(b){var c=a[b];this.ui[b]=this.$(c)},this)}},unbindUIElements:function(){this.ui&&this._uiBindings&&(c.each(this.ui,function(a,b){delete this.ui[b]},this),this.ui=this._uiBindings,delete this._uiBindings)}}),e.ItemView=e.View.extend({constructor:function(){e.View.prototype.constructor.apply(this,arguments)},serializeData:function(){var a={};return this.model?a=this.model.toJSON():this.collection&&(a={items:this.collection.toJSON()}),a},render:function(){this.isClosed=!1,this.triggerMethod("before:render",this),this.triggerMethod("item:before:render",this);var a=this.serializeData();a=this.mixinTemplateHelpers(a);var b=this.getTemplate(),c=e.Renderer.render(b,a);return this.$el.html(c),this.bindUIElements(),this.triggerMethod("render",this),this.triggerMethod("item:rendered",this),this},close:function(){this.isClosed||(this.triggerMethod("item:before:close"),e.View.prototype.close.apply(this,arguments),this.triggerMethod("item:closed"))}}),e.CollectionView=e.View.extend({itemViewEventPrefix:"itemview",constructor:function(){this._initChildViewStorage(),e.View.prototype.constructor.apply(this,arguments),this._initialEvents(),this.initRenderBuffer()},initRenderBuffer:function(){this.elBuffer=document.createDocumentFragment(),this._bufferedChildren=[]},startBuffering:function(){this.initRenderBuffer(),this.isBuffering=!0},endBuffering:function(){this.isBuffering=!1,this.appendBuffer(this,this.elBuffer),this._triggerShowBufferedChildren(),this.initRenderBuffer()},_triggerShowBufferedChildren:function(){this._isShown&&(c.each(this._bufferedChildren,function(a){e.triggerMethod.call(a,"show")}),this._bufferedChildren=[])},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView),this.listenTo(this.collection,"remove",this.removeItemView),this.listenTo(this.collection,"reset",this.render))},addChildView:function(a){this.closeEmptyView();var b=this.getItemView(a),c=this.collection.indexOf(a);this.addItemView(a,b,c)},onShowCalled:function(){this.children.each(function(a){e.triggerMethod.call(a,"show")})},triggerBeforeRender:function(){this.triggerMethod("before:render",this),this.triggerMethod("collection:before:render",this)},triggerRendered:function(){this.triggerMethod("render",this),this.triggerMethod("collection:rendered",this)},render:function(){return this.isClosed=!1,this.triggerBeforeRender(),this._renderChildren(),this.triggerRendered(),this},_renderChildren:function(){this.startBuffering(),this.closeEmptyView(),this.closeChildren(),this.isEmpty(this.collection)?this.showEmptyView():this.showCollection(),this.endBuffering()},showCollection:function(){var a;this.collection.each(function(b,c){a=this.getItemView(b),this.addItemView(b,a,c)},this)},showEmptyView:function(){var a=this.getEmptyView();if(a&&!this._showingEmptyView){this._showingEmptyView=!0;var c=new b.Model;this.addItemView(c,a,0)}},closeEmptyView:function(){this._showingEmptyView&&(this.closeChildren(),delete this._showingEmptyView)},getEmptyView:function(){return e.getOption(this,"emptyView")},getItemView:function(){var a=e.getOption(this,"itemView");return a||d("An `itemView` must be specified","NoItemViewError"),a},addItemView:function(a,b,d){var f=e.getOption(this,"itemViewOptions");c.isFunction(f)&&(f=f.call(this,a,d));var g=this.buildItemView(a,b,f);return this.addChildViewEventForwarding(g),this.triggerMethod("before:item:added",g),this.children.add(g),this.renderItemView(g,d),this._isShown&&!this.isBuffering&&e.triggerMethod.call(g,"show"),this.triggerMethod("after:item:added",g),g},addChildViewEventForwarding:function(a){var b=e.getOption(this,"itemViewEventPrefix");this.listenTo(a,"all",function(){var d=f.call(arguments),g=d[0],h=this.normalizeMethods(this.getItemEvents());d[0]=b+":"+g,d.splice(1,0,a),"undefined"!=typeof h&&c.isFunction(h[g])&&h[g].apply(this,d),e.triggerMethod.apply(this,d)},this)},getItemEvents:function(){return c.isFunction(this.itemEvents)?this.itemEvents.call(this):this.itemEvents},renderItemView:function(a,b){a.render(),this.appendHtml(this,a,b)},buildItemView:function(a,b,d){var e=c.extend({model:a},d);return new b(e)},removeItemView:function(a){var b=this.children.findByModel(a);this.removeChildView(b),this.checkEmpty()},removeChildView:function(a){a&&(a.close?a.close():a.remove&&a.remove(),this.stopListening(a),this.children.remove(a)),this.triggerMethod("item:removed",a)},isEmpty:function(){return!this.collection||0===this.collection.length},checkEmpty:function(){this.isEmpty(this.collection)&&this.showEmptyView()},appendBuffer:function(a,b){a.$el.append(b)},appendHtml:function(a,b){a.isBuffering?(a.elBuffer.appendChild(b.el),a._bufferedChildren.push(b)):a.$el.append(b.el)},_initChildViewStorage:function(){this.children=new b.ChildViewContainer},close:function(){this.isClosed||(this.triggerMethod("collection:before:close"),this.closeChildren(),this.triggerMethod("collection:closed"),e.View.prototype.close.apply(this,arguments))},closeChildren:function(){this.children.each(function(a){this.removeChildView(a)},this),this.checkEmpty()}}),e.CompositeView=e.CollectionView.extend({constructor:function(){e.CollectionView.prototype.constructor.apply(this,arguments)},_initialEvents:function(){this.once("render",function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView),this.listenTo(this.collection,"remove",this.removeItemView),this.listenTo(this.collection,"reset",this._renderChildren))})},getItemView:function(){var a=e.getOption(this,"itemView")||this.constructor;return a||d("An `itemView` must be specified","NoItemViewError"),a},serializeData:function(){var a={};return this.model&&(a=this.model.toJSON()),a},render:function(){this.isRendered=!0,this.isClosed=!1,this.resetItemViewContainer(),this.triggerBeforeRender();var a=this.renderModel();return this.$el.html(a),this.bindUIElements(),this.triggerMethod("composite:model:rendered"),this._renderChildren(),this.triggerMethod("composite:rendered"),this.triggerRendered(),this},_renderChildren:function(){this.isRendered&&(this.triggerMethod("composite:collection:before:render"),e.CollectionView.prototype._renderChildren.call(this),this.triggerMethod("composite:collection:rendered"))},renderModel:function(){var a={};a=this.serializeData(),a=this.mixinTemplateHelpers(a);var b=this.getTemplate();return e.Renderer.render(b,a)},appendBuffer:function(a,b){var c=this.getItemViewContainer(a);c.append(b)},appendHtml:function(a,b){if(a.isBuffering)a.elBuffer.appendChild(b.el),a._bufferedChildren.push(b);else{var c=this.getItemViewContainer(a);c.append(b.el)}},getItemViewContainer:function(a){if("$itemViewContainer"in a)return a.$itemViewContainer;var b,f=e.getOption(a,"itemViewContainer");if(f){var g=c.isFunction(f)?f.call(a):f;b="@"===g.charAt(0)&&a.ui?a.ui[g.substr(4)]:a.$(g),b.length<=0&&d("The specified `itemViewContainer` was not found: "+a.itemViewContainer,"ItemViewContainerMissingError")}else b=a.$el;return a.$itemViewContainer=b,b},resetItemViewContainer:function(){this.$itemViewContainer&&delete this.$itemViewContainer}}),e.Layout=e.ItemView.extend({regionType:e.Region,constructor:function(a){a=a||{},this._firstRender=!0,this._initializeRegions(a),e.ItemView.prototype.constructor.call(this,a)},render:function(){return this.isClosed&&this._initializeRegions(),this._firstRender?this._firstRender=!1:this.isClosed||this._reInitializeRegions(),e.ItemView.prototype.render.apply(this,arguments)},close:function(){this.isClosed||(this.regionManager.close(),e.ItemView.prototype.close.apply(this,arguments))},addRegion:function(a,b){var c={};return c[a]=b,this._buildRegions(c)[a]},addRegions:function(a){return this.regions=c.extend({},this.regions,a),this._buildRegions(a)},removeRegion:function(a){return delete this.regions[a],this.regionManager.removeRegion(a)},getRegion:function(a){return this.regionManager.get(a)},_buildRegions:function(a){var b=this,c={regionType:e.getOption(this,"regionType"),parentEl:function(){return b.$el}};return this.regionManager.addRegions(a,c)},_initializeRegions:function(a){var b;this._initRegionManager(),b=c.isFunction(this.regions)?this.regions(a):this.regions||{},this.addRegions(b)},_reInitializeRegions:function(){this.regionManager.closeRegions(),this.regionManager.each(function(a){a.reset()})},_initRegionManager:function(){this.regionManager=new e.RegionManager,this.listenTo(this.regionManager,"region:add",function(a,b){this[a]=b,this.trigger("region:add",a,b)}),this.listenTo(this.regionManager,"region:remove",function(a,b){delete this[a],this.trigger("region:remove",a,b)})}}),e.Behavior=function(a,b){function c(b,c){this.view=c,this.defaults=a.result(this,"defaults")||{},this.options=a.extend({},this.defaults,b),this.$=function(){return this.view.$.apply(this.view,arguments)},this.initialize.apply(this,arguments)}return a.extend(c.prototype,b.Events,{initialize:function(){},close:function(){this.stopListening()},triggerMethod:e.triggerMethod}),c.extend=e.extend,c}(c,b),e.Behaviors=function(a,b){function c(a){this.behaviors=c.parseBehaviors(a,b.result(a,"behaviors")),c.wrap(a,this.behaviors,["bindUIElements","unbindUIElements","delegateEvents","undelegateEvents","behaviorEvents","triggerMethod","setElement","close"])}var d={setElement:function(a,c){a.apply(this,b.tail(arguments,2)),b.each(c,function(a){a.$el=this.$el},this)},close:function(a,c){var d=b.tail(arguments,2);a.apply(this,d),b.invoke(c,"close",d)},bindUIElements:function(a,c){a.apply(this),b.invoke(c,a)},unbindUIElements:function(a,c){a.apply(this),b.invoke(c,a)},triggerMethod:function(a,c){var d=b.tail(arguments,2);a.apply(this,d),b.each(c,function(b){a.apply(b,d)})},delegateEvents:function(c,d){var e=b.tail(arguments,2);c.apply(this,e),b.each(d,function(b){a.bindEntityEvents(b,this.model,a.getOption(b,"modelEvents")),a.bindEntityEvents(b,this.collection,a.getOption(b,"collectionEvents"))},this)},undelegateEvents:function(c,d){var e=b.tail(arguments,2);c.apply(this,e),b.each(d,function(b){a.unbindEntityEvents(b,this.model,a.getOption(b,"modelEvents")),a.unbindEntityEvents(b,this.collection,a.getOption(b,"collectionEvents"))},this)},behaviorEvents:function(c,d){var e={},f=b.result(this,"ui");return b.each(d,function(c,d){var g={},h=b.clone(b.result(c,"events"))||{},i=b.result(c,"ui"),j=b.extend({},f,i);h=a.normalizeUIKeys(h,j),b.each(b.keys(h),function(a){var e=new Array(d+2).join(" "),f=a+e,i=b.isFunction(h[a])?h[a]:c[h[a]];g[f]=b.bind(i,c)}),e=b.extend(e,g)}),e}};return b.extend(c,{behaviorsLookup:function(){throw new Error("You must define where your behaviors are stored. See https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.behaviors.md#behaviorslookup")},getBehaviorClass:function(a,d){return a.behaviorClass?a.behaviorClass:b.isFunction(c.behaviorsLookup)?c.behaviorsLookup.apply(this,arguments)[d]:c.behaviorsLookup[d]},parseBehaviors:function(a,d){return b.map(d,function(b,d){var e=c.getBehaviorClass(b,d);return new e(b,a)})},wrap:function(a,c,e){b.each(e,function(e){a[e]=b.partial(d[e],a[e],c)})}}),c}(e,c),e.AppRouter=b.Router.extend({constructor:function(a){b.Router.prototype.constructor.apply(this,arguments),this.options=a||{};var c=e.getOption(this,"appRoutes"),d=this._getController();this.processAppRoutes(d,c),this.on("route",this._processOnRoute,this)},appRoute:function(a,b){var c=this._getController();this._addAppRoute(c,a,b)},_processOnRoute:function(a,b){var d=c.invert(this.appRoutes)[a];c.isFunction(this.onRoute)&&this.onRoute(a,d,b)},processAppRoutes:function(a,b){if(b){var d=c.keys(b).reverse();c.each(d,function(c){this._addAppRoute(a,c,b[c])},this)}},_getController:function(){return e.getOption(this,"controller")},_addAppRoute:function(a,b,e){var f=a[e];f||d("Method '"+e+"' was not found on the controller"),this.route(b,e,c.bind(f,a))}}),e.Application=function(a){this._initRegionManager(),this._initCallbacks=new e.Callbacks,this.vent=new b.Wreqr.EventAggregator,this.commands=new b.Wreqr.Commands,this.reqres=new b.Wreqr.RequestResponse,this.submodules={},c.extend(this,a),this.triggerMethod=e.triggerMethod},c.extend(e.Application.prototype,b.Events,{execute:function(){this.commands.execute.apply(this.commands,arguments)},request:function(){return this.reqres.request.apply(this.reqres,arguments)},addInitializer:function(a){this._initCallbacks.add(a)},start:function(a){this.triggerMethod("initialize:before",a),this._initCallbacks.run(a,this),this.triggerMethod("initialize:after",a),this.triggerMethod("start",a)},addRegions:function(a){return this._regionManager.addRegions(a)},closeRegions:function(){this._regionManager.closeRegions()},removeRegion:function(a){this._regionManager.removeRegion(a)},getRegion:function(a){return this._regionManager.get(a)},module:function(a,b){var c=e.Module.getClass(b),d=f.call(arguments);return d.unshift(this),c.create.apply(c,d)},_initRegionManager:function(){this._regionManager=new e.RegionManager,this.listenTo(this._regionManager,"region:add",function(a,b){this[a]=b}),this.listenTo(this._regionManager,"region:remove",function(a){delete this[a]})}}),e.Application.extend=e.extend,e.Module=function(a,b,d){this.moduleName=a,this.options=c.extend({},this.options,d),this.initialize=d.initialize||this.initialize,this.submodules={},this._setupInitializersAndFinalizers(),this.app=b,this.startWithParent=!0,this.triggerMethod=e.triggerMethod,c.isFunction(this.initialize)&&this.initialize(this.options,a,b)},e.Module.extend=e.extend,c.extend(e.Module.prototype,b.Events,{initialize:function(){},addInitializer:function(a){this._initializerCallbacks.add(a)},addFinalizer:function(a){this._finalizerCallbacks.add(a)},start:function(a){this._isInitialized||(c.each(this.submodules,function(b){b.startWithParent&&b.start(a)}),this.triggerMethod("before:start",a),this._initializerCallbacks.run(a,this),this._isInitialized=!0,this.triggerMethod("start",a))},stop:function(){this._isInitialized&&(this._isInitialized=!1,e.triggerMethod.call(this,"before:stop"),c.each(this.submodules,function(a){a.stop()}),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),e.triggerMethod.call(this,"stop"))},addDefinition:function(a,b){this._runModuleDefinition(a,b)},_runModuleDefinition:function(a,d){if(a){var f=c.flatten([this,this.app,b,e,e.$,c,d]);a.apply(this,f)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new e.Callbacks,this._finalizerCallbacks=new e.Callbacks}}),c.extend(e.Module,{create:function(a,b,d){var e=a,g=f.call(arguments);g.splice(0,3),b=b.split(".");var h=b.length,i=[];return i[h-1]=d,c.each(b,function(b,c){var f=e;e=this._getModule(f,b,a,d),this._addModuleDefinition(f,e,i[c],g)},this),e},_getModule:function(a,b,d,e){var f=c.extend({},e),g=this.getClass(e),h=a[b];return h||(h=new g(b,d,f),a[b]=h,a.submodules[b]=h),h},getClass:function(a){var b=e.Module;return a?a.prototype instanceof b?a:a.moduleClass||b:b},_addModuleDefinition:function(a,b,c,d){var e=this._getDefine(c),f=this._getStartWithParent(c,b);e&&b.addDefinition(e,d),this._addStartWithParent(a,b,f)},_getStartWithParent:function(a,b){var d;return c.isFunction(a)&&a.prototype instanceof e.Module?(d=b.constructor.prototype.startWithParent,c.isUndefined(d)?!0:d):c.isObject(a)?(d=a.startWithParent,c.isUndefined(d)?!0:d):!0},_getDefine:function(a){return!c.isFunction(a)||a.prototype instanceof e.Module?c.isObject(a)?a.define:null:a},_addStartWithParent:function(a,b,c){b.startWithParent=b.startWithParent&&c,b.startWithParent&&!b.startWithParentIsConfigured&&(b.startWithParentIsConfigured=!0,a.addInitializer(function(a){b.startWithParent&&b.start(a)}))}}),e}(this,Backbone,_); //# sourceMappingURL=backbone.marionette.map \ No newline at end of file diff --git a/package.json b/package.json index 83b947a27f..3b31cc1796 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "backbone.marionette", "description": "Make your Backbone.js apps dance!", - "version": "1.8.6", + "version": "1.8.7", "homepage": "https://github.com/marionettejs/backbone.marionette", "main": "lib/core/amd/backbone.marionette.js", "keywords": [