From fc635d12c88838a60cbf1045dc0d481ec9f27b60 Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Sun, 11 Apr 2021 05:58:43 +0300 Subject: [PATCH] fix find and replace wrong selection --- .../findAndReplace/ExpandedFindAndReplaceComponent.js | 10 ++++++---- .../findAndReplace/FindAndReplaceComponent.js | 3 +++ .../src/components/findAndReplace/FindComponent.js | 11 +++++++---- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/wax-prosemirror-components/src/components/findAndReplace/ExpandedFindAndReplaceComponent.js b/wax-prosemirror-components/src/components/findAndReplace/ExpandedFindAndReplaceComponent.js index 2d59402c5..ab026e261 100644 --- a/wax-prosemirror-components/src/components/findAndReplace/ExpandedFindAndReplaceComponent.js +++ b/wax-prosemirror-components/src/components/findAndReplace/ExpandedFindAndReplaceComponent.js @@ -176,6 +176,9 @@ const ExpandedFindAndReplaceComponent = ({ useEffect(() => { delayedSearch(); + let counter = 0; + counter = helpers.getMatchesByView(view, searchValue, matchCaseSearch); + setCounterSearches(counter); }, [searchValue, delayedSearch, matchCaseSearch, JSON.stringify(allStates)]); const setCounterSearches = counter => { @@ -229,12 +232,11 @@ const ExpandedFindAndReplaceComponent = ({ }; const searchDocument = () => { - let counter = 0; findAndReplacePlugin.props.setSearchText(searchValue); findAndReplacePlugin.props.setSearchMatchCase(matchCaseSearch); - counter = helpers.getMatchesByView(view, searchValue, matchCaseSearch); - - setCounterSearches(counter); + // let counter = 0; + // counter = helpers.getMatchesByView(view, searchValue, matchCaseSearch); + // setCounterSearches(counter); if (searchRef.current === document.activeElement) { eachRight(view, (singleView, viewId) => { diff --git a/wax-prosemirror-components/src/components/findAndReplace/FindAndReplaceComponent.js b/wax-prosemirror-components/src/components/findAndReplace/FindAndReplaceComponent.js index c18dd56ce..d9e426748 100644 --- a/wax-prosemirror-components/src/components/findAndReplace/FindAndReplaceComponent.js +++ b/wax-prosemirror-components/src/components/findAndReplace/FindAndReplaceComponent.js @@ -47,6 +47,7 @@ const FindAndReplaceComponent = ({ close }) => { }; const findNextMatch = (searchValue, matchCaseSearch) => { + if (!view[activeViewId].focused) view[activeViewId].focus(); const counter = helpers.getMatchesByView( view, searchValue, @@ -125,6 +126,8 @@ const FindAndReplaceComponent = ({ close }) => { }; const findPreviousMatch = (searchValue, matchCaseSearch) => { + if (!view[activeViewId].focused) view[activeViewId].focus(); + const counter = helpers.getMatchesByView( view, searchValue, diff --git a/wax-prosemirror-components/src/components/findAndReplace/FindComponent.js b/wax-prosemirror-components/src/components/findAndReplace/FindComponent.js index 462ddf569..77ad537c3 100644 --- a/wax-prosemirror-components/src/components/findAndReplace/FindComponent.js +++ b/wax-prosemirror-components/src/components/findAndReplace/FindComponent.js @@ -134,6 +134,10 @@ const FindComponent = ({ useEffect(() => { delayedSearch(); + let counter = 0; + counter = helpers.getMatchesByView(view, searchValue, matchCaseSearch); + + setCounterSearches(counter); if (isFirstRun) { setTimeout(() => { searchRef.current.focus(); @@ -191,12 +195,11 @@ const FindComponent = ({ }; const searchDocument = () => { - let counter = 0; findAndReplacePlugin.props.setSearchText(searchValue); findAndReplacePlugin.props.setSearchMatchCase(matchCaseSearch); - counter = helpers.getMatchesByView(view, searchValue, matchCaseSearch); - - setCounterSearches(counter); + // let counter = 0; + // counter = helpers.getMatchesByView(view, searchValue, matchCaseSearch); + // setCounterSearches(counter); if (searchRef.current === document.activeElement) { eachRight(view, (singleView, viewId) => { -- GitLab