v3.0.0
🎉
v3.0.0
Version 3.0.0 of Marionette has arrived and contains many improvements over version
2.x but also some API Changes. Below is a list of the changes made to each component.
To help the community transition over we have released a v2 patch tool to assist
the upgrade. Marionette Patch Tool
View
LayoutView
+ItemView
merge and rename toView
.Marionette.View
->ViewMixin
- Added
LayoutView
shortcut methods such asshowChildView
. isDestroyed
andisRendered
made private with a public accessor method.- Now set
_isDestroyed
to false by default - Call
Backbone.View
with result of options (163188e) CompositeView
'srenderChildren
is now public.- Renamed
childEvents
tochildViewEvents
. - Removed passing view options as a function
- Renamed
templateHelpers
totemplateContext
- Made sure
before:render
is triggered before emptying regions. - Regions are not attached directly to the layout. Use
getRegion
to access the region orshowChildView
to show aView
within it. - Allowed
CompositeView
to attach to existing HTML withtemplate:false
- Added
hasRegion
for layouts - Enabled passing
preventDestroy
toregion.empty
. View
now removes its element before destroying child regions. There was an option to turn it on, but now it’s available by default. This helps remove all of the synchronous paints going up the tree.
CollectionView
- The
childView
attribute now accepts a function getChildView
was removedemptyView
now accepts a function as an arg.- Proxied events do not append “this” as an argument
- Removed the
apply:filter
event fromCollectionView
. removeChildView
now returns the removed view.
Regions
- Fixed inconsistency in
addRegion
, it now behaves likeaddRegions
and adds the region to internal this.regions. View
can replace regions's el.- Replaced region manager with
region-mixin
. - Removed static
buildRegion
- Removed
swap
events.
Application
- Introduced region to
Application
(rootRegion
) - Removed regions
- Removed Initializers and Finalizers Callbacks
- Removed Application
vent
,commands
,requests
Object
- Added support for
Object.isDestroyed
ES6
- Added Rest & Spread ES6 syntax
- using ES6 Modules
- Replaced
var
andlet
withconst
.
General Enhancements
- Added
DEV_MODE
- Changed
_.rest
multiple arg usage to drop for lodash 3 support. - Behavior, View Mixins.
- Added
cid
field to object, application, behavior, and region - Added
TemplateCache
options. - Allow a user to define trigger handlers in options.
- Increased Lodash compatibility, (now supports upto lodash 4)
- Added first class support for Backbone.Radio in Mn.Object
- Updated BB and _ deps to modern versions
- Updated Radio from 0.9 to 2.0
delegateEntityEvents
. Delegate Events used to set delegate entity events, it was extracted because now backbone calls delegateEvent everytime the element is set.- Added
Backbone.Babysitter
toMn
and removed the Babysitter dependency.
Deprecations
- Deprecated
CompositeView
- Deprecated
Behavior
Lookups.
Removed
- Removed
Marionette.Module
- there’s a shim that you can pull in to get Module and Deferred - Removed
Marionette.Deferred
- Removed
component.json
- Removed
Controller
- Removed
Callbacks
- Removed
Wreqr
(replaced withRadio
) - Removed
actAsCollection
- Removed
_getValue
.
API Renames
- Renamed
render:collection
=>render:children
- Renamed
bindEntityEvents
=>bindEvents
.
v3.0.0-pre5
Documentation
- Improved installation docs.
- Updated
CollectionView
docs to reflect API changes. - Improved
Behavior
docs. - Improved functions docs.
- Improved update guide.
- Added "basics" docs.
API Changes
emptyView
now accepts a function as an arg.- Removed the
apply:filter
event fromCollectionView
. removeChildView
now returns the removed view.bindEntityEvents
renamedbindEvents
.- Deprecated Behavior Lookups.
- Added Backbone.Babysitter to Mn and removed the Babysitter dependency.
Bug fixes
CollectionView
now only triggersdestroy:children
if it has been rendered.- Parent views will now successfully listen for
destroy
inchildViewEvents
.
Misc
- Replaced
var
andlet
withconst
. - Added consistent function declarations and added rules to eslint.
- Tweaked peerDependencies to only allow patch versions.
- Directory structure changes and file naming consistency.
- Improved test coverage.
- Removed bundled build.