mirror of
https://github.com/reduxjs/redux-devtools.git
synced 2024-11-22 17:46:56 +03:00
b323f77d31
* Update packages * Fix after update * Update some types * Remove attr * Finish d3tooltip * Update style option * Updates * Zoom * Update * Update * Update * Fix * Update * Update * Update * Update * Update * Fixes * Update id type * Fix enter + update selections * Use this * Fix stringifying * Remove InputOptions * Use data.value * Updates * Remove UMD builds * Fix exit * No need to re-assign * Simplify d3tooltip API * Update redux-devtools-chart-monitor * Update redux-devtools-app * Update * Update * Remove @types/prop-types * Update prop types * Update d3tooltip docs * Update d3-state-visualizer docs * Update chart-monitor docs * Create weak-kings-brake.md * Create spicy-olives-compete.md * Create friendly-coats-trade.md * Create slimy-elephants-flash.md * Fix empty arrays
55 lines
2.7 KiB
Markdown
55 lines
2.7 KiB
Markdown
# d3tooltip
|
|
|
|
This tooltip aims for a minimal yet highly configurable API. It has a long way to go, but the essentials are there.
|
|
It was created by [@romseguy](https://github.com/romseguy) and merged from [`romseguy/d3tooltip`](https://github.com/romseguy/d3tooltip).
|
|
|
|
## Installation
|
|
|
|
`npm install d3-state-visualizer`
|
|
|
|
## Quick usage
|
|
|
|
```javascript
|
|
import * as d3 from 'd3';
|
|
import { tooltip } from 'd3tooltip';
|
|
|
|
const DOMNode = document.getElementById('chart');
|
|
const root = d3.select(DOMNode);
|
|
const vis = root.append('svg');
|
|
|
|
const options = {
|
|
offset: { left: 30, top: 10 },
|
|
styles: { 'min-width': '50px', 'border-radius': '5px' },
|
|
};
|
|
|
|
vis
|
|
.selectAll('circle')
|
|
.data(someData)
|
|
.enter()
|
|
.append('circle')
|
|
.attr('r', 10)
|
|
.call(
|
|
d3tooltip('tooltipClassName', {
|
|
...options,
|
|
text: (d) => toStringOrHtml(d),
|
|
})
|
|
)
|
|
.on('mouseover', function () {
|
|
d3.select(this).style('fill', 'skyblue');
|
|
})
|
|
.on('mouseout', function () {
|
|
d3.select(this).style('fill', 'black');
|
|
});
|
|
```
|
|
|
|
## API
|
|
|
|
| Option | Type | Default | Description |
|
|
| -------- | ------------------ | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `root` | DOM.Element | `body` | The tooltip will be added as a child of that element. You can also use a D3 [selection](https://github.com/mbostock/d3/wiki/Selections#d3_select). |
|
|
| `left` | Number | `undefined` | Sets the tooltip `x` absolute position instead of the mouse `x` position, relative to the `root` element. |
|
|
| `top` | Number | `undefined` | Sets the tooltip `y` absolute position instead of the mouse `y` position, relative to the `root` element. |
|
|
| `offset` | Object | `{left: 0, top: 0}` | Sets the distance, starting from the cursor position, until the tooltip is rendered. **Warning**: only applicable if you don't provide a `left` or `top` option. |
|
|
| `styles` | Object | `{}` | Sets the styles of the tooltip element. |
|
|
| `text` | String or Function | `''` | Sets the text of the tooltip. Can be a constant `string` or a function that takes the datum and returns a `string`. |
|