From 25bad310c0b9d077e49fe9956aab0e3aa746fdaf Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Fri, 25 Sep 2020 14:03:31 +0300 Subject: [PATCH] remove views from context in progress --- wax-prosemirror-core/src/WaxContext.js | 10 +++++++++- .../src/NoteService/NoteComponent.js | 15 +++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/wax-prosemirror-core/src/WaxContext.js b/wax-prosemirror-core/src/WaxContext.js index 6d5c226bc..b5a934509 100644 --- a/wax-prosemirror-core/src/WaxContext.js +++ b/wax-prosemirror-core/src/WaxContext.js @@ -1,3 +1,5 @@ +/* eslint react/prop-types: 0 */ +/* eslint react/destructuring-assignment: 0 */ import React, { useContext, useState } from 'react'; export const WaxContext = React.createContext({ @@ -7,6 +9,7 @@ export const WaxContext = React.createContext({ app: null, updateView: null, updateActiveView: null, + removeView: null, }); export default props => { @@ -15,13 +18,18 @@ export default props => { view: props.view || {}, activeView: props.activeView || {}, activeViewId: props.activeViewId || {}, + removeView: view => { + const newContext = { ...context, view }; + + setContext({ ...newContext }); + }, updateView: (newView, activeViewId) => { const view = Object.assign(context.view, newView); const activeView = view[activeViewId || context.activeViewId]; setContext({ ...context, view, - activeView: activeView, + activeView, activeViewId: activeViewId || context.activeViewId, }); }, diff --git a/wax-prosemirror-services/src/NoteService/NoteComponent.js b/wax-prosemirror-services/src/NoteService/NoteComponent.js index e378c0536..595a977e4 100644 --- a/wax-prosemirror-services/src/NoteService/NoteComponent.js +++ b/wax-prosemirror-services/src/NoteService/NoteComponent.js @@ -7,12 +7,27 @@ import NoteEditor from './NoteEditor'; export default () => { const { + view, view: { main }, } = useContext(WaxContext); const [notes, setNotes] = useState([]); + + const getUpdateNotes = () => { + if (view) { + console.log(view, notes); + const allNotes = DocumentHelpers.findChildrenByType( + main.state.doc, + main.state.schema.nodes.footnote, + true, + ); + console.log(allNotes); + } + }; + useDeepCompareEffect(() => { setNotes(updateNotes(main)); + getUpdateNotes(); }, [updateNotes(main)]); const noteComponent = useMemo( -- GitLab