From a1302e5b8a3f404d1ecad0d32507495df8a39734 Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Fri, 29 Sep 2023 18:33:54 +0300 Subject: [PATCH] fix --- .../src/AiService/AskAiContentService.js | 18 +++++++----------- .../src/AiService/ReplaceSelectedText.js | 1 + .../src/AiService/components/AskAIOverlay.js | 2 +- .../AiService/plugins/AskAiSelectionPlugin.js | 13 +++++++++---- 4 files changed, 18 insertions(+), 16 deletions(-) diff --git a/wax-prosemirror-services/src/AiService/AskAiContentService.js b/wax-prosemirror-services/src/AiService/AskAiContentService.js index 6f79d22a0..466e9fc8c 100644 --- a/wax-prosemirror-services/src/AiService/AskAiContentService.js +++ b/wax-prosemirror-services/src/AiService/AskAiContentService.js @@ -15,19 +15,15 @@ class AskAiContentService extends Service { ); const createOverlay = this.container.get('CreateOverlay'); - const { config } = this; + const config = this.config; // Create the overlay - createOverlay( - AskAIOverlay, - { config }, - { - nodeType: '', - markType: '', - followCursor: false, - selection: true, - }, - ); + createOverlay(AskAIOverlay, config, { + nodeType: '', + markType: '', + followCursor: false, + selection: true, + }); } register() { diff --git a/wax-prosemirror-services/src/AiService/ReplaceSelectedText.js b/wax-prosemirror-services/src/AiService/ReplaceSelectedText.js index e4a55dba4..0fed7eec9 100644 --- a/wax-prosemirror-services/src/AiService/ReplaceSelectedText.js +++ b/wax-prosemirror-services/src/AiService/ReplaceSelectedText.js @@ -8,6 +8,7 @@ const elementFromString = string => { }; const replaceSelectedText = (view, responseText, replace = false) => { + if (!view) return; let { state } = view; let { tr } = state; const { from, to } = tr.selection; diff --git a/wax-prosemirror-services/src/AiService/components/AskAIOverlay.js b/wax-prosemirror-services/src/AiService/components/AskAIOverlay.js index bc5227e4c..a7a7927dd 100644 --- a/wax-prosemirror-services/src/AiService/components/AskAIOverlay.js +++ b/wax-prosemirror-services/src/AiService/components/AskAIOverlay.js @@ -192,7 +192,7 @@ const AskAIOverlay = ({ setPosition, position, config }) => { } }; - return options.AiOn ? ( + return options?.AiOn ? ( <Wrapper id="ai-overlay"> <AskAIForm> <AskAIFormInput diff --git a/wax-prosemirror-services/src/AiService/plugins/AskAiSelectionPlugin.js b/wax-prosemirror-services/src/AiService/plugins/AskAiSelectionPlugin.js index 56ffbe9f1..ed7a8e29c 100644 --- a/wax-prosemirror-services/src/AiService/plugins/AskAiSelectionPlugin.js +++ b/wax-prosemirror-services/src/AiService/plugins/AskAiSelectionPlugin.js @@ -14,10 +14,14 @@ export default () => { let createDecoration; const askAiInput = document.getElementById('askAiInput'); if (askAiInput) { - // const selectionWhenBlured = tr.getMeta(key); + const selectionWhenBlured = tr.getMeta(key); - const from = newState.selection.from; - const to = newState.selection.to; + const from = selectionWhenBlured + ? selectionWhenBlured.from + : newState.selection.from; + const to = selectionWhenBlured + ? selectionWhenBlured.to + : newState.selection.to; createDecoration = DecorationSet.create(newState.doc, [ Decoration.inline(from, to, { @@ -38,7 +42,8 @@ export default () => { }, handleDOMEvents: { blur(view) { - view.dispatch(view.state.tr.setMeta(key, view.state.selection)); + if (view) + view.dispatch(view.state.tr.setMeta(key, view.state.selection)); }, // focus(view) { // view.dispatch(view.state.tr.setMeta(key, true)); -- GitLab