g6/packages/site/docs/api/Items/itemMethods.en.md
2023-02-02 10:31:36 +08:00

439 lines
9.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: item.*
order: 0
---
Item is the object of node / edge in G6.
## Update
### item.update(model)
Update the item according to the data model.
**Parameters**
| Name | Type | Required | Description |
| ----- | ------ | -------- | --------------------------- |
| model | Object | true | The data model of the item. |
Tips: `model` contains:
| Name | Type | Required | Description |
| --- | --- | --- | --- |
| id | String | true | The unique id of the item. |
| style | Object | false | The style of the item. |
| type | String | false | The type of the item. The default type for edge is 'line', the default type for node is 'circle'. The default shapes will take effect when `type` is null. |
| label | String | false | The label of the item. A label will be rendered if it exists. |
**Usage**
```javascript
const model = {
id: 'node',
type: 'rect',
label: 'node',
style: {
fill: 'red',
},
};
item.update(model);
```
### item.refresh()
Refresh the item with its positions and style in the item's data model. This operation will clear the cache in the same time.
It is usually called after:
- The data model of item is changed;
- The positions of endpoints of an edge is changed.
**Usage**
```javascript
item.refresh();
```
### item.updatePosition(cfg)
Update the position of the item. We recommend to call this function for single item to avoid repainting the whole canvas.
**Parameters**
| Name | Type | Required | Description |
| --- | --- | --- | --- |
| cfg | Object | true | The configurations of the item, including `x` and `y`. The x and y value in source data model will take effect if there are no `x` and `y` in `cfg`. |
**Usage**
```javascript
const cfg = {
x: 100,
y: 200,
};
// There are x and y in cfg, so the operation below will update the position
item.updatePosition(cfg);
const cfg1 = {
name: 'abc',
dept: 'antv',
};
// There are no x and y in cfg, the operation below will use x and y in item.getModel()
item.updatePosition(cfg1);
```
## Destroy
### item.destroy()
Destroy an item, including stopping the animation, deleting the items in a group, clearing the configurations, setting the `destroyed` to be `true`, and so on.
**Usage**
```javascript
item.destroy();
```
## Common Usage
### item.getBBox()
Get the **bounding box** of the item.
**Return**
- The type of return value: Object.
The return value includes:
| Name | Type | Description |
| ------- | ------ | ------------------------------------------- |
| x | number | The x coordinate of view port. |
| y | number | The y coordinate of view port. |
| width | number | The width of the bbox. |
| height | number | The height of the bbox. |
| centerX | number | The x coordinate of the center of the bbox. |
| centerY | number | The y coordinate of the center of the bbox. |
**Usage**
```javascript
item.getBBox();
```
### item.getContainer()
Get the container of the item.
**Return**
- The type of return value: G.Group;
- Return the graphics group where the item in.
**Usage**
```javascript
// Get the container of the item
const group = item.getContainer();
// Equals to
const group = item.get('group');
```
### item.getKeyShape()
Get the key shape of the item. `keyShape` is used for calculating the node size, edge length, and so on.
**Return**
- The type of return value: G.Shape;
- Return the `keyShape` of the item.
**Usage**
```javascript
// Get the keyShape of the item
const keyShape = item.getKeyShape();
// Equals to
const keyShape = item.get('keyShape');
```
### item.getModel()
Get the data model of the item.
**Return**
- The type of return value: Object;
- Return the data model of the item.
**Usage**
```javascript
// Get the data model of the item
const model = item.getModel();
// Equals to
const model = item.get('model');
```
### item.getType()
Get the type of the item.
**Return**
- The type of return value: String;
- Return the type of the item. It might be `'node'` or `'edge'`.
**Usage**
```javascript
// Get the type of the item
const type = item.getType();
// Equals to
const type = item.get('type');
```
### item.enableCapture(enable)
Whether to enable the item to be picked and enable its interaction events.
**Parameters**
| Name | Type | Required | Description |
| ------ | ------- | -------- | ----------------------------------- |
| enable | Boolean | true | The flag to enable if it is `true`. |
**Usage**
```javascript
// Do not allow the item response interaction events
item.enableCapture(false);
// Allow the item to response the interaction events
item.enableCapture(true);
```
### item.clearCache()
Clear the cache. It is usually called after updating or refreshing operation.
**Usage**
```javascript
// Clear the cache
item.clearCache();
```
## State
### item.show()
Show the item. Show the item itself. Different from that, when the item is a node, [graph.showItem(item)](/en/docs/api/Graph#showitemitem) will show the node and its related edges in the same time.
**Usage**
```javascript
item.show();
```
### item.hide()
Hide the item. Hide the item itself. Different from that, when the item is a node, [graph.hideItem(item)](/en/docs/api/Graph#hideitemitem) will hide the node and its related edges in the same time.
**Usage**
```javascript
item.hide();
```
### item.changeVisibility(visible)
Change the visibility of the item.
**Parameters**
| Name | Type | Required | Description |
| --- | --- | --- | --- |
| visible | Boolean | true | The flag to hide or show the item. `true` means show the item, `false` means hide the item. |
**Usage**
```javascript
// Show the item
item.changeVisibility(true);
// Hide the item
item.changeVisibility(false);
```
### item.isVisible()
Query the visibility of the item.
**Return**
- The type of return value: Boolean;
- `true` means the item is visibile. The item is invisible otherwise.
**Usage**
```javascript
const visible = item.isVisible();
```
### item.toFront()
Set the visual level / zindex to the front to avoid being overlapped by other items.
**Usage**
```javascript
item.toFront();
```
### item.toBack()
Set the visual level / zindex to the back.
**Usage**
```javascript
item.toBack();
```
### item.setState(state, enable)
Update the state of the item.
**Parameters**
| Name | Type | Required | Description |
| ------ | ------- | -------- | --------------------------------------------------------- |
| state | String | true | The state name of the item, e.g. `'selected'`, `'hover'`. |
| enable | Boolean | true | The flag to enable the state if it is `true`. |
**Usage**
```javascript
item.setState('selected', true);
item.setState('actived', false);
```
### item.clearStates(states)
Clear all the states of the item. If the `states` is null, this operatcion will clear **the first** state of the item by default.
**Parameters**
| Name | Type | Required | Description |
| ------ | -------------- | -------- | -------------------------------------- |
| states | String / Array | true | The names of the states to be cleared. |
**Usage**
```javascript
// Clear the state 'selected'
item.clearStates('selected');
// Clear the states 'active' and 'hover'
item.clearStates(['actived', 'hover']);
```
### item.getStates()
Get all the states of the item.
**Return**
- The type of return value: Array;
- Returns an array of strings, which are the states of the item.
**Usage**
```javascript
// Get all the states of the item
const states = item.getStates();
```
### item.hasState(state)
Query the `state` value of the node.
**Parameters**
| Name | Type | Required | Description |
| ----- | ------ | -------- | --------------- |
| state | String | true | The state name. |
**Return**
- The type of return value: Boolean;
- Returns `true` if the item has the `state`. `false` otherwise.
**Usage**
```javascript
// Query value of state 'hover'
const state = item.hasState('hover');
```
## Style
### item.getStateStyle(state)
Get the style of the item. The global style, default style, and custom style will be mixed in the return value.
**Parameters**
| Name | Type | Required | Description |
| ----- | ------ | -------- | --------------- |
| state | String | true | The state name. |
**Return**
- The type of return value: Object
- The global style, default style, and custom style will be mixed in the return value.
**Usage**
```javascript
// Get the item's style of state 'selected'
const style = item.getStateStyle('selected');
```
### item.getOriginStyle()
Get the keyShape's style of the item.
**Return**
- The type of return value: Object | undefined;
- Returns the style of the `keyShape` if it exists. Returns `undefined` otherwise.
**Usage**
```javascript
const style = item.getOriginStyle();
```
### item.getCurrentStatesStyle()
Get the item's styles of all the states.
**Return**
- The type of return value: Object
- Returns the item's styles of all the states.
**Usage**
```javascript
const styles = item.getCurrentStatesStyle();
```