Add a keyboard shortcut central registry for page views.

Review Request #10913 — Created Feb. 24, 2020 and updated — Latest diff uploaded

Information

Review Board
master

Reviewers

Created an object which can be a central registry for keyboard
shortcuts on the current page. This new object keyBindings is
owned by RB.Pageview. Subclasses of RB.PageView (e.g., diffViewerPageView
and dataGridPageView can extend this new object to have their own
keyboard shortcuts.

Each key set can map to two things: callback mapping to a callback
function and help (temporary mapping to a str text, can be a foundation
of future features).

The old keyboard shortcuts on diffViewerPageView are still working.

Tested on Chrome and Firefox.

Tested in dataGridPageView by adding this dummy code segment:

...

keyBindings: _.extend({
    'a': {
        callback: 'testAlert',
    }
}, RB.PageView.prototype.keyBindings),

testAlert() {
    alert("This is a test alert.");
},
...

Diff Revision 2

This is not the most recent revision of the diff. The latest diff is revision 5. See what's changed.

orig
1
2
3
4
5

Commits

First Last Summary ID Author
Add a keyboard shortcut central registry for page views.
83c91ec40f1ca2246d12a403a71e6fcd5ab1cd10 Jay
Remove one extra space.
af28b58d503b264619fb73301209d685753fa0c7 Jay
Add missing semicolon.
2d9bd989099ee5a997b8deb3a483f4edfc9e09f0 Jay
reviewboard/static/rb/js/pages/views/basePageView.es6.js
reviewboard/static/rb/js/pages/views/diffViewerPageView.es6.js
reviewboard/static/rb/js/utils/keyBindingUtils.es6.js
Loading...