Addressed flow issues
This commit is contained in:
@ -28,14 +28,17 @@ type DropdownMenuProps = {
|
||||
handleClick = (ev: SyntheticEvent) => {
|
||||
ev.preventDefault();
|
||||
ev.stopPropagation();
|
||||
const currentTarget = ev.currentTarget;
|
||||
invariant(document.body, 'why you not here');
|
||||
|
||||
if (currentTarget instanceof HTMLDivElement) {
|
||||
const bodyRect = document.body.getBoundingClientRect();
|
||||
// $FlowIssue it's there
|
||||
const targetRect = ev.currentTarget.getBoundingClientRect();
|
||||
const targetRect = currentTarget.getBoundingClientRect();
|
||||
this.open = true;
|
||||
this.top = targetRect.bottom - bodyRect.top;
|
||||
this.right = bodyRect.width - targetRect.left - targetRect.width;
|
||||
if (this.props.onShow) this.props.onShow();
|
||||
}
|
||||
};
|
||||
|
||||
handleClose = (ev: SyntheticEvent) => {
|
||||
|
@ -9,7 +9,9 @@ const activeStyle = {
|
||||
fontWeight: fontWeight.semiBold,
|
||||
};
|
||||
|
||||
// $FlowFixMe :/
|
||||
// This is a hack for `styleComponent()` as NavLink fails to render without `to` prop
|
||||
const StyleableDiv = props => <div {...props} />;
|
||||
|
||||
const styleComponent = component => styled(component)`
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
@ -25,7 +27,7 @@ const styleComponent = component => styled(component)`
|
||||
`;
|
||||
|
||||
function SidebarLink(props: Object) {
|
||||
const Component = styleComponent(props.to ? NavLink : 'div');
|
||||
const Component = styleComponent(props.to ? NavLink : StyleableDiv);
|
||||
return <Component exact activeStyle={activeStyle} {...props} />;
|
||||
}
|
||||
|
||||
|
@ -11,8 +11,8 @@ import { DropdownMenu, DropdownMenuItem } from 'components/DropdownMenu';
|
||||
@observer class CollectionMenu extends Component {
|
||||
props: {
|
||||
label?: React$Element<any>,
|
||||
onShow?: Function,
|
||||
onClose?: Function,
|
||||
onShow?: () => void,
|
||||
onClose?: () => void,
|
||||
history: Object,
|
||||
ui: UiStore,
|
||||
collection: Collection,
|
||||
@ -49,7 +49,6 @@ import { DropdownMenu, DropdownMenuItem } from 'components/DropdownMenu';
|
||||
|
||||
const MoreIcon = styled(Icon)`
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
`;
|
||||
|
||||
export default inject('ui')(CollectionMenu);
|
||||
|
Reference in New Issue
Block a user