refactor(edgeWrapper): cleanup

This commit is contained in:
moklick
2019-08-19 16:28:46 +02:00
parent 25991c80a9
commit 4a79beac43
2 changed files with 18 additions and 19 deletions

View File

@@ -5,32 +5,33 @@ import { setSelectedElements } from '../../state/actions';
import { isInputNode } from '../../utils';
export default EdgeComponent => {
const WrappedEdge = memo((props) => {
const EdgeWrapper = memo((props) => {
const {
source, target, animated, type,
dispatch, selected, onClick
} = props;
const edgeClasses = cx('react-graph__edge', { selected, animated: animated });
const edgeClasses = cx('react-graph__edge', { selected, animated });
const onEdgeClick = (evt) => {
if (isInputNode(evt)) {
return false;
}
dispatch(setSelectedElements({ source, target }));
onClick({ source, target, type });
};
return (
<g
className={edgeClasses}
onClick={(e) => {
if (isInputNode(e)) {
return false;
}
dispatch(setSelectedElements({ source, target }));
onClick({ source, target, type });
}}
onClick={onEdgeClick}
>
<EdgeComponent {...props} />
</g>
);
});
WrappedEdge.displayName = 'Wrapped Edge';
WrappedEdge.whyDidYouRender = false;
EdgeWrapper.displayName = 'EdgeWrapper';
EdgeWrapper.whyDidYouRender = false;
return WrappedEdge;
return EdgeWrapper;
};

View File

@@ -2,9 +2,7 @@ export const isFunction = obj => !!(obj && obj.constructor && obj.call && obj.ap
export const isInputNode = e => e && e.target && ['INPUT', 'SELECT', 'TEXTAREA'].includes(e.target.nodeName);
export const getDimensions = (node) => {
return {
width: node.offsetWidth,
height: node.offsetHeight
};
};
export const getDimensions = (node = {}) => ({
width: node.offsetWidth,
height: node.offsetHeight
});