ModelRect
A built-in node modelRect has the default style as below, the label is drawed on the center of it.
Tips: There will be no description when there is no description
in the data.
Usage
As stated in Built-in Nodes , there are two ways to configure the node: Configure it when instantiating a Graph globally; Configure it in the data.
1 Global Configure When Instantiating a Graph
Assign shape
to 'modelRect'
in the defaultNode
object when instantiating a Graph:
const graph = new G6.Graph({
container: 'mountNode',
width: 800,
height: 600,
defaultNode: {
shape: 'modelRect',
// Other configuraltions
},
});
2 Configure in the Data
To configure different nodes with different properties, you can write the properties into the node data.
const data = {
nodes: [{
id: 'node0',
shape: 'modelRect',
... // Other configurations
},
... // Other nodes
],
edges: [
... // edges
]
}
Property
The Node Common Properties are available for ModelRect node, some special properties are shown below. The property with Object type will be described after the table:
Name | Description | Type | Remark |
---|---|---|---|
size | The size of the modelRect node | Number | Array |
style | The default style of modelRect node | Object | Correspond to the styles in Canvas |
label | The text of the label | String | |
labelCfg | The configurations of the label | Object | |
stateStyles | The styles in different states | Object | Only takes effect on keyShape |
linkPoints | The link points in visual | Object | They are invisible by default. It is usually used with the anchorPoints. The differences are described in linkPoints |
preRect | Left rect of the node | Object | Special property for modelRect |
logoIcon | The left logo icon | Object | Special property for modelRect |
stateIcon | The right state icon | Object | Special property for modelRect |
description | The description text below the label | String | Special property for modelRect |
It will be supported after V3.3 |
// The configuration of the logo icon in the node
logoIcon: {
// Whether to show the icon. false means hide the icon
show: true,
x: 0,
y: 0,
// the image url of icon
img: 'https://gw.alipayobjects.com/zos/basement_prod/4f81893c-1806-4de4-aff3-9a6b266bc8a2.svg',
width: 16,
height: 16,
// Adjust the left/right offset of the icon
offset: 0
},
// The configuration of the state icon in the node
stateIcon: {
// Whether to show the icon. false means hide the icon
show: true,
x: 0,
y: 0,
// the image url of icon
img: 'https://gw.alipayobjects.com/zos/basement_prod/300a2523-67e0-4cbf-9d4a-67c077b40395.svg',
width: 16,
height: 16,
// Adjust the left/right offset of the icon
offset: -5
}
style
The Node Common Styles are available for Circle node.style
is an object to configure the filling color, stroke, and other styles. The following code shows how to configure the style
globally when instantiating a Graph.
const data = {
nodes: [
{
x: 100,
y: 100,
shape: 'modelRect',
label: 'modelRect',
},
],
};
const graph = new G6.Graph({
container: 'mountNode',
width: 800,
height: 600,
defaultNode: {
// shape: 'modelRect', // The shape has been assigned in the data, we do not have to define it any more
size: [200, 80],
style: {
fill: '#f0f5ff',
stroke: '#adc6ff',
lineWidth: 2,
},
},
});
graph.data(data);
graph.render();
labelCfg
labelCfg
is an object to configure the label of the node. The Node Common Label Configurations are available. Base on the code in style section, we add labelCfg
to defaultNode
.
const data = {
// ... data
};
const graph = new G6.Graph({
// ... Other configurations for graph
defaultNode: {
// ... Other properties for node
labelCfg: {
style: {
fill: '#9254de',
fontSize: 18,
},
},
},
});
// ...
descriptionCfg
⚠️Attension: It will be supported after V3.3.
descriptionCfg
is an object to configure the label of the node. The Node Common Label Configurations are available. Besides, descriptionCfg has special attribute:
Name | Description | Type | Remark |
---|---|---|---|
paddingTop | The padding from the description to the label text | Number | 0 by default |
Base on the code in style section, we add descriptionCfg
to defaultNode
const data = {
// ... data
};
const graph = new G6.Graph({
// ... Other configurations for graph
defaultNode: {
// ... Other properties for node
descriptionCfg: {
style: {
fill: '#f00',
},
},
},
});
// ...
linkPoints
linkPoints
is an object to configure the small circles on the 「top, bottom, left, and right」.
⚠️Attention: It is different from anchorPoints
:
anchorPoints
is an 「array」 that indicates the actual relative positions used to specify the join position of the relevant edge of the node (refer to anchorPoints);
linkPoints
is an object that indicates whether 「render」the four small circles, which do not connect the relevant edges. These two properties are often used together.
Name | Description | Type | Remark |
---|---|---|---|
top | Whether to show the top small circle | Boolean | false by default |
bottom | Whether to show the bototm small circle | Boolean | false by default |
left | Whether to show the left small circle | Boolean | false by default |
right | Whether to show the right small circle | Boolean | false by default |
size | The size of the small circles | Number | 3 by default |
fill | The filling color of the small circles | String | '#72CC4A' by default |
stroke | The stroke color of the small circles | String | '#72CC4A' by default |
lineWidth | The line width of the small circles | Number | 1 by default |
Base on the code in style section, we add linkPoints
to defaultNode
.
const data = {
// ... data
};
const graph = new G6.Graph({
// ... Other configurations for graph
defaultNode: {
// ... Other configurations for nodes
linkPoints: {
top: true,
bottom: true,
left: true,
right: true,
size: 5,
fill: '#fff',
},
},
});
// ...
preRect
preRect
configures the left rect of the rectModel node.
Name | Description | Type | Remark |
---|---|---|---|
show | Whether to show the left rect | Boolean | true by default |
width | The width of the left rect | Number | 4 by default |
fill | The filling color of the left rect | String | '#40a9ff' by default |
radius | The border radius of the left rect | Number | 2 by default |
Base on the code in style section, we add icon
to defaultNode
.
const data = {
// ... data
};
const graph = new G6.Graph({
// ... Other configurations for the graph
defaultNode: {
// ... Other configurations for nodes
preRect: {
// false means hiding it
show: true,
fill: '#f759ab',
width: 8,
},
},
});
// ...
logoIcon / stateIcon
logoIcon
and stateIcon
configure the left and right logo of the modelRect node. The configurations of them are the same.
Name | Description | Type | Remark |
---|---|---|---|
show | Whether to show the icon | Boolean | true by default |
img | The url of the icon image | String | - The default image for logoIcon is - The default image for stateIcon is |
width | The width of the icon | Number | 16 by default |
height | The height of the icon | Number | 16 by default |
offset | Adjust the left/right offset of the icon | Number | - The dfualt offset of the left logoIcon is 0 - The dfualt offset of the right stateIcon is -5 |
Base on the code in style section, we add logoIcon
and stateIcon
to defaultNode
to hide the left icon and change the image for right icon.
const data = {
// ... data
};
const graph = new G6.Graph({
// ... Other configurations for the graph
defaultNode: {
// ... Other configurations for nodes
logoIcon: {
show: false,
},
stateIcon: {
show: true,
img:
'https://gw.alipayobjects.com/zos/basement_prod/c781088a-c635-452a-940c-0173663456d4.svg',
},
},
});
// ...