checkpoint

mine
derailed 2020-01-18 23:34:14 -07:00
parent d45d3af116
commit 97540ded19
4 changed files with 8 additions and 46 deletions

View File

@ -150,13 +150,9 @@ var Registry = map[string]ResourceMeta{
// CRDs...
"apiextensions.k8s.io/v1/customresourcedefinitions": {
// BOZO!!
// DAO: &dao.CustomResourceDefinition{},
Renderer: &render.CustomResourceDefinition{},
},
"apiextensions.k8s.io/v1beta1/customresourcedefinitions": {
// BOZO!!
// DAO: &dao.CustomResourceDefinition{},
Renderer: &render.CustomResourceDefinition{},
},

View File

@ -203,10 +203,6 @@ func (t *Table) refresh(ctx context.Context) {
}
func (t *Table) list(ctx context.Context, a dao.Accessor) ([]runtime.Object, error) {
defer func(ti time.Time) {
log.Debug().Msgf(" LIST %q:%q elapsed %v", t.namespace, t.gvr, time.Since(ti))
}(time.Now())
factory, ok := ctx.Value(internal.KeyFactory).(dao.Factory)
if !ok {
return nil, fmt.Errorf("expected Factory in context but got %T", ctx.Value(internal.KeyFactory))
@ -217,10 +213,6 @@ func (t *Table) list(ctx context.Context, a dao.Accessor) ([]runtime.Object, err
}
func (t *Table) reconcile(ctx context.Context) error {
defer func(ti time.Time) {
log.Debug().Msgf("RECONCILE %q:%q elapsed %v", t.namespace, t.gvr, time.Since(ti))
}(time.Now())
meta := t.resourceMeta()
var (
oo []runtime.Object
@ -235,7 +227,6 @@ func (t *Table) reconcile(ctx context.Context) error {
if err != nil {
return err
}
log.Debug().Msgf(" LIST returned %d rows", len(oo))
var rows render.Rows
ns := client.CleanseNamespace(t.namespace)
@ -244,7 +235,6 @@ func (t *Table) reconcile(ctx context.Context) error {
if !ok {
return fmt.Errorf("expecting a meta table but got %T", oo[0])
}
log.Debug().Msgf("!!!!YO!!!")
rows = make(render.Rows, len(table.Rows))
if err := genericHydrate(ns, table, rows, meta.Renderer); err != nil {
return err
@ -265,7 +255,6 @@ func (t *Table) reconcile(ctx context.Context) error {
}
t.data.Update(rows)
t.data.Namespace, t.data.Header = t.namespace, meta.Renderer.Header(t.namespace)
log.Debug().Msgf("TABLE_DATA returns %d rows", len(t.data.RowEvents))
return nil
}
@ -313,10 +302,6 @@ func (t *Table) fireTableLoadFailed(err error) {
// Helpers...
func hydrate(ns string, oo []runtime.Object, rr render.Rows, re Renderer) error {
defer func(t time.Time) {
log.Debug().Msgf(" HYDRATE elapsed %v", time.Since(t))
}(time.Now())
for i, o := range oo {
if err := re.Render(o, ns, &rr[i]); err != nil {
return err

View File

@ -155,7 +155,7 @@ func (t *Tree) ToYAML(ctx context.Context, gvr, path string) (string, error) {
}
func (t *Tree) updater(ctx context.Context) {
defer log.Debug().Msgf("Model canceled -- %q", t.gvr)
defer log.Debug().Msgf("Tree-model canceled -- %q", t.gvr)
rate := iniRefreshRate
for {
@ -185,10 +185,6 @@ func (t *Tree) refresh(ctx context.Context) {
}
func (t *Tree) list(ctx context.Context, a dao.Accessor) ([]runtime.Object, error) {
defer func(ti time.Time) {
log.Debug().Msgf(" TREE-LIST %q:%q elapsed %v", t.namespace, t.gvr, time.Since(ti))
}(time.Now())
factory, ok := ctx.Value(internal.KeyFactory).(dao.Factory)
if !ok {
return nil, fmt.Errorf("expected Factory in context but got %T", ctx.Value(internal.KeyFactory))
@ -199,16 +195,11 @@ func (t *Tree) list(ctx context.Context, a dao.Accessor) ([]runtime.Object, erro
}
func (t *Tree) reconcile(ctx context.Context) error {
defer func(ti time.Time) {
log.Debug().Msgf("TREE-RECONCILE %q:%q elapsed %v", t.namespace, t.gvr, time.Since(ti))
}(time.Now())
meta := t.resourceMeta()
oo, err := t.list(ctx, meta.DAO)
if err != nil {
return err
}
log.Debug().Msgf(" TREE returned %d rows", len(oo))
ns := client.CleanseNamespace(t.namespace)
root := xray.NewTreeNode("root", client.NewGVR(t.gvr).ToR())
@ -232,7 +223,6 @@ func (t *Tree) reconcile(ctx context.Context) error {
t.root = root.Filter(t.query, rxFilter)
}
if t.root == nil || t.root.Diff(root) {
log.Debug().Msgf(">>>> DIFFERENCE!!!!")
t.root = root
t.fireTreeTreeChanged(t.root)
}
@ -297,10 +287,6 @@ func rxFilter(q, path string) bool {
}
func treeHydrate(ctx context.Context, ns string, oo []runtime.Object, re TreeRenderer) error {
defer func(t time.Time) {
log.Debug().Msgf(" TREE-HYDRATE elapsed %v", time.Since(t))
}(time.Now())
for _, o := range oo {
if err := re.Render(ctx, ns, o); err != nil {
return err

View File

@ -115,6 +115,7 @@ func (x *Xray) Hints() model.MenuHints {
func (x *Xray) bindKeys() {
x.Actions().Add(ui.KeyActions{
tcell.KeyEnter: ui.NewKeyAction("Goto", x.gotoCmd, true),
ui.KeySpace: ui.NewKeyAction("Expand/Collapse", x.noopCmd, true),
ui.KeyX: ui.NewKeyAction("Expand/Collapse All", x.toggleCollapseCmd, true),
ui.KeySlash: ui.NewSharedKeyAction("Filter Mode", x.activateCmd, false),
@ -179,9 +180,6 @@ func (x *Xray) refreshActions() {
if client.Can(x.meta.Verbs, "delete") {
aa[tcell.KeyCtrlD] = ui.NewKeyAction("Delete", x.deleteCmd, true)
}
if client.Can(x.meta.Verbs, "view") {
aa[tcell.KeyEnter] = ui.NewKeyAction("Goto", x.gotoCmd, true)
}
if !dao.IsK9sMeta(x.meta) {
aa[ui.KeyY] = ui.NewKeyAction("YAML", x.viewCmd, true)
aa[ui.KeyD] = ui.NewKeyAction("Describe", x.describeCmd, true)
@ -439,25 +437,22 @@ func (x *Xray) gotoCmd(evt *tcell.EventKey) *tcell.EventKey {
x.Start()
}
x.cmdBuff.SetActive(false)
return nil
}
n := x.GetCurrentNode()
if n == nil {
x.GetRoot().ExpandAll()
return nil
}
ref, ok := n.GetReference().(xray.NodeSpec)
if !ok {
log.Error().Msgf("Expecting a NodeSpec!")
ref := x.selectedSpec()
if ref == nil {
return nil
}
if len(strings.Split(ref.Path, "/")) == 1 {
return nil
}
if err := x.app.viewResource(client.NewGVR(ref.GVR).ToR(), ref.Path, false); err != nil {
x.app.Flash().Err(err)
}
return nil
}
@ -528,7 +523,7 @@ func (x *Xray) update(node *xray.TreeNode) {
root.Walk(func(node, parent *tview.TreeNode) bool {
ref, ok := node.GetReference().(xray.NodeSpec)
if !ok {
log.Error().Msgf("Expeting a NodeSpec but got %T", node.GetReference())
log.Error().Msgf("Expecting a NodeSpec but got %T", node.GetReference())
return false
}
// BOZO!! Figure this out expand/collapse but the root