Browse Source

Store pages

pull/3411/head
Artur Arseniev 5 years ago
parent
commit
7a40627fc9
  1. 5
      src/dom_components/index.js
  2. 2
      src/editor/model/Editor.js
  3. 26
      src/pages/index.js

5
src/dom_components/index.js

@ -421,8 +421,8 @@ export default () => {
* @return {Object} Data to store
*/
store(noStore) {
if (!c.stm) {
return;
if (!c.stm || this.em.get('hasPages')) {
return {};
}
var obj = {};
@ -433,7 +433,6 @@ export default () => {
}
if (keys.indexOf('components') >= 0) {
const { em } = this;
// const storeWrap = (em && !em.getConfig('avoidInlineStyle')) || c.storeWrapper;
const storeWrap = c.storeWrapper;
const toStore = storeWrap ? this.getWrapper() : this.getComponents();

2
src/editor/model/Editor.js

@ -575,7 +575,7 @@ export default Backbone.Model.extend({
});
sm.store(store, res => {
clb && clb(res);
clb && clb(res, store);
this.set('changesCount', 0);
this.trigger('storage:store', store);
});

26
src/pages/index.js

@ -17,6 +17,8 @@ export default () => {
return {
name: 'PageManager',
storageKey: 'pages',
Page,
Pages,
@ -172,6 +174,30 @@ export default () => {
['selected', 'config', 'em', 'pages', 'model'].map(i => (this[i] = 0));
},
store(noStore) {
if (!this.em.get('hasPages')) return {};
const obj = {};
const cnf = this.config;
obj[this.storageKey] = JSON.stringify(this.getAll());
if (!noStore && cnf.stm) cnf.stm.store(obj);
return obj;
},
load(data = {}) {
const key = this.storageKey;
let res = data[key] || [];
if (typeof res == 'string') {
try {
res = JSON.parse(data[key]);
} catch (err) {}
}
res && res.length && this.getAll().reset(res);
return res;
},
_createId() {
const pages = this.getAll();
const len = pages.length + 16;

Loading…
Cancel
Save