Vizel API / core/src / VizelPluginManager
Class: VizelPluginManager
Defined in: packages/core/src/plugin-system.ts:198
Manages Vizel plugins: registration, lifecycle, extensions, and styles.
Example
import { VizelPluginManager } from "@vizel/core";
import { myPlugin } from "my-vizel-plugin";
const plugins = new VizelPluginManager();
plugins.register(myPlugin);
// Pass extensions to the editor
const editor = useVizelEditor({
extensions: plugins.getExtensions(),
});
// Connect the editor to enable lifecycle hooks
if (editor) plugins.setEditor(editor);Constructors
Constructor
new VizelPluginManager(): VizelPluginManager;Returns
VizelPluginManager
Methods
destroy()
destroy(): void;Defined in: packages/core/src/plugin-system.ts:317
Disconnect the editor and clean up all plugins.
Returns
void
getExtensions()
getExtensions(): Extensions;Defined in: packages/core/src/plugin-system.ts:340
Get aggregated extensions from all registered plugins, ordered by dependency resolution.
Returns
Extensions
getPlugin()
getPlugin(name): VizelPlugin | undefined;Defined in: packages/core/src/plugin-system.ts:348
Get a registered plugin by name.
Parameters
| Parameter | Type |
|---|---|
name | string |
Returns
VizelPlugin | undefined
hasPlugin()
hasPlugin(name): boolean;Defined in: packages/core/src/plugin-system.ts:362
Check if a plugin is registered.
Parameters
| Parameter | Type |
|---|---|
name | string |
Returns
boolean
listPlugins()
listPlugins(): VizelPlugin[];Defined in: packages/core/src/plugin-system.ts:355
List all registered plugins.
Returns
register()
register(plugin): void;Defined in: packages/core/src/plugin-system.ts:210
Register a plugin. Validates the plugin, checks for duplicates, verifies dependencies, and injects styles. If an editor is already connected, calls onInstall.
Parameters
| Parameter | Type |
|---|---|
plugin | VizelPlugin |
Returns
void
setEditor()
setEditor(editor): void;Defined in: packages/core/src/plugin-system.ts:294
Connect an editor instance. Calls onInstall on all registered plugins and subscribes to transactions for plugins with onTransaction.
If a previous editor was connected, it is unbound first and onUninstall is called for all plugins.
Parameters
| Parameter | Type |
|---|---|
editor | Editor |
Returns
void
unregister()
unregister(pluginName): void;Defined in: packages/core/src/plugin-system.ts:254
Unregister a plugin by name. Removes styles, calls onUninstall, and checks that no other plugin depends on it.
Parameters
| Parameter | Type |
|---|---|
pluginName | string |
Returns
void