UNPKG

grapesjs_codeapps

Version:

Free and Open Source Web Builder Framework/SC Modification

59 lines (47 loc) 1.06 kB
var Backbone = require('backbone'); module.exports = Backbone.Model.extend({ defaults: { checkLocal: true }, /** * @private */ store(data, clb) { this.checkStorageEnvironment(); for (var key in data) localStorage.setItem(key, data[key]); if (typeof clb == 'function') { clb(); } }, /** * @private */ load(keys, clb) { this.checkStorageEnvironment(); var result = {}; for (var i = 0, len = keys.length; i < len; i++) { var value = localStorage.getItem(keys[i]); if (value) result[keys[i]] = value; } if (typeof clb == 'function') { clb(result); } return result; }, /** * @private */ remove(keys) { this.checkStorageEnvironment(); for (var i = 0, len = keys.length; i < len; i++) localStorage.removeItem(keys[i]); }, /** * Check storage environment * @private * */ checkStorageEnvironment() { if (this.get('checkLocal') && !localStorage) console.warn("Your browser doesn't support localStorage"); } });