@@ -27,6 +27,7 @@ export interface NavigationTreeNodeProps {
2727 children ?: React . ReactNode ;
2828 onActivate ?: ( path : string ) => void ;
2929 getActions ?: NavigationTreeProps [ 'getActions' ] ;
30+ onActionsOpenToggle ?: NavigationTreeProps [ 'onActionsOpenToggle' ] ;
3031 renderAdditionalNodeElements ?: NavigationTreeProps [ 'renderAdditionalNodeElements' ] ;
3132 cache ?: boolean ;
3233}
@@ -71,6 +72,7 @@ export function NavigationTreeNode({
7172 children,
7273 onActivate,
7374 getActions,
75+ onActionsOpenToggle,
7476 renderAdditionalNodeElements,
7577 cache,
7678} : NavigationTreeNodeProps ) {
@@ -130,6 +132,17 @@ export function NavigationTreeNode({
130132 return getActions ?.( nodeState . path , nodeState . type ) ;
131133 } , [ getActions , nodeState ] ) ;
132134
135+ const handleActionsOpenToggle = React . useCallback (
136+ ( isOpen : boolean ) => {
137+ onActionsOpenToggle ?.( {
138+ path : nodeState . path ,
139+ type : nodeState . type ,
140+ isOpen,
141+ } ) ;
142+ } ,
143+ [ nodeState . path , nodeState . type , onActionsOpenToggle ] ,
144+ ) ;
145+
133146 return (
134147 < TreeView
135148 name = { nodeState . name }
@@ -141,6 +154,7 @@ export function NavigationTreeNode({
141154 hasArrow = { nodeState . expandable }
142155 onClick = { handleClick }
143156 onArrowClick = { handleArrowClick }
157+ onActionsOpenToggle = { handleActionsOpenToggle }
144158 level = { level }
145159 >
146160 { children }
0 commit comments