Colors the edges to connect the passed node to the start node. This is done by:
a) Finding the first (visible) common parent in the rendered hierarchy. NB: There are 2 types of connections: 1) Direct connections between node A and B, marked below as II, 2) Connections from any node A to its parent, A'. Marked below as I and III. For type 2 connection you need to know the inner-nested node, the direct parent, and the ultimate destination of the connection.
A_parent B_parent +--------+ +---------+ | | | | | +--+ I| II |III+--+ | | |A +---------->+B | | | +--+ | | +--+ | | | | | +--------+ +---------+
b) Highlighting the direct connection between the parents of A and B, called A_parent and B_parent, s.t. A_parent and B_parent are children of the mutual parent of A and B found in a), marked above as II.
c) Highlighting the connection from A to A_parent and B to B_parent (through all layers of parents between A and A_parent and B and B_parent, respectively). Marked above as I and III.
The instance of the node to use as destination node, B.
Map of startNodeParent names to information objects about the parent.
An array of all parents of the start node. This is required to find the child of the mutual parent which is a parent of the start node.
Creates map { [name: string] -> Node } of all visible / rendered parents of the nodes identified by the node names passed in.
The information on the rendered graph.
String array of node names.
Recursively find all op nodes contained by the node identified by the provided name.
The meta or op node of which the OpNode instances are required.
The rendered graph information object.
An array of OpNodeImpl instances.
Traverse through the parents of all nodes in the list and mark each encountered node as input-parent.
Map of input nodes, have to be visible/rendered when called.
Add an expand/collapse button to a group node
The group node selection.
Info about the node being rendered.
Fire node-* events when the selection is interacted.
When true, have the provided selection ignore all pointer events. Used for text labels inside of metanodes, which don't need interaction as their surrounding shape has interaction, and if given interaction would cause conflicts with the expand/collapse button.
Select or Create a 'g.nodes' group to a given sceneGroup and builds a number of 'g.node' groups inside the group.
Structure Pattern:
selection of the container
array of render node information to map
selection of the created nodeGroups
Select or append/insert shape for a node and assign renderNode as the shape's data.
Render node information.
class for the element.
Selection of the shape.
Returns if a node can be part of a grouped series
This function shortens text which would exceed the maximum pixel width of a label.
The text element containing the label's text as d3 selection.
The type of the node the label belongs to. If the node is an annotation, the value is -1. Label widths are defined in layout.PARAMS.nodeSize.{meta|op|...}.maxLabelWidth for nodes and layout.PARAMS.annotations.labelWidth for annotations.
The render information about the node, required to determine whether META nodes are collapsed or expanded.
Returns the SeriesNode that represents the series that the provided node is contained in (or itself if the provided node is itself a SeriesNode). Returns null if the node is not rendered as part of a series.
Returns the d3 context menu specification for the provided node.
Returns the fill color for the node given its state and the 'color by' option.
Returns the label for a button to toggle the group setting of the provided node.
Returns the name of the possible grouped series containing this node. Returns null if the node cannot be part of a grouped series of nodes.
Given a node's fill color/gradient, determine the stroke for the node.
Find the parent of the passed in op node which is expanded. This is done by going through all parents until the parent's parent is expanded, thus finding the first unexpanded parent which is rendered on the screen.
The graph info object used to gain access to the render info of the parents.
The node whose parent is to be found.
Node
Append svg text for label and assign data.
The render node information for the label.
Set label position of a given node group
Modify node and its subscene and its label's positional attributes
Modify node style by toggling class and assign attributes (only for things that can't be done in css).
Update or remove the subscene of a render group node depending on whether it is a expanded. If the node is not a group node, this method has no effect.
selection of the container
the render information for the node.
Selection of the subscene group, or null if node group does not have a subscene. Op nodes, bridge nodes and unexpanded group nodes will not have a subscene.
Translate the subscene of the given node group
Finds selected node and highlights all nodes which are providing direct or indirect input to the node and all edges connecting these nodes together and to the selected node.
Information on the rendered state of the graph.
Generated using TypeDoc
d3 scale used for sizing font of labels, used by labelBuild, initialized once by getLabelFontScale.