Remarks
Type Parameters
TDataItem
- The type of the data items in the source.
See Also
Developer's Guide
Members
Constructors
Creates a new source with the given nodeCreator.
nodeCreator.Parameters
- nodeCreator: NodeCreator<TDataItem>
- The creator that is used to create the nodes of this source.
- idProvider?: function(TDataItem, any): any
- An optional function that yields an id for each element of the associated data collection in the GraphBuilder.
Properties
Gets or sets a provider that yields an id for each element of the associated data collection in the GraphBuilder.
See Also
Developer's Guide
Gets or sets the NodeCreator<TDataItem> for this source, which can be used to adjust the creation behavior.
See Also
Developer's Guide
Gets or sets a provider that yields a parent id for each element of the associated data collection in the GraphBuilder.
See Also
Developer's Guide
Methods
addChildNodesSource
<TChildDataItem> (childDataProvider: function(TDataItem): any, childNodesSource: NodesSource<TChildDataItem>)Binds a collection of child data items to the given childNodesSource.
addChildNodesSource
<TChildDataItem> (childDataProvider: function(TDataItem): any, childNodesSource: NodesSource<TChildDataItem>)childNodesSource.Parameters
- childDataProvider: function(TDataItem): any
- A function that yields a child data item for each element of the associated data collection in the GraphBuilder.
- childNodesSource: NodesSource<TChildDataItem>
- The child node source to which the child data is bound.
addParentNodesSource
<TParentDataItem> (parentDataProvider: function(TDataItem): TParentDataItem, nodeSource: NodesSource<TParentDataItem>)Binds a provider for parent data items to the given nodeSource.
addParentNodesSource
<TParentDataItem> (parentDataProvider: function(TDataItem): TParentDataItem, nodeSource: NodesSource<TParentDataItem>)nodeSource.Parameters
- parentDataProvider: function(TDataItem): TParentDataItem
- A function that yields a parent data item for each element of the associated data collection in the GraphBuilder.
- nodeSource: NodesSource<TParentDataItem>
- The node source to which the parent data is bound.
createChildNodesSource
<TChildDataItem> (childDataProvider: function(TDataItem): any, idProvider?: function(TChildDataItem, any): any): NodesSource<TChildDataItem>Registers a collection of child data items functioning as child entities for the NodeCreator<TChildDataItem> of the returned NodesSource<TChildDataItem>.
createChildNodesSource
<TChildDataItem> (childDataProvider: function(TDataItem): any, idProvider?: function(TChildDataItem, any): any): NodesSource<TChildDataItem>This method can be used when nested groups and their contents are to be generated from hierarchically structured data.
const topLevelNodesSource = graphBuilder.createNodesSource(
topLevelNodesData,
(data) => data.nodeId,
)
const childNodeSource = topLevelNodesSource.createChildNodesSource(
(data) => data.children,
)
childNodeSource.addChildNodesSource(
(child) => child.children,
childNodeSource,
)The node defaults of this newly created source cascade with the defaults of this source.
Parameters
- childDataProvider: function(TDataItem): any
- A function that yields a child data item for each element of the associated data collection in the GraphBuilder.
- idProvider?: function(TChildDataItem, any): any
- An optional function that yields an id for each element of the associated data collection in the GraphBuilder.
Return Value
- NodesSource<TChildDataItem>
- A new NodesSource<TDataItem> instance that can be used to further customize the creation of child nodes, e.g. provide specific style defaults.
See Also
Developer's Guide
createParentNodesSource
<TParentDataItem> (parentDataProvider: function(TDataItem): TParentDataItem, idProvider?: function(TParentDataItem, any): any): NodesSource<TParentDataItem>Registers a collection of data items functioning as implicit parent entities for the NodeCreator<TParentDataItem> of the returned NodesSource<TParentDataItem>.
createParentNodesSource
<TParentDataItem> (parentDataProvider: function(TDataItem): TParentDataItem, idProvider?: function(TParentDataItem, any): any): NodesSource<TParentDataItem>This method can be used when a hierarchically structured graph should be created for this NodeSource without having to specify an explicit group node source.
const leafNodesSource = graphBuilder.createNodesSource(
leafNodesData,
(data) => data.nodeId,
)
const parentSource = leafNodesSource.createParentNodesSource(
(data) => data.parent,
)This method returns a new NodesSource<TDataItem> instance which can in turn serve as input for subsequent calls to createParentNodesSource, thus enabling the creation of multi-layered hierarchies.
Calling this method creates only the immediate parent group nodes for the items in this node source. To automatically create higher hierarchy levels, use addParentNodesSource on the newly created parent node source
const leafNodesSource = graphBuilder.createNodesSource(
leafNodesData,
(data) => data.nodeId,
)
const parentSource = leafNodesSource.createParentNodesSource(
(data) => data.parent,
)
//Enable recursive ascent for the new parent source
parentSource.addParentNodesSource((data) => data.parent, parentSource)The node defaults of this newly created source cascade with the defaults of this source.
Parameters
- parentDataProvider: function(TDataItem): TParentDataItem
- A function that yields a parent data item for each element of the associated data collection in the GraphBuilder.
- idProvider?: function(TParentDataItem, any): any
- An optional function that yields a unique id for each object returned by
parentDataProvider. This allows to create stable hierarchies even if the actual data items are not referentially equal.
Return Value
- NodesSource<TParentDataItem>
- A new NodesSource<TDataItem> instance that can be used to further customize the creation of group nodes, e.g. provide specific style defaults.
See Also
Developer's Guide
API
- addParentNodesSource
Optionally obtains the id for the parent or null given each data item for which a node is created.
null given each data item for which a node is created.Parameters
- dataItem: TDataItem
- A single data item from the associated data collection in the GraphBuilder.
Return Value
- any
- The id of another node or
nullin case the node should be put in the root of the hierarchy.