Store your ember application data in localStorage.
Compatible with Ember Data 1.0alpha+.
NOTE: New versions of the localStorage adapter are no longer compatible
with older versions of Ember Data. For older versions, checkout the legacy
branch.
Include localstorage_adapter.js in your app and then like all adapters:
App.LSAdapter = DS.LSAdapter.extend({
namespace: 'app_namespace'
});
App.ApplicationAdapter = DS.LSAdapter;All of your application data lives on a single localStorage key, it defaults to DS.LSAdapter but if you supply a namespace option it will store it there:
DS.LSAdapter.create({
namespace: 'my app'
});If your model definition has a url property, the adapter will store the data on that namespace. URL is a weird term in this context, but it makes swapping out adapters simpler by not requiring additional properties on your models.
var List = DS.Model.extend({
// ...
});
List.reopen({
url: '/some/url'
});Browser's localStorage has limited space, if you try to commit application data and the browser is out of space, then the adapter will trigger the QUOTA_EXCEEDED_ERR event.
App.store.adapter.on('QUOTA_EXCEEDED_ERR', function(records){
// do stuff
});
App.store.commit();- Figure out how to save a record once its transitioned to the error state.
- Make the repo nicer to work with long-term (do something more intelligent with dependencies found in
vendor, etc.) - Add some examples
Open tests/index.html in a browser.
Copyright (c) 2012 Ryan Florence MIT Style license. http://opensource.org/licenses/MIT