# ExpressionEditorOptions

Canonical page: https://www.adaptabletools.com/docs/reference/expressioneditoroptions

Options for which Expression UI editors are available and which opens first

```ts title="TypeScript"
export interface ExpressionEditorOptions 
```

## Properties

| Property | Type | Description | Default |
| --- | --- | --- | --- |
| [availableEditors](https://www.adaptabletools.com/docs/reference/expressioneditoroptions.md#availableeditors) | [`ExpressionEditors`](https://www.adaptabletools.com/docs/reference/expressioneditors.md) | Which UI editors can be used for Boolean Expressions (Query Builder, Expression Editor, or both).<br/>Takes precedence over `defaultEditor`: if only one editor is listed, that editor is shown<br/>and `defaultEditor` is not evaluated. | [&#39;QueryBuilder&#39;, &#39;ExpressionEditor&#39;] |
| [defaultColumnView](https://www.adaptabletools.com/docs/reference/expressioneditoroptions.md#defaultcolumnview) | [`ExpressionEditorColumnView`](https://www.adaptabletools.com/docs/reference/expressioneditorcolumnview.md) | Initial Columns/Fields panel layout in the Expression Editor.<br/>- `collapsed` — column names only (more room for the editor)<br/>- `expanded` — names plus sample/test value inputs | &#39;collapsed&#39; |
| [defaultEditor](https://www.adaptabletools.com/docs/reference/expressioneditoroptions.md#defaulteditor) | [`ExpressionEditorKind`](https://www.adaptabletools.com/docs/reference/expressioneditorkind.md)` \| ((context: `[`DefaultExpressionEditorContext`](https://www.adaptabletools.com/docs/reference/defaultexpressioneditorcontext.md)`) => `[`ExpressionEditorKind`](https://www.adaptabletools.com/docs/reference/expressioneditorkind.md)`)` | Which editor to open first when more than one editor is available.<br/>Receives context (including Module) so the choice can vary by user or surface.<br/>Ignored when `availableEditors` contains a single item.<br/><br/>Overridden to `'ExpressionEditor'` when the current expression cannot be<br/>edited in the Query Builder (non-boolean / value-producing expressions,<br/>advanced constructs such as `QUERY` / `FIELD`, or expressions QB cannot<br/>parse). Empty / new expressions still honour this preference. | &#39;QueryBuilder&#39; |

## Property Details

### availableEditors

Which UI editors can be used for Boolean Expressions (Query Builder, Expression Editor, or both).
Takes precedence over `defaultEditor`: if only one editor is listed, that editor is shown
and `defaultEditor` is not evaluated.

```ts title="TypeScript"
availableEditors?: ExpressionEditors;
```

###### Default Value

[&#39;QueryBuilder&#39;, &#39;ExpressionEditor&#39;]

###### Property Value

[`ExpressionEditors`](https://www.adaptabletools.com/docs/reference/expressioneditors.md)

### defaultColumnView

Initial Columns/Fields panel layout in the Expression Editor.
- `collapsed` — column names only (more room for the editor)
- `expanded` — names plus sample/test value inputs

```ts title="TypeScript"
defaultColumnView?: ExpressionEditorColumnView;
```

###### Default Value

&#39;collapsed&#39;

###### Property Value

[`ExpressionEditorColumnView`](https://www.adaptabletools.com/docs/reference/expressioneditorcolumnview.md)

### defaultEditor

Which editor to open first when more than one editor is available.
Receives context (including Module) so the choice can vary by user or surface.
Ignored when `availableEditors` contains a single item.

Overridden to `'ExpressionEditor'` when the current expression cannot be
edited in the Query Builder (non-boolean / value-producing expressions,
advanced constructs such as `QUERY` / `FIELD`, or expressions QB cannot
parse). Empty / new expressions still honour this preference.

```ts title="TypeScript"
defaultEditor?: ExpressionEditorKind | ((context: DefaultExpressionEditorContext) => ExpressionEditorKind);
```

###### Default Value

&#39;QueryBuilder&#39;

###### Property Value

[`ExpressionEditorKind`](https://www.adaptabletools.com/docs/reference/expressioneditorkind.md)` | ((context: `[`DefaultExpressionEditorContext`](https://www.adaptabletools.com/docs/reference/defaultexpressioneditorcontext.md)`) => `[`ExpressionEditorKind`](https://www.adaptabletools.com/docs/reference/expressioneditorkind.md)`)`
