Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: enable use of GEOJson external layers #3127

Merged
merged 109 commits into from
Mar 5, 2024
Merged

Conversation

jenniferarnesen
Copy link
Collaborator

@jenniferarnesen jenniferarnesen commented Feb 19, 2024

Implements: https://dhis2.atlassian.net/browse/DHIS2-15981

If geojson external overlay layers are configured for instance, they can now be added to a map.
The data table will display the layer data as long as the collection is of homogenous geo types.
User can also click on a feature and the right panel will open, showing the feature data.

@dhis2-bot dhis2-bot temporarily deployed to netlify March 5, 2024 12:13 Inactive
Copy link
Contributor

@turban turban left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Approved with minor comments. Still needs to be monkey tested!

src/components/datatable/useTableData.js Show resolved Hide resolved
src/loaders/geoJsonUrlLoader.js Outdated Show resolved Hide resolved
src/util/geojson.js Outdated Show resolved Hide resolved
@dhis2-bot dhis2-bot temporarily deployed to netlify March 5, 2024 12:22 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify March 5, 2024 12:51 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify March 5, 2024 15:21 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify March 5, 2024 16:20 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify March 5, 2024 16:23 Inactive
Copy link

cypress bot commented Mar 5, 2024

1 flaky test on run #3034 ↗︎

0 59 15 0 Flakiness 1

Details:

Merge bd27999 into 2cadb44...
Project: maps Commit: 4d656adad1 ℹ️
Status: Passed Duration: 03:42 💡
Started: Mar 5, 2024 6:17 PM Ended: Mar 5, 2024 6:21 PM
Flakiness  cypress/integration/filemenu.cy.js • 1 flaky test • e2e-chrome-parallel-2.40

View Output

Test Artifacts
File menu > saves a new map Screenshots

Review all test suite changes for PR #3127 ↗︎

@dhis2-bot dhis2-bot temporarily deployed to netlify March 5, 2024 17:08 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify March 5, 2024 17:16 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify March 5, 2024 17:21 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify March 5, 2024 18:04 Inactive
@jenniferarnesen jenniferarnesen merged commit 8729efc into dev Mar 5, 2024
15 checks passed
@jenniferarnesen jenniferarnesen deleted the feat/geojson-latest branch March 5, 2024 18:48
jenniferarnesen added a commit that referenced this pull request Mar 18, 2024
Implements: https://dhis2.atlassian.net/browse/DHIS2-15981

If geojson external overlay layers are configured for instance, they can now be added to a map.
The data table will display the layer data as long as the collection is of homogenous geo types.
User can also click on a feature and the right panel will open, showing the feature data.

fix: check full instanceUrl and handle not response.ok in geojson loader (#3142)

In production, the baseUrl is ".." and therefore the comparison will always be false.
So check the instanceBaseUrl instead

Also, a failed response from fetch, like 400, will return !response.ok,
so that situation needed to be handled as well.

fix: rename error to loadError to avoid name clash with building footprint ee layer (#3144)

The building footprints earth engine layer has a property named error.
That was getting picked up by the new notice box in the Card that was added to
report geojson loading errors. Solution was to rename the error property in geojsonloader to loadError.

fix: show no data message when geojson feature has no data (#3145)

Geojson layers may or may not have data associated with them.
Show an appropriate message if there is no data.

fix: improve geojson layer error responses and cypress tests (#3149)

fix: reduce the padding to make room for the scrollbar (#3148)

fix: prevent data table effects from running code when no table (#3147)

fix: map plugin - do not load async layers multiple times (#3143)

fix: various fixes after release testing (#3151)

* fix: limit stroke width to 0-10

* fix: tab length should only take the space of the title

* fix: reset error when switching which layer shows data table

* fix: highlight features when data table has filter

* chore: improve legend for geojson layers

* fix: set point radius  to size that was set in the style settings

* fix: the feature.id is set in maps-gl so use the properties.id instead find correct data

* chore: legend item styling - set max line weight and rename to Point radius

* fix: use more understandable error messages

* fix: set minimum point size of 1

fix: final fixes for geojson (#3154)

* fix: upgrade maps-gl for the rounded line join and caps

* fix: add tooltip on layer thumbnails

* chore: update i18n

* fix: set map bounds after all layers are added to the map

* fix: values that are strings but numeric in quality were not filtering

* fix: onLayerAdded wasnt defined for SplitViews

* Revert "fix: onLayerAdded wasnt defined for SplitViews"

This reverts commit deeb327.

* Revert "fix: set map bounds after all layers are added to the map"

This reverts commit e1c0a58.

* fix: make logic match prev code

* fix: position tooltip right over the thumbnail title
dhis2-bot added a commit that referenced this pull request Mar 18, 2024
# [100.5.0](v100.4.1...v100.5.0) (2024-03-18)

### Bug Fixes

* navigating by the changing url ignored download mode and interpretation id parameters ([#3125](#3125)) ([fcc5eaa](fcc5eaa))
* **translations:** sync translations from transifex (dev) ([#3132](#3132)) ([7f5d178](7f5d178))
* improve hover states and add consistent spacing [UX-161] ([#3121](#3121)) ([3f9e667](3f9e667))

### Features

* add ability to add GeoJSON URL external layers ([#3127](#3127)) ([fbdf0b0](fbdf0b0)), closes [#3142](#3142) [#3144](#3144) [#3145](#3145) [#3149](#3149) [#3148](#3148) [#3147](#3147) [#3143](#3143) [#3151](#3151) [#3154](#3154)
* when rendering for push analytics, disable download button until map is rendered ([#3072](#3072)) ([4b1076c](4b1076c)), closes [#3121](#3121)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants