MCPcopy Create free account
hub / github.com/XmirrorSecurity/OpenSCA-cli / OpenUI

Function OpenUI

cmd/ui/ui.go:33–93  ·  view source on GitHub ↗
(report format.Report)

Source from the content-addressed store, hash-verified

31)
32
33func OpenUI(report format.Report) {
34
35 flex := tview.NewFlex()
36
37 tree := DepTree(report)
38 tree.SetBorder(true).SetTitle(" dependency tree ")
39 log := TaskLog()
40 log.SetBorder(true).SetTitle(" log ")
41 info := TaskInfo(report)
42 info.SetBorder(true).SetTitle(" info ")
43 help := UIHelp()
44 help.SetBorder(true).SetTitle(" help ")
45
46 flex.SetDirection(tview.FlexRow).
47 AddItem(tview.NewFlex().
48 AddItem(tree, 0, 1, true).
49 AddItem(tview.NewFlex().SetDirection(tview.FlexRow).
50 AddItem(info, 4, 1, false).
51 AddItem(log, 0, 1, false),
52 0, 1, false),
53 0, 1, true).
54 AddItem(help, 3, 1, false)
55
56 app := tview.NewApplication()
57 switchView := func() {
58 if app.GetFocus() == tree {
59 app.SetFocus(log)
60 } else {
61 app.SetFocus(tree)
62 }
63 }
64
65 app.SetInputCapture(func(event *tcell.EventKey) *tcell.EventKey {
66
67 switch event.Rune() {
68 case 'h', 'l':
69 switchView()
70 case 'q':
71 app.Stop()
72 case ']':
73 tree.GetCurrentNode().ExpandAll()
74 case '[':
75 tree.GetCurrentNode().CollapseAll()
76 case '}':
77 tree.GetRoot().ExpandAll()
78 case '{':
79 tree.GetRoot().CollapseAll()
80 }
81
82 switch event.Key() {
83 case tcell.KeyLeft, tcell.KeyRight:
84 switchView()
85 }
86
87 return event
88 })
89
90 if err := app.SetRoot(flex, true).Run(); err != nil {

Callers 1

mainFunction · 0.92

Calls 6

ErrorFunction · 0.92
DepTreeFunction · 0.85
TaskLogFunction · 0.85
UIHelpFunction · 0.85
KeyMethod · 0.80
TaskInfoFunction · 0.70

Tested by

no test coverage detected