From 15d182c90f15fba22a4985f61aaa139fd4f5f933 Mon Sep 17 00:00:00 2001 From: fyodore82 Date: Thu, 30 Jan 2020 20:04:46 +1000 Subject: [PATCH] [Select] Right click opens select menu (#19434) --- .../material-ui/src/Select/Select.test.js | 24 +++++++++++++++++++ .../material-ui/src/Select/SelectInput.js | 3 +++ 2 files changed, 27 insertions(+) diff --git a/packages/material-ui/src/Select/Select.test.js b/packages/material-ui/src/Select/Select.test.js index 96ab71eb3562f3..e9abdf7930e9dc 100644 --- a/packages/material-ui/src/Select/Select.test.js +++ b/packages/material-ui/src/Select/Select.test.js @@ -671,6 +671,30 @@ describe(' + + None + + Ten + Twenty + Thirty + , + ); + + const trigger = getByRole('button'); + + // If clicked by the right/middle mouse button, no options list should be opened + fireEvent.mouseDown(trigger, { button: 1 }); + expect(queryByRole('listbox')).to.not.exist; + + fireEvent.mouseDown(trigger, { button: 2 }); + expect(queryByRole('listbox')).to.not.exist; + }); }); describe('prop: autoWidth', () => { diff --git a/packages/material-ui/src/Select/SelectInput.js b/packages/material-ui/src/Select/SelectInput.js index b809d3cbdc6c88..c4c230aa393e81 100644 --- a/packages/material-ui/src/Select/SelectInput.js +++ b/packages/material-ui/src/Select/SelectInput.js @@ -105,6 +105,9 @@ const SelectInput = React.forwardRef(function SelectInput(props, ref) { }; const handleMouseDown = event => { + if (event.button !== 0) + // ignore everything but left-click + return; // Hijack the default focus behavior. event.preventDefault(); displayNode.focus();