## index Before using methods you should get first the module from the editor instance, in this way: ```js var storageManager = editor.StorageManager; ``` ## getConfig Get configuration object Returns **[Object][1]** ## isAutosave Checks if autosave is enabled Returns **[Boolean][2]** ## setAutosave Set autosave value ### Parameters - `v` **[Boolean][2]** Returns **this** ## getStepsBeforeSave Returns number of steps required before trigger autosave Returns **[number][3]** ## setStepsBeforeSave Set steps required before trigger autosave ### Parameters - `v` **[number][3]** Returns **this** ## add Add new storage ### Parameters - `id` **[string][4]** Storage ID - `storage` **[Object][1]** Storage wrapper - `storage.load` **[Function][5]** Load method - `storage.store` **[Function][5]** Store method ### Examples ```javascript storageManager.add('local2', { load: function(keys, clb, clbErr) { var res = {}; for (var i = 0, len = keys.length; i < len; i++){ var v = localStorage.getItem(keys[i]); if(v) res[keys[i]] = v; } clb(res); // might be called inside some async method // In case of errors... // clbErr('Went something wrong'); }, store: function(data, clb, clbErr) { for(var key in data) localStorage.setItem(key, data[key]); clb(); // might be called inside some async method } }); ``` Returns **this** ## get Returns storage by id ### Parameters - `id` **[string][4]** Storage ID Returns **([Object][1] | null)** ## getStorages Returns all storages Returns **[Array][6]** ## getCurrent Returns current storage type Returns **[string][4]** ## setCurrent Set current storage type ### Parameters - `id` **[string][4]** Storage ID Returns **this** ## store Store key-value resources in the current storage ### Parameters - `data` **[Object][1]** Data in key-value format, eg. {item1: value1, item2: value2} - `clb` **[Function][5]** Callback function ### Examples ```javascript storageManager.store({item1: value1, item2: value2}); ``` Returns **([Object][1] | null)** ## load Load resource from the current storage by keys ### Parameters - `keys` **([string][4] \| [Array][6]<[string][4]>)** Keys to load - `clb` **[Function][5]** Callback function ### Examples ```javascript storageManager.load(['item1', 'item2'], res => { // res -> {item1: value1, item2: value2} }); storageManager.load('item1', res => { // res -> {item1: value1} }); ``` ## getCurrentStorage Get current storage Returns **Storage** [1]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object [2]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean [3]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number [4]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String [5]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function [6]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array