1
1
import React , { createContext , useContext , useMemo , ReactNode } from 'react' ;
2
2
3
- import { OnFieldClickHandler , OnAddFieldToNodeClickHandler , OnAddFieldToObjectFieldClickHandler } from '@/types' ;
3
+ import {
4
+ OnFieldClickHandler ,
5
+ OnAddFieldToNodeClickHandler ,
6
+ OnAddFieldToObjectFieldClickHandler ,
7
+ OnFieldNameChangeHandler ,
8
+ } from '@/types' ;
4
9
5
10
interface EditableDiagramInteractionsContextType {
6
11
onClickField ?: OnFieldClickHandler ;
7
12
onClickAddFieldToNode ?: OnAddFieldToNodeClickHandler ;
8
13
onClickAddFieldToObjectField ?: OnAddFieldToObjectFieldClickHandler ;
14
+ onChangeFieldName ?: OnFieldNameChangeHandler ;
9
15
}
10
16
11
17
const EditableDiagramInteractionsContext = createContext < EditableDiagramInteractionsContextType | undefined > ( undefined ) ;
@@ -15,13 +21,15 @@ interface EditableDiagramInteractionsProviderProps {
15
21
onFieldClick ?: OnFieldClickHandler ;
16
22
onAddFieldToNodeClick ?: OnAddFieldToNodeClickHandler ;
17
23
onAddFieldToObjectFieldClick ?: OnAddFieldToObjectFieldClickHandler ;
24
+ onFieldNameChange ?: OnFieldNameChangeHandler ;
18
25
}
19
26
20
27
export const EditableDiagramInteractionsProvider : React . FC < EditableDiagramInteractionsProviderProps > = ( {
21
28
children,
22
29
onFieldClick,
23
30
onAddFieldToNodeClick,
24
31
onAddFieldToObjectFieldClick,
32
+ onFieldNameChange,
25
33
} ) => {
26
34
const value : EditableDiagramInteractionsContextType = useMemo ( ( ) => {
27
35
return {
@@ -40,8 +48,13 @@ export const EditableDiagramInteractionsProvider: React.FC<EditableDiagramIntera
40
48
onClickAddFieldToObjectField : onAddFieldToObjectFieldClick ,
41
49
}
42
50
: undefined ) ,
51
+ ...( onFieldNameChange
52
+ ? {
53
+ onChangeFieldName : onFieldNameChange ,
54
+ }
55
+ : undefined ) ,
43
56
} ;
44
- } , [ onFieldClick , onAddFieldToNodeClick , onAddFieldToObjectFieldClick ] ) ;
57
+ } , [ onFieldClick , onAddFieldToNodeClick , onAddFieldToObjectFieldClick , onFieldNameChange ] ) ;
45
58
46
59
return (
47
60
< EditableDiagramInteractionsContext . Provider value = { value } > { children } </ EditableDiagramInteractionsContext . Provider >
0 commit comments