Oracle Fusion Middleware Data Visualization Tools Tag Reference for Oracle ADF Faces
12c (12.2.1.3)

E80087-01

<dvt:diagram>

dvt:diagram diagram diagram

UIComponent class: oracle.adf.view.faces.bi.component.diagram.UIDiagram
Component type: oracle.dss.adf.diagram.Diagram

Overview

Diagrams are used to display a set of Nodes and the Links between them. The nodes and links correspond to the elements and relationships to the data. The component supports pan and zoom operations, opening and closing container nodes, isolate and drilling of nodes, and rendering of ADF components within the nodes.

Nodes

Diagram nodes can support four zoom facets, label facets, background facets, and overlay facets. The "zoom100", "zoom75", "zoom50", and "zoom25" facets are used to specify the stamps for different zoom levels of the hierarchy. The "zoom100" facet is typically the most detailed, showing the most information, because the nodes are larger at 100% size. The "zoom25" facet is typically the least detailed, showing the least information, because the nodes are smaller at 25% size. The Diagram handles automatic switching between zoom facets. The label facet provides the ability to specify a label that can be independently positioned by the layout. The background facet provides a way to specify a background image or SVG file that will be scaled to the size of this Node. All node content will be stamped on top of this background. This facet supports <af:image> and <dvt:marker>. The overlay facet provides a way to place icons, alerts, and badges on top of the base node content. Multiple overlays can be specified for a single node. They can also be bound to actions.

Links

Diagram links can support startConnector, endConnector, and label facets. The startConnector and endConnector attributes provide a simple way to choose from the built-in connector styles. The startConnector and endConnector facets, which take precedence over any values specified via attribute, provide a way to specify custom connectors. These facets can contain a <dvt:marker> which indicates the SVG that should be used for the connector. The label attribute provides a simple way to specify a label for a link. The label facet, which takes precedence over any label specified via attribute, provides more ability to customize the label that is displayed. The label facet can support <af:outputText>, <af:outputFormatted>, <af:link>, or <dvt:marker> components as children. The layout algorithm is responsible for label positioning

Attribute Groups

The <dvt:attributeGroups> tag may apply to more than one component. A common example is to apply <dvt:attributeGroups> to elements in all defined zoom facets so that color stays consistent while zooming. In addition, <dvt:attributeGroups> may apply to more than just markers (e.g. to set the background-color of an <af:panelGroupLayout> ). Use of attribute groups is recommended, as they provide the information necessary to create a legend.

Stacks

Diagram will support declarative stacking of nodes via the "groupBy" attribute on the <dvt:diagramNodes> tag. This attribute should contain a space-separated list of IDs indicating which attributeGroups should take part in stacking.

Containers

Containers represent nested topologies and are treated as nodes. They can be linked to other nodes or containers, embedded in other containers, and have a different layout from other containers. When closed, containers look like a node and can have their content specified the same way

Layouts

The Diagram has no built-in layouts. Applications are expected to provide their own custom pluggable layouts. Layout registration can be done using the <dvt:clientLayout> tag which provides a mapping to an application-provided javascript method. No layouts are registered by default and at least one client layout must be registered.

Animations

Multiple types of animations are supported. Use the animationOnDisplay attribute to control the initial animation.

Legend

The Diagram can contain a <dvt:legend> element which can contain a combination of <dvt:legendGroup> and <dvt:legendSection>elements. This is used to display multiple sections of marker and label pairs. Each legend section element will referencethe IDs of the <dvt:attributeGroup> tags that they want to appear in the Legend which will be used to populate the Legend.

Overview Window

The Overview Window displays a simplified view of the Diagram to provide the user with context and navigation ability and can be added by adding <dvt:overviewWindow> tag as a child of <dvt:diagram>. The Diagram will automatically size and display the Overview Window. The Overview Window viewport can be dragged to pan the Diagram.

Context Menus

Context menus can be defined by using any of the context menu facets that are defined on the component. The "bodyContextMenu" facet specifies a context menu that is displayed upon right-click when nothing is selected. The "contextMenu" facet specifies a context menu that is displayed upon right-click when a single Node is selected. The "linkContextMenu" facet specifies a context menu that is displayed upon right-click when a single Link is selected. The "multiSelectContextMenu" facet specifies a context menu that is displayed upon right-click when multiple objects (Nodes or Links) are selected. Each facet supports only a single child component. Selection should be enabled when using the contextMenu, linkContextMenu, and multiSelectContextMenu facets.

Events

Type Phases Description
org.apache.myfaces.trinidad.event.AttributeChangeEvent Invoke Application,
Apply Request Values
Event delivered to describe an attribute change. Attribute change events are not delivered for any programmatic change to a property. They are only delivered when a renderer changes a property without the application's specific request. An example of an attribute change event might include the width of a column that supported client-side resizing.

Supported Facets

Name Description
bodyContextMenu popup component containing the context menu that will be shown on right click on any non-selectable object within the component. The af:popup must contain an af:menu to display the context menu. This facet supports only a single child component.
contextMenu popup component containing the context menu that will be shown on right click when a single node is selected within the component. The af:popup must contain an af:menu to display the context menu. This facet supports only a single child component.
linkContextMenu popup component containing the context menu that will be shown on right click when a single link is selected within the component. The af:popup must contain an af:menu to display the context menu. This facet supports only a single child component.
multiSelectContextMenu popup component containing the context menu that will be shown on right click when multiple data objects are selected. The af:popup must contain an af:menu to display the context menu. This facet supports only a single child component.

Attributes

Name Type Supports EL? Description
animationDuration int Yes Default Value: 500

Specifies the animation duration in milliseconds. The default value is 500. For data change animations with multiple stages, this attribute defines the duration of each stage. For example, if an animation contains two stages, the total duration will be two times this attribute's value.
animationOnDisplay String Yes Valid Values: none, alphaFade, initAnimElasticExplode, initAnimElasticExplodeGrowLinks, initAnimExplode, initAnimExplodeGrowLinks, initAnimGrowLinks, initAnimPop, initAnimPopGrowLinks
Default Value: none

Specifies the initial display animation for the Diagram

attributeChangeListener javax.el.MethodExpression Only EL a method reference to an attribute change listener. Attribute change events are not delivered for any programmatic change to a property. They are only delivered when a renderer changes a property without the application's specific request. An example of an attribute change events might include the width of a column that supported client-side resizing.
binding oracle.adf.view.faces.bi.component.diagram.UIDiagram Only EL

Specifies a binding reference to store a specific instance of UIDiagram from a backing bean. Set this attribute only to access code in a backing bean. For example, to reference a diagram component in the sample managed bean, use the following code: binding="#{sample.diagram}"

contentDelivery String Yes Valid Values: whenAvailable, lazy, immediate
Default Value: whenAvailable

Specifies whether to fetch content with page load or after page load.
controlPanelBehavior String Yes Valid Values: initCollapsed, initExpanded, hidden
Default Value: initCollapsed

Specifies the behavior of the control panel. Valid values are:

  • "initCollapsed" - initially collapsed (default)
  • "initExpanded" - initially expanded
  • "hidden" - hidden from view
dontPersist String[] Yes List of persistent attributes that are restricted from persisting to a registered "Persistent Change Manager". Persistent attributes would still persist to a session.
emptyText String Yes The text of the component when empty.
id String No Specifies the identifier for the component
inlineStyle String Yes Style of the outer element (enclosing div) of the component
layout String Yes

Specifies the top-level layout for the Diagram

maxZoom double Yes Default Value: 2.0

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 2.0.
minZoom double Yes Default Value: 0

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 in until Nodes appear at one-tenth their natural size. By default, minZoom is zero, indicating that the Diagram's minimum zoom level should be automatically adjusted to always allow the Diagram to scale to half of the size necessary to perform a zoom-to-fit based on the currently visible Nodes and Links.
panning String Yes Valid Values: auto, none
Default Value: auto

Specifies panning behavior. Valid values are:

  • "auto" - panning enabled with device specific gesture (default)
  • "none" - panning will be disabled
partialTriggers String[] Yes The IDs of the components that should trigger a partial update. This component will listen on the trigger components. If one of the trigger components receives an event that will cause it to update in some way, this component will request to be updated too.
persist String[] Yes List of persistent attributes that are persisting to a registered "Persistent Change Manager". Persistent attributes, by default, always persist to a session.
readOnly boolean Yes Default Value: true

Specifies whether this diagram is read-only (true by default)
rendered boolean Yes Default Value: true

Specifies whether the component is rendered.
rolloverBehavior String Yes Valid Values: none, dim
Default Value: none

Specifies the behavior when the mouse rolls over one object in an attributeGroup. Value valid are:

  • "none" - (default) No rollover behavior is enabled
  • "dim" - Dims all other objects in the attributeGroup when rollover occurs
selection String Yes Valid Values: none, single, multiple
Default Value: multiple

Specifies the selection mode. Valid values are:

  • "none" - no nodes can be selected
  • "single" - a single node can be selected
  • "multiple" - (default) multiple nodes can be selected
showRestore String Yes Valid Values: on, off
Default Value: on

Specifies whether to show the Restore button. Valid values are:

  • "on" - show Restore button (default)
  • "off" - hide Restore button
styleClass String Yes Sets a CSS style class to use for this component.
summary String Yes A summary of the component's purpose and structure for user agents rendering to non-visual media (e.g. screen readers).
zooming String Yes Valid Values: auto, none
Default Value: auto

Specifies zooming behavior. Valid values are:

  • "auto" - zooming enabled with device specific gesture (default)
  • "none" - zooming will be disabled