Skip to content

Commit e69bc1b

Browse files
committed
Review detail link in homepage
1 parent 4f57b04 commit e69bc1b

File tree

5 files changed

+40
-17
lines changed

5 files changed

+40
-17
lines changed

geonode_mapstore_client/client/js/actions/gnsearch.js

+11-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export const GET_FACET_ITEMS = 'GEONODE:GET_FACET_ITEMS';
2121
export const SET_FACET_ITEMS = 'GEONODE:SET_FACET_ITEMS';
2222
export const GET_FACET_FILTERS = 'GEONODE:GET_FACET_FILTERS';
2323
export const SET_FILTERS = "SET_FILTERS";
24+
export const SHOW_FILTER_FORM = "GEONODE:SHOW_FILTER_FORM";
2425

2526
/**
2627
* Actions for GeoNode resource featured items
@@ -140,6 +141,13 @@ export function setFilters(filters) {
140141
};
141142
}
142143

144+
export function showFilterForm(show) {
145+
return {
146+
type: SHOW_FILTER_FORM,
147+
show
148+
};
149+
}
150+
143151
export default {
144152
SEARCH_RESOURCES,
145153
searchResources,
@@ -151,5 +159,7 @@ export default {
151159
requestResource,
152160
setFeaturedResources,
153161
SET_SEARCH_CONFIG,
154-
setSearchConfig
162+
setSearchConfig,
163+
SHOW_FILTER_FORM,
164+
showFilterForm
155165
};

geonode_mapstore_client/client/js/plugins/ResourcesGrid.jsx

+15-11
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ import {
3030
import { withResizeDetector } from 'react-resize-detector';
3131
import { userSelector } from '@mapstore/framework/selectors/security';
3232
import ConnectedCardGrid from '@js/plugins/resourcesgrid/ConnectedCardGrid';
33-
import { getTotalResources, getFacetsItems } from '@js/selectors/search';
34-
import { searchResources, setSearchConfig, getFacetItems, setFilters as setFiltersAction } from '@js/actions/gnsearch';
33+
import { getTotalResources, getFacetsItems, getShowFilterForm } from '@js/selectors/search';
34+
import { searchResources, setSearchConfig, getFacetItems, setFilters as setFiltersAction, showFilterForm as showFilterFormAction } from '@js/actions/gnsearch';
3535

3636
import gnsearch from '@js/reducers/gnsearch';
3737
import gnresource from '@js/reducers/gnresource';
@@ -541,9 +541,14 @@ function ResourcesGrid({
541541
onGetFacets,
542542
facets,
543543
filters,
544-
setFilters
544+
setFilters,
545+
showFilterForm: showFilterFormProp,
546+
setShowFilterForm
545547
}, context) {
546548

549+
const showDetail = !isEmpty(resource);
550+
const showFilterForm = showFilterFormProp && !showDetail;
551+
547552
const [_cardLayoutStyleState, setCardLayoutStyle] = useLocalStorage('layoutCardsStyle', defaultCardLayoutStyle);
548553
const cardLayoutStyleState = cardLayoutStyle || _cardLayoutStyleState; // Force style when `cardLayoutStyle` is configured
549554

@@ -591,10 +596,6 @@ function ResourcesGrid({
591596
excludeQueryKeys: []
592597
});
593598

594-
const [_showFilterForm, setShowFilterForm] = useState(false);
595-
const showDetail = !isEmpty(resource);
596-
const showFilterForm = _showFilterForm && !showDetail;
597-
598599
const handleShowFilterForm = (show) => {
599600
if (!isEmpty(resource)) {
600601
const href = closeDetailPanelHref();
@@ -858,8 +859,9 @@ const ResourcesGridPlugin = connect(
858859
state => getMonitoredState(state, getConfigProp('monitorState')),
859860
state => state?.gnsearch?.error,
860861
getFacetsItems,
861-
state => state?.gnsearch?.filters
862-
], (params, user, totalResources, loading, location, resource, monitoredState, error, facets, filters) => ({
862+
state => state?.gnsearch?.filters,
863+
getShowFilterForm
864+
], (params, user, totalResources, loading, location, resource, monitoredState, error, facets, filters, showFilterForm) => ({
863865
params,
864866
user,
865867
totalResources,
@@ -869,13 +871,15 @@ const ResourcesGridPlugin = connect(
869871
monitoredState,
870872
error,
871873
facets,
872-
filters
874+
filters,
875+
showFilterForm
873876
})),
874877
{
875878
onSearch: searchResources,
876879
onInit: setSearchConfig,
877880
onGetFacets: getFacetItems,
878-
setFilters: setFiltersAction
881+
setFilters: setFiltersAction,
882+
setShowFilterForm: showFilterFormAction
879883
}
880884
)(withResizeDetector(withPageConfig(ResourcesGrid)));
881885

geonode_mapstore_client/client/js/reducers/gnsearch.js

+7-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ import {
1818
INCREASE_TOTAL_COUNT,
1919
SET_SEARCH_CONFIG,
2020
SET_FACET_ITEMS,
21-
SET_FILTERS
21+
SET_FILTERS,
22+
SHOW_FILTER_FORM
2223
} from '@js/actions/gnsearch';
2324

2425
import { UPDATE_SINGLE_RESOURCE } from '@js/actions/gnresource';
@@ -132,6 +133,11 @@ function gnsearch(state = defaultState, action) {
132133
...state,
133134
filters: {...state.filters, ...action.filters}
134135
};
136+
case SHOW_FILTER_FORM:
137+
return {
138+
...state,
139+
showFilterForm: !!action.show
140+
};
135141
default:
136142
return state;
137143
}

geonode_mapstore_client/client/js/selectors/search.js

+1
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,4 @@ export const getTotalResources = (state) => {
4242
};
4343

4444
export const getFacetsItems = state => state?.gnsearch?.facetItems;
45+
export const getShowFilterForm = state => state?.gnsearch?.showFilterForm;

geonode_mapstore_client/templates/index.html

+6-4
Original file line numberDiff line numberDiff line change
@@ -57,22 +57,24 @@
5757
{% endblock %}
5858

5959
<script>
60-
window.addEventListener('mapstore:ready', function(event) {
60+
window.addEventListener('mapstore:ready', function (event) {
61+
const catalogPagePath = window.__GEONODE_CONFIG__.localConfig.geoNodeSettings.catalogPagePath;
62+
const pagePath = catalogPagePath ? catalogPagePath : '/catalogue/';
6163
const msAPI = event.detail;
6264
msAPI.setPluginsConfig([
6365
{
6466
name: 'FeaturedResourcesGrid',
6567
cfg: {
6668
targetSelector: '#gn-home-featured-resources-grid',
67-
pagePath: ''
69+
pagePath: pagePath
6870
}
6971
},
7072
{
7173
name: 'ResourcesGrid',
7274
cfg: {
7375
targetSelector: '#gn-home-resources-grid',
76+
pagePath: pagePath,
7477
pagination: true,
75-
pagePath: '',
7678
enableGeoNodeCardsMenuItems: true
7779
}
7880
},
@@ -83,7 +85,7 @@
8385
]);
8486
});
8587
</script>
86-
88+
8789
{% block ms_scripts %}
8890
<script id="gn-script" src="{% static 'mapstore/dist/js/gn-components.js' %}?{% client_version %}"></script>
8991
{% endblock %}

0 commit comments

Comments
 (0)