) => {
- if (options.keyCodes.indexOf(event.event.keyCode) !== -1) {
- const selectedEntities = this.engine.getModel().getSelectedEntities();
- if (selectedEntities.length > 0) {
- const confirm = window.confirm('Are you sure you want to delete?');
-
- if (confirm) {
- _.forEach(selectedEntities, model => {
- // only delete items which are not locked
- if (!model.isLocked()) {
- model.remove();
- }
- });
- this.engine.repaintCanvas();
- }
- }
- }
- }
- });
- }
-}
diff --git a/front-end/src/components/CustomNode/GraphView.js b/front-end/src/components/CustomNode/GraphView.js
index c3316de..48198eb 100644
--- a/front-end/src/components/CustomNode/GraphView.js
+++ b/front-end/src/components/CustomNode/GraphView.js
@@ -1,6 +1,6 @@
import React from 'react';
import { VegaLite } from 'react-vega';
-import { Roller } from 'react-spinners-css';
+import { Spinner } from 'react-bootstrap';
import { Modal, Button } from 'react-bootstrap';
import propTypes from 'prop-types';
import { VariableSizeGrid as Grid } from 'react-window';
@@ -123,7 +123,7 @@ export default class GraphView extends React.Component {
if (this.state.loading) {
// Print loading spinner
- body = ();
+ body = ();
} else if (this.state.data.length < 1) {
// Print message to load respective table/graph
if (this.props.node.options.node_type === "visualization") {
diff --git a/front-end/src/components/VPPort/VPPortModel.js b/front-end/src/components/VPPort/VPPortModel.js
index c72778d..668e514 100644
--- a/front-end/src/components/VPPort/VPPortModel.js
+++ b/front-end/src/components/VPPort/VPPortModel.js
@@ -9,6 +9,9 @@ export default class VPPortModel extends DefaultPortModel {
}
canLinkToPort(port) {
+ if (port == null) {
+ return false;
+ }
// if connecting to flow port, make sure this is a flow port
// and opposite of other's direction
if (port.options.name.includes("flow")) {