1+ import * as Range from "../methods/Range"
12import componentMap from "./componentMap"
23import React from "react"
34import ReactDOM from "react-dom"
45
5- const Elements = ( { state, dispatch } ) => (
6+ const Document = ( { state, dispatch } ) => (
67 state . elements . map ( ( { type, key, props } ) => (
78 React . createElement ( componentMap [ type ] , {
89 key,
@@ -13,7 +14,7 @@ const Elements = ({ state, dispatch }) => (
1314)
1415
1516// Rerenders the current state on state.shouldRerender.
16- const ReactRenderer = ( { forwardedRef, state, dispatch } ) => {
17+ const DocumentRenderer = ( { forwardedRef, state, dispatch } ) => {
1718 React . useLayoutEffect (
1819 React . useCallback ( ( ) => {
1920 if ( ! forwardedRef . current ) {
@@ -25,22 +26,23 @@ const ReactRenderer = ({ forwardedRef, state, dispatch }) => {
2526 if ( selection . rangeCount ) {
2627 selection . removeAllRanges ( )
2728 }
28- ReactDOM . render ( < Elements state = { state } dispatch = { dispatch } /> , forwardedRef . current , ( ) => {
29- if ( state . readOnlyModeEnabled || ! state . focused ) {
29+ ReactDOM . render ( < Document state = { state } dispatch = { dispatch } /> , forwardedRef . current , ( ) => {
30+ if ( state . readOnlyModeEnabled /* FIXME? */ || ! state . focused ) {
3031 // No-op
3132 return
3233 }
33- try {
34- const range = state . range . toUserLiteral ( state . range )
35- selection . addRange ( range )
36- } catch ( error ) {
37- console . error ( error )
38- }
34+ // try {
35+ // const range = Range.toUserLiteral(state.range)()
36+ // console.log(range)
37+ // selection.addRange(range)
38+ // } catch (error) {
39+ // console.error(error)
40+ // }
3941 } )
4042 } , [ forwardedRef , state , dispatch ] ) ,
4143 [ forwardedRef . current , state . shouldRerender ] ,
4244 )
4345 return null
4446}
4547
46- export default ReactRenderer
48+ export default DocumentRenderer
0 commit comments