# Settings Panel Technical Reference

Canonical page: https://www.adaptabletools.com/docs/technical-reference-settings-panel

## Settings Panel Options

| Property | Type | Description | Default |
| --- | --- | --- | --- |
| [alwaysShowInToolPanel](https://www.adaptabletools.com/docs/reference/settingspaneloptions.md#alwaysshowintoolpanel) | `boolean` | Whether a Settings Panel button should always be displayed in `ModuleButtons` area of ToolPanel | false |
| [customSettingsPanels](https://www.adaptabletools.com/docs/reference/settingspaneloptions.md#customsettingspanels) | [`CustomSettingsPanel`](https://www.adaptabletools.com/docs/reference/customsettingspanel.md)`[]` | Custom Settings Panels provided by developers at design-time |   |
| [displayOptions](https://www.adaptabletools.com/docs/reference/settingspaneloptions.md#displayoptions) | [`SettingsPanelDisplayOptions`](https://www.adaptabletools.com/docs/reference/settingspaneldisplayoptions.md) | Display / chrome options for Settings Panel navigation (icons, descriptions, search, collapse). |   |
| [gridInfoTabs](https://www.adaptabletools.com/docs/reference/settingspaneloptions.md#gridinfotabs) | `GridInfoTabs` | Which Tabs to show in Grid Info: &#39;Grid Summary&#39;, &#39;Layout&#39;, &#39;Grid State&#39; or &#39;Grid Options&#39;<br/><br/>Tab labels in the UI are Summary, Layout, State and Options | [&#39;Grid Summary&#39;, &#39;Layout&#39;, &#39;Grid State&#39;, &#39;Grid Options&#39;] |
| [icon](https://www.adaptabletools.com/docs/reference/settingspaneloptions.md#icon) | `'ConfigurationIcon' \| 'ApplicationIcon' \| `[`AdaptableIcon`](https://www.adaptabletools.com/docs/reference/adaptableicon.md) | Icon shown in top left of Settings Panel: Can be `ConfigurationIcon`, `ApplicationIcon` or custom Icon.<br/><br/>When omitted, uses `'ApplicationIcon'` if `userInterfaceOptions.applicationIcon` is set,<br/>otherwise `'ConfigurationIcon'`. | `'ApplicationIcon'` when an application icon is provided, else `'ConfigurationIcon'` |
| [navigation](https://www.adaptabletools.com/docs/reference/settingspaneloptions.md#navigation) | [`SettingsPanelNavigationConfigurer`](https://www.adaptabletools.com/docs/reference/settingspanelnavigationconfigurer.md)` \| `[`LegacyFlatSettingsPanelNavigation`](https://www.adaptabletools.com/docs/reference/legacyflatsettingspanelnavigation.md) | Configure grouped navigation for the Settings Panel; use SettingsPanelNavigationConfigurer but backwards compatibility via the deprecated LegacyFlatSettingsPanelNavigation is supported | all available AdapTable modules in the default grouped order |
| [popupType](https://www.adaptabletools.com/docs/reference/settingspaneloptions.md#popuptype) | [`PopupType`](https://www.adaptabletools.com/docs/reference/popuptype.md) | How the Settings Panel is rendered: `'modal'` (centred and unmovable and resizable) or `'window'` (supports size, position, drag and resize); ignored if `containerOptions.modalContainer` is set | &#39;modal&#39; |
| [position](https://www.adaptabletools.com/docs/reference/settingspaneloptions.md#position) | [`WindowPosition`](https://www.adaptabletools.com/docs/reference/windowposition.md) | Initial position of Settings Panel — pixel offset of top-left corner from top-left of viewport (requires `popupType` to be `'window'`) | Middle of Screen |
| [size](https://www.adaptabletools.com/docs/reference/settingspaneloptions.md#size) | [`WindowSize`](https://www.adaptabletools.com/docs/reference/windowsize.md) | Initial size (in pixels) of Settings Panel (requires `popupType` to be `'window'`) | Computed based on size of screen |
| [title](https://www.adaptabletools.com/docs/reference/settingspaneloptions.md#title) | `string` | Runtime display name for the panel chrome, menus, and tooltips. End users never see the<br/>internal name “Settings Panel” — they see this title instead.<br/><br/>When omitted, resolves to `AdaptableOptions.adaptableId` if that is a meaningful<br/>(non-generic) value, otherwise `'Grid Settings'`. | `adaptableId`, or `'Grid Settings'` when `adaptableId` is unset / generic |

### Display Options

| Property | Type | Description | Default |
| --- | --- | --- | --- |
| [enableCollapseView](https://www.adaptabletools.com/docs/reference/settingspaneldisplayoptions.md#enablecollapseview) | `boolean` | Whether users can collapse Settings Panel navigation to an icon rail | true |
| [showModuleDescriptions](https://www.adaptabletools.com/docs/reference/settingspaneldisplayoptions.md#showmoduledescriptions) | `boolean` | Whether to show Description subtitles under each Module in Settings Panel navigation | true |
| [showModuleIcons](https://www.adaptabletools.com/docs/reference/settingspaneldisplayoptions.md#showmoduleicons) | `boolean` | Whether to show Icons for each Module when navigation is expanded.<br/>Collapsed (icon-rail) navigation always shows icons. | true |
| [showNavigationSearch](https://www.adaptabletools.com/docs/reference/settingspaneldisplayoptions.md#shownavigationsearch) | `boolean` | Whether to show the module search field above Settings Panel navigation | true |

### Custom Settings Panels

`customSettingsPanels` is a list of [`CustomSettingsPanel`](https://www.adaptabletools.com/docs/reference/customsettingspanel.md) objects:

| Property | Type | Description |
| --- | --- | --- |
| [description](https://www.adaptabletools.com/docs/reference/customsettingspanel.md#description) | `string` | Short subtitle shown under the name in Settings Panel navigation. |
| [frameworkComponent](https://www.adaptabletools.com/docs/reference/customsettingspanel.md#frameworkcomponent) | [`AdaptableFrameworkComponent`](https://www.adaptabletools.com/docs/reference/adaptableframeworkcomponent.md) | Framework-specific (Angular, React or Vue) component to be rendered |
| [icon](https://www.adaptabletools.com/docs/reference/customsettingspanel.md#icon) | [`AdaptableIcon`](https://www.adaptabletools.com/docs/reference/adaptableicon.md) | Icon rendered inside settings-panel name, inside the navigation |
| [name](https://www.adaptabletools.com/docs/reference/customsettingspanel.md#name) | `string` | Appears in Settings Panel Navigation. Include in `navigation` to choose placement<br/>(by default added to a `Custom Panels` group at the end). |
| [render](https://www.adaptabletools.com/docs/reference/customsettingspanel.md#render) | `(customRenderContext: `[`CustomRenderContext`](https://www.adaptabletools.com/docs/reference/customrendercontext.md)`) => string \| null` | Function to provide bespoke content when NOT using a Framework wrapper |

### Popup

`popupType` is a [`PopupType`](https://www.adaptabletools.com/docs/reference/popuptype.md):

[See API: popuptype](https://www.adaptabletools.com/docs/reference/popuptype.md)

`position` is a [`WindowPosition`](https://www.adaptabletools.com/docs/reference/windowposition.md) and `size` is a [`WindowSize`](https://www.adaptabletools.com/docs/reference/windowsize.md):

| Property | Type | Description |
| --- | --- | --- |
| [x](https://www.adaptabletools.com/docs/reference/windowposition.md#x) | `number` | Distance from the left edge of the viewport, in pixels. |
| [y](https://www.adaptabletools.com/docs/reference/windowposition.md#y) | `number` | Distance from the top edge of the viewport, in pixels. |

| Property | Type | Description |
| --- | --- | --- |
| [height](https://www.adaptabletools.com/docs/reference/windowsize.md#height) | `number` | Height of the window, in pixels. |
| [width](https://www.adaptabletools.com/docs/reference/windowsize.md#width) | `number` | Width of the window, in pixels. |

---------------

## Settings Panel API

| Method | Returns | Description |
| --- | --- | --- |
| [closeSettingsPanel()](https://www.adaptabletools.com/docs/reference/settingspanelapi.md#closesettingspanel) | `void` | Closes Settings Panel |
| [openCustomSettingsPanel(name)](https://www.adaptabletools.com/docs/reference/settingspanelapi.md#opencustomsettingspanel) | `void` | Opens Settings Panel with the Custom Settings Panel, provided by name, displayed |
| [openSettingsPanel(moduleName)](https://www.adaptabletools.com/docs/reference/settingspanelapi.md#opensettingspanel) | `void` | Opens Settings Panel and displays specified Module (if provided) or first available one |

-----------
