From 96547eb1975357d7c5795588981b4520a8df2f95 Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Mon, 25 Jul 2022 16:45:18 +0300 Subject: [PATCH] find sections --- wax-prosemirror-core/src/WaxView.js | 7 ++++++- .../PopulateHeadingsComponent.js | 18 ++++++++++++++---- .../src/OverlayService/usePosition.js | 1 - 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/wax-prosemirror-core/src/WaxView.js b/wax-prosemirror-core/src/WaxView.js index 5342c95d7..45382705d 100644 --- a/wax-prosemirror-core/src/WaxView.js +++ b/wax-prosemirror-core/src/WaxView.js @@ -102,7 +102,12 @@ const WaxView = forwardRef((props, ref) => { 'main', ); if (debug) applyDevTools(view); - if (autoFocus && view) view.focus(); + if (autoFocus && view) + setTimeout(() => { + view.focus(); + view.state.tr.insertText('', 0); + view.dispatch(view.state.tr); + }, 500); return () => view.destroy(); } diff --git a/wax-prosemirror-services/src/OENContainersService/PopulateHeadingsComponent.js b/wax-prosemirror-services/src/OENContainersService/PopulateHeadingsComponent.js index 79e791bbd..5ffb88c24 100644 --- a/wax-prosemirror-services/src/OENContainersService/PopulateHeadingsComponent.js +++ b/wax-prosemirror-services/src/OENContainersService/PopulateHeadingsComponent.js @@ -4,7 +4,6 @@ import { WaxContext } from 'wax-prosemirror-core'; import { DOMParser } from 'prosemirror-model'; import { ReplaceStep, ReplaceAroundStep } from 'prosemirror-transform'; import { Selection } from 'prosemirror-state'; -import { v4 as uuidv4 } from 'uuid'; import styled from 'styled-components'; import { Icon } from 'wax-prosemirror-components'; @@ -70,15 +69,22 @@ export default ({ setPosition, position }) => { setPosition({ ...position, left, top }); }, [position.left]); - useEffect(() => {}, []); - const generateHeadings = () => { const { tr, selection: { from, to }, + doc, } = main.state; const parser = DOMParser.fromSchema(main.state.config.schema); + const allSections = []; + + doc.descendants((editorNode, index) => { + if (Node.type.name === 'oen_section') { + allSections.push(editorNode); + } + }); + const content = '<h1>heading when i click note</h1><p>some text when i click note</p>'; const parsedContent = parser.parse(elementFromString(content)); @@ -88,6 +94,10 @@ export default ({ setPosition, position }) => { }; if (!readOnly) { - return <button onClick={generateHeadings}>generate</button>; + return ( + <button onClick={generateHeadings} type="button"> + generate + </button> + ); } }; diff --git a/wax-prosemirror-services/src/OverlayService/usePosition.js b/wax-prosemirror-services/src/OverlayService/usePosition.js index c883feea2..e01b067c4 100644 --- a/wax-prosemirror-services/src/OverlayService/usePosition.js +++ b/wax-prosemirror-services/src/OverlayService/usePosition.js @@ -57,7 +57,6 @@ export default options => { const PMnode = focusedView.state.schema.nodes[nodeType]; node = DocumentHelpers.findNode(focusedView.state, PMnode, findInParent); - console.log(node); if (!isObject(node)) return defaultOverlay; const { from, to } = followCursor ? focusedView.state.selection : node; -- GitLab