From 77a053a124e2a7ae9c47409831ee466d6ee58dc3 Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Wed, 1 Apr 2020 17:03:15 +0300 Subject: [PATCH] disable certain tools on notes --- .../src/components/link/LinkComponent.js | 8 ++++---- wax-prosemirror-services/src/MenuService/Menu.js | 6 ++---- wax-prosemirror-services/src/NoteService/Editor.js | 5 +++++ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/wax-prosemirror-components/src/components/link/LinkComponent.js b/wax-prosemirror-components/src/components/link/LinkComponent.js index 20ee3b09d..2d2e91357 100644 --- a/wax-prosemirror-components/src/components/link/LinkComponent.js +++ b/wax-prosemirror-components/src/components/link/LinkComponent.js @@ -21,8 +21,8 @@ const Button = styled.button` const LinkComponent = ({ mark, setPosition, position }) => { const href = mark ? mark.attrs.href : null, linkMark = mark ? mark : null, - { view: { main } } = useContext(WaxContext), - { state, dispatch } = main, + { view: { main }, activeView } = useContext(WaxContext), + { state, dispatch } = activeView, ref = useRef(null), linkInput = useRef(null), [addButtonText, setButtonText] = useState("Create"), @@ -46,12 +46,12 @@ const LinkComponent = ({ mark, setPosition, position }) => { .removeMark(mark.from, mark.to, state.schema.marks.link) .addMark(mark.from, mark.to, state.schema.marks.link.create({ href })) ); - main.focus(); + activeView.focus(); }; const removeLink = () => { dispatch(state.tr.removeMark(mark.from, mark.to, state.schema.marks.link)); - main.focus(); + activeView.focus(); }; const handleKeyDown = event => { diff --git a/wax-prosemirror-services/src/MenuService/Menu.js b/wax-prosemirror-services/src/MenuService/Menu.js index f08b30ea9..3641e1493 100644 --- a/wax-prosemirror-services/src/MenuService/Menu.js +++ b/wax-prosemirror-services/src/MenuService/Menu.js @@ -27,11 +27,9 @@ export default class Menu { render() { return () => { - const { - view: { main } - } = useContext(WaxContext); + const { view: { main }, activeView } = useContext(WaxContext); const Bar = useMemo(() => ( - <MenuWrapper items={this.toolGroups} view={main || {}} /> + <MenuWrapper items={this.toolGroups} view={activeView || {}} /> )); return <>{Bar}</>; }; diff --git a/wax-prosemirror-services/src/NoteService/Editor.js b/wax-prosemirror-services/src/NoteService/Editor.js index 54885fd02..9d2f4a010 100644 --- a/wax-prosemirror-services/src/NoteService/Editor.js +++ b/wax-prosemirror-services/src/NoteService/Editor.js @@ -59,6 +59,11 @@ export default ({ node, view }) => { }, handleDOMEvents: { mousedown: () => { + context.updateActiveView({ + activeView: context.view[noteId], + activeViewId: noteId + }); + // Kludge to prevent issues due to the fact that the whole // footnote is node-selected (and thus DOM-selected) when // the parent editor is focused. -- GitLab