diff options
Diffstat (limited to 'examples/cloudflare/gui.go')
| -rw-r--r-- | examples/cloudflare/gui.go | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/examples/cloudflare/gui.go b/examples/cloudflare/gui.go new file mode 100644 index 0000000..587a9bc --- /dev/null +++ b/examples/cloudflare/gui.go @@ -0,0 +1,81 @@ +// This is a simple example +package main + +import ( + "log" + "strconv" + + "go.wit.com/control-panel-dns/cloudflare" +) + +func loadDNS(c *configT) { + hostname := c.domain + log.Println("adding DNS record", hostname) + + newt := mainWindow.NewTab(hostname) + vb := newt.NewBox("vBox", false) + newg := vb.NewGroup("more zoneID = " + c.zoneID) + + // make a grid 6 things wide + grid := newg.NewGrid("gridnuts", 6, gridH) + +// grid.NewButton("Type", func () { +// log.Println("sort by Type") +// }) + grid.NewLabel("RR type") + grid.NewLabel("hostname") + + grid.NewLabel("Proxy") + grid.NewLabel("TTL") + grid.NewLabel("Value") + grid.NewLabel("Save") + + masterSave = vb.NewButton("Master Save", func () { + log.Println("save stuff to cloudflare") + }) + masterSave.Disable() + + records := getZonefile(c) + for _, record := range records.Result { + var rr cloudflare.RRT // dns zonefile resource record + + // copy all the JSON values into the row record. + rr.ID = record.ID + rr.Type = record.Type + rr.Name = record.Name + rr.Content = record.Content + rr.Proxied = record.Proxied + rr.Proxiable = record.Proxiable + // rr.Ttl = record.TTL + + grid.NewLabel(record.Type) + grid.NewLabel(record.Name) + + proxy := grid.NewLabel("proxy") + if (record.Proxied) { + proxy.SetText("On") + } else { + proxy.SetText("Off") + } + + var ttl string + if (record.TTL == 1) { + ttl = "Auto" + } else { + ttl = strconv.Itoa(record.TTL) + } + grid.NewLabel(ttl) + + val := grid.NewLabel("Value") + val.SetText(record.Content) + + load := grid.NewButton("Load", nil) + load.Custom = func () { + name := "save stuff to cloudflare for " + rr.ID + log.Println(name) + // doChange(&rr) + } + } + + grid.Pad() +} |
