@@ -3,23 +3,25 @@ import MarkdownDiv from "../../markdown-div/markdown-div";
33import { GrowingEntry } from "../../growing-entry/growing-entry" ;
44import { MarkdownOverlayEditorStyle } from "./markdown-overlay-editor-style" ;
55import { EditPencil , Checkmark } from "../../common/utils" ;
6- import type { Rectangle , SelectionRange } from "../../data-grid/data-grid-types" ;
6+ import type { MarkdownCell , Rectangle , SelectionRange } from "../../data-grid/data-grid-types" ;
77
88interface Props {
99 readonly targetRect : Rectangle ;
10- readonly markdown : string ;
1110 readonly onChange : ( ev : React . ChangeEvent < HTMLTextAreaElement > ) => void ;
1211 readonly forceEditMode : boolean ;
13- readonly onFinish : ( ) => void ;
12+ readonly onFinish : ( newValue ?: MarkdownCell | undefined ) => void ;
1413 readonly validatedSelection ?: SelectionRange ;
1514
16- readonly readonly : boolean ;
15+ readonly value : MarkdownCell ;
1716
1817 createNode ?: ( content : string ) => DocumentFragment ;
1918}
2019
2120export const MarkdownOverlayEditor : React . FunctionComponent < Props > = p => {
22- const { markdown, onChange, forceEditMode, createNode, targetRect, readonly, onFinish, validatedSelection } = p ;
21+ const { value, onChange, forceEditMode, createNode, targetRect, onFinish, validatedSelection } = p ;
22+
23+ const markdown = value . data ;
24+ const readonly = value . readonly === true ;
2325
2426 const [ editMode , setEditMode ] = React . useState < boolean > ( markdown === "" || forceEditMode ) ;
2527 const onEditClick = React . useCallback ( ( ) => {
@@ -40,7 +42,7 @@ export const MarkdownOverlayEditor: React.FunctionComponent<Props> = p => {
4042 } }
4143 onChange = { onChange }
4244 />
43- < div className = { `edit-icon checkmark-hover ${ addLeftPad } ` } onClick = { ( ) => onFinish ( ) } >
45+ < div className = { `edit-icon checkmark-hover ${ addLeftPad } ` } onClick = { ( ) => onFinish ( value ) } >
4446 < Checkmark />
4547 </ div >
4648 </ MarkdownOverlayEditorStyle >
0 commit comments