Browse Source

Improve components module detroy

pull/3411/head
Artur Arseniev 6 years ago
parent
commit
4269a1b9be
  1. 5
      src/dom_components/index.js
  2. 8
      src/pages/index.js
  3. 30
      test/specs/pages/index.js

5
src/dom_components/index.js

@ -750,8 +750,9 @@ export default () => {
},
destroy() {
this.clear();
componentView.remove();
const all = this.allById();
Object.keys(all).forEach(id => all[id] && all[id].remove());
componentView && componentView.remove();
[c, em, componentsById, component, componentView].forEach(i => (i = {}));
this.em = {};
}

8
src/pages/index.js

@ -6,6 +6,10 @@ import Page from './model/Page';
export const evPfx = 'page:';
export const evPageSelect = `${evPfx}select`;
export const evPageAdd = `${evPfx}add`;
export const evPageAddBefore = `${evPageAdd}:before`;
export const evPageRemove = `${evPfx}remove`;
export const evPageRemoveBefore = `${evPageRemove}:before`;
const typeMain = 'main';
export default () => {
@ -36,8 +40,8 @@ export default () => {
this.em = em;
this.model = model;
this.select(mainPage, { silent: 1, main: 1 });
pages.on('add', (p, c, o) => em.trigger(`${evPfx}add`, p, o));
pages.on('remove', (p, c, o) => em.trigger(`${evPfx}remove`, p, o));
pages.on('add', (p, c, o) => em.trigger(evPageAdd, p, o));
pages.on('remove', (p, c, o) => em.trigger(evPageRemove, p, o));
model.on('change:selected', this._onPageChange);
return this;

30
test/specs/pages/index.js

@ -73,8 +73,6 @@ describe('Pages', () => {
expect(pageComp.components().length).toBe(0);
});
// describe.only('Enable page manager', () => {});
describe.skip('Init with pages', () => {
let idPage1, idComp1, idComp2, comp1, comp2, initPages, allbyId;
const createCompDef = id => ({
@ -166,3 +164,31 @@ describe('Pages', () => {
});
});
});
describe('Managing pages', () => {
let editor;
let em;
let domc;
let initCmpLen;
let pm;
beforeEach(() => {
editor = new Editor({ pageManager: true });
em = editor.getModel();
domc = em.get('DomComponents');
pm = em.get('PageManager');
initCmpLen = Object.keys(domc.allById()).length;
});
afterEach(() => {
editor.destroy();
pm = 0;
em = 0;
domc = 0;
});
test('Able to abort page add', () => {
pm.add({});
expect(pm.getAll().length).toBe(2);
});
});

Loading…
Cancel
Save