Compare commits
No commits in common. "guimaster" and "v0.22.33" have entirely different histories.
119
table.go
119
table.go
|
@ -120,10 +120,10 @@ func (me *TreeInfo) updateTable(t *guipb.Table) {
|
|||
var w int = 0
|
||||
for _, name := range t.Order {
|
||||
// log.Info("got order:", t.Title, name)
|
||||
if me.addTableCol(t, grid, name, w) {
|
||||
if me.addTableRow(t, grid, name, w) {
|
||||
// log.Info("tree:row() COLUMN GOOD", t.Title, name, w, h)
|
||||
} else {
|
||||
log.Info("tree:row() COLUMN FAIL", t.Title, name, w, h)
|
||||
log.Info("tree:row() COLOMN FAIL", t.Title, name, w, h)
|
||||
}
|
||||
|
||||
w += 1
|
||||
|
@ -131,8 +131,8 @@ func (me *TreeInfo) updateTable(t *guipb.Table) {
|
|||
}
|
||||
|
||||
/*
|
||||
func (me *TreeInfo) updateCol(t *guipb.Table, name string) {
|
||||
for _, r := range t.StringCols {
|
||||
func (me *TreeInfo) updateRow(t *guipb.Table, name string) {
|
||||
for _, r := range t.StringRows {
|
||||
if name == r.Header.Name {
|
||||
// debugging code
|
||||
// id := r.Header.Id
|
||||
|
@ -140,10 +140,10 @@ func (me *TreeInfo) updateCol(t *guipb.Table, name string) {
|
|||
// if n == nil {
|
||||
// log.Info("could not find widget id", id)
|
||||
// }
|
||||
log.Info("tree.updateCol(string)", r.Header, "len =", len(r.Widgets))
|
||||
log.Info("tree.updateRow(string)", r.Header, "len =", len(r.Widgets))
|
||||
// if r.Header.Name == "Hostname" {
|
||||
// }
|
||||
// log.Info("tree.updateCol() found Hostnames", r.Vals)
|
||||
// log.Info("tree.updateRow() found Hostnames", r.Vals)
|
||||
for i, v := range r.Vals {
|
||||
// log.Info("tree: Hostname Widget", i, v, w.Name)
|
||||
w := r.Widgets[i]
|
||||
|
@ -164,11 +164,11 @@ func (me *TreeInfo) updateCol(t *guipb.Table, name string) {
|
|||
}
|
||||
}
|
||||
|
||||
for _, r := range t.TimeCols {
|
||||
for _, r := range t.TimeRows {
|
||||
if name != r.Header.Name {
|
||||
continue
|
||||
}
|
||||
log.Info("tree.updateCol(time)", r.Header, "len =", len(r.Widgets))
|
||||
log.Info("tree.updateRow(time)", r.Header, "len =", len(r.Widgets))
|
||||
for i, _ := range r.Vals {
|
||||
// log.Info("tree: Hostname Widget", i, v, w.Name)
|
||||
w := r.Widgets[i]
|
||||
|
@ -215,19 +215,19 @@ func (me *TreeInfo) makeTable(t *guipb.Table) {
|
|||
var w int = 0
|
||||
for _, name := range t.Order {
|
||||
// log.Info("got order:", t.Title, name)
|
||||
if me.addTableCol(t, grid, name, w) {
|
||||
if me.addTableRow(t, grid, name, w) {
|
||||
// log.Info("tree:row() COLUMN GOOD", t.Title, name, w, h)
|
||||
} else {
|
||||
log.Log(TREEWARN, "tree:row() COLUMN FAIL", t.Title, name, w, h)
|
||||
log.Log(TREEWARN, "tree:row() COLOMN FAIL", t.Title, name, w, h)
|
||||
}
|
||||
|
||||
w += 1
|
||||
}
|
||||
}
|
||||
|
||||
func (me *TreeInfo) addTableCol(t *guipb.Table, grid *Node, name string, w int) bool {
|
||||
func (me *TreeInfo) addTableRow(t *guipb.Table, grid *Node, name string, w int) bool {
|
||||
var h int = 0
|
||||
for _, r := range t.StringCols {
|
||||
for _, r := range t.StringRows {
|
||||
if name != r.Header.Name {
|
||||
// log.Info("skip string row:", r.Header.Name, "!=", name)
|
||||
continue
|
||||
|
@ -245,7 +245,7 @@ func (me *TreeInfo) addTableCol(t *guipb.Table, grid *Node, name string, w int)
|
|||
return true
|
||||
}
|
||||
|
||||
for _, r := range t.ButtonCols {
|
||||
for _, r := range t.ButtonRows {
|
||||
if name != r.Header.Name {
|
||||
// log.Info("skip string row:", r.Header.Name, "!=", name)
|
||||
continue
|
||||
|
@ -263,7 +263,7 @@ func (me *TreeInfo) addTableCol(t *guipb.Table, grid *Node, name string, w int)
|
|||
return true
|
||||
}
|
||||
|
||||
for _, r := range t.IntCols {
|
||||
for _, r := range t.IntRows {
|
||||
if name != r.Header.Name {
|
||||
// log.Info("skip sint row:", r.Header.Name, "!=", name)
|
||||
continue
|
||||
|
@ -286,7 +286,7 @@ func (me *TreeInfo) addTableCol(t *guipb.Table, grid *Node, name string, w int)
|
|||
return true
|
||||
}
|
||||
|
||||
for _, r := range t.TimeCols {
|
||||
for _, r := range t.TimeRows {
|
||||
if name != r.Header.Name {
|
||||
// log.Info("skip sint row:", r.Header.Name, "!=", name)
|
||||
continue
|
||||
|
@ -318,91 +318,6 @@ func (me *TreeInfo) addTableCol(t *guipb.Table, grid *Node, name string, w int)
|
|||
return true
|
||||
}
|
||||
|
||||
for _, col := range t.AnyCols {
|
||||
if name != col.Header.Name {
|
||||
// log.Info("skip sint row:", r.Header.Name, "!=", name)
|
||||
continue
|
||||
}
|
||||
// log.Info("tree: Add()ing to grid here", r.Header.Id, r.Header.Name, w, h)
|
||||
head := grid.makeGridLabel(col.Header, w, h)
|
||||
me.Add(head)
|
||||
h += 1
|
||||
for _, widg := range col.Widgets {
|
||||
msg, err := anypb.UnmarshalNew(widg.Val, proto.UnmarshalOptions{})
|
||||
if err != nil {
|
||||
log.Fatalf("failed to unmarshal: %v", err)
|
||||
}
|
||||
/*
|
||||
var stringValue wrapperspb.StringValue
|
||||
if err := msg.UnmarshalTo(&stringValue); err == nil {
|
||||
// It's a string, now convert it back to a native Go string
|
||||
goString := stringValue.GetValue()
|
||||
fmt.Printf("Successfully unpacked string: %s\n", goString)
|
||||
}
|
||||
*/
|
||||
|
||||
switch v := msg.(type) {
|
||||
// case *protobuf.StringValue:
|
||||
// widg.Name = fmt.Sprintf("stringval %v", v)
|
||||
case *timestamppb.Timestamp:
|
||||
// fmt.Println("Unpacked Timestamp:", shell.FormatDuration(time.Since(v.AsTime())))
|
||||
widg.Name = shell.FormatDuration(time.Since(v.AsTime()))
|
||||
case *wrapperspb.StringValue:
|
||||
/*
|
||||
var stringValue wrapperspb.StringValue
|
||||
if err := widg.Val.UnmarshalTo(&stringValue); err == nil {
|
||||
// It's a string, now convert it back to a native Go string
|
||||
goString := stringValue.GetValue()
|
||||
fmt.Printf("Successfully unpacked string: %s\n", goString)
|
||||
widg.Name = goString
|
||||
} else {
|
||||
widg.Name = "notsure"
|
||||
}
|
||||
*/
|
||||
widg.Name = v.GetValue()
|
||||
case *anypb.Any:
|
||||
var anyVal *anypb.Any
|
||||
anyVal = msg.(*anypb.Any)
|
||||
switch col.Attr.Type {
|
||||
case guipb.ColAttr_STRING:
|
||||
var stringValue wrapperspb.StringValue
|
||||
if err := anyVal.UnmarshalTo(&stringValue); err == nil {
|
||||
// It's a string, now convert it back to a native Go string
|
||||
goString := stringValue.GetValue()
|
||||
// fmt.Printf("Successfully unpacked string: %s\n", goString)
|
||||
widg.Name = goString
|
||||
} else {
|
||||
widg.Name = "anyVal str err"
|
||||
}
|
||||
case guipb.ColAttr_INT:
|
||||
case guipb.ColAttr_TIME:
|
||||
var tsProto timestamppb.Timestamp
|
||||
if err := anyVal.UnmarshalTo(&tsProto); err == nil {
|
||||
// It's a timestamp, now convert it back to a Go time.Time
|
||||
goTime := tsProto.AsTime()
|
||||
// fmt.Printf("Successfully unpacked timestamp: %v\n", goTime)
|
||||
widg.Name = shell.FormatDuration(time.Since(goTime))
|
||||
} else {
|
||||
widg.Name = "terr"
|
||||
}
|
||||
default:
|
||||
}
|
||||
// fmt.Printf("found any! %T\n", v)
|
||||
// widg.Name = v.GetValue()
|
||||
default:
|
||||
fmt.Printf("Unknown type: %T\n", v)
|
||||
// fmt.Println("Unknown type:", v)
|
||||
widg.Name = fmt.Sprintf("%v", v)
|
||||
}
|
||||
|
||||
// log.Info("tree: Add()ing to grid here", widg.Id, widg.Name, w, h)
|
||||
lab := grid.makeGridLabel(widg, w, h)
|
||||
me.Add(lab)
|
||||
h += 1
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
|
@ -434,13 +349,13 @@ func dumpTable(t *guipb.Table) {
|
|||
for i, o := range t.Order {
|
||||
log.Info("got order:", t.Title, i, o)
|
||||
}
|
||||
for i, r := range t.StringCols {
|
||||
for i, r := range t.StringRows {
|
||||
log.Info("got string row:", t.Title, i, r.Header.Name, r.Vals)
|
||||
for _, v := range r.Widgets {
|
||||
log.Info("tree: got string widget:", v.Id, v.Name)
|
||||
}
|
||||
}
|
||||
for i, r := range t.IntCols {
|
||||
for i, r := range t.IntRows {
|
||||
log.Info("got int row:", t.Title, i, r.Header.Name, r.Vals)
|
||||
for _, v := range r.Widgets {
|
||||
log.Info("tree: got int widget:", v.Id, v.Val)
|
||||
|
|
Loading…
Reference in New Issue