From 7f66557103d537784d54b2340a80a5e969adfed4 Mon Sep 17 00:00:00 2001 From: Catherine Liu Date: Tue, 19 Feb 2019 00:06:54 -0700 Subject: [PATCH] Removed aeroelastic keyboard event handlers --- .../components/workpad_page/event_handlers.js | 61 ------------------- .../public/components/workpad_page/index.js | 10 +++ .../components/workpad_page/workpad_page.js | 16 ++--- 3 files changed, 18 insertions(+), 69 deletions(-) diff --git a/x-pack/plugins/canvas/public/components/workpad_page/event_handlers.js b/x-pack/plugins/canvas/public/components/workpad_page/event_handlers.js index 389a703eeaa4e26..4e5e256a2f5a043 100644 --- a/x-pack/plugins/canvas/public/components/workpad_page/event_handlers.js +++ b/x-pack/plugins/canvas/public/components/workpad_page/event_handlers.js @@ -124,70 +124,9 @@ const handleMouseDown = (commit, e, isEditable) => { ); }; -const keyCode = key => (key === 'Meta' ? 'MetaLeft' : 'Key' + key.toUpperCase()); - -const isTextInput = ({ tagName, type }) => { - // input types that aren't variations of text input - const nonTextInputs = [ - 'button', - 'checkbox', - 'color', - 'file', - 'image', - 'radio', - 'range', - 'reset', - 'submit', - ]; - - switch (tagName.toLowerCase()) { - case 'input': - return !nonTextInputs.includes(type); - case 'textarea': - return true; - default: - return false; - } -}; - -const modifierKey = key => ['KeyALT', 'KeyCONTROL'].indexOf(keyCode(key)) > -1; - -const handleKeyDown = (commit, e, isEditable) => { - const { key } = e; - - if (isEditable && !modifierKey(key)) { - commit('keyboardEvent', { - event: 'keyDown', - code: keyCode(key), // convert to standard event code - }); - } -}; - -const handleKeyPress = (commit, e, isEditable) => { - const { key, target } = e; - const upcaseKey = key && key.toUpperCase(); - if (isEditable && !isTextInput(target) && 'GU'.indexOf(upcaseKey) !== -1) { - commit('actionEvent', { - event: upcaseKey === 'G' ? 'group' : 'ungroup', - }); - } -}; - -const handleKeyUp = (commit, { key }, isEditable) => { - if (isEditable && !modifierKey(key)) { - commit('keyboardEvent', { - event: 'keyUp', - code: keyCode(key), // convert to standard event code - }); - } -}; - export const eventHandlers = { onMouseDown: props => e => handleMouseDown(props.commit, e, props.isEditable), onMouseMove: props => e => handleMouseMove(props.commit, e, props.isEditable), - onKeyDown: props => e => handleKeyDown(props.commit, e, props.isEditable), - onKeyPress: props => e => handleKeyPress(props.commit, e, props.isEditable), - onKeyUp: props => e => handleKeyUp(props.commit, e, props.isEditable), onWheel: props => e => handleWheel(props.commit, e, props.isEditable), resetHandler: () => () => resetHandler(), }; diff --git a/x-pack/plugins/canvas/public/components/workpad_page/index.js b/x-pack/plugins/canvas/public/components/workpad_page/index.js index 326860e687d80bb..516ae49a7896b2d 100644 --- a/x-pack/plugins/canvas/public/components/workpad_page/index.js +++ b/x-pack/plugins/canvas/public/components/workpad_page/index.js @@ -217,6 +217,16 @@ export const WorkpadPage = compose( }; } ), // Updates states; needs to have both local and global + withHandlers({ + groupElements: ({ commit }) => () => + commit('actionEvent', { + event: 'group', + }), + ungroupElements: ({ commit }) => () => + commit('actionEvent', { + event: 'ungroup', + }), + }), withHandlers(eventHandlers) // Captures user intent, needs to have reconciled state )(Component); diff --git a/x-pack/plugins/canvas/public/components/workpad_page/workpad_page.js b/x-pack/plugins/canvas/public/components/workpad_page/workpad_page.js index 44c5ef922f2b472..87b1a1e8c317850 100644 --- a/x-pack/plugins/canvas/public/components/workpad_page/workpad_page.js +++ b/x-pack/plugins/canvas/public/components/workpad_page/workpad_page.js @@ -38,8 +38,6 @@ export class WorkpadPage extends PureComponent { width: PropTypes.number.isRequired, isEditable: PropTypes.bool.isRequired, onDoubleClick: PropTypes.func, - onKeyDown: PropTypes.func, - onKeyUp: PropTypes.func, onMouseDown: PropTypes.func, onMouseMove: PropTypes.func, onMouseUp: PropTypes.func, @@ -71,9 +69,6 @@ export class WorkpadPage extends PureComponent { width, isEditable, onDoubleClick, - onKeyDown, - onKeyPress, - onKeyUp, onMouseDown, onMouseMove, onMouseUp, @@ -88,6 +83,8 @@ export class WorkpadPage extends PureComponent { bringToFront, sendBackward, sendToBack, + groupElements, + ungroupElements, } = this.props; const keyHandler = (action, event) => { @@ -120,6 +117,12 @@ export class WorkpadPage extends PureComponent { case 'SEND_TO_BACK': sendToBack(); break; + case 'GROUP': + groupElements(); + break; + case 'UNGROUP': + ungroupElements(); + break; } }; @@ -140,9 +143,6 @@ export class WorkpadPage extends PureComponent { onMouseMove={onMouseMove} onMouseUp={onMouseUp} onMouseDown={onMouseDown} - onKeyDown={onKeyDown} - onKeyPress={onKeyPress} - onKeyUp={onKeyUp} onDoubleClick={onDoubleClick} onAnimationEnd={onAnimationEnd} onWheel={onWheel}