From 767d3dc598d04047b96c349dc43dd9b7dccf0b36 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Sun, 7 Mar 2021 20:50:01 +0100 Subject: [PATCH] Test new page creation --- src/canvas/view/CanvasView.js | 2 +- src/canvas/view/FrameWrapView.js | 3 ++- src/editor/model/Editor.js | 2 +- src/navigator/index.js | 2 +- src/pages/index.js | 1 + test/specs/pages/index.js | 14 +++++++++++++- 6 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/canvas/view/CanvasView.js b/src/canvas/view/CanvasView.js index 4dadd9304..43fcf15ce 100644 --- a/src/canvas/view/CanvasView.js +++ b/src/canvas/view/CanvasView.js @@ -347,7 +347,7 @@ export default Backbone.View.extend({ frames.render(); const mainFrame = frms.at(0).view; em.setCurrentFrame(mainFrame); - framesArea.appendChild(frames.el); + framesArea && framesArea.appendChild(frames.el); this.frame = mainFrame; }, diff --git a/src/canvas/view/FrameWrapView.js b/src/canvas/view/FrameWrapView.js index d36224e5f..5dc1714df 100644 --- a/src/canvas/view/FrameWrapView.js +++ b/src/canvas/view/FrameWrapView.js @@ -206,7 +206,8 @@ export default Backbone.View.extend({ ` ); this.elTools = elTools; - cv.toolsWrapper.appendChild(elTools); // TODO remove on frame remove + const twrp = cv.toolsWrapper; + twrp && twrp.appendChild(elTools); // TODO remove on frame remove onRender && onRender({ el, diff --git a/src/editor/model/Editor.js b/src/editor/model/Editor.js index 179957c8a..e1ed22d70 100644 --- a/src/editor/model/Editor.js +++ b/src/editor/model/Editor.js @@ -196,7 +196,7 @@ export default Backbone.Model.extend({ const cfgParent = !isUndefined(config[name]) ? config[name] : config[Mod.name]; - const cfg = cfgParent || {}; + const cfg = cfgParent === true ? {} : cfgParent || {}; const sm = this.get('StorageManager'); cfg.pStylePrefix = config.pStylePrefix || ''; diff --git a/src/navigator/index.js b/src/navigator/index.js index f4133a622..66605989f 100644 --- a/src/navigator/index.js +++ b/src/navigator/index.js @@ -50,7 +50,7 @@ export default () => { * @return {self} */ setRoot(el) { - layers.setRoot(el); + layers && layers.setRoot(el); return this; }, diff --git a/src/pages/index.js b/src/pages/index.js index e051213e4..ec475cc65 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -60,6 +60,7 @@ export default () => { */ add(props, opts = {}) { props.id = props.id || this._createId(); + props.frames = props.frames || [{}]; const page = this.pages.add(props, opts); opts.select && this.select(page); return page; diff --git a/test/specs/pages/index.js b/test/specs/pages/index.js index 0ef18d921..ffba3f696 100644 --- a/test/specs/pages/index.js +++ b/test/specs/pages/index.js @@ -8,7 +8,7 @@ describe('Pages', () => { let pm; beforeAll(() => { - editor = new Editor(); + editor = new Editor({ pageManager: true }); em = editor.getModel(); domc = em.get('DomComponents'); pm = em.get('PageManager'); @@ -61,6 +61,18 @@ describe('Pages', () => { expect(initCmpLen).toBe(1); }); + test('Adding new page with selection', () => { + const name = 'Test page'; + const page = pm.add({ name }, { select: 1 }); + expect(page.id).toBeTruthy(); + expect(page.get('name')).toBe(name); + expect(pm.getSelected()).toBe(page); + expect(pm.getAll().length).toBe(2); + const pageComp = page.getMainComponent(); + expect(pageComp.is('wrapper')).toBe(true); + expect(pageComp.components().length).toBe(0); + }); + // describe.only('Enable page manager', () => {}); describe.skip('Init with pages', () => {