Optional
containerOptional
featuresSome plugins may require that other plugins be present. and because plugins can be interchangeable, the features implemented by those plugins must be declared via strings so that we can have a semi-stable reference that isn't tied to object equality or anything like that.
This enables, for example, the StickyColumns plugin to work with different implementations of the ColumnResizing plugin (such as one might have between an aria-grid and a data table)
Optional
headerOptional
metaOptional state that this plugin may or may not choose to use
columns will each have an instance of meta.column. the table will have only one instance of meta.table.
Optional
column?: Constructor<ColumnMeta, any[]>Specifies the class definition to use for storing column-related state / behavior for this plugin
Optional
table?: Constructor<TableMeta, any[]>Specifies the class definition to use for storing table-related state / behavior for this plugin
Unique name for the plugin.
Optional
requiresList of features to lookup "somewhere" in the list of plugins order does not matter.
Optional
resetTable Hook
If the plugin has state, this should be used to reset that state
Generated using TypeDoc
Table plugins are stateless objects that optionally provide hooks based on what the plugin wishes to modify.
A Plugin may either be a class or plain object
If state is desired, Metadata classes may be provided to manage that state. As a convenience, when the meta classes are instantiated, they'll be given the same
owner
as everything else in the application, so service injection will be available within the meta class instances.A plugin can provide components that the consuming Table can opt in to rendering. (though, often these components will be required to be rendered for the plugin to work)
a
Plugin
has three type arguments:ColumnMeta
- optional state for storing and managing information per columnTableMeta
- optional state for storing and managing information about the tableAny particular plugin instantiation will have at most 1 instance of their TableMeta and
n
instances of their ColumnMeta, wheren
is at most the number of columns.