diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-08 20:10:20 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-08 20:10:20 +0200 |
| commit | 21aa0cd0f96087fa040750643109c496e7a1b3ee (patch) | |
| tree | edb29ed949cf638d5c2a759dd3bf8840fed45922 /internal/tui/eventstream/model.go | |
| parent | 7ad3bb96f4d07bdd8b20b561257a84c7f18c3829 (diff) | |
task 366: extract shared global filter types
Diffstat (limited to 'internal/tui/eventstream/model.go')
| -rw-r--r-- | internal/tui/eventstream/model.go | 37 |
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 |
