@@ -6,7 +6,7 @@ import React, { MouseEventHandler, useCallback, useContext, useEffect, useState
66import { useHistory } from 'react-router'
77import { ResponsivePersonalSettings } from '../../context'
88import { useQuery , useSnRoute } from '../../hooks'
9- import { getPrimaryActionUrl } from '../../services'
9+ import { getPrimaryActionUrl , navigateToAction } from '../../services'
1010import { ContentContextMenu } from '../context-menu/content-context-menu'
1111import { Icon } from '../Icon'
1212import { ExpandItemsContext } from './Contexts/ExpandedItemsProvider'
@@ -59,6 +59,7 @@ export const StyledTreeItem = (props: StyledTreeItemProps) => {
5959 nodeId = { innerChild . Id . toString ( ) }
6060 contentvalue = { innerChild }
6161 navigate = { props . navigate }
62+ editMode = { props . editMode }
6263 onContextMenu = { ( event ) => {
6364 event . preventDefault ( )
6465 event . stopPropagation ( )
@@ -74,7 +75,7 @@ export const StyledTreeItem = (props: StyledTreeItemProps) => {
7475 //
7576 }
7677 } ,
77- [ loadChildren , props . activeitempath , props . navigate ] ,
78+ [ loadChildren , props . activeitempath , props . navigate , props . editMode ] ,
7879 )
7980
8081 const { navigate, ...restProps } = props
@@ -140,22 +141,31 @@ export const StyledTreeItem = (props: StyledTreeItemProps) => {
140141 history . push ( getPrimaryActionUrl ( { content : props . contentvalue , repository, uiSettings, location, snRoute } ) )
141142 return
142143 }
143- const itemPath = ( event . target as HTMLElement ) . closest ( '[data-path]' ) ?. getAttribute ( 'data-path' )
144- const itemId = props . contentvalue . Id . toString ( )
145- setExpandItems ( ( prevItems ) => {
146- const updatedItems = new Set ( prevItems )
147- if ( ! expandItems . has ( itemId ) ) {
148- setIsTreeLoading ( true )
149- updatedItems . add ( itemId )
150- loadCollectionCB ( props . contentvalue . Path ) . finally ( ( ) => setIsTreeLoading ( false ) )
151- } else {
152- if ( itemPath === props . activeitempath ) {
153- updatedItems . delete ( itemId )
144+ if ( props . editMode ) {
145+ navigateToAction ( {
146+ history,
147+ routeMatch : snRoute . match ! ,
148+ action : 'edit' ,
149+ queryParams : { content : props . contentvalue . Path . replace ( snRoute . path , '' ) } ,
150+ } )
151+ } else {
152+ const itemPath = ( event . target as HTMLElement ) . closest ( '[data-path]' ) ?. getAttribute ( 'data-path' )
153+ const itemId = props . contentvalue . Id . toString ( )
154+ setExpandItems ( ( prevItems ) => {
155+ const updatedItems = new Set ( prevItems )
156+ if ( ! expandItems . has ( itemId ) ) {
157+ setIsTreeLoading ( true )
158+ updatedItems . add ( itemId )
159+ loadCollectionCB ( props . contentvalue . Path ) . finally ( ( ) => setIsTreeLoading ( false ) )
160+ } else {
161+ if ( itemPath === props . activeitempath ) {
162+ updatedItems . delete ( itemId )
163+ }
154164 }
155- }
156- return updatedItems
157- } )
158- props . navigate ( props . contentvalue )
165+ return updatedItems
166+ } )
167+ props . navigate ( props . contentvalue )
168+ }
159169 }
160170
161171 const onContextMenu = ( event : React . MouseEvent , data : GenericContent ) => {
0 commit comments