diff --git a/web/client/selectors/__tests__/query-test.js b/web/client/selectors/__tests__/query-test.js index 4ff1fc4215..4bf15ad0f8 100644 --- a/web/client/selectors/__tests__/query-test.js +++ b/web/client/selectors/__tests__/query-test.js @@ -235,7 +235,16 @@ const initialState = { properties: { name: 'vvvv' } + }, + { + type: 'Feature', + id: 'poligoni.8', + geometry: null, + geometry_name: 'geometry', + properties: { + name: 'no geom' } + } ], crs: { type: 'name', @@ -317,7 +326,7 @@ describe('Test query selectors', () => { it('test resultsSelector selector', () => { const res = resultsSelector(initialState); expect(res).toExist(); - expect(res.length).toBe(4); + expect(res.length).toBe(5); }); it('test paginationInfo.startIndex selector', () => { const startIndex = paginationInfo.startIndex(initialState); @@ -329,7 +338,7 @@ describe('Test query selectors', () => { }); it('test paginationInfo.resultSize selector', () => { const featuresLength = paginationInfo.resultSize(initialState); - expect(featuresLength).toBe(4); + expect(featuresLength).toBe(5); }); it('test paginationInfo.totalFeatures selector', () => { const totalFeatures = paginationInfo.totalFeatures(initialState); diff --git a/web/client/selectors/query.js b/web/client/selectors/query.js index 885350b5da..73f456b30f 100644 --- a/web/client/selectors/query.js +++ b/web/client/selectors/query.js @@ -1,4 +1,4 @@ -const {get, head} = require('lodash'); +const {isNil, get, head} = require('lodash'); module.exports = { wfsURL: state => state && state.query && state.query.searchUrl, wfsURLSelector: state => state && state.query && state.query.url, @@ -6,7 +6,13 @@ module.exports = { attributesSelector: state => get(state, `query.featureTypes.${get(state, "query.filterObj.featureTypeName")}.attributes`), typeNameSelector: state => get(state, "query.typeName"), resultsSelector: (state) => get(state, "query.result.features"), - featureCollectionResultSelector: state => get(state, "query.result"), + featureCollectionResultSelector: state => { + const results = get(state, "query.result"); + return { + ...results, + features: results.features.filter(f => !isNil(f.geometry)) + }; + }, getFeatureById: (state, id) => { let features = state && state.query && state.query.result && state.query.result.features; return head(features.filter(f => f.id === id));