Browse Source

Add `storage:store:before` event

pull/1045/head
Artur Arseniev 9 years ago
parent
commit
4e8c1c059e
  1. 1
      src/editor/index.js
  2. 13
      src/storage_manager/index.js

1
src/editor/index.js

@ -41,6 +41,7 @@
* * `storage:start` - Before the storage request is started
* * `storage:load` - Triggered when something was loaded from the storage, loaded object passed as an argumnet
* * `storage:store` - Triggered when something is stored to the storage, stored object passed as an argumnet
* * `storage:store:before` - Before the store. The object to store is passed as an argumnet (which you can edit)
* * `storage:end` - After the storage request is ended
* * `storage:error` - On any error on storage request, passes the error as an argument
* ## Canvas

13
src/storage_manager/index.js

@ -11,6 +11,7 @@ module.exports = () => {
LocalStorage = require('./model/LocalStorage'),
RemoteStorage = require('./model/RemoteStorage');
let em;
var storages = {};
var defaultStorages = {};
@ -42,6 +43,7 @@ module.exports = () => {
*/
init(config) {
c = config || {};
em = c.em;
for (var name in defaults) {
if (!(name in c)) c[name] = defaults[name];
@ -171,12 +173,15 @@ module.exports = () => {
* storageManager.store({item1: value1, item2: value2});
* */
store(data, clb) {
var st = this.get(this.getCurrent());
var dataF = {};
const st = this.get(this.getCurrent());
const toStore = {};
em && em.trigger('storage:store:before', data);
for (var key in data) dataF[c.id + key] = data[key];
for (let key in data) {
toStore[c.id + key] = data[key];
}
return st ? st.store(dataF, clb) : null;
return st ? st.store(toStore, clb) : null;
},
/**

Loading…
Cancel
Save