fix(datagrid): drive Cmd+F filter toggle from tab context and the View menu#1360
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Cmd+Ffor the data-grid filter (added in #1339, unreleased) had two bugs:Cmd+Fusually fell through to the SQL editor's Find path instead of toggling the filter.Cmd+Fhint. After opening the Edit menu once,Cmd+Fstopped working entirely in table tabs.Cause
NSApp.keyWindow?.firstResponder is KeyHandlingTableView, but the grid is only made first responder on click, not on tab open.Cmd+F. SwiftUI dedupes identical shortcuts (dropping the hint from one item), and once AppKit realized the Edit > Find item it boundCmd+Fto it even though it was.disabledin a table tab..disabledgates firing, not the dedupe or the key binding.Fix
Whether
Cmd+Fmeans "filter" or "find" is decided by tab context, not focus. A singleCommandFRoutevalue drives both menu items:Cmd+FownerThe shortcut is applied to exactly one item per route, so there's never a duplicate to dedupe or mis-bind, and the
Cmd+Fhint follows the active context..toggleFiltersis restored to a customizable default ofCmd+F.Test plan
Cmd+Ftoggles the filter without clicking the grid first; View menu flashes; "Toggle Filters" shows⌘F.Cmd+Fin a table tab still toggles the filter.Cmd+Fopens the editor Find panel; Edit menu shows⌘Fnext to "Find…".Cmd+Ffilters the inspector.Lint passes (
swiftlint --strict).