UNPKG

@domoinc/domo-select

Version:

DomoSelect - Domo Widget

215 lines (147 loc) 3.37 kB
# 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); ```