Skip to main content

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

readonly activationEvents: PluginActivation[]

Defined in: base/BaseFrontendPlugin.ts:53

Default activation events: activate on startup. Override to customize activation behavior.

Implementation of

FrontendPlugin.activationEvents


displayName

abstract readonly displayName: string

Defined in: base/BaseFrontendPlugin.ts:42

Human-readable display name shown in the UI.

Implementation of

FrontendPlugin.displayName


id

abstract readonly id: 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

FrontendPlugin.id


type

readonly type: "frontend"

Defined in: base/BaseFrontendPlugin.ts:47

Plugin type. Frontend-only plugins are always 'frontend'.

Implementation of

FrontendPlugin.type

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

ParameterType
_contextFrontendPluginContext

Returns

Promise<void>

Implementation of

FrontendPlugin.activate


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>

Implementation of

FrontendPlugin.deactivate