State.js 635 B

1234567891011121314151617181920212223242526272829
  1. Ext.define('saas.util.State', {
  2. singleton: true,
  3. requires: [
  4. 'Ext.util.LocalStorage'
  5. ],
  6. store: new Ext.util.LocalStorage({
  7. id: 'app-state'
  8. }),
  9. get: function(key, defaultValue) {
  10. var value = this.store.getItem(key);
  11. return value === undefined? defaultValue : Ext.decode(value);
  12. },
  13. set: function(key, value) {
  14. if (value == null) { // !== undefined && !== null
  15. this.store.removeItem(key);
  16. } else {
  17. this.store.setItem(key, Ext.encode(value));
  18. }
  19. },
  20. clear: function(key) {
  21. this.set(key, null);
  22. }
  23. });