Skip to content

Commit

Permalink
Merge pull request #272 from performant-software/feature/atlas14_boun…
Browse files Browse the repository at this point in the history
…ding_box

Atlas #14 - Bounding box
  • Loading branch information
dleadbetter authored Apr 4, 2024
2 parents 169abd0 + 20f5ede commit ea6ab01
Show file tree
Hide file tree
Showing 9 changed files with 37 additions and 18 deletions.
6 changes: 3 additions & 3 deletions packages/controlled-vocabulary/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@performant-software/controlled-vocabulary",
"version": "2.1.0",
"version": "2.1.1",
"description": "A package of components to allow user to configure dropdown elements. Use with the \"controlled_vocabulary\" gem.",
"license": "MIT",
"main": "./dist/index.cjs.js",
Expand All @@ -23,8 +23,8 @@
"underscore": "^1.13.2"
},
"peerDependencies": {
"@performant-software/semantic-components": "^2.1.0",
"@performant-software/shared-components": "^2.1.0",
"@performant-software/semantic-components": "^2.1.1",
"@performant-software/shared-components": "^2.1.1",
"react": ">= 16.13.1 < 19.0.0",
"react-dom": ">= 16.13.1 < 19.0.0"
},
Expand Down
8 changes: 4 additions & 4 deletions packages/core-data/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@performant-software/core-data",
"version": "2.1.0",
"version": "2.1.1",
"description": "A package of components used with the Core Data platform.",
"license": "MIT",
"main": "./dist/index.cjs.js",
Expand Down Expand Up @@ -38,9 +38,9 @@
"underscore": "^1.13.2"
},
"peerDependencies": {
"@performant-software/geospatial": "^2.1.0",
"@peripleo/maplibre": "^0.5.1",
"@peripleo/peripleo": "^0.5.1",
"@performant-software/geospatial": "^2.1.1",
"@peripleo/maplibre": "^0.5.2",
"@peripleo/peripleo": "^0.5.2",
"react": ">= 16.13.1 < 19.0.0",
"react-dom": ">= 16.13.1 < 19.0.0"
},
Expand Down
23 changes: 21 additions & 2 deletions packages/core-data/src/components/SearchResultsLayer.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,18 +39,37 @@ const SearchResultsLayer = (props: Props) => {
const hits = useCachedHits();
const map = useMap();

/**
* Memo-ize the Typesense hits as a feature collection.
*
* @type {unknown}
*/
const data = useMemo(() => !_.isEmpty(hits) && TypesenseUtils.toFeatureCollection(hits), [hits]);

/**
* Here we'll implement our own fitting of the bounding box once the search has completed and the map has loaded,
* rather than using the default implementation in LocationMarker that will change when the "data" prop changes.
*/
const boundingBoxDependencies = [
data,
mapLoaded,
searchCompleted,
props.boundingBoxData,
props.boundingBoxOptions,
props.buffer,
props.fitBoundingBox
];

useEffect(() => {
if (props.fitBoundingBox && mapLoaded && searchCompleted) {
if (props.fitBoundingBox && data && mapLoaded && searchCompleted) {
// Set the bounding box on the map
const boundingBox = MapUtils.getBoundingBox(data, props.buffer);
map.fitBounds(boundingBox, props.boundingBoxOptions, props.boundingBoxData);

// Reset search completed
setSearchCompleted(false);
}
}, [mapLoaded, searchCompleted, props.boundingBoxData, props.boundingBoxOptions, props.buffer, props.fitBoundingBox]);
}, boundingBoxDependencies);

/**
* Sets the mapLoaded state to true.
Expand Down
2 changes: 1 addition & 1 deletion packages/geospatial/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@performant-software/geospatial",
"version": "2.1.0",
"version": "2.1.1",
"description": "A package of components for all things map-related.",
"license": "MIT",
"main": "./dist/index.cjs.js",
Expand Down
4 changes: 2 additions & 2 deletions packages/semantic-ui/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@performant-software/semantic-components",
"version": "2.1.0",
"version": "2.1.1",
"description": "A package of shared components based on the Semantic UI Framework.",
"license": "MIT",
"main": "./dist/index.cjs.js",
Expand Down Expand Up @@ -35,7 +35,7 @@
"zotero-translation-client": "^5.0.1"
},
"peerDependencies": {
"@performant-software/shared-components": "^2.1.0",
"@performant-software/shared-components": "^2.1.1",
"@samvera/clover-iiif": "^2.3.2",
"react": ">= 16.13.1 < 19.0.0",
"react-dnd": "^11.1.3",
Expand Down
2 changes: 1 addition & 1 deletion packages/shared/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@performant-software/shared-components",
"version": "2.1.0",
"version": "2.1.1",
"description": "A package of shared, framework agnostic, components.",
"license": "MIT",
"main": "./dist/index.cjs.js",
Expand Down
6 changes: 3 additions & 3 deletions packages/user-defined-fields/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@performant-software/user-defined-fields",
"version": "2.1.0",
"version": "2.1.1",
"description": "A package of components used for allowing end users to define fields on models. Use with the \"user_defined_fields\" gem.",
"license": "MIT",
"main": "./dist/index.cjs.js",
Expand All @@ -23,8 +23,8 @@
"underscore": "^1.13.2"
},
"peerDependencies": {
"@performant-software/semantic-components": "^2.1.0",
"@performant-software/shared-components": "^2.1.0",
"@performant-software/semantic-components": "^2.1.1",
"@performant-software/shared-components": "^2.1.1",
"react": ">= 16.13.1 < 19.0.0",
"react-dom": ">= 16.13.1 < 19.0.0"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/visualize/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@performant-software/visualize",
"version": "2.1.0",
"version": "2.1.1",
"description": "A package of components used for data visualization",
"license": "MIT",
"main": "./dist/index.cjs.js",
Expand Down
2 changes: 1 addition & 1 deletion react-components.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@
"packages/user-defined-fields",
"packages/visualize"
],
"version": "2.1.0"
"version": "2.1.1"
}

0 comments on commit ea6ab01

Please sign in to comment.