Abstract Class: BaseFrontendPlugin
Defined in: base/BaseFrontendPlugin.ts:32
Frontend plugin interface for UI contributions.
Frontend plugins register UI components that the core renders in predefined extension points. Each registration returns a Disposable for cleanup.
Example
class MyFrontendPlugin extends BaseFrontendPlugin {
readonly id = 'my-ui';
readonly displayName = 'My UI Plugin';
async activate(context: FrontendPluginContext) {
context.subscriptions.push(
context.registerSettingsSection({
categoryId: 'integrations',
sectionId: 'my-settings',
label: 'My Settings',
icon: MyIcon,
component: MySettingsPanel,
})
);
}
}
Implements
Constructors
Constructor
new BaseFrontendPlugin():
BaseFrontendPlugin
Returns
BaseFrontendPlugin
Properties
activationEvents
readonlyactivationEvents:PluginActivation[]
Defined in: base/BaseFrontendPlugin.ts:53
Default activation events: activate on startup. Override to customize activation behavior.
Implementation of
FrontendPlugin.activationEvents
displayName
abstractreadonlydisplayName:string
Defined in: base/BaseFrontendPlugin.ts:42
Human-readable display name shown in the UI.
Implementation of
id
abstractreadonlyid:string
Defined in: base/BaseFrontendPlugin.ts:37
Unique plugin identifier.
Must match the id field in the plugin's package.json omniscribe manifest.
Implementation of
type
readonlytype:"frontend"
Defined in: base/BaseFrontendPlugin.ts:47
Plugin type. Frontend-only plugins are always 'frontend'.
Implementation of
Methods
activate()
activate(
_context):Promise<void>
Defined in: base/BaseFrontendPlugin.ts:59
Called when the plugin is activated. No-op by default. Override to register UI contributions via the context.
Parameters
| Parameter | Type |
|---|---|
_context | FrontendPluginContext |
Returns
Promise<void>
Implementation of
deactivate()
deactivate():
Promise<void>
Defined in: base/BaseFrontendPlugin.ts:67
Called when the plugin is deactivated. No-op by default. Override to clean up resources not tracked via context.subscriptions.
Returns
Promise<void>