diff --git a/freedata_gui/package.json b/freedata_gui/package.json index 300ff1f9..2567dd17 100644 --- a/freedata_gui/package.json +++ b/freedata_gui/package.json @@ -32,10 +32,12 @@ "chart.js": "^4.4.3", "chartjs-plugin-annotation": "^3.0.1", "core-js": "^3.8.3", + "d3": "^7.9.0", "gridstack": "^10.3.0", "js-image-compressor": "^2.0.0", "pinia": "^2.1.7", "qth-locator": "^2.1.0", + "topojson-client": "^3.1.0", "uuid": "^10.0.0", "vue": "^3.2.13", "vue-chartjs": "^5.3.1", diff --git a/freedata_gui/src/components/dynamic_components.vue b/freedata_gui/src/components/dynamic_components.vue index 8aeb9790..5e432090 100644 --- a/freedata_gui/src/components/dynamic_components.vue +++ b/freedata_gui/src/components/dynamic_components.vue @@ -33,6 +33,7 @@ import grid_mycall_small from "./grid/grid_mycall small.vue"; import grid_scatter from "./grid/grid_scatter.vue"; import grid_stats_chart from "./grid/grid_stats_chart.vue"; import grid_swr_meter from "./grid/grid_swr_meter.vue"; +import grid_stations_map from "./grid/grid_stations_map.vue"; let count = ref(0); let grid = null; // DO NOT use ref(null) as proxies GS will break all logic when comparing structures... see https://github.com/gridstack/gridstack.js/issues/2115 @@ -263,8 +264,17 @@ const gridWidgets = [ true, "Rig", 21 + ), + new gridWidget( + grid_stations_map, + { x: 16, y: 0, w: 8, h: 100 }, + "Station Map", + true, + true, + "Other", + 22 ) - //Next new widget ID should be 22 + //Next new widget ID should be 23 ]; function updateFrequencyAndApply(frequency) { diff --git a/freedata_gui/src/components/grid/grid_stations_map.vue b/freedata_gui/src/components/grid/grid_stations_map.vue new file mode 100644 index 00000000..b96c37a4 --- /dev/null +++ b/freedata_gui/src/components/grid/grid_stations_map.vue @@ -0,0 +1,260 @@ + + + + +