ExtensionContext
The activate function's first argument is an
ExtensionContext
— this context allows you to extend Foxglove for your custom workflows.
export function activate(extensionContext: ExtensionContext) {
// ... call methods on the extensionContext to extend Foxglove
}
Methods
registerPanel()
registerPanel(params): void
registerPanel
adds a new panel to the Foxglove interface. To register a panel you provide a
name
and an initPanel
function.
The initPanel
function accepts a PanelExtensionContext argument, which contains
properties and methods for accessing panel data and rendering UI updates. It also returns an
optional cleanup function to run when the extension panelElement
unmounts.
See the Creating a custom panel guide for more details.
Parameters
Parameter | Type |
---|---|
params | ExtensionPanelRegistration |
Returns
void
registerMessageConverter()
registerMessageConverter<Src>(args): void
registerMessageConverter
registers a function to convert messages from one schema to another.
Message converters allow you to leverage Foxglove's built-in visualization panels by
transforming messages to adhere to Foxglove-supported schemas — for example, you can convert
your custom GPS messages to
foxglove.LocationFix
messages for visualization in the Map
panel.
Whenever a panel subscribes to a topic with the
convertTo
option, the converter function runs on the original message and outputs the converted message,
which it then provides it to the panel. If the function returns undefined
, the output is
ignored, and no message is provided to the panel. This is useful if you want to selectively
output converted messages depending on the input messages' contents.
See the Creating a message converter guide for more details.
Type Parameters
Type Parameter |
---|
Src |
Parameters
Parameter | Type |
---|---|
args | RegisterMessageConverterArgs <Src > |
Returns
void
registerTopicAliases()
registerTopicAliases(aliasFunction): void
registerTopicAliases
registers a function to compute topic aliases. The provided alias
function should accept an argument with two fields – topics
with the data source's original
topics and globalVariables
with the current layout's variables – and return a list of aliased
topics.
Your alias function runs whenever there are changes to the data source topics or variables. Any aliases it returns are added to the data source topics (replacing any previously returned aliases) and available for subscribing or use within message paths as if they were real topics.
Parameters
Parameter | Type |
---|---|
aliasFunction | TopicAliasFunction |
Returns
void