From f47b379bf93e4bcd8e9cc2e19e6e4c0219fe2288 Mon Sep 17 00:00:00 2001 From: "REDMOND\\jspurlin" Date: Fri, 6 Apr 2018 18:00:50 -0700 Subject: [PATCH 1/2] FocusTrapZone: Add a keyDown prop --- .../src/components/FocusTrapZone/FocusTrapZone.tsx | 9 +++++++++ .../src/components/FocusTrapZone/FocusTrapZone.types.ts | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/packages/office-ui-fabric-react/src/components/FocusTrapZone/FocusTrapZone.tsx b/packages/office-ui-fabric-react/src/components/FocusTrapZone/FocusTrapZone.tsx index eb4710d22809e..3319557f02d33 100644 --- a/packages/office-ui-fabric-react/src/components/FocusTrapZone/FocusTrapZone.tsx +++ b/packages/office-ui-fabric-react/src/components/FocusTrapZone/FocusTrapZone.tsx @@ -121,6 +121,15 @@ export class FocusTrapZone extends BaseComponent implem } private _onKeyboardHandler = (ev: React.KeyboardEvent): void => { + if (this.props.onKeyDown) { + this.props.onKeyDown(ev); + } + + // If the default has been prevented, do not process keyboard events. + if (ev.isDefaultPrevented()) { + return; + } + if (ev.which !== KeyCodes.tab) { return; } diff --git a/packages/office-ui-fabric-react/src/components/FocusTrapZone/FocusTrapZone.types.ts b/packages/office-ui-fabric-react/src/components/FocusTrapZone/FocusTrapZone.types.ts index 4c9037b08a054..5ef3c478173da 100644 --- a/packages/office-ui-fabric-react/src/components/FocusTrapZone/FocusTrapZone.types.ts +++ b/packages/office-ui-fabric-react/src/components/FocusTrapZone/FocusTrapZone.types.ts @@ -53,4 +53,9 @@ export interface IFocusTrapZoneProps extends React.HTMLAttributes) => void; } From 4004ceb21f39954d049e351d704d9afb5f9d4c94 Mon Sep 17 00:00:00 2001 From: "REDMOND\\jspurlin" Date: Fri, 6 Apr 2018 18:29:30 -0700 Subject: [PATCH 2/2] rush change --- ...cusTrapZoneAddKeyDownHandler_2018-04-07-01-29.json | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 common/changes/office-ui-fabric-react/jspurlin-FocusTrapZoneAddKeyDownHandler_2018-04-07-01-29.json diff --git a/common/changes/office-ui-fabric-react/jspurlin-FocusTrapZoneAddKeyDownHandler_2018-04-07-01-29.json b/common/changes/office-ui-fabric-react/jspurlin-FocusTrapZoneAddKeyDownHandler_2018-04-07-01-29.json new file mode 100644 index 0000000000000..a9371c212df0c --- /dev/null +++ b/common/changes/office-ui-fabric-react/jspurlin-FocusTrapZoneAddKeyDownHandler_2018-04-07-01-29.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "office-ui-fabric-react", + "comment": "FocusTrapZone: Add KeyDown callback (in line with FocusZone)", + "type": "minor" + } + ], + "packageName": "office-ui-fabric-react", + "email": "jspurlin@microsoft.com" +} \ No newline at end of file