PluginManifest
Static metadata about a plugin’s capabilities and requirements. Declared as a static property on plugin classes.
Example
Section titled “Example”export class MyPlugin extends BaseGridPlugin<MyConfig> { static override readonly manifest: PluginManifest<MyConfig> = { ownedProperties: [ { property: 'myProp', level: 'column', description: 'the "myProp" column property' }, ], configRules: [ { id: 'my-plugin/invalid-combo', severity: 'warn', message: '...', check: (c) => c.a && c.b }, ], }; readonly name = 'myPlugin';}Properties
Section titled “Properties”| Property | Type | Description |
|---|---|---|
ownedProperties? | PluginPropertyDefinition[] | Properties this plugin owns - validated by validate-config.ts. If a user uses one of these properties without loading the plugin, an error is thrown. |
hookPriority? | Partial<Record<HookName, number>> | Hook execution priority (higher = later, default 0). Use negative values to run earlier, positive to run later. |
configRules? | PluginConfigRule<TConfig>[] | Configuration validation rules - checked during grid initialization. Rules with severity ‘error’ throw, ‘warn’ logs to console. |
incompatibleWith? | PluginIncompatibility[] | Plugins that are incompatible with this plugin. When both plugins are loaded together, a warning is shown. |
queries? | QueryDefinition[] | Queries this plugin can handle. Declares what query types this plugin responds to via handleQuery(). This replaces the centralized PLUGIN_QUERIES approach with manifest-declared queries. |
events? | EventDefinition[] | Events this plugin can emit. Declares what event types other plugins can subscribe to via on(). |
Property Details
Section titled “Property Details”incompatibleWith
Section titled “incompatibleWith”incompatibleWith: [ { name: 'groupingRows', reason: 'Responsive card layout does not support row grouping yet' },],queries
Section titled “queries”queries: [ { type: 'canMoveColumn', description: 'Check if a column can be moved' },],events
Section titled “events”events: [ { type: 'filter-change', description: 'Emitted when filter criteria change' },],
AI assistants: For complete API documentation, implementation guides, and code examples for this library, see https://raw.githubusercontent.com/OysteinAmundsen/toolbox/main/llms-full.txt