Class: DefaultUserSettingManager<T>
Defined in: src/sdk/settings/UserSetting.ts:174
A manager for user settings. Provides settings using their names as keys, publishes value change events on the event bus, and keeps setting values up to date when receiving change events across the bus.
Type Parameters
Type Parameter |
---|
T extends UserSettingRecord |
Implements
Constructors
Constructor
new DefaultUserSettingManager<
T
>(bus
,settingDefs
,keepLocal
):DefaultUserSettingManager
<T
>
Defined in: src/sdk/settings/UserSetting.ts:191
Constructor.
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
bus | EventBus | undefined | The bus used by this manager to publish setting change events. |
settingDefs | readonly UserSettingDefinition <T [keyof T ]>[] | undefined | The setting definitions used to initialize this manager's settings. |
keepLocal | boolean | false | If present and true, values will be kept local to the instrument on which they're set. |
Returns
DefaultUserSettingManager
<T
>
Properties
bus
protected
readonly
bus:EventBus
Defined in: src/sdk/settings/UserSetting.ts:192
The bus used by this manager to publish setting change events.
publisher
protected
readonly
publisher:Publisher
<T
>
Defined in: src/sdk/settings/UserSetting.ts:177
settings
protected
readonly
settings:Map
<string
,UserSettingManagerEntry
<T
[keyofT
]>>
Defined in: src/sdk/settings/UserSetting.ts:175
subscriber
protected
readonly
subscriber:EventSubscriber
<T
>
Defined in: src/sdk/settings/UserSetting.ts:178
syncPublisher
protected
readonly
syncPublisher:Publisher
<UserSettingManagerSyncEvents
>
Defined in: src/sdk/settings/UserSetting.ts:180
syncSubscriber
protected
readonly
syncSubscriber:EventSubscriber
<UserSettingManagerSyncEvents
>
Defined in: src/sdk/settings/UserSetting.ts:181
Methods
getAllSettings()
getAllSettings():
UserSetting
<UserSettingValue
>[]
Defined in: src/sdk/settings/UserSetting.ts:270
Gets an array of all settings of this manager.
Returns
UserSetting
<UserSettingValue
>[]
an array of all settings of this manager.
Implementation of
UserSettingManager
.getAllSettings
getSetting()
getSetting<
K
>(name
):UserSetting
<NonNullable
<T
[K
]>>
Defined in: src/sdk/settings/UserSetting.ts:260
Gets a setting from this manager.
Type Parameters
Type Parameter |
---|
K extends string |
Parameters
Parameter | Type | Description |
---|---|---|
name | K | The name of the setting to get. |
Returns
UserSetting
<NonNullable
<T
[K
]>>
The requested setting.
Throws
Error if no setting with the specified name exists.
Implementation of
mapTo()
mapTo<
M
>(map
):MappedUserSettingManager
<M
,T
>
Defined in: src/sdk/settings/UserSetting.ts:285
Maps a subset of this manager's settings to ones with aliased names, and creates a new setting manager which supports accessing the settings using their aliases.
Type Parameters
Type Parameter |
---|
M extends UserSettingRecord |
Parameters
Parameter | Type | Description |
---|---|---|
map | UserSettingMap <M , T > | A map defining the aliases of a subset of this manager's settings, with aliased setting names as keys and original setting names as values. |
Returns
MappedUserSettingManager
<M
, T
>
A new setting manager which supports accessing a subset of this manager's settings using aliased names.
Implementation of
onSettingValueChanged()
protected
onSettingValueChanged<K
>(entry
,value
):void
Defined in: src/sdk/settings/UserSetting.ts:294
A callback which is called when one of this manager's settings has its value changed locally.
Type Parameters
Type Parameter |
---|
K extends string | number | symbol |
Parameters
Parameter | Type | Description |
---|---|---|
entry | UserSettingManagerEntry <T [K ]> | The entry for the setting that was changed. |
value | T [K ] | The new value of the setting. |
Returns
void
onSettingValueSynced()
protected
onSettingValueSynced<K
>(entry
,data
):void
Defined in: src/sdk/settings/UserSetting.ts:304
A callback which is called when a setting changed event is received over the event bus.
Type Parameters
Type Parameter |
---|
K extends string | number | symbol |
Parameters
Parameter | Type | Description |
---|---|---|
entry | UserSettingManagerEntry <T [K ]> | The entry for the setting that was changed. |
data | UserSettingManagerSyncData <T [K ]> | The sync data. |
Returns
void
syncSettingFromEvent()
protected
syncSettingFromEvent<K
>(entry
,data
):void
Defined in: src/sdk/settings/UserSetting.ts:323
Syncs a setting using data received from a sync event.
Type Parameters
Type Parameter |
---|
K extends string | number | symbol |
Parameters
Parameter | Type | Description |
---|---|---|
entry | UserSettingManagerEntry <T [K ]> | The entry for the setting to sync. |
data | UserSettingManagerSyncData <T [K ]> | The sync event data. |
Returns
void
tryGetSetting()
tryGetSetting<
K
>(name
):undefined
|UserSetting
<NonNullable
<T
[K
]>>
Defined in: src/sdk/settings/UserSetting.ts:255
Attempts to get a setting from this manager.
Type Parameters
Type Parameter |
---|
K extends string |
Parameters
Parameter | Type | Description |
---|---|---|
name | K | The name of the setting to get. |
Returns
undefined
| UserSetting
<NonNullable
<T
[K
]>>
The requested setting, or undefined
if no such setting exists.
Implementation of
UserSettingManager
.tryGetSetting
whenSettingChanged()
whenSettingChanged<
K
>(name
):Consumer
<NonNullable
<T
[K
]>>
Defined in: src/sdk/settings/UserSetting.ts:275
Gets a consumer which notifies handlers when the value of a setting changes.
Type Parameters
Type Parameter |
---|
K extends string |
Parameters
Parameter | Type | Description |
---|---|---|
name | K | The name of a setting. |
Returns
Consumer
<NonNullable
<T
[K
]>>
a consumer which notifies handlers when the value of the setting changes.
Throws
Error if no setting with the specified name exists.