From b87a33df10be50d2315645e96750a8503d2e2765 Mon Sep 17 00:00:00 2001
From: KDSBrowne <kert.browne85@gmail.com>
Date: Mon, 27 May 2019 16:34:37 +0000
Subject: [PATCH] allow whiteboard toolbar items to be activated via keyboard

---
 .../toolbar-menu-item/component.jsx           | 30 ++++++++++++++-----
 1 file changed, 22 insertions(+), 8 deletions(-)

diff --git a/bigbluebutton-html5/imports/ui/components/whiteboard/whiteboard-toolbar/toolbar-menu-item/component.jsx b/bigbluebutton-html5/imports/ui/components/whiteboard/whiteboard-toolbar/toolbar-menu-item/component.jsx
index af3345921a..6f9d9a165e 100644
--- a/bigbluebutton-html5/imports/ui/components/whiteboard/whiteboard-toolbar/toolbar-menu-item/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/whiteboard/whiteboard-toolbar/toolbar-menu-item/component.jsx
@@ -69,24 +69,36 @@ export default class ToolbarMenuItem extends Component {
   }
 
   render() {
+    const {
+      disabled,
+      label,
+      icon,
+      customIcon,
+      onBlur,
+      className,
+      children,
+    } = this.props;
+
     return (
-      <div className={styles.buttonWrapper} hidden={this.props.disabled}>
+      <div className={styles.buttonWrapper} hidden={disabled}>
         <Button
           hideLabel
           role="button"
           color="default"
           size="md"
-          label={this.props.label}
-          icon={this.props.icon ? this.props.icon : null}
-          customIcon={this.props.customIcon ? this.props.customIcon : null}
+          label={label}
+          icon={icon || null}
+          customIcon={customIcon || null}
           onMouseDown={this.handleOnMouseDown}
           onMouseUp={this.handleOnMouseUp}
-          onBlur={this.props.onBlur}
-          className={this.props.className}
+          onKeyPress={this.handleOnMouseDown}
+          onKeyUp={this.handleOnMouseUp}
+          onBlur={onBlur}
+          className={className}
           setRef={this.setRef}
-          disabled={this.props.disabled}
+          disabled={disabled}
         />
-        {this.props.children}
+        {children}
       </div>
     );
   }
@@ -109,6 +121,7 @@ ToolbarMenuItem.propTypes = {
   customIcon: PropTypes.node,
   label: PropTypes.string.isRequired,
   className: PropTypes.string.isRequired,
+  disabled: PropTypes.bool,
 };
 
 ToolbarMenuItem.defaultProps = {
@@ -117,4 +130,5 @@ ToolbarMenuItem.defaultProps = {
   customIcon: null,
   onBlur: null,
   children: null,
+  disabled: false,
 };
-- 
GitLab