@@ -3,14 +3,14 @@ import React, { useState, useEffect } from 'react';
33import './graph-comp-details.css' ;
44import ParentModal from './ParentModal' ;
55import { readTextFile , createFile } from '../../toolbarActions/toolbarFunctions' ;
6+ import { actionType as T } from '../../reducer' ;
67
78const ModalComp = ( { closeModal, superState, dispatcher } ) => {
89 const [ data , setData ] = useState ( { } ) ;
910 const [ errorMessage , setErrorMessage ] = useState ( '' ) ;
1011 const [ element , setElement ] = useState ( null ) ;
1112 const [ editSourceClicked , setEditSourceClicked ] = useState ( false ) ;
1213 const [ createSourceClicked , setCreateSourceClicked ] = useState ( false ) ;
13- const [ helpClicked , setHelpClicked ] = useState ( false ) ;
1414 const [ createHelpClicked , setCreateHelpClicked ] = useState ( false ) ;
1515 const { modalPayload, ModelOpen } = superState ;
1616 const {
@@ -47,20 +47,14 @@ const ModalComp = ({ closeModal, superState, dispatcher }) => {
4747 }
4848 setEditSourceClicked ( false ) ;
4949 setCreateSourceClicked ( false ) ;
50- } , [ createSourceClicked , editSourceClicked , element ] ) ;
50+ } , [ createSourceClicked , editSourceClicked ] ) ;
5151
5252 useEffect ( ( ) => {
5353 if ( createHelpClicked ) {
5454 createFile ( superState , dispatcher ) ;
5555 }
56- if ( helpClicked && element === null ) {
57- toast . error ( 'Respective doc is not present in same directory' ) ;
58- } else if ( element !== null ) {
59- readTextFile ( superState , dispatcher , element . fileObj , element . fileHandle ) ;
60- }
61- setHelpClicked ( false ) ;
6256 setCreateHelpClicked ( false ) ;
63- } , [ createHelpClicked , helpClicked , element ] ) ;
57+ } , [ createHelpClicked ] ) ;
6458
6559 const openFile = ( ) => {
6660 setElement ( null ) ;
@@ -90,10 +84,27 @@ const ModalComp = ({ closeModal, superState, dispatcher }) => {
9084 }
9185 } ) ;
9286 }
93- if ( submitText === 'Edit Node' ) {
94- setHelpClicked ( true ) ;
95- } else if ( submitText === 'Create Node' ) {
96- setCreateHelpClicked ( true ) ;
87+ setCreateHelpClicked ( true ) ;
88+ } ;
89+
90+ const openMarkDownDoc = async ( ) => {
91+ dispatcher ( { type : T . SET_MARKDOWN_MODAL , payload : true } ) ;
92+ setElement ( null ) ;
93+ if ( superState . fileState !== undefined && data . label !== '' ) {
94+ const docname1 = data . label . split ( ':' ) [ 1 ] . split ( '.' ) [ 0 ] . concat ( '.md' ) ;
95+ const matchingElement = superState . fileState . find ( ( ele ) => ele . key . split ( '/' ) [ 1 ] === docname1 ) ;
96+ if ( matchingElement ) {
97+ const fr = new FileReader ( ) ;
98+ fr . onload = ( x ) => {
99+ dispatcher ( { type : T . SET_INPUT_FILE , payload : x . target . result } ) ;
100+ } ;
101+ if ( matchingElement . fileHandle ) {
102+ fr . readAsText ( await matchingElement . fileHandle . getFile ( ) ) ;
103+ } else if ( matchingElement . fileObj ) {
104+ fr . readAsText ( matchingElement . fileObj ) ;
105+ }
106+ setElement ( matchingElement ) ;
107+ }
97108 }
98109 } ;
99110
@@ -115,13 +126,24 @@ const ModalComp = ({ closeModal, superState, dispatcher }) => {
115126 >
116127 { submitText === 'Edit Node' ? 'Edit Source' : 'Create Source' }
117128 </ button >
118- < button
119- className = "btn btn-primary"
120- type = "button"
121- onClick = { openDoc }
122- >
123- { submitText === 'Edit Node' ? 'Help' : 'Create Help' }
124- </ button >
129+ { title === 'Edit Node'
130+ ? (
131+ < button
132+ className = "btn btn-primary"
133+ type = "button"
134+ onClick = { openMarkDownDoc }
135+ >
136+ Help
137+ </ button >
138+ ) : (
139+ < button
140+ className = "btn btn-primary"
141+ type = "button"
142+ onClick = { openDoc }
143+ >
144+ Create Help
145+ </ button >
146+ ) }
125147 </ >
126148 ) : '' }
127149 </ div >
0 commit comments