Skip to content

Commit ee483a4

Browse files
committed
Linter fixes
1 parent fe060a8 commit ee483a4

File tree

1 file changed

+48
-46
lines changed

1 file changed

+48
-46
lines changed
Lines changed: 48 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
// Adapted from https://github.com/mlaursen/react-dd-menu/blob/master/src/js/DropdownMenu.js
22

3-
import React, { PureComponent, PropTypes } from 'react';
4-
import ReactDOM from 'react-dom';
5-
import CSSTransitionGroup from 'react-transition-group/CSSTransitionGroup';
6-
import classnames from 'classnames';
3+
/* eslint react/no-find-dom-node: 0 */
74

8-
const TAB = 9;
9-
const SPACEBAR = 32;
10-
const ALIGNMENTS = ['center', 'right', 'left'];
11-
const MENU_SIZES = ['sm', 'md', 'lg', 'xl'];
5+
import React, { PureComponent, PropTypes } from "react"
6+
import ReactDOM from "react-dom"
7+
import CSSTransitionGroup from "react-transition-group/CSSTransitionGroup"
8+
import classnames from "classnames"
9+
10+
const TAB = 9
11+
const SPACEBAR = 32
12+
const ALIGNMENTS = ["center", "right", "left"]
13+
const MENU_SIZES = ["sm", "md", "lg", "xl"]
1214

1315

1416
export default class DropdownMenu extends PureComponent {
@@ -34,7 +36,7 @@ export default class DropdownMenu extends PureComponent {
3436

3537
static defaultProps = {
3638
inverse: false,
37-
align: 'center',
39+
align: "center",
3840
animAlign: null,
3941
textAlign: null,
4042
menuAlign: null,
@@ -53,100 +55,100 @@ export default class DropdownMenu extends PureComponent {
5355

5456
componentDidUpdate(prevProps) {
5557
if(this.props.isOpen === prevProps.isOpen) {
56-
return;
58+
return
5759
}
5860

59-
const menuItems = ReactDOM.findDOMNode(this).querySelector('.dd-menu > .dd-menu-items');
61+
const menuItems = ReactDOM.findDOMNode(this).querySelector(".dd-menu > .dd-menu-items")
6062
if(this.props.isOpen && !prevProps.isOpen) {
61-
this.lastWindowClickEvent = this.handleClickOutside;
62-
document.addEventListener('click', this.lastWindowClickEvent);
63+
this.lastWindowClickEvent = this.handleClickOutside
64+
document.addEventListener("click", this.lastWindowClickEvent)
6365
if(this.props.closeOnInsideClick) {
64-
menuItems.addEventListener('click', this.props.close);
66+
menuItems.addEventListener("click", this.props.close)
6567
}
66-
menuItems.addEventListener('onkeydown', this.close);
68+
menuItems.addEventListener("onkeydown", this.close)
6769
} else if(!this.props.isOpen && prevProps.isOpen) {
68-
document.removeEventListener('click', this.lastWindowClickEvent);
70+
document.removeEventListener("click", this.lastWindowClickEvent)
6971
if(prevProps.closeOnInsideClick) {
70-
menuItems.removeEventListener('click', this.props.close);
72+
menuItems.removeEventListener("click", this.props.close)
7173
}
72-
menuItems.removeEventListener('onkeydown', this.close);
74+
menuItems.removeEventListener("onkeydown", this.close)
7375

74-
this.lastWindowClickEvent = null;
76+
this.lastWindowClickEvent = null
7577
}
7678
}
7779

7880
componentWillUnmount() {
7981
if(this.lastWindowClickEvent) {
80-
document.removeEventListener('click', this.lastWindowClickEvent);
82+
document.removeEventListener("click", this.lastWindowClickEvent)
8183
}
8284
}
8385

8486
close = (e) => {
85-
const key = e.which || e.keyCode;
87+
const key = e.which || e.keyCode
8688
if(key === SPACEBAR) {
87-
this.props.close();
88-
e.preventDefault();
89+
this.props.close()
90+
e.preventDefault()
8991
}
9092
};
9193

9294
handleClickOutside = (e) => {
9395
if(!this.props.closeOnOutsideClick) {
94-
return;
96+
return
9597
}
9698

97-
const node = ReactDOM.findDOMNode(this);
98-
let target = e.target;
99+
const node = ReactDOM.findDOMNode(this)
100+
let target = e.target
99101

100102
while(target.parentNode) {
101103
if(target === node) {
102-
return;
104+
return
103105
}
104106

105-
target = target.parentNode;
107+
target = target.parentNode
106108
}
107109

108-
this.props.close(e);
110+
this.props.close(e)
109111
};
110112

111113
handleKeyDown = (e) => {
112-
const key = e.which || e.keyCode;
114+
const key = e.which || e.keyCode
113115
if(key !== TAB) {
114-
return;
116+
return
115117
}
116118

117-
const items = ReactDOM.findDOMNode(this).querySelectorAll('button,a');
118-
const id = e.shiftKey ? 1 : items.length - 1;
119+
const items = ReactDOM.findDOMNode(this).querySelectorAll("button,a")
120+
const id = e.shiftKey ? 1 : items.length - 1
119121

120122
if(e.target === items[id]) {
121-
this.props.close(e);
123+
this.props.close(e)
122124
}
123125
};
124126

125127

126128
render() {
127-
const { menuAlign, align, inverse, size, className } = this.props;
129+
const { menuAlign, align, inverse, size, className } = this.props
128130

129131
const menuClassName = classnames(
130-
'dd-menu',
132+
"dd-menu",
131133
`dd-menu-${menuAlign || align}`,
132-
{ 'dd-menu-inverse': inverse },
134+
{ "dd-menu-inverse": inverse },
133135
className,
134-
size ? ('dd-menu-' + size) : null
135-
);
136+
size ? ("dd-menu-" + size) : null
137+
)
136138

137-
const { textAlign, upwards, animAlign, animate, enterTimeout, leaveTimeout } = this.props;
139+
const { textAlign, upwards, animAlign, animate, enterTimeout, leaveTimeout } = this.props
138140

139-
const listClassName = 'dd-items-' + (textAlign || align);
141+
const listClassName = "dd-items-" + (textAlign || align)
140142
const transitionProps = {
141-
transitionName: 'grow-from-' + (upwards ? 'up-' : '') + (animAlign || align),
142-
component: 'div',
143-
className: classnames('dd-menu-items', { 'dd-items-upwards': upwards }),
143+
transitionName: "grow-from-" + (upwards ? "up-" : "") + (animAlign || align),
144+
component: "div",
145+
className: classnames("dd-menu-items", { "dd-items-upwards": upwards }),
144146
onKeyDown: this.handleKeyDown,
145147
transitionEnter: animate,
146148
transitionLeave: animate,
147149
transitionEnterTimeout: enterTimeout,
148150
transitionLeaveTimeout: leaveTimeout,
149-
};
151+
}
150152

151153
return (
152154
<div className={menuClassName}>
@@ -157,6 +159,6 @@ export default class DropdownMenu extends PureComponent {
157159
}
158160
</CSSTransitionGroup>
159161
</div>
160-
);
162+
)
161163
}
162164
}

0 commit comments

Comments
 (0)