feat(rg): removeElements helper
This commit is contained in:
10
dist/ReactGraph.js
vendored
10
dist/ReactGraph.js
vendored
@@ -242,6 +242,14 @@
|
||||
var isNode = function isNode(element) {
|
||||
return !element.source && !element.target;
|
||||
};
|
||||
var removeElements = function removeElements(elements, elementsToRemove) {
|
||||
var nodeIdsToRemove = elementsToRemove.filter(isNode).map(function (n) {
|
||||
return n.id;
|
||||
});
|
||||
return elements.filter(function (e) {
|
||||
return !nodeIdsToRemove.includes(e.id) && !nodeIdsToRemove.includes(e.target) && !nodeIdsToRemove.includes(e.source);
|
||||
});
|
||||
};
|
||||
var parseElements = function parseElements(e) {
|
||||
e.type = e.type || 'default';
|
||||
|
||||
@@ -33266,10 +33274,12 @@
|
||||
|
||||
var isNode$1 = isNode;
|
||||
var isEdge$1 = isEdge;
|
||||
var removeElements$1 = removeElements;
|
||||
|
||||
exports.default = ReactGraph;
|
||||
exports.isEdge = isEdge$1;
|
||||
exports.isNode = isNode$1;
|
||||
exports.removeElements = removeElements$1;
|
||||
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import React, { PureComponent } from 'react';
|
||||
|
||||
import Graph, { isEdge, isNode } from '../src';
|
||||
import Graph, { isEdge, removeElements } from '../src';
|
||||
// import Graph from '../dist/ReactGraph';
|
||||
|
||||
const SpecialNode = ({ data, onChange, styles }) => (
|
||||
@@ -57,12 +57,11 @@ class App extends PureComponent {
|
||||
}
|
||||
|
||||
onLoad(graphInstance) {
|
||||
this.graphInstance = graphInstance;
|
||||
console.log('graph loaded:', this.graphInstance);
|
||||
|
||||
window.rg = graphInstance;
|
||||
this.graphInstance.fitView();
|
||||
|
||||
this.graphInstance = graphInstance;
|
||||
this.graphInstance.fitView();
|
||||
this.setState({
|
||||
graphLoaded: true
|
||||
});
|
||||
@@ -98,17 +97,9 @@ class App extends PureComponent {
|
||||
this.graphInstance.zoomOut();
|
||||
}
|
||||
|
||||
onElementsRemove(elements) {
|
||||
const nodeIds = elements.filter(isNode).map(n => n.id);
|
||||
|
||||
onElementsRemove(elementsToRemove) {
|
||||
this.setState(prevState => ({
|
||||
elements: prevState.elements.filter(e => {
|
||||
return (
|
||||
!nodeIds.includes(e.id) &&
|
||||
!nodeIds.includes(e.target) &&
|
||||
!nodeIds.includes(e.source)
|
||||
);
|
||||
})
|
||||
elements: removeElements(prevState.elements, elementsToRemove)
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,19 @@
|
||||
export const isEdge = element => element.source && element.target;
|
||||
|
||||
export const isNode = element => !element.source && !element.target;
|
||||
|
||||
export const removeElements = (elements, elementsToRemove) => {
|
||||
const nodeIdsToRemove = elementsToRemove.filter(isNode).map(n => n.id);
|
||||
|
||||
return elements.filter(e => {
|
||||
return (
|
||||
!nodeIdsToRemove.includes(e.id) &&
|
||||
!nodeIdsToRemove.includes(e.target) &&
|
||||
!nodeIdsToRemove.includes(e.source)
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
export const parseElements = e => {
|
||||
e.type = e.type || 'default';
|
||||
|
||||
|
||||
11
src/index.js
11
src/index.js
@@ -1,7 +1,12 @@
|
||||
import ReactGraph from './ReactGraph';
|
||||
import { isNode as isNodeRG , isEdge as isEdgeRG } from './graph-utils';
|
||||
import {
|
||||
isNode as _isNode ,
|
||||
isEdge as _isEdge,
|
||||
removeElements as _removeElements
|
||||
} from './graph-utils';
|
||||
|
||||
export const isNode = isNodeRG;
|
||||
export const isEdge = isEdgeRG;
|
||||
export const isNode = _isNode;
|
||||
export const isEdge = _isEdge;
|
||||
export const removeElements = _removeElements;
|
||||
|
||||
export default ReactGraph;
|
||||
Reference in New Issue
Block a user