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
+14 -13
View File
@@ -5,32 +5,33 @@ import { setSelectedElements } from '../../state/actions';
import { isInputNode } from '../../utils'; import { isInputNode } from '../../utils';
export default EdgeComponent => { export default EdgeComponent => {
const WrappedEdge = memo((props) => { const EdgeWrapper = memo((props) => {
const { const {
source, target, animated, type, source, target, animated, type,
dispatch, selected, onClick dispatch, selected, onClick
} = props; } = 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 ( return (
<g <g
className={edgeClasses} className={edgeClasses}
onClick={(e) => { onClick={onEdgeClick}
if (isInputNode(e)) {
return false;
}
dispatch(setSelectedElements({ source, target }));
onClick({ source, target, type });
}}
> >
<EdgeComponent {...props} /> <EdgeComponent {...props} />
</g> </g>
); );
}); });
WrappedEdge.displayName = 'Wrapped Edge'; EdgeWrapper.displayName = 'EdgeWrapper';
WrappedEdge.whyDidYouRender = false; EdgeWrapper.whyDidYouRender = false;
return WrappedEdge; return EdgeWrapper;
}; };
+4 -6
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 isInputNode = e => e && e.target && ['INPUT', 'SELECT', 'TEXTAREA'].includes(e.target.nodeName);
export const getDimensions = (node) => { export const getDimensions = (node = {}) => ({
return { width: node.offsetWidth,
width: node.offsetWidth, height: node.offsetHeight
height: node.offsetHeight });
};
};