summaryrefslogtreecommitdiff
path: root/internal/tui/eventstream/model.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-08 20:10:20 +0200
committerPaul Buetow <paul@buetow.org>2026-03-08 20:10:20 +0200
commit21aa0cd0f96087fa040750643109c496e7a1b3ee (patch)
treeedb29ed949cf638d5c2a759dd3bf8840fed45922 /internal/tui/eventstream/model.go
parent7ad3bb96f4d07bdd8b20b561257a84c7f18c3829 (diff)
task 366: extract shared global filter types
Diffstat (limited to 'internal/tui/eventstream/model.go')
-rw-r--r--internal/tui/eventstream/model.go37
1 files changed, 3 insertions, 34 deletions
diff --git a/internal/tui/eventstream/model.go b/internal/tui/eventstream/model.go
index 12aff4d..ee65793 100644
--- a/internal/tui/eventstream/model.go
+++ b/internal/tui/eventstream/model.go
@@ -751,7 +751,7 @@ func (m *Model) applyFilterFromSelectedCell() bool {
}
ev := m.filtered[m.selectedIdx]
targetSeq := ev.Seq
- next := cloneFilter(m.filter)
+ next := m.filter.Clone()
action := ""
switch m.selectedCol {
@@ -789,7 +789,7 @@ func (m *Model) applyFilterFromSelectedCell() bool {
return false
}
- m.filterStack = append(m.filterStack, cloneFilter(m.filter))
+ m.filterStack = append(m.filterStack, m.filter.Clone())
m.filterActionStack = append(m.filterActionStack, action)
m.filter = next
m.applyFilter()
@@ -807,7 +807,7 @@ func (m *Model) popFilter() bool {
if len(m.filterActionStack) > 0 {
m.filterActionStack = m.filterActionStack[:len(m.filterActionStack)-1]
}
- m.filter = cloneFilter(last)
+ m.filter = last.Clone()
m.applyFilter()
m.restoreSelectionBySeq(targetSeq)
return true
@@ -833,37 +833,6 @@ func (m *Model) restoreSelectionBySeq(seq uint64) {
}
}
-func cloneFilter(in Filter) Filter {
- out := in
- out.Syscall = cloneStringFilter(in.Syscall)
- out.Comm = cloneStringFilter(in.Comm)
- out.File = cloneStringFilter(in.File)
- out.PID = cloneNumericFilter(in.PID)
- out.TID = cloneNumericFilter(in.TID)
- out.FD = cloneNumericFilter(in.FD)
- out.LatencyNs = cloneNumericFilter(in.LatencyNs)
- out.GapNs = cloneNumericFilter(in.GapNs)
- out.Bytes = cloneNumericFilter(in.Bytes)
- out.RetVal = cloneNumericFilter(in.RetVal)
- return out
-}
-
-func cloneStringFilter(in *StringFilter) *StringFilter {
- if in == nil {
- return nil
- }
- out := *in
- return &out
-}
-
-func cloneNumericFilter(in *NumericFilter) *NumericFilter {
- if in == nil {
- return nil
- }
- out := *in
- return &out
-}
-
func (m *Model) clampSelection() {
if len(m.filtered) == 0 {
m.selectedIdx = -1