diff options
Diffstat (limited to 'app/javascript/mastodon/features/compose/components/privacy_dropdown.js')
-rw-r--r-- | app/javascript/mastodon/features/compose/components/privacy_dropdown.js | 33 |
1 files changed, 13 insertions, 20 deletions
diff --git a/app/javascript/mastodon/features/compose/components/privacy_dropdown.js b/app/javascript/mastodon/features/compose/components/privacy_dropdown.js index b77d55f4d..22bbe68ad 100644 --- a/app/javascript/mastodon/features/compose/components/privacy_dropdown.js +++ b/app/javascript/mastodon/features/compose/components/privacy_dropdown.js @@ -22,28 +22,27 @@ const iconStyle = { class PrivacyDropdown extends React.PureComponent { - constructor (props, context) { - super(props, context); - this.state = { - open: false - }; - this.handleToggle = this.handleToggle.bind(this); - this.handleClick = this.handleClick.bind(this); - this.onGlobalClick = this.onGlobalClick.bind(this); - this.setRef = this.setRef.bind(this); - } + static propTypes = { + value: PropTypes.string.isRequired, + onChange: PropTypes.func.isRequired, + intl: PropTypes.object.isRequired + }; + + state = { + open: false + }; - handleToggle () { + handleToggle = () => { this.setState({ open: !this.state.open }); } - handleClick (value, e) { + handleClick = (value, e) => { e.preventDefault(); this.setState({ open: false }); this.props.onChange(value); } - onGlobalClick (e) { + onGlobalClick = (e) => { if (e.target !== this.node && !this.node.contains(e.target) && this.state.open) { this.setState({ open: false }); } @@ -59,7 +58,7 @@ class PrivacyDropdown extends React.PureComponent { window.removeEventListener('touchstart', this.onGlobalClick); } - setRef (c) { + setRef = (c) => { this.node = c; } @@ -96,10 +95,4 @@ class PrivacyDropdown extends React.PureComponent { } -PrivacyDropdown.propTypes = { - value: PropTypes.string.isRequired, - onChange: PropTypes.func.isRequired, - intl: PropTypes.object.isRequired -}; - export default injectIntl(PrivacyDropdown); |