Source

backbone-shard /

Filename Size Date modified Message
test
1.2 KB
3.4 KB
2.6 KB

Overview

Backbone.Shard is a variation on a Subset taken from different perspective. Shard was built as a simple "persistent filter" for collections; it can help grouping and displaying items of certain kind based on your filter function. I know it works for me, but your mileage may vary.

Usage

It's easy if you're familiar with Backbone.Collection since Shard shares with it most of the methods marked Underscore methods in the documentation:

var shelf = Backbone.Shard({
  collection: books,
  filter: function(book) { return book.get('read'); }
});

shelf.each(...);
shelf.pluck(...);

You can add/remove models or reset the original collection and Shard will honestly try to keep up with it, but currently Shard itself has no methods such as add/remove/reset.

Events work and respect your filter function:

shelf.on('add', doSomething);
collection.add({read true}); // this will call doSomething
collection.add({read: false}); // this won't

Tests

Download the source and open test/index.html in your browser.