# Module: LocusZoom_Widgets

Interactive toolbar widgets that allow users to control the plot. These can be used to modify element display: adding contextual information, rearranging/removing panels, or toggling between sets of rendering options like different LD populations.

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

### Classes

_Button
BaseWidget
display_options
download_png
download_svg
filter_field
menu
move_panel_down
move_panel_up
region_scale
remove_panel
resize_to_data
set_state
shift_region
title
toggle_legend
toggle_split_tracks
zoom_region

### Type Definitions

#### DisplayOptionsButtonConfigField

##### Type:

- object

##### Properties:

Name | Type | Description
--- | --- | ---
`display_name` | string | The human-readable label for this set of options
`display` | object | An object with layout directives that will be merged into the target layer. The directives should be among those listed in `fields_whitelist` for this widget.

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

#### SetStateOptionsConfigField

##### Type:

- object

##### Properties:

Name | Type | Description
--- | --- | ---
`display_name` | string | Human readable name for option label (eg "European")
`value` |  | Value to set in plot.state (eg "EUR")

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

### Events

#### widget_display_options_choice

The user has chosen a specific display option to show information on the plot Note: The widget can optionally be configured to broadcast this event under an alias (layout.custom_event_name)

##### Properties:

Name | Type | Description
--- | --- | ---
`data` | Object | {choice} The display_name of the item chosen from the list

Source:
  - components/toolbar/widgets.js, line 1365
See:
  - event:any_lz_event

#### widget_filter_field_action

The filter field widget has triggered an update to the plot filtering rules Note: The widget can optionally be configured to broadcast this event under an alias (layout.custom_event_name)

##### Properties:

Name | Type | Description
--- | --- | ---
`data` | Object | { field, operator, value, filter_id }

Source:
  - components/toolbar/widgets.js, line 699
See:
  - event:any_lz_event

#### widget_save_png

The user has asked to download the plot as a PNG image Note: The widget can optionally be configured to broadcast this event under an alias (layout.custom_event_name)

##### Properties:

Name | Type | Description
--- | --- | ---
`data` | Object | { filename }

Source:
  - components/toolbar/widgets.js, line 853
See:
  - event:any_lz_event

#### widget_save_svg

The user has asked to download the plot as an SVG image Note: The widget can optionally be configured to broadcast this event under an alias (layout.custom_event_name)

##### Properties:

Name | Type | Description
--- | --- | ---
`data` | Object | { filename }

Source:
  - components/toolbar/widgets.js, line 844
See:
  - event:any_lz_event

#### widget_set_state_choice

An option has been chosen from the set_state dropdown menu Note: The widget can optionally be configured to broadcast this event under an alias (layout.custom_event_name)

##### Properties:

Name | Type | Description
--- | --- | ---
`data` | Object | { choice_name, choice_value, state_field }

Source:
  - components/toolbar/widgets.js, line 1508
See:
  - event:any_lz_event