/*
- * ============LICENSE_START===================================================
- * SPARKY (AAI UI service)
- * ============================================================================
- * Copyright © 2017 AT&T Intellectual Property.
- * Copyright © 2017 Amdocs
- * All rights reserved.
- * ============================================================================
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017-2018 Amdocs
+ * ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- * ============LICENSE_END=====================================================
- *
- * ECOMP and OpenECOMP are trademarks
- * and service marks of AT&T Intellectual Property.
+ * ============LICENSE_END=========================================================
*/
-
import {drag} from 'd3-drag';
import {forceSimulation, forceLink, forceManyBody, forceCenter} from 'd3-force';
import {interpolateNumber} from 'd3-interpolate';
import {select, event as currentEvent} from 'd3-selection';
-import React, {Component, PropTypes} from 'react';
+import React, {Component} from 'react';
+import { PropTypes } from 'prop-types';
import {interval, now} from 'd3-timer';
import {zoom, zoomIdentity} from 'd3-zoom';
import NodeConstants from './NodeVisualElementConstants.js';
this.simulation.on('end', this.simulationComplete);
this.simulation.stop();
+
+ function myDelta() {
+ var deltaY = 2.5;
+ var deltaMode = 1;
+ if(currentEvent.deltaY < 0 ) {
+ deltaY = -2.5;
+ }
+ return -deltaY * (deltaMode ? 120 : 1) / 1500;
+ }
+
+
this.svgZoom =
- zoom().scaleExtent([NodeConstants.SCALE_EXTENT_MIN, NodeConstants.SACEL_EXTENT_MAX]);
+ zoom().scaleExtent([NodeConstants.SCALE_EXTENT_MIN, NodeConstants.SACEL_EXTENT_MAX]).wheelDelta(myDelta);;
this.svgZoom.clickDistance(2);
this.nodeDrag = drag().clickDistance(2);
} else {
this.hideButton = false;
}
+
if (props.graphData) {
if (props.graphData.graphCounter !== -1) {
this.startSimulation(props.graphData, props.currentlySelectedNodeView, props.dataOverlayButtons);
}
}
-
componentDidUpdate(prevProps) {
let hasNewGraphDataRendered = (prevProps.graphData.graphCounter ===
this.props.graphData.graphCounter);
let nodes = select('.fdgMainSvg').select('.fdgMainG')
.selectAll('.aai-entity-node')
.data(this.nodeDatum);
+
nodes.on('click', (d) => {
this.nodeSelected(d);
});
NodeConstants.SELECTED_SEARCHED_NODE_CLASS_NAME) {
this.nodeButtonDatum[0].data = nodeProps.meta;
+
if(this.nodeButtonDatum.length > 1) {
this.nodeButtonDatum[1].data = nodeProps.meta;
nodeProps = {
newNodes.push(this.nodeFactory.buildNode(nodeProps.meta.nodeMeta.className, nodeProps, this.hideButton));
+
this.nodeIndexTracker.set(node.id, i);
});
}
startSimulation(graphData, currentView, overlayButtons) {
+
this.nodeFactory.setNodeMeta(graphData.graphMeta);
// Experiment with removing length = 0... might not be needed as new array
name: NodeConstants.ICON_ELLIPSES, isSelected: isNodeDetailsSelected, overlayName: overlayButtons[0]
});
-
if(overlayButtons.length > 1 ) {
let isSecondButtonSelected = (currentView === overlayButtons[1]);
return (datum.id === d.id);
});
if (!newlySelectedNode.empty()) {
-
if (newlySelectedNode.datum().nodeMeta.searchTarget) {
this.nodeBuffer[newlySelectedNode.datum().index].nodeMeta.className =
NodeConstants.SELECTED_SEARCHED_NODE_CLASS_NAME;