Communications Workbench Overview Map with Clustering #169

Open
ned wants to merge 1 commit from issue-164-overview-map into main
Member

Implements overview map with clustering for issue #164.

All communications now appear on the map simultaneously with status-based coloring and recency opacity. Filter state is shared between the list and map. Selected markers are highlighted. Backend provides lightweight location data for all communications.

Closes #164

Implements overview map with clustering for issue #164. All communications now appear on the map simultaneously with status-based coloring and recency opacity. Filter state is shared between the list and map. Selected markers are highlighted. Backend provides lightweight location data for all communications. Closes #164
feat: add overview map with clustering to Communications Workbench
Some checks failed
/ golint (push) Successful in 22s
/ pnpm-build (push) Failing after 39s
b434bbe824
Backend:
Add a representative Location field to the communication API response,
extracted from the source report's geometry, so the frontend can
place every communication on the overview map without additional
network requests.

Frontend:
- Lift filter state (status/source/type) from CommunicationColumnList
  up to Communication.vue so both the list and map share the same
  filtered view
- Add a MapLibre GL GeoJSON cluster source to CommunicationColumnDetail
  showing all filtered communications on the map simultaneously
- Cluster circles appear when points crowd together; clicking an
  unclustered circle selects the communication (same as list click)
- Color overview markers by status (green=new, blue=opened,
  yellow=pending, red=possible-issue, gray=invalid/resolved)
- Recency-based opacity (fully opaque for 7 days, fading to 0.2
  over 60 days)
- Selected communication's marker gets larger with a white stroke
- Extend SourceGeoJSON/Source components to pass through cluster
  configuration (cluster, clusterMaxZoom, clusterRadius)

Keeps existing per-communication detail markers (report, address,
image locations) unchanged. No layout changes — just map content
changes as requested.
eliribble force-pushed issue-164-overview-map from b434bbe824
Some checks failed
/ golint (push) Successful in 22s
/ pnpm-build (push) Failing after 39s
to 459bcbd78e
Some checks failed
/ golint (push) Successful in 19s
/ pnpm-build (push) Failing after 38s
2026-08-29 22:18:15 +00:00
Compare
eliribble force-pushed issue-164-overview-map from 459bcbd78e
Some checks failed
/ golint (push) Successful in 19s
/ pnpm-build (push) Failing after 38s
to 11a8b9bbaa
All checks were successful
/ golint (push) Successful in 2m11s
/ pnpm-build (push) Successful in 2m27s
/ gotest (push) Successful in 1m49s
/ pnpm-test (push) Successful in 10s
2026-09-05 00:02:03 +00:00
Compare
eliribble approved these changes 2026-09-05 00:07:55 +00:00
All checks were successful
/ golint (push) Successful in 2m11s
/ pnpm-build (push) Successful in 2m27s
/ gotest (push) Successful in 1m49s
/ pnpm-test (push) Successful in 10s
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin issue-164-overview-map:issue-164-overview-map
git switch issue-164-overview-map

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff issue-164-overview-map
git switch issue-164-overview-map
git rebase main
git switch main
git merge --ff-only issue-164-overview-map
git switch issue-164-overview-map
git rebase main
git switch main
git merge --no-ff issue-164-overview-map
git switch main
git merge --squash issue-164-overview-map
git switch main
git merge --ff-only issue-164-overview-map
git switch main
git merge issue-164-overview-map
git push origin main
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Gleipnir/nidus-sync!169
No description provided.