A module representing the public graph API.
- Source:
Methods
(static) alignFixedNodesToGrid(valueopt) → {boolean|Object}
If true, fixed nodes are aligned to the nearest grid position on the drag end event. You can pin nodes, when pinMode
is set to true or by delivering nodes with the attribute “fixed” set to true and “x” and “y” attributes for the position. If you have already fixed nodes on your graph you can also set this attribute at runtime and resume the force. Needs a resume
call to take into effect:
example.alignFixedNodesToGrid(true).resume();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
false |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) autoRefresh(valueopt) → {boolean|Object}
If true, the graph is refreshed automatically. This makes only sense when running as APEX plugin - here you have the SQL queries for loading new data with AJAX. If you run your code standalone, you have to provide new data as a parameter in the start or render method and therefore you have to use your own auto refresh logic. No render
or resume
call needed to take into effect:
example.autoRefresh(true);
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
false |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) center(durationopt) → {Object}
Helper/Command method - center the graph. No render
or resume
call needed to take into effect:
example.center();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
duration |
number
|
<optional> |
500 |
The transition duration in milliseconds. |
Returns:
- Type:
-
Object
The graph object for method chaining.
(static) centerPositionGraph() → {Array}
Helper/Command method - get the center position of the graph border box:
example.centerPositionGraph();
- Source:
Returns:
- Type:
-
Array
An array with the x and y positions: [x, y].
(static) centerPositionViewport() → {Array}
Helper/Command method - get the center position of the SVG viewport:
example.centerPositionViewport();
- Source:
Returns:
- Type:
-
Array
An array with the x and y positions: [x, y].
(static) charge(valueopt) → {number|Object}
Gets or sets the charge strength to the specified value. For more informations have a look at the D3 API Reference. Needs a render
call to take into effect:
example.charge(-200).render();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
-350 |
The new charge value. |
Returns:
- Type:
-
number
|Object
The current charge value if no parameter is given or the graph object for method chaining.
(static) chargeDistance(valueopt) → {number|Object}
Gets or sets the maximum distance over which charge forces are applied. For more informations have a look at the D3 API Reference. This option is not shown in the customize wizard. Needs a render
call to take into effect:
example.chargeDistance(200).render();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
Infinity |
The new charge distance value. |
Returns:
- Type:
-
number
|Object
The current charge distance value if no parameter is given or the graph object for method chaining.
(static) colorScheme(valueopt) → {string|Object}
Color scheme can be color20
, color20b
, color20c
, color10
or direct
. The first four use the color functions provided by D3, which return up to 20 colors for the given keywords for your data attribute COLORVALUE - this can be a text like a department name or a postal zip code. With the last option you can provide direct css color values in your data like blue or #123456. No render
or resume
call needed to take into effect:
example.colorScheme('color10');
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
string
|
<optional> |
color20 |
The new config value. |
Returns:
- Type:
-
string
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) customize(valueopt) → {boolean|Object}
Gets or sets the customize mode. If true, the customizing wizard is opened, otherwise closed.
example.customize(true);
- Source:
- See:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
value |
boolean
|
<optional> |
The new mode. |
Returns:
- Type:
-
boolean
|Object
The current mode if no parameter is given or the graph object for method chaining.
(static) data() → {Object}
Returns the current graph data as JSON object. This method expects no parameter and terminates the method chain. Example:
//JSON object
example.data();
//stringified JSON object
JSON.stringify(example.data());
- Source:
- See:
Returns:
- Type:
-
Object
The current graph data.
(static) debug(valueopt) → {boolean|Object}
Gets or sets the debug mode. When debug is enabled, there is a link rendered in the SVG to start the customize wizard and debug messages are written to the console.
example.debug(true);
- Source:
- See:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
value |
boolean
|
<optional> |
The new mode. |
Returns:
- Type:
-
boolean
|Object
The current mode if no parameter is given or the graph object for method chaining.
(static) domParentWidth() → {number}
Returns the current with of the graphs DOM parent. This method expects no parameter and terminates the method chain.
If the option useDomParentWidth is set to true, then this is the effective width of the graph - independent of the configured width.
example.domParentWidth();
- Source:
Returns:
- Type:
-
number
The current DOM parent width.
(static) dragMode(valueopt) → {boolean|Object}
If true, the nodes are draggable. No render
or resume
call needed to take into effect:
example.dragMode(false);
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
false |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) forceTimeLimit(valueopt) → {number|Object}
Gets or sets the maximum runtime in milliseconds for the force. This could be helpful when the graph is running too long with many node background images or when you want to stop the force early because all nodes are fixed and the running force is useless and costs only battery runtime.
example.forceTimeLimit(100);
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
Infinity |
The new force time limit value. |
Returns:
- Type:
-
number
|Object
The current force time limit value if no parameter is given or the graph object for method chaining.
(static) friction(valueopt) → {number|Object}
Gets or sets the friction coefficient to the specified value. For more informations have a look at the D3 API Reference. Needs a render
call to take into effect:
example.friction(0.4).render();
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
0.9 |
The new friction value. |
Returns:
- Type:
-
number
|Object
The current friction value if no parameter is given or the graph object for method chaining.
(static) gravity(valueopt) → {number|Object}
Gets or sets the gravitational strength to the specified numerical value. For more informations see the D3 API Reference. Needs a render
call to take into effect:
example.gravity(0.3).render();
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
0.1 |
The new gravity value. |
Returns:
- Type:
-
number
|Object
The current gravity value if no parameter is given or the graph object for method chaining.
(static) gridSize(valueopt) → {number|Object}
The grid size of the virtual grid for the option alignFixedNodesToGrid
. Needs a resume
call to take into effect:
example.gridSize(100).alignFixedNodesToGrid(true).resume();
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
50 |
The new config value. |
Returns:
- Type:
-
number
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) height(valueopt) → {number|Object}
The height of the chart:
example.height(300);
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
400 |
The new chart height value. |
Returns:
- Type:
-
number
|Object
The current chart height value if no parameter is given or the graph object for method chaining.
(static) inspect() → {Object}
Shows the current closure object, which holds all functions and data. This method expects no parameter and terminates the method chain:
example.inspect();
- Source:
- See:
Returns:
- Type:
-
Object
The graph's internal object with all functions and data.
(static) keepAspectRatioOnResize(valueopt) → {boolean|Object}
When the graph is resized, the initial aspect ratio (width and height on first render cycle) is respected:
//change config and resize height (width will change implicit based on initial aspect ratio)
example.keepAspectRatioOnResize(true).height(400);
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
false |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) labelDistance(valueopt) → {number|Object}
The distance of a label from the nodes outer border. Needs a render
call to take into effect:
example.labelDistance(18).render();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
12 |
The new config value. |
Returns:
- Type:
-
number
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) labelPlacementIterations(valueopt) → {number|Object}
The number of iterations for the preventLabelOverlappingOnForceEnd option - default is 250 - as higher the number, as higher the quality of the result. For details refer to the description of the simulated annealing function of the author Evan Wang. Needs a resume
call to take into effect:
example.preventLabelOverlappingOnForceEnd(true).resume();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
250 |
The new config value. |
Returns:
- Type:
-
number
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) labelsCircular(valueopt) → {boolean|Object}
If true, then the labels are rendered along a path around the nodes.
You can overwrite this attribute on node level by setting a attribute called LABELCIRCULAR on the node to true or false. As an example you can see this in the online demo on the node named KING.
ATTENTION: If you set the LABELCIRCULAR attribute on a specific or all nodes, then the global configuration parameter labelsCircular has no effect on these nodes.
Needs a render
call to take into effect:
example.labelsCircular(true).render();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
false |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) labelSplitCharacter(valueopt) → {string|Object}
If set to a value other then none
labels are splitted on this character. Needs wrapLabels
to be true and a render
call to take into effect. If both options labelSplitCharacter
and wrappedLabelWidth
are set, then wrappedLabelWidth
is ignored.
example.wrapLabels(true).labelSplitCharacter("^").render();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
string
|
<optional> |
"none" |
The new config value. |
Returns:
- Type:
-
string
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) lassoMode(valueopt) → {boolean|Object}
If true, you can select miltiple nodes with a lasso - think of a graphical multiselect :-). No render
or resume
call needed to take into effect:
example.lassoMode(true);
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
true |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) linkDistance(valueopt) → {number|Object}
The distance between nodes centers. Needs a render
call to take into effect:
example.linkDistance(60).render();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
80 |
The new link distance value. |
Returns:
- Type:
-
number
|Object
The current link distance value if no parameter is given or the graph object for method chaining.
(static) links() → {Array}
Returns the current graph links as D3 array for direct modifications. This method expects no parameter and terminates the method chain. See also the D3 docs. Example:
example.links().filter(function (link) {
return link.TOID === "7839";
}).style("stroke", "red");
- Source:
- See:
Returns:
- Type:
-
Array
The current graph links.
(static) linkStrength(valueopt) → {number|Object}
Gets or sets the strength (rigidity) of links to the specified value in the range [0,1]. For more informations see the D3 API Reference. Needs a render
call to take into effect:
example.linkStrength(0.1).render();
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
1 |
The new link strength value. |
Returns:
- Type:
-
number
|Object
The current link strength value if no parameter is given or the graph object for method chaining.
(static) maxNodeRadius(valueopt) → {number|Object}
The maximum node radius. Each node radius is calculated by its SIZEVALUE attribute in a range between the minimum and the maximum node radius. Needs a render
call to take into effect:
example.maxNodeRadius(24).render();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
18 |
The new max node radius value. |
Returns:
- Type:
-
number
|Object
The current max node radius value if no parameter is given or the graph object for method chaining.
(static) maxZoomFactor(valueopt) → {number|Object}
No render
or resume
call needed to take into effect::
example.maxZoomFactor(10);
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
5 |
The new config value. |
Returns:
- Type:
-
number
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) minNodeRadius(valueopt) → {number|Object}
The minimum node radius. Each node radius is calculated by its SIZEVALUE attribute in a range between the minimum and the maximum node radius. Needs a render
call to take into effect:
example.minNodeRadius(2).render();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
6 |
The new min node radius value. |
Returns:
- Type:
-
number
|Object
The current min node radius value if no parameter is given or the graph object for method chaining.
(static) minZoomFactor(valueopt) → {number|Object}
No render
or resume
call needed to take into effect::
example.minZoomFactor(0.1);
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
0.2 |
The new config value. |
Returns:
- Type:
-
number
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) moveFixedNodes(xopt, yopt) → {Object}
Command method (has no get or set function). Moves all fixed nodes in the provided direction. Needs a resume
call to take into effect:
example.moveFixedNodes(10,-5).resume();
The example adds 10 to x position and -5 to y position to all fixed nodes. ATTENTION: If alignFixedNodesToGrid is set to true this can have unexpected behavior - you must then provide values greater then gridSize halved to see any changes on your graph, otherwise the positions are falling back to the nearest (current) grid position.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
x |
number
|
<optional> |
0 |
x value - positive or negative |
y |
number
|
<optional> |
0 |
y value - positive or negative |
Returns:
- Type:
-
Object
The graph object for method chaining.
(static) nodeDataById(id) → {Object}
Returns the data from a specific node as JSON object. This method expects a node ID as parameter and terminates the method chain. Example:
//get the data from the node with the ID 8888
example.nodeDataById('8888');
//get the data from the node with the ID 'myAlphanumericID'
example.nodeDataById('myAlphanumericID');
- Source:
- See:
Parameters:
Name | Type | Description |
---|---|---|
id |
string
|
The node id. |
Returns:
- Type:
-
Object
The node data.
(static) nodeEventToOpenLink(valueopt) → {string|Object}
Can be “none”, “click”, “dblclick” or “contextmenu”. Works only for nodes with a non empty LINK attribute. No render
or resume
call needed to take into effect:
example.nodeEventToOpenLink("click");
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
string
|
<optional> |
"dblclick" |
The new config value. |
Returns:
- Type:
-
string
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) nodeEventToStopPinMode(valueopt) → {boolean|Object}
Can be “none”, “click”, “dblclick” and “contextmenu” and defines, which event will release a node. This releasing of a node is sometimes a bit unstable (not on the code side, but on the visualizing side) and depends on the next tick event. You have to play around with this. If you want only release all nodes you can simply call the releaseFixedNodes method and resume the graph. No render
or resume
call needed to take into effect:
example.nodeEventToStopPinMode("contextmenu");
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
string
|
<optional> |
"contextmenu" |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) nodeLinkTarget(valueopt) → {string|Object}
This text is used as the link target, when a node has a LINK attribute.
There are three special keywords: “none”, “nodeID” and “domContainerID”. If you use “none”, the link is opened in the same window/tab where your graph is currently shown. If you use “nodeID”, the ID of the currently clicked node is used as the target attribute, this means - you get one window/tab for each node in your graph - when you click a second time on the same node, the window/tab is reused. The same with the keyword “domContainerID” - you get one window/tab for each graph on your page - when you click a second time on the same node, the window/tab is reused.
Anything else is not interpreted - your given text is simply used as the target attribute of the link. This is also the case for the second option in the customize wizard called “_blank”. If you use this, then each click on a node opens in a new window/tab. You are not restricted to use only the predefined select options. It is up to you to overwrite the value in your configuration object. As an example: If you want to have always the same window/tab for each click on a node, then simply provide a text here, that fit your needs e.g. “myOwnWindowName”.
example.nodeLinkTarget("myOwnWindowName");
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
string
|
<optional> |
"_blank" |
The new config value. |
Returns:
- Type:
-
string
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) nodes() → {Array}
Returns the current graph nodes as D3 array for direct modifications. This method expects no parameter and terminates the method chain. See also the D3 docs. Example:
example.nodes().filter(function (node) {
return node.ID === "7839";
}).style("fill", "blue");
example.nodes().filter(function (node) {
return node.ID === "7839";
}).classed("myOwnClass", true);
- Source:
- See:
Returns:
- Type:
-
Array
The current graph nodes.
(static) onForceEndFunction(eventFunctionopt) → {Object}
Gets or sets the function for the forceend event.
No data is provided because this is a very generic event:
example.onForceEndFunction(
function(){
// your logic here.
}
);
If used as APEX plugin you can also create an APEX dynamic action on the component event “Force End [D3 - Force Layout]” on your graph region.
- Source:
- See:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
eventFunction |
Object
|
<optional> |
The new function. |
Returns:
- Type:
-
Object
The current function if no parameter is given or the graph object for method chaining.
(static) onForceStartFunction(eventFunctionopt) → {Object}
Gets or sets the function for the forcestart event.
No data is provided because this is a very generic event:
example.onForceStartFunction(
function(){
// your logic here.
}
);
If used as APEX plugin you can also create an APEX dynamic action on the component event “Force Start [D3 - Force Layout]” on your graph region.
- Source:
- See:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
eventFunction |
Object
|
<optional> |
The new function. |
Returns:
- Type:
-
Object
The current function if no parameter is given or the graph object for method chaining.
(static) onLassoEndFunction(eventFunctionopt) → {Object}
Gets or sets the function for the lassoend event.
In the first two parameters you get the event and the d3 lasso data, inside your function you have access to the DOM node with the this keyword. In case of the lasso this is refering the svg container element, because the lasso itself is not interesting:
example.onLassoEndFunction(
function(event, data){
console.log("Lasso end - event:", event);
console.log("Lasso end - data:", data);
console.log("Lasso end - this:", this);
}
);
If used as APEX plugin you can also create an APEX dynamic action on the component event “Lasso End [D3 - Force Layout]” on your graph region. If you do so, you can access the event and data by executing JavaScript code in this way:
console.log("Lasso end - event:", this.browserEvent);
console.log("Lasso end - data:", this.data);
Please refer also to the APEX dynamic action documentation and keep in mind, that the data is the same in both ways but the event differs, because APEX provide a jQuery event and the Plugin the D3 original event.
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
eventFunction |
Object
|
<optional> |
The new function. |
Returns:
- Type:
-
Object
The current function if no parameter is given or the graph object for method chaining.
(static) onLassoStartFunction(eventFunctionopt) → {Object}
Gets or sets the function for the lassostart event.
In the first two parameters you get the event and the d3 lasso data, inside your function you have access to the DOM node with the this keyword. In case of the lasso this is refering the svg container element, because the lasso itself is not interesting:
example.onLassoStartFunction(
function(event, data){
console.log("Lasso start - event:", event);
console.log("Lasso start - data:", data);
console.log("Lasso start - this:", this);
}
);
If used as APEX plugin you can also create an APEX dynamic action on the component event “Lasso Start [D3 - Force Layout]” on your graph region. If you do so, you can access the event and data by executing JavaScript code in this way:
console.log("Lasso start - event:", this.browserEvent);
console.log("Lasso start - data:", this.data);
Please refer also to the APEX dynamic action documentation and keep in mind, that the data is the same in both ways but the event differs, because APEX provide a jQuery event and the Plugin the D3 original event.
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
eventFunction |
Object
|
<optional> |
The new function. |
Returns:
- Type:
-
Object
The current function if no parameter is given or the graph object for method chaining.
(static) onLinkClickFunction(eventFunctionopt) → {Object}
Gets or sets the function for the link click event.
In the first two parameters you get the event and the d3 node data, inside your function you have access to the DOM node with the this keyword:
example.onLinkClickFunction(
function(event, data){
console.log("Link click - event:", event);
console.log("Link click - data:", data);
console.log("Link click - this:", this);
}
);
If used as APEX plugin you can also create an APEX dynamic action on the component event “Link Click [D3 - Force Layout]” on your graph region. If you do so, you can access the event and data by executing JavaScript code in this way:
console.log("Link click - event:", this.browserEvent);
console.log("Link click - data:", this.data);
Please refer also to the APEX dynamic action documentation and keep in mind, that the data is the same in both ways but the event differs, because APEX provide a jQuery event and the Plugin the D3 original event.
Attention: It is not so easy to click a link, because the links are so narrow - if this option is needed I recommend to switch on the zoom mode - with zoom and pan it feels more natural to click links.
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
eventFunction |
Object
|
<optional> |
The new function. |
Returns:
- Type:
-
Object
The current function if no parameter is given or the graph object for method chaining.
(static) onNodeClickFunction(eventFunctionopt) → {Object}
Gets or sets the function for the node click event.
In the first two parameters you get the event and the d3 node data, inside your function you have access to the DOM node with the this keyword:
example.onNodeClickFunction(
function(event, data){
console.log("Node click - event:", event);
console.log("Node click - data:", data);
console.log("Node click - this:", this);
}
);
If used as APEX plugin you can also create an APEX dynamic action on the component event “Node Click [D3 - Force Layout]” on your graph region. If you do so, you can access the event and data by executing JavaScript code in this way:
console.log("Node click - event:", this.browserEvent);
console.log("Node click - data:", this.data);
Please refer also to the APEX dynamic action documentation and keep in mind, that the data is the same in both ways but the event differs, because APEX provide a jQuery event and the Plugin the D3 original event.
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
eventFunction |
Object
|
<optional> |
The new function. |
Returns:
- Type:
-
Object
The current function if no parameter is given or the graph object for method chaining.
(static) onNodeContextmenuFunction(eventFunctionopt) → {Object}
Gets or sets the function for the node contextmenu event.
In the first two parameters you get the event and the d3 node data, inside your function you have access to the DOM node with the this keyword:
example.onNodeContextmenuFunction(
function(event, data){
console.log("Node contextmenu - event:", event);
console.log("Node contextmenu - data:", data);
console.log("Node contextmenu - this:", this);
}
);
If used as APEX plugin you can also create an APEX dynamic action on the component event “Node Contextmenu [D3 - Force Layout]” on your graph region. If you do so, you can access the event and data by executing JavaScript code in this way:
console.log("Node contextmenu - event:", this.browserEvent);
console.log("Node contextmenu - data:", this.data);
Please refer also to the APEX dynamic action documentation and keep in mind, that the data is the same in both ways but the event differs, because APEX provide a jQuery event and the Plugin the D3 original event.
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
eventFunction |
Object
|
<optional> |
The new function. |
Returns:
- Type:
-
Object
The current function if no parameter is given or the graph object for method chaining.
(static) onNodeContextmenuPreventDefault(valueopt) → {boolean|Object}
If true, the context menu default browser action on the nodes are prevented. This could be useful, if you want to implement an own context menu for the nodes. xxx:
example.onNodeContextmenuPreventDefault(true);
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
false |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) onNodeDblclickFunction(eventFunctionopt) → {Object}
Gets or sets the function for the node dblclick event.
In the first two parameters you get the event and the d3 node data, inside your function you have access to the DOM node with the this keyword:
example.onNodeDblclickFunction(
function(event, data){
console.log("Node double click - event:", event);
console.log("Node double click - data:", data);
console.log("Node double click - this:", this);
}
);
If used as APEX plugin you can also create an APEX dynamic action on the component event “Node Double Click [D3 - Force Layout]” on your graph region. If you do so, you can access the event and data by executing JavaScript code in this way:
console.log("Node double click - event:", this.browserEvent);
console.log("Node double click - data:", this.data);
Please refer also to the APEX dynamic action documentation and keep in mind, that the data is the same in both ways but the event differs, because APEX provide a jQuery event and the Plugin the D3 original event.
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
eventFunction |
Object
|
<optional> |
The new function. |
Returns:
- Type:
-
Object
The current function if no parameter is given or the graph object for method chaining.
(static) onNodeMouseenterFunction(eventFunctionopt) → {Object}
Gets or sets the function for the node mouseenter event.
In the first two parameters you get the event and the d3 node data, inside your function you have access to the DOM node with the this keyword:
example.onNodeMouseenterFunction(
function(event, data){
console.log("Node mouse enter - event:", event);
console.log("Node mouse enter - data:", data);
console.log("Node mouse enter - this:", this);
}
);
If used as APEX plugin you can also create an APEX dynamic action on the component event “Node Mouse Enter [D3 - Force Layout]” on your graph region. If you do so, you can access the event and data by executing JavaScript code in this way:
console.log("Node mouse enter - event:", this.browserEvent);
console.log("Node mouse enter - data:", this.data);
Please refer also to the APEX dynamic action documentation and keep in mind, that the data is the same in both ways but the event differs, because APEX provide a jQuery event and the Plugin the D3 original event.
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
eventFunction |
Object
|
<optional> |
The new function. |
Returns:
- Type:
-
Object
The current function if no parameter is given or the graph object for method chaining.
(static) onNodeMouseleaveFunction(eventFunctionopt) → {Object}
Gets or sets the function for the node mouseleave event.
In the first two parameters you get the event and the d3 node data, inside your function you have access to the DOM node with the this keyword:
example.onNodeMouseleaveFunction(
function(event, data){
console.log("Node mouse leave - event:", event);
console.log("Node mouse leave - data:", data);
console.log("Node mouse leave - this:", this);
}
);
If used as APEX plugin you can also create an APEX dynamic action on the component event “Node Mouse Leave [D3 - Force Layout]” on your graph region. If you do so, you can access the event and data by executing JavaScript code in this way:
console.log("Node mouse leave - event:", this.browserEvent);
console.log("Node mouse leave - data:", this.data);
Please refer also to the APEX dynamic action documentation and keep in mind, that the data is the same in both ways but the event differs, because APEX provide a jQuery event and the Plugin the D3 original event.
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
eventFunction |
Object
|
<optional> |
The new function. |
Returns:
- Type:
-
Object
The current function if no parameter is given or the graph object for method chaining.
(static) onRenderEndFunction(eventFunctionopt) → {Object}
Gets or sets the function for the renderend event.
No data is provided because this is a very generic event. You can use the nodes
and links
API methods for a D3 array to modify directly the nodes or links:
example.onRenderEndFunction(
function(){
example.nodes().filter(function (node) {
return node.ID === "7839";
}).style("fill", "blue");
}
);
If used as APEX plugin you can also create an APEX dynamic action on the component event “Render End [D3 - Force Layout]” on your graph region.
- Source:
- See:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
eventFunction |
Object
|
<optional> |
The new function. |
Returns:
- Type:
-
Object
The current function if no parameter is given or the graph object for method chaining.
(static) onResizeFunction(eventFunctionopt) → {Object}
Gets or sets the function for the resize event.
No data is provided because this is a very generic event:
example.onResizeFunction(
function(){
// your logic here
}
);
If used as APEX plugin you can also create an APEX dynamic action on the component event “Resize [D3 - Force Layout]” on your graph region.
- Source:
- See:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
eventFunction |
Object
|
<optional> |
The new function. |
Returns:
- Type:
-
Object
The current function if no parameter is given or the graph object for method chaining.
(static) onResizeFunctionTimeout(valueopt) → {number|Object}
The harmonized/delayed handling of the resize event to prevent performance issues - see also zoomToFitOnResize
:
example.onResizeFunctionTimeout(100).height(400);
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
300 |
The new chart width value. |
Returns:
- Type:
-
number
|Object
The current chart width value if no parameter is given or the graph object for method chaining.
(static) options(optionsopt) → {Object}
Get or set the whole configuration with one call. Ouput includes all options, which are accessible via the API methods including the registered event functions:
//get the current configuration
example.options();
//set the new configuration
example.options( { pinMode: true, ... } );
- Source:
- See:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
options |
Object
|
<optional> |
Your new options. |
Returns:
- Type:
-
Object
Your current options or the graph object for method chaining.
(static) optionsCustomizationWizard(optionsopt) → {Object}
Get or set the whole configuration with one call. Output includes only the options, which are accessible via the customization wizard:
//get the current configuration
example.optionsCustomizationWizard();
//set the new configuration
example.optionsCustomizationWizard( { pinMode: true, ... } );
- Source:
- See:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
options |
Object
|
<optional> |
Your new options. |
Returns:
- Type:
-
Object
Your current options or the graph object for method chaining.
(static) pinMode(valueopt) → {boolean|Object}
If true, the nodes are fixed (pinned) at the end of a drag event. No render
or resume
call needed to take into effect:
example.pinMode(true);
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
true |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) positions(positionsArrayopt) → {Object}
Gets or sets the current positions of all nodes. This lets you save and load a specific layout or modify the current positions (of fixed nodes - if you have no fixed nodes then the nodes will likely fall back to their previous positions because of the working forces). Works nice together with the pinMode
. Needs a resume
call to take into effect:
// get current positions: Array of objects like [{"ID":"7839","x":200,"y":100,"fixed":1},...])
var pos = example.positions();
// set positions
example.positions(pos.map(function(p){ p.x += 10; return p; })).resume();
// all in one ;-)
example.positions( example.positions().map(function(p){ p.x += 10; return p; }) ).resume();
- Source:
- See:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
positionsArray |
Object
|
<optional> |
The new positions array. |
Returns:
- Type:
-
Object
The current positions array if no parameter is given or the graph object for method chaining.
(static) preventLabelOverlappingOnForceEnd(valueopt) → {boolean|Object}
If set to true the labels are aligned with a simulated annealing function to prevent overlapping when the graph is cooled down (correctly on the force end event and only on labels, who are not circular). Needs a resume
call to take into effect:
example.preventLabelOverlappingOnForceEnd(true).render();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
false |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) refreshInterval(valueopt) → {number|Object}
The refresh interval in milliseconds. No render
or resume
call needed to take into effect, but after changing the interval value you have to stop a current activated auto refresh and start it again to take the new value into effect:
// only set the value and start auto refresh
example.refreshInterval(4000).autoRefresh(true);
// restart running auto refresh
example.refreshInterval(2000).autoRefresh(false).autoRefresh(true);
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
5000 |
The new config value. |
Returns:
- Type:
-
number
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) releaseFixedNodes() → {Object}
Command method (has no get or set function and expects no parameter): Release all fixed (pinned) nodes. Needs a resume
call to take into effect:
example.releaseFixedNodes().resume();
Returns:
- Type:
-
Object
The graph object for method chaining.
(static) render(dataopt) → {Object}
The render
method does the same as the start
method - the only difference is, that the render
method does not try to load data, if you use the APEX plugin. You can use this method after changing options which need a render
cycle to take the changes into effect:
example.minNodeRadius(4).maxNodeRadius(20).render();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
data |
string
|
Object
|
<optional> |
Sample data EMP table flavoured |
Can be a XML string, JSON string or JavaScript object (JSON) |
Returns:
- Type:
-
Object
The graph object for method chaining.
(static) resume() → {Object}
The resume
method restarts only the force on your graph without a render
cycle. This saves CPU time and can be useful if you change only things in your graph which do not need rendering to taking into effect:
example.releaseFixedNodes().resume();
- Source:
- See:
Returns:
- Type:
-
Object
The graph object for method chaining.
(static) sampleData(dataopt) → {Object}
Gets or sets the sample data. This makes only sense before the first start, because only on the first start without data available the sample data is used. After the first start you can provide new data with the start method. Example:
//first start
example.sampleData('<node>...').start();
//later
example.start('<node>...');
- Source:
- See:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
data |
string
|
Object
|
<optional> |
The new sample data as XML string, JSON string or JSON object. |
Returns:
- Type:
-
Object
The current sample data in JSON format if no parameter is given or the graph object for method chaining.
(static) selfLinkDistance(valueopt) → {number|Object}
The distance of the self link path around a node. Needs a render
call to take into effect:
example.selfLinkDistance(25).render();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
20 |
The new self link distance value. |
Returns:
- Type:
-
number
|Object
The current self link distance value if no parameter is given or the graph object for method chaining.
(static) selfLinks() → {Array}
Returns the current graph selfLinks as D3 array for direct modifications. This method expects no parameter and terminates the method chain. See also the D3 docs. Example:
example.selfLinks().style("stroke", "green");
- Source:
- See:
Returns:
- Type:
-
Array
The current graph links.
(static) setDomParentPaddingToZero(valueopt) → {boolean|Object}
If true, the parent DOM element of the graph gets the style { padding: 0px; }. If set to false, this style is removed from the DOM parent of the graph. No render
or resume
call needed to take into effect:
example.setDomParentPaddingToZero(true);
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
false |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) showBorder(valueopt) → {boolean|Object}
If true, a class named border is added to the SVG element, if false the class will be removed. The border itself is defined in the delivered CSS - you can overwrite it if the current style does not match your needs. No render
or resume
call needed to take into effect:
example.showBorder(false);
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
true |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) showLabels(valueopt) → {boolean|Object}
If true and you provided in your node data an attribute LABEL, then a label is rendered on top of the node. Needs a render
call to take into effect:
example.showLabels(false).render();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
true |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) showLegend(valueopt) → {boolean|Object}
If true, a legend for all COLORVALUEs in the node data is rendered in the bottom left corner of the graph. No render
or resume
call needed to take into effect:
example.showLegend(false);
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
true |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) showLinkDirection(valueopt) → {boolean|Object}
If true, you get an marker at the end of a link. Needs a render
call to take into effect:
example.showLinkDirection(false).render();
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
true |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) showLoadingIndicator(value) → {boolean|Object}
Helper method to directly show or hide a loading indicator. The APEX plugin do this implicitly on AJAX calls when the option showLoadingIndicatorOnAjaxCall
is set to true. No render
or resume
call needed to take into effect:
// Show:
example.showLoadingIndicator(true);
// Hide:
example.showLoadingIndicator(false);
- Source:
- See:
Parameters:
Name | Type | Description |
---|---|---|
value |
boolean
|
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) showLoadingIndicatorOnAjaxCall(valueopt) → {boolean|Object}
If true, a loading indicator is shown when used as a APEX plugin during the AJAX calls. If you want to show the loading indicator in a standalone implementation you can show and hide the loading indicator directly with the API method showLoadingIndicator
:
example.showLoadingIndicatorOnAjaxCall(false);
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
true |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) showSelfLinks(valueopt) → {boolean|Object}
If true, then links with the same source and target are rendered along a path around the node bottom. Needs a render
call to take into effect:
example.showSelfLinks(false).render();
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
true |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) showTooltips(valueopt) → {boolean|Object}
If true and you provided in your source data an attribute INFOSTRING, then a tooltip is shown by hovering a node. No render
or resume
call needed to take into effect:
example.showTooltips(false);
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
true |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) start(dataopt) → {Object}
This method starts the graph. You can configure your graph with all the available methods, but without the start
method your changes will NOT take into effect.
You can pass new data (see included-sample-data) to the start
method. Data can be a XML string, JSON string or JavaScript object (JSON). If you use the APEX plugin, then the start
method internally does the AJAX call to your Oracle database, but you can prevent this behavior by passing data to this method.
This also means, that you can use data from a textarea or a report for the APEX plugin, to overwrite the existing data and you do not need to configure any query to run this plugin. If you do so and you do not pass data to the start
method on the very first call, then the plugin provides sample data - it is the same data with the APEX online demo of this plugin, there is no query configured and you get therefore the sampledata :-)
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
data |
string
|
Object
|
<optional> |
Sample data EMP table flavoured |
Can be a XML string, JSON string or JavaScript object (JSON) |
Returns:
- Type:
-
Object
The graph object for method chaining.
(static) theta(valueopt) → {number|Object}
Gets or sets the Barnes–Hut approximation criterion to the specified value. For more informations see the D3 API Reference. On smaller graphs with not so many nodes you will likely see no difference when you change this value. Needs a render
call to take into effect:
example.theta(0.1).render();
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
0.8 |
The new theta value. |
Returns:
- Type:
-
number
|Object
The current theta value if no parameter is given or the graph object for method chaining.
(static) tooltipPosition(valueopt) → {string|Object}
The position where tooltips are shown in the graph - can be node
, svgTopLeft
or svgTopRight
. No render
or resume
call needed to take into effect:
example.tooltipPosition('node');
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
string
|
<optional> |
svgTopRight |
|
Returns:
- Type:
-
string
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) transform(transformopt, durationopt) → {Object}
Behaves like a normal getter/setter (the zoom
and zoomSmooth
methods implements only setters) and can be used in the conf object to initialize the graph with different translate values/scale factors than [0,0]/1. The current transform value(an object) is rendered in the customization wizard conf object text area like all other options when the current value is different then the default value. No render
or resume
call needed to take into effect:
//example.zoomMode(true);
example.transform({"translate":[100,100],"scale":0.5});
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
transform |
Object
|
<optional> |
{“translate”:[0,0],“scale”:1} |
The new config value. |
duration |
number
|
<optional> |
500 |
The transition duration in milliseconds. |
Returns:
- Type:
-
Object
The current config value if no parameter is given or the graph object for method chaining.
(static) useDomParentWidth(valueopt) → {boolean|Object}
If true, the width of the chart(SVG element) is aligned to its DOM parent element. No render
or resume
call needed to take into effect:
example.useDomParentWidth(true);
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
false |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) userAgent() → {string}
Returns the detected user agent. Expects no parameter and terminates the method chain:
example.userAgent();
- Source:
- See:
Returns:
- Type:
-
string
The detected user agent.
(static) version() → {string}
Shows the current plugin version. This method expects no parameter and terminates the method chain:
example.version();
- Source:
- See:
Returns:
- Type:
-
string
The plugin version.
(static) width(valueopt) → {number|Object}
The width of the chart:
example.width(800);
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
600 |
The new chart width value. |
Returns:
- Type:
-
number
|Object
The current chart width value if no parameter is given or the graph object for method chaining.
(static) wrapLabels(valueopt) → {boolean|Object}
If true long labels are wrapped. Needs a render
call to take into effect:
example.wrapLabels(true).render();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
false |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) wrappedLabelLineHeight(valueopt) → {number|Object}
The line height of labels in em
, if option wrapLabels
is set to true. Needs a render
call to take into effect:
example.wrappedLabelLineHeight(1.5).render();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
1.2 |
The new config value. |
Returns:
- Type:
-
number
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) wrappedLabelWidth(valueopt) → {number|Object}
The width of the labels, if option wrapLabels
is set to true. Needs a render
call to take into effect. This option is ignored when labelSplitCharacter
is set to a value other then none
.
example.wrappedLabelWidth(40).render();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
number
|
<optional> |
80 |
The new config value. |
Returns:
- Type:
-
number
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) zoom(centerXopt, centerYopt, viewportWidthopt, durationopt) → {Object}
The graph is centered to the given position and scaled to the calculated scale factor (effective graph with / viewportWidth).
The reason to have a viewportWidth instead of a scale factor is, that you can rely on given data like the coordinates and radius of a node without calculating the scale factor by yourself - you define your desired viewport width and the zoom method is calculating the neccesary scale factor for this viewport width. If the calculated scale factor is less or greater then the configured minimum and maximum scale factors, then these configured scale factors are used. The reason for this a good user experience, since the graph would be otherwise falling back on these scale factors when the user is scaling the graph by mouse or touch events.
No render
or resume
call needed to take into effect:
var node = example.nodeDataById('8888');
example.zoom(node.x, node.y, node.radius * 6); // default duration of 500ms
var node = example.nodeDataById('9999');
example.zoom(node.x, node.y, node.radius * 6, 1500); // duration of 1500ms
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
centerX |
number
|
<optional> |
graph width / 2 |
The horizontal center position. |
centerY |
number
|
<optional> |
graph height / 2 |
The vertical center position. |
viewportWidth |
number
|
<optional> |
graph width |
The desired viewport width. |
duration |
number
|
<optional> |
500 |
the duration of the transition |
Returns:
- Type:
-
Object
The graph object for method chaining.
(static) zoomMode(valueopt) → {boolean|Object}
If true, you can zoom and pan the graph.
ATTENTION: When zoomMode is set to true then the lassoMode is only working with the pressed alt or shift key.
KNOWN BUG: In iOS it is after the first zoom event no more possible to drag a node - instead the whole graph is moved - this is, because iOS Safari provide a wrong event.target.tagName. Also a problem: your are not able to press the alt or shift key - if you want to use lasso and zoom together on a touch device, you have to provide a workaround. One possible way is to provide a button, which turns zoom mode on and off with the API zoomMode method - then the user has the choice between these two modes - not comfortable, but working.
No render
or resume
call needed to take into effect:
example.zoomMode(true);
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
false |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) zoomSmooth(centerXopt, centerYopt, viewportWidthopt, durationopt) → {Object}
DEPRECATED: Please use zoom instead.
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
centerX |
number
|
<optional> |
graph width / 2 |
The horizontal center position. |
centerY |
number
|
<optional> |
graph height / 2 |
The vertical center position. |
viewportWidth |
number
|
<optional> |
graph width |
The desired viewport width. |
duration |
number
|
<optional> |
1500 |
the duration of the transition |
Returns:
- Type:
-
Object
The graph object for method chaining.
(static) zoomToFit(durationopt) → {Object}
Helper/Command method - automatically zoom, so that the whole graph is visible and optimal sized. No render
or resume
call needed to take into effect:
example.zoomToFit();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
duration |
number
|
<optional> |
500 |
The transition duration in milliseconds. |
Returns:
- Type:
-
Object
The graph object for method chaining.
(static) zoomToFitOnForceEnd(valueopt) → {boolean|Object}
Automatically zoom at force end, so that the whole graph is visible and optimal sized. If enabled it fires at every force end event. If you only want to resize your graph once than have a look at the command/helper method zoomToFit
:
//change config and resize once
example.zoomToFitOnForceEnd(true).zoomToFit();
//resize only once
example.zoomToFit();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
false |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.
(static) zoomToFitOnResize(valueopt) → {boolean|Object}
Automatically zoom at resize (API call of width
, height
or responsive change of parent container size with option useDomParentWidth
set to true), so that the whole graph is visible and optimal sized.
The event is harmonized/delayed for performance reasons. It could fire very often when for example the browser window is resized by the user. If the graph force simulation is running and not cooled down it is executed on the force end event. Also see the corresponding option onResizeFunctionTimeout
which has a default value of 300 (milliseconds).
If you only want to resize your graph once than have a look at the command/helper method zoomToFit
:
//change config and resize once
example.zoomToFitOnResize(true).zoomToFit();
//resize only once
example.zoomToFit();
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
boolean
|
<optional> |
false |
The new config value. |
Returns:
- Type:
-
boolean
|Object
The current config value if no parameter is given or the graph object for method chaining.