@@ -338,7 +338,7 @@ class ContentExplorer extends Component<ContentExplorerProps, State> {
338338 * @return {void }
339339 */
340340 componentDidMount ( ) {
341- const { currentFolderId, defaultView, metadataQuery } : ContentExplorerProps = this . props ;
341+ const { currentFolderId, defaultView } : ContentExplorerProps = this . props ;
342342 this . rootElement = document . getElementById ( this . id ) as HTMLElement ;
343343 this . appElement = this . rootElement . firstElementChild as HTMLElement ;
344344
@@ -348,7 +348,6 @@ class ContentExplorer extends Component<ContentExplorerProps, State> {
348348 break ;
349349 case DEFAULT_VIEW_METADATA :
350350 this . showMetadataQueryResults ( ) ;
351- this . fetchFolderName ( metadataQuery ?. ancestor_folder_id ) ;
352351 break ;
353352 default :
354353 this . fetchFolder ( currentFolderId ) ;
@@ -390,20 +389,40 @@ class ContentExplorer extends Component<ContentExplorerProps, State> {
390389 metadataTemplate : MetadataTemplate ,
391390 ) : void => {
392391 const { nextMarker } = metadataQueryCollection ;
392+ const { metadataQuery, features } = this . props ;
393393 const { currentCollection, currentPageNumber, markers } : State = this . state ;
394394 const cloneMarkers = [ ...markers ] ;
395395 if ( nextMarker ) {
396396 cloneMarkers [ currentPageNumber + 1 ] = nextMarker ;
397397 }
398- this . setState ( {
398+
399+ const nextState = {
399400 currentCollection : {
400401 ...currentCollection ,
401402 ...metadataQueryCollection ,
402403 percentLoaded : 100 ,
403404 } ,
404405 markers : cloneMarkers ,
405406 metadataTemplate,
406- } ) ;
407+ } ;
408+
409+ // if v2, fetch folder name and add to state
410+ if ( metadataQuery ?. ancestor_folder_id && isFeatureEnabled ( features , 'contentExplorer.metadataViewV2' ) ) {
411+ this . api . getFolderAPI ( ) . getFolderFields (
412+ metadataQuery . ancestor_folder_id ,
413+ ( { name } ) => {
414+ this . setState ( {
415+ ...nextState ,
416+ rootName : name || '' ,
417+ } ) ;
418+ } ,
419+ this . errorCallback ,
420+ { fields : [ FIELD_NAME ] } ,
421+ ) ;
422+ } else {
423+ // No folder name to fetch, update state immediately with just metadata
424+ this . setState ( nextState ) ;
425+ }
407426 } ;
408427
409428 /**
@@ -1628,27 +1647,6 @@ class ContentExplorer extends Component<ContentExplorerProps, State> {
16281647 this . setState ( { selectedItemIds : new Set ( ) } ) ;
16291648 } ;
16301649
1631- /**
1632- * Fetches the folder name and stores it in state rootName if successful
1633- *
1634- * @private
1635- * @return {void }
1636- */
1637- fetchFolderName = ( folderId ?: string ) => {
1638- if ( ! folderId ) {
1639- return ;
1640- }
1641-
1642- this . api . getFolderAPI ( false ) . getFolderFields (
1643- folderId ,
1644- ( { name } ) => {
1645- this . setState ( { rootName : name } ) ;
1646- } ,
1647- this . errorCallback ,
1648- { fields : [ FIELD_NAME ] } ,
1649- ) ;
1650- } ;
1651-
16521650 /**
16531651 * Renders the file picker
16541652 *
0 commit comments