# Class: set_state

## LocusZoom_Widgets~set_state()

Dropdown menu allowing the user to set the value of a specific `state_field` in plot.state This is useful for things (like datasources) that allow dynamic configuration based on global information in state

For example, the LDServer data adapter can use it to change LD reference population (for all panels) after render

## Constructor

#### new set_state()

##### Parameters:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`layout.button_html` | String | <optional> | "Set option..." | Text to display on the toolbar button
`layout.button_title` | String | <optional> | "Choose an option to customize the plot" | Hover text for the toolbar button
`layout.show_selected` | bool | <optional> | false | Whether to append the selected value to the button label ("LD Population: ALL")
`layout.state_field` | string | <optional> |  | The name of the field in plot.state that will be set by this button
`layout.options` | Array.<module:LocusZoom_Widgets~SetStateOptionsConfigField> |  |  | Specify human labels and associated values for the dropdown menu
`layout.custom_event_name` | string | <optional> | 'widget_set_state_choice' | The name of the event that will be emitted when an option is selected

Source:
  - components/toolbar/widgets.js, line 1531