Fix dropdown toggle behavior - account dropdowns

feature/default_network_editable
sdtsui 7 years ago
parent 651fec5112
commit 24d375aaf1
  1. 18
      ui/app/components/account-dropdowns.js

@ -17,6 +17,8 @@ class AccountDropdowns extends Component {
accountSelectorActive: false, accountSelectorActive: false,
optionsMenuActive: false, optionsMenuActive: false,
} }
this.accountSelectorToggleClassName = 'fa-angle-down';
this.optionsMenuToggleClassName = 'fa-ellipsis-h';
} }
renderAccounts () { renderAccounts () {
@ -63,7 +65,13 @@ class AccountDropdowns extends Component {
maxHeight: '300px', maxHeight: '300px',
}, },
isOpen: accountSelectorActive, isOpen: accountSelectorActive,
onClickOutside: () => { this.setState({ accountSelectorActive: false }) }, onClickOutside: (event) => {
const { classList } = event.target
const isNotToggleElement = !classList.contains(this.accountSelectorToggleClassName)
if (accountSelectorActive && isNotToggleElement) {
this.setState({ accountSelectorActive: false })
}
},
}, },
[ [
...this.renderAccounts(), ...this.renderAccounts(),
@ -115,7 +123,13 @@ class AccountDropdowns extends Component {
minWidth: '180px', minWidth: '180px',
}, },
isOpen: optionsMenuActive, isOpen: optionsMenuActive,
onClickOutside: () => { this.setState({ optionsMenuActive: false }) }, onClickOutside: () => {
const { classList } = event.target
const isNotToggleElement = !classList.contains(this.optionsMenuToggleClassName)
if (optionsMenuActive && isNotToggleElement) {
this.setState({ optionsMenuActive: false })
}
},
}, },
[ [
h( h(

Loading…
Cancel
Save