A Backbone.js View that opperates on a collection, including child lifecycle management. Built on top of backbone-kinview
npm install backbone-collectionviewCollectionView has been designed to require'd by browserify,
and is currently only supported in that environment. To install:
```
npm install backbone-collectionview --save

``
gulp testc
You can generate a HTML code coverage report by appending the --html switch
`js
var CollectionView = require('backbone-collectionview')
var view = CollectionView.extend({
// regular Backbone.View opts here
})
`
Passing a collection to the view will allow the view to auto-append all items of the collection to the view and manage their lifecycle including adding child items as they get added to the collection, and cleaning up when the child view is removed. To pass a collection to a view:
`js
var CollectionView = require('backbone-collectionview')
var view = CollectionView.extend({
collection: new Backbone.Collection([/ models /])
// regular Backbone.View opts here
})
`view.setCollection(collection)
note: can also be called to (re)set the views collection
`js`
view.addFilter('name', function(){/ do something /})
Filter functions should return a boolean value. Only models with truthy values on ALL filters will be shown.
A view can have multiple filters. To add more filters, just call addFilter() as necessary. Note, multiple filters will be treaded as AND's (not as OR's), and as above - ALL filters must return true for a model to be displayed.
A filter can be removed by calling removeFilter('name').
Whenever a filter is added or removed, the view will be re-filtered. If rows have been added that aren't part of the collection, they will inadvertently be removed.
`js`
view.setSort(/ some func here /)
Sorting is delegated to the native array sort
`js`
view.setPage(offset, limit)
where offset (zero based, children are in an array!) is the first child to display,limit` is the maximum amount of items to show.
and