Singleton plugin manager
Plugin manager is responsible for:
Some plugin dependencies:
| Parameter | Type | Description |
|---|---|---|
| inGrid | undefined |
Find appropriate plugins and load them
| Parameter | Type | Description |
|---|---|---|
| pre | Boolean | True - preInit | False - postInit(by default) |
Overwrite several default behavior for each views(including _RowSelector view)
| Parameter | Type | Description |
|---|---|---|
| view | undefined |
Normalize plugin properties especially the dependency chain
| Parameter | Type | Description |
|---|---|---|
| p | String | Plugin name |
| plugins | Object | Plugin properties set by user |
| registry | Object | The global plugin registry |
| loading | Object | Map for checking process state |
Parse plugins properties
| Parameter | Type | Description |
|---|---|---|
| plugins | Object | Plugin properties defined by user |
| Parameter | Type | Description |
|---|---|---|
| func | undefined | |
| args | undefined |
Get plugin("name")
| Parameter | Type | Description |
|---|---|---|
| name | String | Plugin name |
Plugin instance
Load target plugin which must be already required (require(..))
| Parameter | Type | Description |
|---|---|---|
| clazz | Class | String | Plugin class |
Plugin class
See if target cell(column) is fixed or not.
| Parameter | Type | Description |
|---|---|---|
| cell | Object | Target cell(column) |
True - fixed| False - not fixed
Load required plugin("name")
| Parameter | Type | Description |
|---|---|---|
| name | String | Plugin name |
The newly loaded plugin
Check if plugin("name") existed
| Parameter | Type | Description |
|---|---|---|
| name | String | Plugin name |
True - existed | False - not existed
Load plugins after DataGrid.postCreate() - the default phase when plugins are created See EnhancedGrid.postCreate()
Load appropriate plugins before DataGrid.postCreate(). See EnhancedGrid.postCreate()
Register plugins - TODO, a better way rather than global registry?
| Parameter | Type | Description |
|---|---|---|
| clazz | String | Full class name, e.g. "dojox.grid.enhanced.plugins.DnD" |
| props | Object |
Optional Plugin properties e.g. {"dependency": ["nestedSorting"], ...} |