Usage
Typescript Import Format
//This namespace exports multiple static methods or members. To import
import * as DiagramUtils from "ojs/ojdiagram-utils";
//Now you can access the methods as DiagramUtils.methodName and so on
For additional information visit:
Methods
-
(static) getLayout<K1, K2, D1, D2>(obj) : {(context: DvtDiagramLayoutContext<K1, K2, D1, D2>) => void}
-
A function that generates the layout callback function for the ojDiagram component.
Parameters:
Name Type Description obj
Object JSON object that defines positions of nodes, links paths and label layouts. The object supports the following properties. - {DvtDiagramLayoutContext} - layout context for the diagram
- {DvtDiagramLayoutContextLink} - layout context for the current link
- {DvtDiagramLayoutContext} - layout context for the diagram
- {DvtDiagramLayoutContextLink} - layout context for the current link
- {DvtDiagramLayoutContext} - layout context for the diagram
- {DvtDiagramLayoutContextNode} - layout context for the current node
- {DvtDiagramLayoutContext} - layout context for the diagram
- {DvtDiagramLayoutContext} - layout context for the diagram
- Deprecated:
-
Since Description 13.0.0
Viewport has been deprecated, please use panZoomState property instead.
Properties:
Name Type Argument Description obj.linkDefaults
Object <optional>
An object that defines a function for generating a link path and a default layout for the link label Properties
Name Type Argument Description labelLayout
(context: DvtDiagramLayoutContext<K1, K2, D1, D2>, link: DvtDiagramLayoutContextLink<K1, K2, D2>) => DiagramUtils.LabelLayout <optional>
a function that defines default label layout for diagram links. The function will receive the following parameters: path
(context: DvtDiagramLayoutContext<K1, K2, D1, D2>, link: DvtDiagramLayoutContextLink<K1, K2, D2>) => string <optional>
a callback function that will be used to generate a link path. The function will receive the following parameters: obj.links
Array.<Object> <optional>
An array of objects with the following properties that describe a path for the diagram link and a layout for the link's label. Properties
Name Type Argument Description coordinateSpace
K1 <optional>
The coordinate container id for the link. If specified the link points will be applied relative to that container. If the value is not set, the link points are in the global coordinate space. id
K2 id for the link labelLayout
DiagramUtils.LabelLayout <optional>
An object that defines label layout for the link. See DiagramUtils.LabelLayout object. path
string <optional>
A string that represents an SVG path for the link. obj.nodeDefaults
Object <optional>
An object that defines the default layout of the node label Properties
Name Type Description labelLayout
DiagramUtils.LabelLayout | ((context: DvtDiagramLayoutContext<K1, K2, D1, D2>, node: DvtDiagramLayoutContextNode<K1, D1>) => DiagramUtils.LabelLayout) An object that defines default label layout for diagram nodes. See DiagramUtils.LabelLayout object. The object defines relative coordinates for label position. E.g. if all the node labels should be positioned with a certain offset relative to the node, a label position can be defined using an object in node defaults. Alternatively a label layout can be defined with a function. The function will receive the following parameters:
obj.nodes
Array.<Object> An array of objects with the following properties that describe a position for the diagram node and a layout for the node's label Properties
Name Type Argument Description id
K1 id for the node labelLayout
DiagramUtils.LabelLayout <optional>
An object that defines label layout for the node. See DiagramUtils.LabelLayout object. The object defines absolute coordinates for label position. x
number x-coordinate for the node y
number y-coordinate for the node obj.panZoomState
{zoom: number, centerX: number, centerY: number} | ((context: DvtDiagramLayoutContext<K1, K2, D1, D2>) => {zoom: number, centerY: number, centerX: number}) <optional>
An object with the following properties that defines diagram panZoom state. Alternatively a panZoom State can be defined with a function. The function will receive the following parameters:
Properties
Name Type Description centerX
number center x value centerY
number center y value zoom
number zoom value obj.viewport
{x: number, y: number, w: number, h: number} | ((context: DvtDiagramLayoutContext<K1, K2, D1, D2>) => {x: number, y: number, w: number, h: number}) <optional>
An object with the following properties that defines diagram viewport. Alternatively a viewport can be defined with a function. The function will receive the following parameters:
Properties
Name Type Description h
number height w
number width x
number x-coordinate y
number y-coordinate Returns:
layout callback function
- Type
- (context: DvtDiagramLayoutContext<K1, K2, D1, D2>) => void
Type Definitions
-
LabelLayout
-
The complete label layout object used to position node and link label
Properties:
Name Type Argument Description angle
number <optional>
rotation angle for the label halign
string <optional>
horizontal alignment for the label. Valid values are "left", "right" or "center" rotationPointX
number <optional>
x-coordinate for label rotation point rotationPointY
number <optional>
y-coordinate for label rotation point valign
string <optional>
vertical alignment for the label. Valid values are "top", "middle", "bottom" or "baseline". The default value is "top"
x
number x-coordinate for the label y
number y-coordinate for the label