-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ui] General keyboard navigation in the UI #12831
Conversation
Ember Asset Size actionAs of 36cc240 Files that got Bigger 🚨:
Files that stayed the same size 🤷:
|
ad7f7c2
to
51bd7c1
Compare
Ember Test Audit comparison
|
Ember Test Audit flaky testsEmber Test Audit detected these flaky tests on main:
Ember Test Audit detected these flaky tests on 51bd7c1:
|
30f35ab
to
36b0d2e
Compare
0d6266d
to
e8a754d
Compare
Ember Test Audit flaky testsEmber Test Audit detected these flaky tests on e8a754d:
|
79c6483
to
39ba1c7
Compare
Ember Test Audit flaky testsEmber Test Audit detected these flaky tests on 79c6483:
|
* Experimental feature: shortcut visual hints * Long way around to a custom modifier for keyboard shortcuts * dynamic table and list iterative shortcuts * Progress with regular old tether * Delogging * Table Keynav tether fix, server and client navs, and fix to shiftless on modified arrow keys
* Multiple tables init * URL-bind enumerable keyboard commands and add to more taskRow and allocationRows * Type safety and lint fixes * Consolidated push to keyCommands * Default value when removing keyCommands * Remove the URL-based removal method and perform a recompute on any add
…nsive moves (#13761) * Remove ember math helpers * Test fixes for jobparts/body * Kill an unneeded integration helper test * delog * Trying if disabling percy lets this finish * Okay so its not percy; try parallelism in circle * Percyless yet again * Trying a different angle to not have percy * Upgrade percy to 1.6.1
* U to go up a level * Mislabelled my conditional * Custom lint ignore rule * Custom lint ignore rule, this time with commas * Since we're getting rid of ember math helpers elsewhere, do the math ourselves here
* Replace ArrowLeft etc. with an ascii arrow * non-mutative helper cleanup
* click-outside and shortcuts enabled/disabled toggle * Trap focus when modal open * Enabled/disabled saved to localStorage * Autofocus edit button on variable index * Modal overflow styles * Functional rebind * Saving rebinds to localStorage for all majors * Started on defaultCommandBindings * Modal header style and cancel rebind on escape * keyboardable keybindings w buttons instead of spans * recording and defaultvalues * Enter short-circuits rebind * Only some commands are rebindable, and dont show dupes * No unused get import * More visually distinct header on modal * Disallowed keys for rebind, showing buffer as you type, and moving dedupe to modal logic
…istener on kb events
* Acceptance tests for keyboard modal * a11y audit fix and localStorage clear * Bind/rebind/localStorage tests * Keyboard tests for dynamic nav and tables * Rebinder and assert expectation * Second percy snapshot showing hints no longer relevant
…-groups page would fail to route / hit undefined.shouldSuperCede errors
…also share its label
c083598
to
c23b7a6
Compare
I'm going to lock this pull request because it has been closed for 120 days ⏳. This helps our maintainers find and focus on the active contributions. |
Resolves #12762
A general Keyboard / Keynav service for the Nomad UI
g j
to go to jobs index),shift + right-arrow
to move to the next subnav section), andshift + 03
to go to the third link in a given list)?
anyplace in the appImplementation and extension
keyboard
service that emits a consumablebuffer
array andmatchedCommand
objectkeyboard.keyCommands
, that command'saction
is run. These actions can be any function, and are commonlyrouter.transitionTo()
objects.Shift
keyboard-commands
(for example, how we conditionally add the escape key to Evaluations modal)Side-effects
u
shortcut to "Go up a level" from nested routes, reworked many otherwise-inline subnavs into their own components, such as the plugin subnavShowing the keyboard modal (user pressed "?"):
![image](https://user-images.githubusercontent.com/713991/182520304-fa0ec61b-24e4-4f7f-a2a8-cf216fdf69bc.png)
Showing hints active (user holding "Shift"):
![image](https://user-images.githubusercontent.com/713991/182520218-93da5b06-772f-4545-9652-a1206093bf86.png)