- Fixed cheerio rendering bug with the latest version.
- Explicity depend and require underscore in NPM.
- Repeated subViews are a thing of the past :D.
- Fixed serialize/data priority.
- Fixed lodash issues and added in separate lodash testing.
- Views that have already been rendered can now be inserted into existing Views.
- Fixed the logic that decides when to remove Views.
- Fixed issue with
cleanup
not being on nested Views. - Miscellaneous fixes (inc. null checks, perf. updates, etc).
- Removed minified build file from the repo.
insertViews
can now accept an array of Views.render
can now be asynchronous to allow template engines like dust.js to work seamlessly, works identical tofetch
.- Overriding the template option at initialization level wil now override the constructor option.
- Refactored source to be less cryptic.
- 100% test code coverage.
- Re-wrote much of the internals.
- Performance greatly improved, especially with large lists.
- Removed
swapLayout
. serialize
is deprecated and replaced bydata
.render(callback)
is deprecated torender().done()
deferreds only.- Automatically unbind
model
andcollection
events insidecleanup
. Backbone.LayoutView,
Backbone.Layout, and
Backbone.View(with
manageset to
true`) are now all identical.paths
is now a Stringprefix
, set this to the folder where your templates live.afterRender
now occurs after therender()
deferred.myView.render().view
now allows you to attachview.el
after a render for some nice one-liners.new Backbone.LayoutView({ template: "#t" }).render().view.$el.appendTo("body");
- Fixed asynchronous fetching bug that could in some circumstances duplicate list items
- Calling
remove
on a View now completely removes it from LayoutManager - Fixed issues with
afterRender
- Better error handling for when
manage: true
is missing
- Corrected event binding behaviors depending on the parent.
- Fixed regression with
afterRender
- Fixed a memory leak that existed with appended Views
- Updated all examples
- Fixed regression with events being bound to Layouts
- General performance tweaks
- Updated cheerio dependency to 0.9.2 for the Node implementation
- Updated to support jQuery 1.8
- Fixed missing events when calling
view.render
- Fixed issues with
afterRender
not triggering - No longer copying options to the View instance
- Patch release fixing issues and upgrading Node.js dependencies
- Fixed error where inserted views rendered out of order #116, #117
- Fixed issue where events were not being bound correctly #118
- Overriding
render
is now deprecated. Refer tobeforeRender
andafterRender
. - Added a
swap
method that can be used on a Layout which allows you to dynamically swap out the entire contents, but retain the rendered subViews. - Code cleanup, removing unused code paths, properties, features, etc.
- Fixes to setView to not break when moving from an append mode to non-append mode.
- Several bug fixes.
- Added more unit tests.
- More methods can be overwritten from initialization
- Render can now be bound like
this.collection.on("reset", this.render, this);
- Fixes to
keep: true
and append example, only checkingkeep
if View has already rendered
- Patched massive memory leak and missing remove on setView
- Fixed bug with Named Function Expression breaking IE compatibility when minified
- Added
keep: true
to View's to stop them from being removed pre-render
- Tons of new unit tests
- More API normalization
- Collection rendering bug fixes
- New View methods
- insertView & insertViews
- getView and getViews
- Fixed major regression regarding list duplication
- Detach no longer internally happens on the root Layout
manage
function inside a custom render has a new propertyraw
for getting at the actual View instance- Collection lists bugs solved
- Made
makeAsync
a private class method - Cleanup method is now called whenever
remove
is called - Major fixes allowing for single View append
- View function no longer requires "" for inserting into parent View
- SubView render functions only resolve after the element has been attached to its parent View.
- Context is now consistent in either callbacks or deferreds
setViews
is now chainableview
andsetViews
are now available at all times onBackbone.View
's- Bug fixes regarding list duplication
- Made
template
optional inside ofBackbone.View
- Added custom cleanup function to handle the removal of any custom events
- insert no longer requires a selector
- Several performance improvements along with general stability changes
- Major re-write to codebase that eliminated a lot of repetitive and cludgy code
- Deprecated the need to extend
Backbone.LayoutManager.View
- All View
render
methods return promises and can accept a callback - Views now render themselves first and then resolve/trigger the callback once all the children are rendered. This helps with jQuery plugins.
- Major patch for re-rendering layouts that would lose events
- Added new API method detach
- Minor patch release (that removes an undocumented feature)
- Fixed issue with events not being registered correctly within lists
- Lots of bug fixes!
- Ability to insert views dynamically using the new
view.insert
method. Useful for collections. - Setting/resetting sub views possible with new
view.setViews
method. - All views now have the
view/setViews
methods. - Updates to allow LayoutManager to be extended easier, along with
events
being bound automatically during initialization.
- Adding views turned into a reusable function called
view
. - Templates no longer are required to be a string, this allows passing of compiled template functions.
- View renders are internally wrapped to expose a new
render()
method that when called, re-renders. - Nested views are possible by adding a
views
sub property which is an object that contains nested views.
- Changed layout
name
property totemplate
for consistency. - Internal second deferred replaces the
viewDeferred
to determine when an element enters the DOM.
- Open sourced on GitHub.
- Initial unit tests.
- Released introduction screencast.