The common interface for items in an IGraph that may own ports.
Inheritance Hierarchy
IPortOwner
Implemented Interfaces
Remarks
Typically this interface is actively implemented by INode's in an IGraph. To get to the edge instances that connect to the ports, the edgesAt method can be used. Alternatively, for each IPort in ports, one can use the edgesAt method provided by IGraph. Like all items in an
IGraph
, this item supports the lookup method that can be used to query additional aspects of the item.Examples
// add a port to the owner
const port = graph.addPort(owner)
// the port's Owner property is set to the owner
console.log(port.owner === owner) // true
// the port is in its owner's Ports collection
console.log(owner.ports.includes(port)) // true
Type Details
- yFiles module
- view
See Also
Properties
Gets a collection of ports that are owned by this instance.
Remarks
This gives access to a read-only live view of the ports, i.e. the collection can change over time, as well as the ports contained in it. If a snapshot of the current state is needed, one needs to copy the collection.
To modify the port collection for instances of the default implementations that were created via the factory methods on IGraph, use addPort and remove.
Examples
// add a port at x,y with default style
const port1 = graph.addPortAt(node, new Point(x, y))
const portStyle = new ShapePortStyle({
shape: ShapeNodeShape.ELLIPSE,
renderSize: new Size(3, 3),
})
// add a port at x,y with the given style and tag (user object)
const port2 = graph.addPortAt(
node,
new Point(x, y),
portStyle,
userObject,
)
// add a port at the center of the node with default style
const port3 = graph.addPort(node, FreeNodePortLocationModel.CENTER)
// add a port at the center of the node with the given style and tag (user object)
const port4 = graph.addPort(
node,
FreeNodePortLocationModel.CENTER,
portStyle,
userObject,
)
for (const port of node.ports) {
// ...
}
graph.remove(port)
See Also
Gets or sets the tag object associated with this item instance.
Remarks
The tag is an optional user-defined object which can be used to store arbitrary data related to this item. The item itself just provides the storage for the object.
Property Value
The user object associated with this item instance.
Examples
owner.tag = newTag
const tag = owner.tag
See Also
Augmenting the tag property,
Nodes,
Edges,
Labels,
Ports,
Associating Data with Graph Elements,
Delegating Styles,
Using Data Binding in Node Styles,
Adding Custom Data for Serialization
Implements
Methods
Returns an instance that implements the given type or null
.
Remarks
Typically, this method will be called to obtain a different view or aspect of the current instance. This is quite similar to casting or using a super type or interface of this instance, but is not limited to inheritance or compile-time constraints. An instance implementing this method is not required to return non-
null
implementations for the types, nor does it have to return the same instance any time. Also, it depends on the type and context whether the instance returned stays up to date or needs to be re-obtained for further use.Type Parameters
- T
Parameters
options - Object
A map of options to pass to the method.
A map of options to pass to the method.
- type - Constructor<T>
- the type for which an instance shall be returned
Returns
- ↪T?
- an instance that is assignable to the type or
null