From 4b8ec09e86e3950a9d4066c28e681a59273b4c93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?LeoYuan=20=E8=A2=81=E5=8A=9B=E7=9A=93?= Date: Mon, 26 Sep 2022 14:47:41 +0800 Subject: [PATCH] feat: add importSchema event for documentModel --- packages/shell/src/document-model.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/packages/shell/src/document-model.ts b/packages/shell/src/document-model.ts index d9d5a2a78..e4e79ddae 100644 --- a/packages/shell/src/document-model.ts +++ b/packages/shell/src/document-model.ts @@ -36,6 +36,10 @@ type PropChangeOptions = { oldValue: any; }; +const Events = { + IMPORT_SCHEMA: 'shell.document.importSchema', +}; + export default class DocumentModel { private readonly [documentSymbol]: InnerDocumentModel; private readonly [editorSymbol]: Editor; @@ -135,6 +139,7 @@ export default class DocumentModel { */ importSchema(schema: RootSchema) { this[documentSymbol].import(schema); + this[editorSymbol].emit(Events.IMPORT_SCHEMA, schema); } /** @@ -290,4 +295,12 @@ export default class DocumentModel { }, ); } + + /** + * import schema event + * @param fn + */ + onImportSchema(fn: (schema: RootSchema) => void) { + this[editorSymbol].on(Events.IMPORT_SCHEMA, fn as any); + } }