summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-04-22 18:49:00 -0500
committerJeff Carr <[email protected]>2025-04-22 18:49:00 -0500
commit4332b3d31a6973a42432d556ae6df3ef721a36fe (patch)
tree4aa0513854c9778972bb2d637b9aee898302545f
parent2c5701eecad39fd77010f1886d5ad4cd3ad2d34f (diff)
working on a droplet edit window
-rw-r--r--doAdminGui.go17
-rw-r--r--windowCreate.go22
-rw-r--r--windowDropletEdit.go75
-rw-r--r--windowDroplets.go26
4 files changed, 96 insertions, 44 deletions
diff --git a/doAdminGui.go b/doAdminGui.go
index 544ee06..1909fe1 100644
--- a/doAdminGui.go
+++ b/doAdminGui.go
@@ -22,14 +22,14 @@ import (
)
// refresh the windows & tables the user has open
-func (admin *adminT) refresh() {
+func (admin *adminT) refresh() error {
if argv.Verbose {
log.Info("virtigo scan here")
}
if admin.url == nil {
log.Info("admin url == nil")
- return
+ return fmt.Errorf("admin url == nil")
}
msg := []byte(`{"message": "Hello"}`)
@@ -50,7 +50,7 @@ func (admin *adminT) refresh() {
admin.cluster.Droplets = new(virtpb.Droplets)
if err := admin.cluster.Droplets.Unmarshal(data); err != nil {
fmt.Println("droplets marshal failed", err)
- return
+ return err
}
fmt.Println("Droplet len=", admin.cluster.Droplets.Len())
}
@@ -63,7 +63,7 @@ func (admin *adminT) refresh() {
admin.cluster.Hypervisors = new(virtpb.Hypervisors)
if err := admin.cluster.Hypervisors.Unmarshal(data); err != nil {
fmt.Println("hypervisors marshal failed", err)
- return
+ return err
}
fmt.Println("Hypervisors len=", admin.cluster.Hypervisors.Len())
}
@@ -76,10 +76,11 @@ func (admin *adminT) refresh() {
admin.cluster.Events = new(virtpb.Events)
if err := admin.cluster.Events.Unmarshal(data); err != nil {
fmt.Println("events marshal failed", err)
- return
+ return err
}
fmt.Println("Events len=", admin.cluster.Events.Len())
}
+ return nil
}
var client *http.Client
@@ -356,6 +357,10 @@ func (admin *adminT) makeClusterGroup(c *virtpb.Cluster) {
admin.refresh()
})
+ if err := admin.refresh(); err != nil {
+ return
+ }
+
grid.NewButton("save cluster.pb", func() {
admin.cluster.ConfigSave()
})
@@ -407,7 +412,7 @@ func (admin *adminT) postEvent(e *virtpb.Event) error {
}
}
if result.Error != "" {
- return fmt.Errorf(result.Error)
+ return fmt.Errorf("%s", result.Error)
}
log.Printf("Event worked: %s\n", result.DropletUuid)
return nil
diff --git a/windowCreate.go b/windowCreate.go
index 900f7cd..448736f 100644
--- a/windowCreate.go
+++ b/windowCreate.go
@@ -31,25 +31,3 @@ func createWindow() *gadgets.GenericWindow {
return createWindow
}
-
-func editDropletWindow() *gadgets.GenericWindow {
- editDropletWindow := gadgets.NewGenericWindow("Create Droplet", "settings")
- editDropletWindow.Custom = func() {
- log.Warn("create window close")
- }
-
- grid := editDropletWindow.Group.RawGrid()
-
- gadgets.NewBasicEntry(grid, "memory")
- grid.NextRow()
-
- grid.NewLabel("name")
- grid.NewTextbox("something")
- grid.NextRow()
-
- grid.NewButton("Start", func() {
- log.Info("make a box")
- })
-
- return editDropletWindow
-}
diff --git a/windowDropletEdit.go b/windowDropletEdit.go
new file mode 100644
index 0000000..1bb54c5
--- /dev/null
+++ b/windowDropletEdit.go
@@ -0,0 +1,75 @@
+// Copyright 2017-2025 WIT.COM Inc. All rights reserved.
+// Use of this source code is governed by the GPL 3.0
+
+package main
+
+// An app to submit patches for the 30 GO GUI repos
+
+import (
+ "fmt"
+
+ "go.wit.com/gui"
+ "go.wit.com/lib/gadgets"
+ "go.wit.com/lib/protobuf/virtpb"
+ "go.wit.com/log"
+)
+
+func editDropletWindow(d *virtpb.Droplet) *gadgets.GenericWindow {
+ win := gadgets.NewGenericWindow("Edit Droplet "+d.Hostname, "settings")
+ win.Custom = func() {
+ log.Warn("edit window close")
+ }
+
+ grid := win.Group.RawGrid()
+
+ var save *gui.Node
+
+ grid.NewLabel("name")
+ name := grid.NewTextbox("something")
+ name.SetText(d.Hostname)
+ name.Custom = func() {
+ log.Info("changed droplet name")
+ }
+ grid.NextRow()
+
+ mem := gadgets.NewBasicEntry(grid, "memory (GB)")
+ mem.SetText(fmt.Sprintf("%d", d.Memory/(1024*1024*1024)))
+ grid.NextRow()
+ mem.Custom = func() {
+ save.Enable()
+ log.Info("changed mem value. new val =", mem.String())
+ }
+
+ cpus := gadgets.NewBasicEntry(grid, "cpus")
+ cpus.SetText(fmt.Sprintf("%d", d.Cpus))
+ grid.NextRow()
+ cpus.Custom = func() {
+ log.Info("changed cpus value")
+ }
+
+ grid.NewLabel("hypervisor")
+ hyper := grid.NewDropdown()
+ hyper.AddText("farm03")
+ hyper.AddText("farm04")
+ hyper.AddText("farm05")
+ if d.Current != nil {
+ hyper.SetText(d.Current.Hypervisor)
+ }
+ grid.NextRow()
+
+ grid.NewButton("Start", func() {
+ log.Info("make a box")
+ })
+
+ save = grid.NewButton("save", func() {
+ log.Info("save droplet changes here")
+ })
+ save.Disable()
+
+ grid.NewButton("dump", func() {
+ t := d.FormatTEXT()
+ log.Info(t)
+ })
+
+ return win
+}
diff --git a/windowDroplets.go b/windowDroplets.go
index 807ff41..109f3cc 100644
--- a/windowDroplets.go
+++ b/windowDroplets.go
@@ -91,9 +91,7 @@ func makeWindownDropletsPB(pb *virtpb.Droplets) *stdDropletTableWin {
return dwin
}
-*/
-/*
func (dwin *stdDropletTableWin) doDropletsTable(currentDroplets *virtpb.Droplets) {
dwin.Lock()
defer dwin.Unlock()
@@ -147,32 +145,28 @@ func (dw *stdDropletTableWin) doInactiveDroplets(pb *virtpb.Droplets) {
t.NewUuid()
t.SetParent(dw.box)
- // pick the columns
- // t.AddHostname()
+ dropedit := t.AddButtonFunc("Edit", func(d *virtpb.Droplet) string {
+ return "edit"
+ })
+ dropedit.Custom = func(d *virtpb.Droplet) {
+ log.Info("edit droplet here", d.Hostname)
+ editDropletWindow(d)
+ }
+
dropon := t.AddButtonFunc("Start", func(d *virtpb.Droplet) string {
return "poweron"
})
dropon.Custom = func(d *virtpb.Droplet) {
log.Info("start droplet here", d.Hostname)
}
- /*
- t.AddHostname()
- t.AddStringFunc("location", func(d *virtpb.Droplet) string {
- return d.Current.Hypervisor
- })
- */
+
vp := t.AddButtonFunc("Verify Config", func(p *virtpb.Droplet) string {
return p.Hostname
})
vp.Custom = func(d *virtpb.Droplet) {
log.Info("open config window", d.Hostname)
}
- /*
- t.AddHostname()
- t.AddStringFunc("location", func(d *virtpb.Droplet) string {
- return d.Current.Hypervisor
- })
- */
+
t.AddMemory()
t.AddCpus()