Source: 3rdparty/dvt/doc/ojdiagram_options.js

Oracle® JavaScript Extension Toolkit (JET)
1.1.2

E65298-01

/**
 * Specifies the animation that is applied on data changes.
 * @expose
 * @name animationOnDataChange
 * @memberof oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "auto"
 * @ojvalue {string} "none"
 * @default <code class="prettyprint">"none"</code>
 */
/**
 * Specifies the animation that is shown on initial display.
 * @expose
 * @name animationOnDisplay
 * @memberof oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "auto"
 * @ojvalue {string} "none"
 * @default <code class="prettyprint">"none"</code>
 */
/**
 * An array containing the ids of the selected nodes and links.
 * @expose
 * @name selection
 * @memberof oj.ojDiagram
 * @instance
 * @type {Array.<string>}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Specifies the selection mode.
 * @expose
 * @name selectionMode
 * @memberof oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "single"
 * @ojvalue {string} "multiple"
 * @ojvalue {string} "none"
 * @default <code class="prettyprint">"none"</code>
 */
/**
 * Specifies whether component panning is allowed.
 * @expose
 * @name panning
 * @memberof oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "auto"
 * @ojvalue {string} "none"
 * @default <code class="prettyprint">"none"</code>
 */
/**
 *  A function that returns a custom tooltip. The function takes a dataContext argument, provided by the diagram, with the following properties: <ul> <li>parentElement: The tooltip element. The function can directly modify or append content to this element. </li> <li>id: The id of the hovered diagram object </li> <li>type : The type of the hovered diagram object - "link" or "node" </li> <li>label: The label of the hovered diagram object. </li> </ul> The function may return an HTML element, which will be appended to the tooltip, or a tooltip string. 
 * @expose
 * @name tooltip
 * @memberof oj.ojDiagram
 * @instance
 * @type {function(object)}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Specifies whether component zooming is allowed.
 * @expose
 * @name zooming
 * @memberof oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "auto"
 * @ojvalue {string} "none"
 * @default <code class="prettyprint">"none"</code>
 */
/**
 * Specifies the minimum zoom level for this diagram. If minZoom is greater than zero, it indicates the minimum point to which Diagram objects can be scaled. A value of 0.1 implies that the Diagram can be zoomed out until Nodes appear at one-tenth their natural size. By default, minZoom is set to zoom-to-fit level based on the currently visible Nodes and Links.
 * @expose
 * @name minZoom
 * @memberof oj.ojDiagram
 * @instance
 * @type {number}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Specifies the maximum zoom level for this diagram. This can be any number greater than zero which indicates the maximum point to which Diagram objects can be scaled. A value of 2.0 implies that the Diagram can be zoomed in until Nodes appear at twice their natural size. By default, maxZoom is 1.0.
 * @expose
 * @name maxZoom
 * @memberof oj.ojDiagram
 * @instance
 * @type {number}
 * @default <code class="prettyprint">1.0</code>
 */
/**
 * An array of category strings used for category filtering. Diagram nodes and links with a category in hiddenCategories will be filtered.
 * @expose
 * @name hiddenCategories
 * @memberof oj.ojDiagram
 * @instance
 * @type {Array.<string>}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Defines the behavior applied when hovering over diagram nodes and links.
 * @expose
 * @name hoverBehavior
 * @memberof oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "dim"
 * @ojvalue {string} "none"
 * @default <code class="prettyprint">"none"</code>
 */
/**
 * An array of category strings used for category highlighting. Diagram nodes and links with a category in highlightedCategories will be highlighted.
 * @expose
 * @name highlightedCategories
 * @memberof oj.ojDiagram
 * @instance
 * @type {Array.<string>}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The matching condition for the highlightedCategories option. By default, highlightMatch is 'all' and only items whose categories match all of the values specified in the highlightedCategories array will be highlighted. If highlightMatch is 'any', then items that match at least one of the highlightedCategories values will be highlighted.
 * @expose
 * @name highlightMatch
 * @memberof oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "any"
 * @ojvalue {string} "all"
 * @default <code class="prettyprint">"all"</code>
 */
/**
 * Defines node highlighting mode.
 * @expose
 * @name nodeHighlightMode
 * @memberof oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "nodeAndIncomingLinks"
 * @ojvalue {string} "nodeAndOutgoingLinks"
 * @ojvalue {string} "nodeAndLinks"
 * @ojvalue {string} "node"
 * @default <code class="prettyprint">"node"</code>
 */
/**
 * Defines link highlighting mode.
 * @expose
 * @name linkHighlightMode
 * @memberof oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "linkAndNodes"
 * @ojvalue {string} "link"
 * @default <code class="prettyprint">"link"</code>
 */
/**
 * A callback function - a custom renderer - that will be used for initial node rendering. The function takes a single argument, provided by the component, with the following properties: <ul> <li>component: A reference to the Diagram widget constructor.</li> <li>data: The data object for the node. </li> <li>parentElement: a parent group element that takes a custom SVG fragment as the node content. Modifications of the parentElement are not supported. </li> <li>state: An object that reflects the current state of the diagram node. The object has the following properties <ul> <li>hovered: hovered state, boolean.</li> <li>selected: selected state, boolean.</li> <li>focused: focused state, boolean.</li> <li>zoom: zoom state, number.</li> </ul> </li> <li>previousState: An object that reflects the previous state of the diagram node. The object has the following properties <ul> <li>hovered: hovered state, boolean.</li> <li>selected: selected state, boolean.</li> <li>focused: focused state, boolean.</li> <li>zoom: zoom state, number.</li> </ul> </li> <li>id: Node id. </li> <li>type: Object type = node. </li> <li>label: Node label. </li> </ul> The function should return one of the following: <ul> <li>an object - DOM element of the created or modified content (an SVG fragment as Diagram Node content).</li> <li>nothing : Indicates that the node content should be removed.</li> </ul> 
 * @expose
 * @name renderer
 * @memberof oj.ojDiagram
 * @instance
 * @type {function(object)}
 * @default <code class="prettyprint">null</code>
 */
/**
 * An optional callback function to update the node in response to changes in hover state. The function takes a single argument, provided by the component, with the following properties: <ul> <li>component: A reference to the Diagram widget constructor.</li> <li>data: The data object for the node. </li> <li>parentElement: A parent group element that takes a custom SVG fragment as the node content. Modifications of the parentElement are not supported. </li> <li>rootElement: An SVG fragment created as a node content. </li> <li>state: An object that reflects the current state of the diagram node. The object has the following properties <ul> <li>hovered: hovered state, boolean.</li> <li>selected: selected state, boolean.</li> <li>focused: focused state, boolean.</li> <li>zoom: zoom state, number.</li> </ul> </li> <li>previousState: An object that reflects the previous state of the diagram node. The object has the following properties <ul> <li>hovered: hovered state, boolean.</li> <li>selected: selected state, boolean.</li> <li>focused: focused state, boolean.</li> <li>zoom: zoom state, number.</li> </ul> </li> <li>id: Node id. </li> <li>type: Object type = node. </li> <li>label: Node label. </li> </ul> The function should return one of the following: <ul> <li>an object - DOM element of the created or modified content (an SVG fragment as Diagram Node content).</li> <li>nothing : Indicates that the node content should be removed.</li> </ul> 
 * @expose
 * @name hoverRenderer
 * @memberof oj.ojDiagram
 * @instance
 * @type {function(object)}
 * @default <code class="prettyprint">null</code>
 */
/**
 * An optional callback function to update the node in response to changes in selection state. The function takes a single argument, provided by the component, with the following properties: <ul> <li>component: A reference to the Diagram widget constructor.</li> <li>data: The data object for the node. </li> <li>parentElement: A parent group element that takes a custom SVG fragment as the node content. Modifications of the parentElement are not supported. </li> <li>rootElement: An SVG fragment created as a node content. </li> <li>state: An object that reflects the current state of the diagram node. The object has the following properties <ul> <li>hovered: hovered state, boolean.</li> <li>selected: selected state, boolean.</li> <li>focused: focused state, boolean.</li> <li>zoom: zoom state, number.</li> </ul> </li> <li>previousState: An object that reflects the previous state of the diagram node. The object has the following properties <ul> <li>hovered: hovered state, boolean.</li> <li>selected: selected state, boolean.</li> <li>focused: focused state, boolean.</li> <li>zoom: zoom state, number.</li> </ul> </li> <li>id: Node id. </li> <li>type: Object type = node. </li> <li>label: Node label. </li> </ul> The function should return one of the following: <ul> <li>an object - DOM element of the created or modified content (an SVG fragment as Diagram Node content).</li> <li>nothing : Indicates that the node content should be removed.</li> </ul> 
 * @expose
 * @name selectionRenderer
 * @memberof oj.ojDiagram
 * @instance
 * @type {function(object)}
 * @default <code class="prettyprint">null</code>
 */
/**
 * An optional callback function to update the node in response to changes in keyboard focus state. The function takes a single argument, provided by the component, with the following properties: <ul> <li>component: A reference to the Diagram widget constructor.</li> <li>data: The data object for the node. </li> <li>parentElement: A parent group element that takes a custom SVG fragment as the node content. Modifications of the parentElement are not supported. </li> <li>rootElement: An SVG fragment created as a node content. </li> <li>state: An object that reflects the current state of the diagram node. The object has the following properties <ul> <li>hovered: hovered state, boolean.</li> <li>selected: selected state, boolean.</li> <li>focused: focused state, boolean.</li> <li>zoom: zoom state, number.</li> </ul> </li> <li>previousState: An object that reflects the previous state of the diagram node. The object has the following properties <ul> <li>hovered: hovered state, boolean.</li> <li>selected: selected state, boolean.</li> <li>focused: focused state, boolean.</li> <li>zoom: zoom state, number.</li> </ul> </li> <li>id: Node id. </li> <li>type: Object type = node. </li> <li>label: Node label. </li> </ul> The function should return one of the following: <ul> <li>an object - DOM element of the created or modified content (an SVG fragment as Diagram Node content).</li> <li>nothing : Indicates that the node content should be removed.</li> </ul> 
 * @expose
 * @name focusRenderer
 * @memberof oj.ojDiagram
 * @instance
 * @type {function(object)}
 * @default <code class="prettyprint">null</code>
 */
/**
 * An optional callback function to update the node in response to changes in zoom level. The function takes a single argument, provided by the component, with the following properties: <ul> <li>component: A reference to the Diagram widget constructor.</li> <li>data: The data object for the node. </li> <li>parentElement: A parent group element that takes a custom SVG fragment as the node content. Modifications of the parentElement are not supported. </li> <li>rootElement: An SVG fragment created as a node content. </li> <li>state: An object that reflects the current state of the diagram node. The object has the following properties <ul> <li>hovered: hovered state, boolean.</li> <li>selected: selected state, boolean.</li> <li>focused: focused state, boolean.</li> <li>zoom: zoom state, number.</li> </ul> </li> <li>previousState: An object that reflects the previous state of the diagram node. The object has the following properties <ul> <li>hovered: hovered state, boolean.</li> <li>selected: selected state, boolean.</li> <li>focused: focused state, boolean.</li> <li>zoom: zoom state, number.</li> </ul> </li> <li>id: Node id. </li> <li>type: Object type = node. </li> <li>label: Node label. </li> </ul> The function should return one of the following: <ul> <li>an object - DOM element of the created or modified content (an SVG fragment as Diagram Node content).</li> <li>nothing : Indicates that the node content should be removed.</li> </ul> 
 * @expose
 * @name zoomRenderer
 * @memberof oj.ojDiagram
 * @instance
 * @type {function(object)}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The knockout template name to use for stamping an SVG fragment or other data visualization as a diagram node. Only SVG fragments or data visualizations are currently supported. 
 * @expose
 * @name template
 * @memberof oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * An array of objects with the following properties that defines the data for the nodes.
 * @expose
 * @name nodes
 * @memberof oj.ojDiagram
 * @instance
 * @type {Array.<Object>}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The id of this node.
 * @expose
 * @name nodes[].id
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Specifies whether or not the node will be selectable.
 * @expose
 * @name nodes[].selectable
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "off"
 * @ojvalue {string} "auto"
 * @default <code class="prettyprint">"auto"</code>
 */
/**
 * The description of the node. This is used for accessibility and also for customizing the tooltip text.
 * @expose
 * @name nodes[].shortDesc
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Primary label for the node.
 * @expose
 * @name nodes[].label
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The CSS style string defining the style of the primary label.
 * @expose
 * @name nodes[].labelStyle
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The CSS style string defining the style of the node background.
 * @expose
 * @name nodes[].backgroundStyle
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * An optional array of additional category strings corresponding to this data item. This enables highlighting and filtering of individual data items through interactions with other components. Defaults to value of node id if unspecified.
 * @expose
 * @name nodes[].categories
 * @memberof! oj.ojDiagram
 * @instance
 * @type {Array.<string>}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Specifies an icon to be used as a graphical element for the node
 * @expose
 * @name nodes[].icon
 * @memberof! oj.ojDiagram
 * @instance
 * @type {object}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Horizontal alignment for the icon relative to the given background.
 * @expose
 * @name nodes[].icon.halign
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "left"
 * @ojvalue {string} "right"
 * @ojvalue {string} "center"
 * @default <code class="prettyprint">"center"</code>
 */
/**
 * Vertical alignment for the icon relative to the given background.
 * @expose
 * @name nodes[].icon.valign
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "top"
 * @ojvalue {string} "bottom"
 * @ojvalue {string} "center"
 * @default <code class="prettyprint">"center"</code>
 */
/**
 * The x coordinate of the icon top left corner relative to the given background - pixels or %. The option takes precedence over halign option
 * @expose
 * @name nodes[].icon.positionX
 * @memberof! oj.ojDiagram
 * @instance
 * @type {number|string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The y coordinate of the icon top left corner relative to the given background - pixels or %. The option takes precedence over valign option
 * @expose
 * @name nodes[].icon.positionY
 * @memberof! oj.ojDiagram
 * @instance
 * @type {number|string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The border color of this icon.
 * @expose
 * @name nodes[].icon.borderColor
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The border width in pixels.
 * @expose
 * @name nodes[].icon.borderWidth
 * @memberof! oj.ojDiagram
 * @instance
 * @type {number}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The fill color of this icon.
 * @expose
 * @name nodes[].icon.color
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The fill pattern of this icon.
 * @expose
 * @name nodes[].icon.pattern
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "smallChecker"
 * @ojvalue {string} "smallCrosshatch"
 * @ojvalue {string} "smallDiagonalLeft"
 * @ojvalue {string} "smallDiagonalRight"
 * @ojvalue {string} "smallDiamond"
 * @ojvalue {string} "smallTriangle"
 * @ojvalue {string} "largeChecker"
 * @ojvalue {string} "largeCrosshatch"
 * @ojvalue {string} "largeDiagonalLeft"
 * @ojvalue {string} "largeDiagonalRight"
 * @ojvalue {string} "largeDiamond"
 * @ojvalue {string} "largeTriangle"
 * @ojvalue {string} "none"
 * @default <code class="prettyprint">"none"</code>
 */
/**
 * The opacity of this icon.
 * @expose
 * @name nodes[].icon.opacity
 * @memberof! oj.ojDiagram
 * @instance
 * @type {number}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The shape of this icon.
 * @expose
 * @name nodes[].icon.shape
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "square"
 * @ojvalue {string} "plus"
 * @ojvalue {string} "diamond"
 * @ojvalue {string} "triangleUp"
 * @ojvalue {string} "triangleDown"
 * @ojvalue {string} "human"
 * @ojvalue {string} "rectangle"
 * @ojvalue {string} "star"
 * @ojvalue {string} "circle"
 * @default <code class="prettyprint">"circle"</code>
 */
/**
 * The URI of the node image.
 * @expose
 * @name nodes[].icon.source
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The optional URI of the node hover image. If not defined, the source image will be used.
 * @expose
 * @name nodes[].icon.sourceHover
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The optional URI of the selected image on hover. If not defined, the sourceSelected image will be used. If the sourceSelected image is not defined, the source image will be used.
 * @expose
 * @name nodes[].icon.sourceHoverSelected
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The optional URI of the selected image. If not defined, the source image will be used.
 * @expose
 * @name nodes[].icon.sourceSelected
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The width of this icon.
 * @expose
 * @name nodes[].icon.width
 * @memberof! oj.ojDiagram
 * @instance
 * @type {number}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The height of this icon.
 * @expose
 * @name nodes[].icon.height
 * @memberof! oj.ojDiagram
 * @instance
 * @type {number}
 * @default <code class="prettyprint">null</code>
 */
/**
 * An array of objects with the following properties that defines the data for the links.
 * @expose
 * @name links
 * @memberof oj.ojDiagram
 * @instance
 * @type {Array.<Object>}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The id of this link.
 * @expose
 * @name links[].id
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Specifies whether or not the link will be selectable.
 * @expose
 * @name links[].selectable
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "off"
 * @ojvalue {string} "auto"
 * @default <code class="prettyprint">"auto"</code>
 */
/**
 * The description of the link. This is used for accessibility and also for customizing the tooltip text.
 * @expose
 * @name links[].shortDesc
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Primary label for the link.
 * @expose
 * @name links[].label
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The CSS style string defining the style of the primary label.
 * @expose
 * @name links[].labelStyle
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Link color.
 * @expose
 * @name links[].color
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Link style.
 * @expose
 * @name links[].style
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "dash"
 * @ojvalue {string} "dot"
 * @ojvalue {string} "dashDot"
 * @ojvalue {string} "solid"
 * @default <code class="prettyprint">"solid"</code>
 */
/**
 * Link width in pixels.
 * @expose
 * @name links[].width
 * @memberof! oj.ojDiagram
 * @instance
 * @type {number}
 * @default <code class="prettyprint">1.0</code>
 */
/**
 * The id of the start node.
 * @expose
 * @name links[].startNode
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The id of the end node.
 * @expose
 * @name links[].endNode
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Specifies the type of start connector on the link.
 * @expose
 * @name links[].startConnectorType
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "arrowOpen"
 * @ojvalue {string} "arrow"
 * @ojvalue {string} "arrowConcave"
 * @ojvalue {string} "circle"
 * @ojvalue {string} "rectangle"
 * @ojvalue {string} "rectangleRounded"
 * @ojvalue {string} "none"
 * @default <code class="prettyprint">"none"</code>
 */
/**
 * Specifies the type of end connector on the link.
 * @expose
 * @name links[].endConnectorType
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "arrowOpen"
 * @ojvalue {string} "arrow"
 * @ojvalue {string} "arrowConcave"
 * @ojvalue {string} "circle"
 * @ojvalue {string} "rectangle"
 * @ojvalue {string} "rectangleRounded"
 * @ojvalue {string} "none"
 * @default <code class="prettyprint">"none"</code>
 */
/**
 * An optional array of additional category strings corresponding to this data item. This enables highlighting and filtering of individual data items through interactions with other components. Defaults to value of link id if unspecified.
 * @expose
 * @name links[].categories
 * @memberof! oj.ojDiagram
 * @instance
 * @type {Array.<string>}
 * @default <code class="prettyprint">null</code>
 */
/**
 * An object defining the style defaults for this diagram.
 * @expose
 * @name styleDefaults
 * @memberof oj.ojDiagram
 * @instance
 * @type {object}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The duration of the animations in milliseconds. Also accepts CSS strings such as 0.5s and 500ms.
 * @expose
 * @name styleDefaults.animationDuration
 * @memberof! oj.ojDiagram
 * @instance
 * @type {number}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Specifies initial hover delay in ms for highlighting data items. Also accepts CSS strings such as 1s and 1000ms.
 * @expose
 * @name styleDefaults.hoverBehaviorDelay
 * @memberof! oj.ojDiagram
 * @instance
 * @type {number|string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Default node styles
 * @expose
 * @name styleDefaults.nodeDefaults
 * @memberof! oj.ojDiagram
 * @instance
 * @type {object}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The CSS style string defining the style of the primary label.
 * @expose
 * @name styleDefaults.nodeDefaults.labelStyle
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The CSS style string defining the style of the node background.
 * @expose
 * @name styleDefaults.nodeDefaults.backgroundStyle
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Default style for the node icon.
 * @expose
 * @name styleDefaults.nodeDefaults.icon
 * @memberof! oj.ojDiagram
 * @instance
 * @type {object}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Default horizontal alignment for the icon relative to the given background.
 * @expose
 * @name styleDefaults.nodeDefaults.icon.halign
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "left"
 * @ojvalue {string} "right"
 * @ojvalue {string} "center"
 * @default <code class="prettyprint">"center"</code>
 */
/**
 * Default vertical alignment for the icon relative to the given background.
 * @expose
 * @name styleDefaults.nodeDefaults.icon.valign
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "top"
 * @ojvalue {string} "bottom"
 * @ojvalue {string} "center"
 * @default <code class="prettyprint">"center"</code>
 */
/**
 * Default border color of the icon.
 * @expose
 * @name styleDefaults.nodeDefaults.icon.borderColor
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Default border width of the icon in pixels.
 * @expose
 * @name styleDefaults.nodeDefaults.icon.borderWidth
 * @memberof! oj.ojDiagram
 * @instance
 * @type {number}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Default color of the icon.
 * @expose
 * @name styleDefaults.nodeDefaults.icon.color
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Default fill pattern of the icon.
 * @expose
 * @name styleDefaults.nodeDefaults.icon.pattern
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "smallChecker"
 * @ojvalue {string} "smallCrosshatch"
 * @ojvalue {string} "smallDiagonalLeft"
 * @ojvalue {string} "smallDiagonalRight"
 * @ojvalue {string} "smallDiamond"
 * @ojvalue {string} "smallTriangle"
 * @ojvalue {string} "largeChecker"
 * @ojvalue {string} "largeCrosshatch"
 * @ojvalue {string} "largeDiagonalLeft"
 * @ojvalue {string} "largeDiagonalRight"
 * @ojvalue {string} "largeDiamond"
 * @ojvalue {string} "largeTriangle"
 * @ojvalue {string} "none"
 * @default <code class="prettyprint">"none"</code>
 */
/**
 * Default shape of the icon.
 * @expose
 * @name styleDefaults.nodeDefaults.icon.shape
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "square"
 * @ojvalue {string} "plus"
 * @ojvalue {string} "diamond"
 * @ojvalue {string} "triangleUp"
 * @ojvalue {string} "triangleDown"
 * @ojvalue {string} "human"
 * @ojvalue {string} "rectangle"
 * @ojvalue {string} "star"
 * @ojvalue {string} "circle"
 * @default <code class="prettyprint">"circle"</code>
 */
/**
 * The URI of the node image
 * @expose
 * @name styleDefaults.nodeDefaults.icon.source
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The optional URI of the node hover image. If not defined, the source image will be used.
 * @expose
 * @name styleDefaults.nodeDefaults.icon.sourceHover
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The optional URI of the selected image on hover. If not defined, the sourceSelected image will be used. If the sourceSelected image is not defined, the source image will be used.
 * @expose
 * @name styleDefaults.nodeDefaults.icon.sourceHoverSelected
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * The optional URI of the selected image. If not defined, the source image will be used.
 * @expose
 * @name styleDefaults.nodeDefaults.icon.sourceSelected
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Default icon width.
 * @expose
 * @name styleDefaults.nodeDefaults.icon.width
 * @memberof! oj.ojDiagram
 * @instance
 * @type {number}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Default icon height.
 * @expose
 * @name styleDefaults.nodeDefaults.icon.height
 * @memberof! oj.ojDiagram
 * @instance
 * @type {number}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Default link styles
 * @expose
 * @name styleDefaults.linkDefaults
 * @memberof! oj.ojDiagram
 * @instance
 * @type {object}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Default link color.
 * @expose
 * @name styleDefaults.linkDefaults.color
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Default link style.
 * @expose
 * @name styleDefaults.linkDefaults.style
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "dash"
 * @ojvalue {string} "dot"
 * @ojvalue {string} "dashDot"
 * @ojvalue {string} "solid"
 * @default <code class="prettyprint">"solid"</code>
 */
/**
 * Default link width in pixels.
 * @expose
 * @name styleDefaults.linkDefaults.width
 * @memberof! oj.ojDiagram
 * @instance
 * @type {number}
 * @default <code class="prettyprint">1.0</code>
 */
/**
 * The CSS style string defining the style of the primary label.
 * @expose
 * @name styleDefaults.linkDefaults.labelStyle
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @default <code class="prettyprint">null</code>
 */
/**
 * Specifies the type of start connector on the link.
 * @expose
 * @name styleDefaults.linkDefaults.startConnectorType
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "arrowOpen"
 * @ojvalue {string} "arrow"
 * @ojvalue {string} "arrowConcave"
 * @ojvalue {string} "circle"
 * @ojvalue {string} "rectangle"
 * @ojvalue {string} "rectangleRounded"
 * @ojvalue {string} "none"
 * @default <code class="prettyprint">"none"</code>
 */
/**
 * Specifies the type of end connector on the link.
 * @expose
 * @name styleDefaults.linkDefaults.endConnectorType
 * @memberof! oj.ojDiagram
 * @instance
 * @type {string}
 * @ojvalue {string} "arrowOpen"
 * @ojvalue {string} "arrow"
 * @ojvalue {string} "arrowConcave"
 * @ojvalue {string} "circle"
 * @ojvalue {string} "rectangle"
 * @ojvalue {string} "rectangleRounded"
 * @ojvalue {string} "none"
 * @default <code class="prettyprint">"none"</code>
 */