From 4a79beac439404f8301032e4daf73f5ba358f356 Mon Sep 17 00:00:00 2001 From: moklick Date: Mon, 19 Aug 2019 16:28:46 +0200 Subject: [PATCH] refactor(edgeWrapper): cleanup --- src/EdgeRenderer/EdgeTypes/wrapEdge.js | 27 +++++++++++++------------- src/utils.js | 10 ++++------ 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/src/EdgeRenderer/EdgeTypes/wrapEdge.js b/src/EdgeRenderer/EdgeTypes/wrapEdge.js index d89a5c02..7cc25650 100644 --- a/src/EdgeRenderer/EdgeTypes/wrapEdge.js +++ b/src/EdgeRenderer/EdgeTypes/wrapEdge.js @@ -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 ( { - if (isInputNode(e)) { - return false; - } - - dispatch(setSelectedElements({ source, target })); - onClick({ source, target, type }); - }} + onClick={onEdgeClick} > ); }); - WrappedEdge.displayName = 'Wrapped Edge'; - WrappedEdge.whyDidYouRender = false; + EdgeWrapper.displayName = 'EdgeWrapper'; + EdgeWrapper.whyDidYouRender = false; - return WrappedEdge; + return EdgeWrapper; }; diff --git a/src/utils.js b/src/utils.js index 191f8764..8af8fccd 100644 --- a/src/utils.js +++ b/src/utils.js @@ -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 +});