0.4.1 • Published 9 years ago
wsdm-range-slider v0.4.1
wsdm-range-slider
NOTE: In active development
Responsive range slider component for d3 charts, based on d3 brush. Has very simple usage, as demonstrated in the example.
Methods
Slider exposes 3 methods:
Method | Arguments | Description |
---|---|---|
create | (holder::DOMNode, config::Object) | holder is required, inside it the slider is created with the optional config |
update | (config::Object) | Updates the slider with the new config |
destroy | () | Destroys the slider, cleans up the DOM and removes the resize even handler |
As you can see these 3 methods match nicely lifecycle methods from React, which makes it easy to integrate it into a React component:
componentDidMount => slider.create
componentDidUpdate => slider.update
componentWillUnmount => slider.destroy
Options
Property | Type | Default | Description |
---|---|---|---|
domain | array | [ 0, 1 ] | The whole spectrum from which user can create the range selection |
range | array | undefined | The range to which the slider should be set |
margin | object | { top: 0, right: 5, bottom: 0, left: 5 } | Spacing around the slider. Default setting gives just enough space to render the handles and outside ticks. |
showTips | boolean | false | Set to true if you want tiny tooltips with the values that follow the handles |
tipsPosition | string | "bottom" | Determines where the tooltips are placed relative to the handles, if shown. Two options are |
possible "top" and "bottom" | |||
onChange | function | undefined | Callback firing when user is interacting with the slider, has the current range array as the parameter. |
valueFormat | function | v => v | By default no formatting is applied to the values produced by the slider. Use it for example if you want to have nicely rounded values, e.g. by passing Math.round to it. |
tipsFormat | function | v => niceNum(v) | Used to display format the values displayed in the tooltips, if shown. By default it will use internal method to produce nicely formatted numbers (1000000 => 1m) |
tickFormat | function | v => niceNum(v) | Passed to d3 axis tick formatting. By default it will use internal method to produce nicely formatted numbers (1000000 => 1m). Simple trick to remove the ticks completely () => "" |
Run development server with:
$ npm i
$ npm start
Run tests with:
$ npm test
Build with:
$ npm run build
Example styling is included in example/slider.css