# Class: filter_field

## LocusZoom_Widgets~filter_field()

#### new filter_field()

##### Parameters:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`layout.layer_name` | string |  |  | The data layer to control with filtering
`layout.filter_id` | string | <optional> | null | Sometimes we want to define more than one filter with the same operator (eg != null, != bacon). The `filter_id` option allows us to identify which filter is controlled by this widget.
`layout.field` | string |  |  | The field to be filtered (eg `assoc:log_pvalue`)
`layout.field_display_html` | string |  |  | Human-readable label for the field to be filtered (`-log<sub>10</sub>p`)
`layout.operator` | string |  |  | The operator to use when filtering. This must be one of the options allowed by data_layer.filter.
`layout.input_size` | number | <optional> | 4 | How wide to make the input textbox (number characters shown at a time)
`layout.data_type` | 'number' | 'string' | <optional> | 'number' | Convert the text box input to the specified type, and warn the user if the value would be invalid (eg, not numeric)
`layout.custom_event_name` | string | <optional> | 'widget_filter_field_action' | The name of the event that will be emitted when this filter is updated

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

### Methods

#### _clearFilter()

Clear the filter by removing it from the list

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

#### _setFilter()

Set the filter based on a provided value

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

##### Fires:

- event:widget_filter_field_action