Skip to content

Commit

Permalink
Add option to deactivate search in layers
Browse files Browse the repository at this point in the history
  • Loading branch information
Bo-Duke committed Jan 30, 2024
1 parent a55bd93 commit 292b8a6
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 23 deletions.
1 change: 1 addition & 0 deletions src/views/Main/Provider/SettingsProvider.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ const DEFAULT_SETTINGS = {
enable: false,
styles: [],
},
searchInLayers: true,
searchInLocations: {
enable: false,
searchProvider: {
Expand Down
2 changes: 2 additions & 0 deletions src/views/Visualizer/View/View.js
Original file line number Diff line number Diff line change
Expand Up @@ -858,6 +858,7 @@ export class Visualizer extends React.Component {
enable: measureControl,
styles: measureDrawStyles,
} = {},
searchInLayers: layersEnable,
searchInLocations: {
enable: locationsEnable,
searchProvider,
Expand Down Expand Up @@ -923,6 +924,7 @@ export class Visualizer extends React.Component {
language,
searchProvider,
locationsEnable,
layersEnable,
translate: t,
layers: activeAndSearchableLayers,
});
Expand Down
49 changes: 26 additions & 23 deletions src/views/Visualizer/View/search.js
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ const searchInMap = ({
layers,
translate,
locationsEnable,
layersEnable = true,
language = 'en',
}) => async query => {
let locations = [];
Expand All @@ -68,29 +69,31 @@ const searchInMap = ({

if (!layers.length && !locations.length) return undefined;

const { responses } = await searchService.msearch(
layers.map(([{ filters: { layer }, baseEsQuery }]) => ({
query,
index: layer,
baseQuery: baseEsQuery,
size: 6,
})),
);

const results = layers.map(([{
label, layers: resultsLayers, filters: { mainField },
}], index) => ({
group: label,
total: responses[index].hits.total.value,
results: responses[index].hits.hits.map(({ _id: id, _source: source }) => ({
label: source[mainField] || id,
id,
...source,
center: turfCenter(source.geom).geometry.coordinates,
bounds: turfBbox(source.geom),
layers: resultsLayers,
})),
}));
let results = [];
if (layersEnable) {
const { responses } = await searchService.msearch(
layers.map(([{ filters: { layer }, baseEsQuery }]) => ({
query,
index: layer,
baseQuery: baseEsQuery,
size: 6,
})),
);
results = layers.map(([{
label, layers: resultsLayers, filters: { mainField },
}], index) => ({
group: label,
total: responses[index].hits.total.value,
results: responses[index].hits.hits.map(({ _id: id, _source: source }) => ({
label: source[mainField] || id,
id,
...source,
center: turfCenter(source.geom).geometry.coordinates,
bounds: turfBbox(source.geom),
layers: resultsLayers,
})),
}));
}

return [...results, ...locations];
};
Expand Down

0 comments on commit 292b8a6

Please sign in to comment.