all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [PATCH datacenter-manager/yew-widget-toolkit/yew-widget-toolkit-assets v2 0/8] add a new map widget for custom views
@ 2026-05-05  7:31 Dominik Csapak
  2026-05-05  7:31 ` [PATCH yew-widget-toolkit v2 1/3] js-helper: add client-to-svg-coordinate conversion helper Dominik Csapak
                   ` (7 more replies)
  0 siblings, 8 replies; 13+ messages in thread
From: Dominik Csapak @ 2026-05-05  7:31 UTC (permalink / raw)
  To: pdm-devel

This series let's users add location info to remotes (longitude,latitude) and
makes it possible to show them on a map in a custom view.

This map is interactive, so it let's you zoom/pan/etc. (with touch controls too)

It also adds new status info per remote to the resources status api call
so we can show some sensible info on the map (success/warn/error).

For now this is very basic only, but we can extend that in the future by e.g.,
adding a health call for each remote and including this info here.

The source map data is from naturalearthdata.com (data is in the public domain)
and is converted to geojson with 'ogr2ogr' (small script is included)

I used the lowest resolution data which results in a ~350K json (~130K zipped)
which should work in most scenarios (e.g. cpu perf on mid-tier mobiles)

naming/location of api data and configs is open for debate, I'm not really
sure if I found the right places, but they seemed to work out ok.

NOTE: the world-map update script does not include the full json file
now so it fits on the mailing list. please run ./update-world-map.sh
to generate it after applying the patches for testing.

When applying this world map should be checked in (maybe squashed into
the commit with the script)

changes from v1:
* don't include world-map.json file in commit
* fixed an issue with the wrong property name for the remote location in the ui

proxmox-yew-widget-toolkit:

Dominik Csapak (3):
  js-helper: add client-to-svg-coordinate conversion helper
  widget: charts: add interactive Map with zoom/pan and clustering
  widget: charts: add WorldMap with GeoJSON rendering

 Cargo.toml                         |   1 +
 js-helper-module.js                |   7 +
 src/lib.rs                         |   5 +
 src/widget/charts/map/map_point.rs | 116 +++++++
 src/widget/charts/map/mod.rs       | 537 +++++++++++++++++++++++++++++
 src/widget/charts/map/zoom_info.rs | 192 +++++++++++
 src/widget/charts/mod.rs           |   9 +
 src/widget/charts/world_map.rs     | 219 ++++++++++++
 8 files changed, 1086 insertions(+)
 create mode 100644 src/widget/charts/map/map_point.rs
 create mode 100644 src/widget/charts/map/mod.rs
 create mode 100644 src/widget/charts/map/zoom_info.rs
 create mode 100644 src/widget/charts/world_map.rs


proxmox-yew-widget-toolkit-assets:

Dominik Csapak (1):
  charts: add necessary classes for Map

 scss/_charts.scss | 63 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)


proxmox-datacenter-manager:

Dominik Csapak (4):
  lib/api/ui: add location property to remote config
  lib/api: add new 'remote-list' info to the resource status
  ui: add world map geojson update script
  ui: views: add map component

 lib/pdm-api-types/src/remotes.rs  |  22 ++-
 lib/pdm-api-types/src/resource.rs |  49 ++++++
 lib/pdm-api-types/src/views.rs    |   3 +
 server/src/api/pbs/mod.rs         |   2 +
 server/src/api/pve/mod.rs         |   2 +
 server/src/api/remotes/mod.rs     |   9 +
 server/src/api/resources.rs       |  38 +++-
 ui/Cargo.toml                     |   1 +
 ui/Makefile                       |   6 +-
 ui/index.html                     |   1 +
 ui/src/dashboard/map.rs           | 281 ++++++++++++++++++++++++++++++
 ui/src/dashboard/mod.rs           |   3 +
 ui/src/dashboard/view.rs          |  10 +-
 ui/src/dashboard/view/row_view.rs |   1 +
 ui/src/remotes/edit_remote.rs     |  30 +++-
 ui/update-world-map.sh            |  26 +++
 16 files changed, 467 insertions(+), 17 deletions(-)
 create mode 100644 ui/src/dashboard/map.rs
 create mode 100755 ui/update-world-map.sh


Summary over all repositories:
  25 files changed, 1616 insertions(+), 17 deletions(-)

-- 
Generated by git-murpp 0.8.1




^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2026-05-05  8:47 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-05  7:31 [PATCH datacenter-manager/yew-widget-toolkit/yew-widget-toolkit-assets v2 0/8] add a new map widget for custom views Dominik Csapak
2026-05-05  7:31 ` [PATCH yew-widget-toolkit v2 1/3] js-helper: add client-to-svg-coordinate conversion helper Dominik Csapak
2026-05-05  7:31 ` [PATCH yew-widget-toolkit v2 2/3] widget: charts: add interactive Map with zoom/pan and clustering Dominik Csapak
2026-05-05  7:31 ` [PATCH yew-widget-toolkit v2 3/3] widget: charts: add WorldMap with GeoJSON rendering Dominik Csapak
2026-05-05  7:31 ` [PATCH yew-widget-toolkit-assets v2 1/1] charts: add necessary classes for Map Dominik Csapak
2026-05-05  7:31 ` [PATCH datacenter-manager v2 1/4] lib/api/ui: add location property to remote config Dominik Csapak
2026-05-05  8:26   ` Thomas Lamprecht
2026-05-05  8:36     ` Dominik Csapak
2026-05-05  8:44       ` Thomas Lamprecht
2026-05-05  8:46         ` Dominik Csapak
2026-05-05  7:31 ` [PATCH datacenter-manager v2 2/4] lib/api: add new 'remote-list' info to the resource status Dominik Csapak
2026-05-05  7:31 ` [PATCH datacenter-manager v2 3/4] ui: add world map geojson update script Dominik Csapak
2026-05-05  7:31 ` [PATCH datacenter-manager v2 4/4] ui: views: add map component Dominik Csapak

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal