0.0.4 • Published 7 years ago
backbone.local v0.0.4
Backbone localStorage Backend
An adapter that replaces Backbone.sync
to save to window.localStorage
instead of to the server.
Usage
Import backbone.local
and attach it to your models and collections:
import {Collection, Model} from 'backbone';
import {LocalStorage} from 'backbone.localstorage';
const SomeCollection = Collection.extend({
localStorage: new LocalStorage('SomeCollection'), // Uniquely identify this
});
const SomeModel = Model.extend({
localStorage: new LocalStorage('SomeModel')
});
To synchronise with the server, you can pass the ajaxSync
flag to any options:
const myModel = new SomeModel();
myModel.fetch({
ajaxSync: true // Fetches from the server
});
myModel.save({
new: "value"
}, {
ajaxSync: true // Pushes back to the server
});
Contributing
Install NodeJS and run yarn
or npm i
to get your dependencies, then:
- Open an issue identifying the fault
- Provide a fix, with tests demonstrating the issue
- Run
npm test
- Create a pull request
Acknowledgments
- Jerome Gravel-Niquet: Wrote the initial
backbone.localstorage
- Mark Woodall: Initial tests (now refactored);
- Martin Häcker: Many fixes and the test isolation.