ember-preferences
ember-preferences copied to clipboard
Sync preferences using local storage change events
Local storage notifies every change so we could use that to sync browser tabs.
https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API
Here's a quick demo on how to use it
import Ember from 'ember';
/* global localStorage */
export default Ember.Service.extend({
init() {
this._super(...arguments);
window.addEventListener('storage', (e) => {
if (e.type === 'storage') {
this.notifyPropertyChange(e.key);
}
});
},
unknownProperty(key) {
return localStorage.getItem(key);
},
setUnknownProperty(key, value) {
localStorage.setItem(key, value);
}
});