From f886823675bdd603fb7587dac2a0531684bc44a0 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Tue, 7 Jun 2022 15:39:55 +0200 Subject: [PATCH] Inject editor model in Pages --- src/pages/index.ts | 2 +- src/pages/model/Page.ts | 1 - src/pages/model/Pages.ts | 8 +++++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/pages/index.ts b/src/pages/index.ts index a6ccb4bc4..3f5ac1b45 100644 --- a/src/pages/index.ts +++ b/src/pages/index.ts @@ -101,7 +101,7 @@ export default class PageManager extends ItemManagerModule { * @private */ constructor(em: EditorModel) { - super(em, 'PageManager', new Pages([]), events); + super(em, 'PageManager', new Pages([], em), events); bindAll(this, '_onPageChange'); const model = new Model({ _undo: true } as any); this.model = model; diff --git a/src/pages/model/Page.ts b/src/pages/model/Page.ts index adde8ed0e..dfc43d187 100644 --- a/src/pages/model/Page.ts +++ b/src/pages/model/Page.ts @@ -15,7 +15,6 @@ export default class Page extends Model { constructor(props: any, opts: any = {}) { super(props, opts); - const { config = {} } = opts; const { em } = opts; const defFrame: any = {}; this.em = em; diff --git a/src/pages/model/Pages.ts b/src/pages/model/Pages.ts index a64755f8f..36c9a1d47 100644 --- a/src/pages/model/Pages.ts +++ b/src/pages/model/Pages.ts @@ -1,11 +1,17 @@ import { Collection } from '../../common'; +import EditorModel from '../../editor/model/Editor'; import Page from './Page'; export default class Pages extends Collection { - constructor(models: any) { + constructor(models: any, em: EditorModel) { super(models); this.on('reset', this.onReset); this.on('remove', this.onRemove); + + // @ts-ignore We need to inject `em` for pages created on reset from the Storage load + this.model = (props: {}, opts = {}) => { + return new Page(props, {...opts, em }); + } } onReset(m: Page, opts?: { previousModels?: Pages }) {