@@ -42,7 +42,9 @@ import {
4242 showSettings
4343} from '@mapstore/framework/actions/layers' ;
4444import {
45- setSelectedResource
45+ setSelectedResource ,
46+ setShowDetails ,
47+ SET_SHOW_DETAILS
4648} from '@mapstore/framework/plugins/ResourcesCatalog/actions/resources' ;
4749import {
4850 setNewResource ,
@@ -120,6 +122,7 @@ import { ProcessTypes } from '@js/utils/ResourceServiceUtils';
120122import { catalogClose } from '@mapstore/framework/actions/catalog' ;
121123import { VisualizationModes } from '@mapstore/framework/utils/MapTypeUtils' ;
122124import { forceUpdateMapLayout } from '@mapstore/framework/actions/maplayout' ;
125+ import { getShowDetails } from '@mapstore/framework/plugins/ResourcesCatalog/selectors/resources' ;
123126import { searchSelector } from '@mapstore/framework/selectors/router' ;
124127
125128const FIT_BOUNDS_CONTROL = 'fitBounds' ;
@@ -577,8 +580,8 @@ const oneOfTheOther = (control) => {
577580/**
578581 * Close open panels on new panel open
579582 */
580- export const closeOpenPanels = ( action$ , store ) => action$ . ofType ( SET_CONTROL_PROPERTY )
581- . filter ( ( action ) => ! ! action . value )
583+ export const closeOpenPanels = ( action$ , store ) => action$ . ofType ( SET_CONTROL_PROPERTY , SET_SHOW_DETAILS )
584+ . filter ( ( action ) => ! ! action . value || action . show )
582585 . switchMap ( ( action ) => {
583586 const state = store . getState ( ) ;
584587 const getActions = ( ) => {
@@ -595,8 +598,12 @@ export const closeOpenPanels = (action$, store) => action$.ofType(SET_CONTROL_PR
595598 if ( isDatasetCatalogPanelOpen && isVisualStyleEditorOpen ) {
596599 setActions . push ( setControlProperty ( 'datasetsCatalog' , 'enabled' , false ) ) ;
597600 }
601+ const isResourceDetailsOpen = ! action . show && getShowDetails ( state ) ;
602+ if ( isResourceDetailsOpen ) {
603+ setActions . push ( setShowDetails ( false ) ) ;
604+ }
598605 const control = oneOfTheOther ( action . control ) ;
599- if ( control ?. control ) {
606+ if ( control ?. control || action . show ) {
600607 if ( state . controls ?. rightOverlay ?. enabled === 'Share' ) {
601608 setActions . push ( setControlProperty ( 'rightOverlay' , 'enabled' , false ) ) ;
602609 } else if ( ! ! state . controls ?. [ `${ control . alternate } ` ] ?. enabled ) {
@@ -618,6 +625,10 @@ export const closeDatasetCatalogPanel = (action$, store) => action$.ofType(NEW_M
618625 return Observable . of ( setControlProperty ( 'datasetsCatalog' , 'enabled' , false ) ) ;
619626 } ) ;
620627
628+ export const closeResourceDetailsOnMapInfoOpen = ( action$ , store ) => action$ . ofType ( NEW_MAPINFO_REQUEST )
629+ . filter ( ( ) => isMapInfoOpen ( store . getState ( ) ) && getShowDetails ( store . getState ( ) ) )
630+ . mapTo ( setShowDetails ( false ) ) ;
631+
621632export const gnManageLinkedResource = ( action$ , store ) =>
622633 action$ . ofType ( MANAGE_LINKED_RESOURCE )
623634 . switchMap ( ( action ) => {
@@ -741,6 +752,7 @@ export default {
741752 closeInfoPanelOnMapClick,
742753 closeOpenPanels,
743754 closeDatasetCatalogPanel,
755+ closeResourceDetailsOnMapInfoOpen,
744756 gnManageLinkedResource,
745757 gnZoomToFitBounds,
746758 gnSelectResourceEpic
0 commit comments