Changeset View
Changeset View
Standalone View
Standalone View
webroot/rsrc/js/core/behavior-keyboard-shortcuts.js
| Show All 9 Lines | |||||
| /** | /** | ||||
| * Define global keyboard shortcuts. | * Define global keyboard shortcuts. | ||||
| */ | */ | ||||
| JX.behavior('phabricator-keyboard-shortcuts', function(config) { | JX.behavior('phabricator-keyboard-shortcuts', function(config) { | ||||
| var pht = JX.phtize(config.pht); | var pht = JX.phtize(config.pht); | ||||
| var workflow = null; | var workflow = null; | ||||
| new JX.KeyboardShortcut('?', pht('?')) | new JX.KeyboardShortcut('?', pht('?')) | ||||
| .setGroup('global') | |||||
| .setHandler(function(manager) { | .setHandler(function(manager) { | ||||
| if (workflow) { | if (workflow) { | ||||
| // Already showing the dialog. | // Already showing the dialog. | ||||
| return; | return; | ||||
| } | } | ||||
| var desc = manager.getShortcutDescriptions(); | var desc = manager.getShortcutDescriptions(); | ||||
| var data = {keys : JX.JSON.stringify(desc)}; | var data = {keys : JX.JSON.stringify(desc)}; | ||||
| workflow = new JX.Workflow(config.helpURI, data) | workflow = new JX.Workflow(config.helpURI, data) | ||||
| .setCloseHandler(function() { | .setCloseHandler(function() { | ||||
| workflow = null; | workflow = null; | ||||
| }); | }); | ||||
| workflow.start(); | workflow.start(); | ||||
| }) | }) | ||||
| .register(); | .register(); | ||||
| if (config.searchID) { | if (config.searchID) { | ||||
| new JX.KeyboardShortcut('/', pht('/')) | new JX.KeyboardShortcut('/', pht('/')) | ||||
| .setGroup('global') | |||||
| .setHandler(function() { | .setHandler(function() { | ||||
| var search = JX.$(config.searchID); | var search = JX.$(config.searchID); | ||||
| search.focus(); | search.focus(); | ||||
| search.select(); | search.select(); | ||||
| }) | }) | ||||
| .register(); | .register(); | ||||
| } | } | ||||
| }); | }); | ||||