From 90cbe2f39611410472bc3d294e740120824ce886 Mon Sep 17 00:00:00 2001 From: Stefan Etringer Date: Thu, 5 Jun 2025 11:32:51 +0000 Subject: [PATCH] fixed graph update --- agents/agent.go | 34 +++++++++++++++++++++++++++++++++- static/agents-graph.js | 15 ++++++++------- templates/index.html | 2 +- 3 files changed, 42 insertions(+), 9 deletions(-) diff --git a/agents/agent.go b/agents/agent.go index 9ea60f1..6de0e5d 100644 --- a/agents/agent.go +++ b/agents/agent.go @@ -6,6 +6,7 @@ import ( "log" "math" "math/rand" + "net" "net/http" "net/url" "os" @@ -161,10 +162,41 @@ func randomInt(length int) int { } +func GetLocalIP() net.IP { + addrs, err := net.InterfaceAddrs() + if err != nil { + log.Fatal(err) + } + for _, address := range addrs { + if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() { + if ipnet.IP.To4() != nil { + return ipnet.IP + } + } + } + return nil +} + +func GetLocalIPs() []net.IP { + var ips []net.IP + addrs, err := net.InterfaceAddrs() + if err != nil { + log.Fatal(err) + } + for _, address := range addrs { + if ipnet, ok := address.(*net.IPNet); ok { + if ipnet.IP.To4() != nil { + ips = append(ips, ipnet.IP) + } + } + } + return ips +} + func main() { agentName := "Agent-001" agentId := strconv.Itoa(randomInt(5)) - agentIp := "127.0.0.1" + agentIp := GetLocalIP().String() agentType := "BaseAgent" hostName, _ := os.Hostname() diff --git a/static/agents-graph.js b/static/agents-graph.js index e37249b..2598478 100644 --- a/static/agents-graph.js +++ b/static/agents-graph.js @@ -46,16 +46,17 @@ document.addEventListener('DOMContentLoaded', function () { console.log('DOMContentLoaded fired.'); initializeCytoscape(); loadGraphData(); + + document.body.addEventListener('htmx:afterSwap', function (event) { + console.log('htmx:afterSwap fired.'); + // if (event.target.id === 'agentList') { + initializeCytoscape(); + loadGraphData(); + // } + }); }); // Load the graph after HTMX swap -document.body.addEventListener('htmx:afterSwap', function (event) { - console.log('htmx:afterSwap fired.'); - if (event.target.id === 'agentList') { - initializeCytoscape(); - loadGraphData(); - } -}); async function updateGraph(agentData) { if (!cy) { diff --git a/templates/index.html b/templates/index.html index cdd015c..b4bd4fb 100644 --- a/templates/index.html +++ b/templates/index.html @@ -77,7 +77,7 @@ hx-encoding="application/x-www-form-urlencoded" hx-swap="innerHTML" onsubmit="prepareAgentNames(event)"> -
+