Settings Api
Get/Set
Section titled “Get/Set”Getting or setting any value on the settings api will get/set the value of the setting with the corresponding id, if it exists.
Methods
Section titled “Methods”listen()
Section titled “listen()”listen(
key,callback): () =>void
Fires a callback whenever a setting changes
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
key | string |
callback | (value, remote) => void |
Returns
Section titled “Returns”Function
A function to stop listening
create()
Section titled “create()”create(
description):void
Initializes the settings menu for the script
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
description | (PluginSetting | SettingGroup)[] |
Settings
Section titled “Settings”All settings (aside from “custom” and “group”) inherit these properties.
| Property | Type | Description |
|---|---|---|
id | string | The key which can be used to access the value of setting |
title | string | The title of the setting in the settings menu |
description? | string | A description for the setting in the settings menu |
default? | T | The default value of the setting |
onChange? | (value, remote) => void | A callback that fires when the setting changes |
| Setting | Type | Options | Notes |
|---|---|---|---|
| dropdown | string | options: { label: string; value: string }[]allowNone?: boolean | |
| multiselect | string[] | options: { label: string; value: string }[] | |
| number | number | min?: numbermax?: numberstep?: number | |
| toggle | boolean | ||
| text | string | placeholder?: stringmaxLength?: number | |
| slider | number | min: numbermax: numberstep?: numberticks?: number[]formatter?: (value: number) => string | Ticks are placed at the start and end by default |
| radio | string | options: { label: string; value: string }[] | |
| color | string | rgba?: boolean | When rgba is true, the value takes the form rgba(100,120,140,0.5). Otherwise it is a hex code. |
| custom | any | render: SettingRenderer | |
| customsection | any | render: SettingRenderer | Custom sections do not have a built-in title or description. |
| group | N/A | title: stringsettings: PluginSetting[] |
The “custom” and “customsection” settings require a render function, which looks like so: (container: HTMLElement, currentValue: any, update: (newValue: any) => void) => (() => void) | void. The function can return a callback to be run when the element is unmounted.
Returns
Section titled “Returns”void