Addressed flow issues

This commit is contained in:
Jori Lallo
2017-09-24 14:25:14 -07:00
parent 4ee532d65b
commit ba112f250a
3 changed files with 16 additions and 12 deletions

View File

@ -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) => {

View File

@ -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} />;
}

View File

@ -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);