add stream to input widget, realtime filtering updates

This commit is contained in:
Bradley Cicenas
2017-03-07 01:47:07 +00:00
parent df8b9fffab
commit 98d8dc62f9
3 changed files with 22 additions and 1 deletions

View File

@@ -18,6 +18,7 @@ var helpDialog = []menu.Item{
}
func HelpMenu() {
ui.Clear()
ui.DefaultEvtStream.ResetHandlers()
defer ui.DefaultEvtStream.ResetHandlers()
@@ -43,6 +44,18 @@ func FilterMenu() {
i.BorderFg = ui.ColorCyan
i.SetY(ui.TermHeight() - i.Height)
ui.Render(i)
// refresh container rows on input
stream := i.Stream()
go func() {
for s := range stream {
config.Update("filterStr", s)
cursor.RefreshContainers()
RedrawRows()
ui.Render(i)
}
}()
i.InputHandlers()
ui.Handle("/sys/kbd/<enter>", func(ui.Event) {
config.Update("filterStr", i.Data)
@@ -52,6 +65,7 @@ func FilterMenu() {
}
func SortMenu() {
ui.Clear()
ui.DefaultEvtStream.ResetHandlers()
defer ui.DefaultEvtStream.ResetHandlers()