feat(keyboard): rewrite listeners to use event passed in context

With the new version of `diagram-js`, the keyboard listeners receive
a single parameter which is an object with `KeyboardEvent` event
as the only property. `BpmnKeyBindings` needed to change in order
to make use of new version of API.
This commit is contained in:
Maciej Barelkowski 2018-10-24 13:31:02 +02:00 committed by merge-me[bot]
parent 03cd2a7e11
commit 75135b667a

View File

@ -6,61 +6,119 @@
*/ */
export default function BpmnKeyBindings(keyboard, editorActions) { export default function BpmnKeyBindings(keyboard, editorActions) {
keyboard.addListener(function(key, modifiers) { // ctrl + a -> select all elements
function selectAll(context) {
// ctrl + a -> select all elements var event = context.event;
if (key === 65 && keyboard.isCmd(modifiers)) {
if (event.keyCode === 65 && keyboard.isCmd(event)) {
editorActions.trigger('selectElements'); editorActions.trigger('selectElements');
return true; return true;
} }
}
// ctrl + f -> search labels // ctrl + f -> search labels
if (key === 70 && keyboard.isCmd(modifiers)) { function find(context) {
var event = context.event;
if (event.keyCode === 70 && keyboard.isCmd(event)) {
editorActions.trigger('find'); editorActions.trigger('find');
return true; return true;
} }
}
if (keyboard.hasModifier(modifiers)) { // s -> activate space tool
function spaceTool(context) {
var event = context.event;
if (keyboard.hasModifier(event)) {
return; return;
} }
// s -> activate space tool if (event.keyCode === 83) {
if (key === 83) {
editorActions.trigger('spaceTool'); editorActions.trigger('spaceTool');
return true; return true;
} }
}
// l -> activate lasso tool // l -> activate lasso tool
if (key === 76) { function lassoTool(context) {
var event = context.event;
if (keyboard.hasModifier(event)) {
return;
}
if (event.keyCode === 76) {
editorActions.trigger('lassoTool'); editorActions.trigger('lassoTool');
return true; return true;
} }
}
// h -> activate hand tool
if (key === 72) { // h -> activate hand tool
function handTool(context) {
var event = context.event;
if (keyboard.hasModifier(event)) {
return;
}
if (event.keyCode === 72) {
editorActions.trigger('handTool'); editorActions.trigger('handTool');
return true; return true;
} }
}
// c -> activate global connect tool // c -> activate global connect tool
if (key === 67) { function globalConnectTool(context) {
var event = context.event;
if (keyboard.hasModifier(event)) {
return;
}
if (event.keyCode === 67) {
editorActions.trigger('globalConnectTool'); editorActions.trigger('globalConnectTool');
return true; return true;
} }
}
// e -> activate direct editing // e -> activate direct editing
if (key === 69) { function directEditing(context) {
var event = context.event;
if (keyboard.hasModifier(event)) {
return;
}
if (event.keyCode === 69) {
editorActions.trigger('directEditing'); editorActions.trigger('directEditing');
return true; return true;
} }
}); }
keyboard.addListener(selectAll);
keyboard.addListener(find);
keyboard.addListener(spaceTool);
keyboard.addListener(lassoTool);
keyboard.addListener(handTool);
keyboard.addListener(globalConnectTool);
keyboard.addListener(directEditing);
} }
BpmnKeyBindings.$inject = [ BpmnKeyBindings.$inject = [