fix(nodewrap): unobserve resize event

This commit is contained in:
moklick
2019-09-13 18:00:12 +02:00
parent a992f6e4ff
commit dbf617a9b5
2 changed files with 18 additions and 8 deletions

14
dist/ReactGraph.js vendored
View File

@@ -34185,6 +34185,8 @@
return e.target.className && e.target.className.includes && (e.target.className.includes('source') || e.target.className.includes('target'));
};
var hasResizeObserver = !!window.ResizeObserver;
var getHandleBounds = function getHandleBounds(sel, nodeElement, parentBounds, k) {
var handles = nodeElement.querySelectorAll(sel);
@@ -34346,9 +34348,10 @@
React.useEffect(function () {
updateNode();
var resizeObserver = null;
if (ResizeObserver) {
var _resizeObserver = new ResizeObserver(function (entries) {
if (hasResizeObserver) {
resizeObserver = new ResizeObserver(function (entries) {
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
@@ -34373,12 +34376,13 @@
}
}
});
_resizeObserver.observe(nodeElement.current);
resizeObserver.observe(nodeElement.current);
}
return function () {
resizeObserver.unobserve(nodeElement.current);
if (hasResizeObserver && resizeObserver) {
resizeObserver.unobserve(nodeElement.current);
}
};
}, []);
return React__default.createElement(reactDraggable.DraggableCore, {

View File

@@ -12,6 +12,8 @@ const isHandle = e => (
(e.target.className.includes('source') || e.target.className.includes('target'))
);
const hasResizeObserver = !!window.ResizeObserver;
const getHandleBounds = (sel, nodeElement, parentBounds, k) => {
const handles = nodeElement.querySelectorAll(sel);
@@ -112,8 +114,10 @@ export default NodeComponent => {
useEffect(() => {
updateNode();
if (ResizeObserver) {
const resizeObserver = new ResizeObserver(entries => {
let resizeObserver = null;
if (hasResizeObserver) {
resizeObserver = new ResizeObserver(entries => {
for (let entry of entries) {
updateNode();
}
@@ -123,7 +127,9 @@ export default NodeComponent => {
}
return () => {
resizeObserver.unobserve(nodeElement.current);
if (hasResizeObserver && resizeObserver) {
resizeObserver.unobserve(nodeElement.current);
}
}
}, []);