Backbone.js driver for the localForage offline storage library
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist
examples
src
test
.gitignore
.jscsrc
.jshintrc
.travis.yml
Gruntfile.js
LICENSE
README.md
SpecRunner.html
bower.json
package.json

README.md

localForage Backbone Build Status

Backbone.js driver for the localForage offline storage library.

Install with bower:

bower install localforage-backbone

Run tests with grunt:

grunt test

Submit issues, pull requests, etc. if something is up! <3

Usage

This library lets you override the sync() method on your collections and models so they're saved to localForage instead of a REST server. Simply override your objects' sync() method with the namespace for your model:

var MyModel = Backbone.Model.extend({
    sync: Backbone.localforage.sync('MyModel')
});

var MyCollection = Backbone.Collection.extend({
    model: MyModel,
    sync: Backbone.localforage.sync('MyCollection')
});

Now whenever you save your collections or models, they'll be saved with localForage!

Warning

This library is only about overriding Backbone.sync, which means that calling collection.remove(model) won't update the offline storage.

The Backbone.Collection.remove function is only about removing a model from a collection, to clean up all references and event listeners, but does not involve a sync operation.

If you want to destroy a model, you should use this code instead:

// retrieve a model by its id and destroy it
collection.get(id).destroy();

// or

// retrieve a model by its index in the collection and destroy it
collection.at(index).destroy();

License

This program is free software; it is distributed under an Apache License.


Copyright (c) 2014 Mozilla (Contributors).