From 8d3d6c022e2d093bc757ee1491fabfbfdf66d050 Mon Sep 17 00:00:00 2001 From: undefined Date: Sun, 14 Aug 2022 22:16:38 +0800 Subject: [PATCH] ui: scratchpad: check model existance --- .../components/scratchpad/ScratchpadEditorContainer.jsx | 6 +++--- packages/ui-default/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/ui-default/components/scratchpad/ScratchpadEditorContainer.jsx b/packages/ui-default/components/scratchpad/ScratchpadEditorContainer.jsx index 86639a21..c5087c96 100644 --- a/packages/ui-default/components/scratchpad/ScratchpadEditorContainer.jsx +++ b/packages/ui-default/components/scratchpad/ScratchpadEditorContainer.jsx @@ -56,10 +56,10 @@ export default connect(mapStateToProps, mapDispatchToProps)(class MonacoEditor e const { value, language, mainSize, recordSize, pretestSize, } = this.props; - const { editor, model } = this; const { monaco } = await load([language]); + const { editor, model } = this; const { LF } = monaco.editor.EndOfLinePreference; - if (this.props.value != null && this.props.value !== model.getValue(LF, false)) { + if (model && editor && this.props.value != null && this.props.value !== model.getValue(LF, false)) { this.__prevent_trigger_change_event = true; editor.pushUndoStop(); model.pushEditOperations( @@ -74,7 +74,7 @@ export default connect(mapStateToProps, mapDispatchToProps)(class MonacoEditor e editor.pushUndoStop(); this.__prevent_trigger_change_event = false; } - if (prevProps.language !== language) { + if (model && editor && prevProps.language !== language) { const val = model.getValue(LF, false); model.dispose(); const uri = monaco.Uri.parse(`hydro://${UiContext.pdoc.pid || UiContext.pdoc.docId}.${language}`); diff --git a/packages/ui-default/package.json b/packages/ui-default/package.json index 06918791..2a91551a 100644 --- a/packages/ui-default/package.json +++ b/packages/ui-default/package.json @@ -1,6 +1,6 @@ { "name": "@hydrooj/ui-default", - "version": "4.39.5", + "version": "4.39.6", "author": "undefined ", "license": "AGPL-3.0", "main": "hydro.js",