summaryrefslogtreecommitdiffstats
path: root/pkg/gui/controllers/helpers
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2023-05-28 13:25:52 +1000
committerJesse Duffield <jessedduffield@gmail.com>2023-07-03 12:54:14 +1000
commitd67b209e62f8254d5f17ecdb8fe7ff810f000566 (patch)
tree220b15b574abaf5a68cfa030f25ac3d2f58bf586 /pkg/gui/controllers/helpers
parentbf5871cc4fe8bd7f431e5603447ea0bc29b3d642 (diff)
Move more logic into search helper
Diffstat (limited to 'pkg/gui/controllers/helpers')
-rw-r--r--pkg/gui/controllers/helpers/search_helper.go33
1 files changed, 33 insertions, 0 deletions
diff --git a/pkg/gui/controllers/helpers/search_helper.go b/pkg/gui/controllers/helpers/search_helper.go
index e825fba3e..f8bfcbd9c 100644
--- a/pkg/gui/controllers/helpers/search_helper.go
+++ b/pkg/gui/controllers/helpers/search_helper.go
@@ -195,3 +195,36 @@ func (self *SearchHelper) OnPromptContentChanged(searchString string) {
// do nothing (shouldn't land here)
}
}
+
+func (self *SearchHelper) DisplaySearchInfoIfSearching(c types.Context) {
+ if searchableContext, ok := c.(types.ISearchableContext); ok {
+ if searchableContext.IsSearching() {
+ self.DisplaySearchPrompt(searchableContext)
+ }
+ }
+ if filterableContext, ok := c.(types.IFilterableContext); ok {
+ if filterableContext.IsFiltering() {
+ self.DisplayFilterPrompt(filterableContext)
+ }
+ }
+}
+
+func (self *SearchHelper) CancelSearchIfSearching(c types.Context) {
+ if searchableContext, ok := c.(types.ISearchableContext); ok {
+ view := searchableContext.GetView()
+ if view != nil && view.IsSearching() {
+ view.ClearSearch()
+ searchableContext.ClearSearchString()
+ self.Cancel()
+ }
+ return
+ }
+
+ if filterableContext, ok := c.(types.IFilterableContext); ok {
+ if filterableContext.IsFiltering() {
+ filterableContext.ClearFilter()
+ self.Cancel()
+ }
+ return
+ }
+}