@domoinc/domo-select
Version:
DomoSelect - Domo Widget
215 lines (147 loc) • 3.37 kB
Markdown
# DomoSelect
## Configuration Options
#### buttonIcon
Type: `d3 selection`
Default: `null`
d3 selection of the element for the button icon
#### centerText
Type: `select`
Default: `{"name":"Left","value":false}`
Set the text position
#### chartName
Type: `string`
Default: `"Dropdown"`
Name of chart for reporting
#### color
Type: `string`
Default: `"lightGrey"`
Color of the dropdown button
#### disabled
Type: `boolean`
Default: `false`
Disables the dropdown
#### domoScroll
Type: `boolean`
Default: `true`
Hides the scroll bar to the right of the dropdown
#### dropdownLocation
Type: `string`
Default: `"bottom"`
Direction that the dropdown extends from
#### height
Type: `string`
Default: `"250px"`
Height of the select
#### initialIndex
Type: `number`
Default: `0`
Sets the default option to show on the select bar (the number corresponds to the options' order number in the dropdown)
#### isOnMobile
Type: `boolean`
Default: `false`
If true, it signals to the widget that it is running on a mobile device. Should be called before draw and then NEVER changed.
#### listIconFunction
Type: `function`
Default: `"function () {}"`
Function to run on each dropdown list item for icons.
#### listIconPadding
Type: `number`
Default: `0`
Left padding on the dropdown
#### marginBottom
Type: `string`
Default: `"0px"`
Margin Bottom
#### orientation
Type: `string`
Default: `"horizontal"`
Orientation of the button
#### popoutHeight
Type: `number`
Default: `"250px"`
Height of the dropdown when opened
#### shouldValidate
Type: `boolean`
Default: `true`
Flag for turning off data validation
#### size
Type: `string`
Default: `"small"`
Size of the button and the dropdown
#### staticValue
Type: `string`
Default: `null`
Sets a static default value on the select
#### updateSizeableConfigs
Type: `boolean`
Default: `true`
Flag for turning off the mimic of illustrator's scale functionality
#### width
Type: `number`
Default: `250`
Units: `px`
Width of the widget
## Data Definition
#### Label
Type: `string`
Default validate:
```js
function (d) { return this.accessor(d) !== 'undefined';}
```
Default accessor:
```js
function (line) { return String(line[0]); }
```
#### Value
Type: `string`
Default validate:
```js
function (d) { return this.accessor(d) !== 'undefined';}
```
Default accessor:
```js
function (line) { return String(line[1]); }
```
## Events
#### Dispatch Events
dispatch:click
dispatch:focusout
dispatch:blur
dispatch:selection
#### External Events
## Example
```js
var sampleData = [
['All', null],
['North', 'North'],
['East', 'East'],
['South', 'South'],
['West', 'West'],
];
var chart = d3.select("#vis")
.style({
width: '500px',
height: '500px'
})
.append('div')
.style({
position: 'absolute',
top: '225px',
left: '125px',
width: '250px'
})
.chart('DomoSelect')
.c({
width: 250,
});
chart.draw(sampleData);
setTimeout(function () {
chart.button.trigger('dispatch:click', sampleData[0]);
}, 1000);
setTimeout(function () {
chart.dropdown.trigger('click', sampleData[1]);
}, 2000);
setTimeout(function () {
chart.button.trigger('dispatch:click', sampleData[0]);
}, 3000);
```