Based on #2500; merges #2502 for SVG testing support
This PR aims to create a control-based API for column settings, bringing column-based settings from plugin configs to the viewer. This will allow us to support column settings which persist across plugins, e.g. numeric precision.
The design intends to allow plugin authors to use a number of viewer-defined "style controls." These style controls will affect column_config settings per row. This PR only changes the plugin API and maintains the existing style controls on the datagrid and x/y scatter chart. Following PRs will break up the current monolithic and type-based controls into more fine-grained and reusable controls.
Changes:
[x] Create and integrate new plugin API
[x] Remove plugin.pluginAttributes
[x] Add plugin.column_style_controls(type, group)
[x] Move column configurations from plugins to viewer
[x] Layout API - returned from plugin.column_style_controls
[x] Data API - added to plugin.restore(plugin_config, column_config)
[x] Integrate plugin API to the datagrid
[x] Tests pass
[x] Integrate plugin API to the x/y scatter chart
[x] Tests pass
[x] Add migrations
[x] Clean up cruft
Notes:
Is modifying restore the best option for updating the plugins? We could also use restyle.
Based on #2500; merges #2502 for SVG testing support
This PR aims to create a control-based API for column settings, bringing column-based settings from plugin configs to the viewer. This will allow us to support column settings which persist across plugins, e.g. numeric precision.
The design intends to allow plugin authors to use a number of viewer-defined "style controls." These style controls will affect column_config settings per row. This PR only changes the plugin API and maintains the existing style controls on the datagrid and x/y scatter chart. Following PRs will break up the current monolithic and type-based controls into more fine-grained and reusable controls.
Changes:
plugin.pluginAttributes
plugin.column_style_controls(type, group)
plugin.column_style_controls
plugin.restore(plugin_config, column_config)
Notes:
restore
the best option for updating the plugins? We could also userestyle
.